[
  {
    "path": "#scripts/build.ps1",
    "content": "param (\r\n    $configuration = 'Debug'\r\n)\r\n\r\nSet-StrictMode -Version 2\r\n$ErrorActionPreference = 'Stop'\r\n\r\nWrite-Output 'dotnet build'\r\ndotnet build --no-restore --configuration $configuration\r\nif ($LastExitCode -ne 0) {\r\n    throw \"dotnet build exited with code $LastExitCode\"\r\n}\r\n\r\nWrite-Output 'npm run build'\r\n@('WebAssets', 'Owin.Demo', 'AspNetCore.Demo') | % {\r\n    try {\r\n        Write-Output \"  $_\"\r\n        Push-Location $_\r\n        npm run build\r\n        if ($LastExitCode -ne 0) {\r\n            throw \"npm run build exited with code $LastExitCode\"\r\n        }\r\n    }\r\n    finally {\r\n        Pop-Location\r\n    }\r\n}"
  },
  {
    "path": "#scripts/demo-watch.ps1",
    "content": "Set-StrictMode -Version 2\r\n$ErrorActionPreference = 'Stop'\r\n\r\ndotnet tye run"
  },
  {
    "path": "#scripts/pack.ps1",
    "content": "param (\r\n    [string] $parameter\r\n)\r\n\r\nSet-StrictMode -Version 2\r\n$ErrorActionPreference = 'Stop'\r\n\r\n$configuration = 'Debug'\r\n$versionSuffix = $parameter\r\nif ($parameter -match 'Debug|Release') {\r\n    $configuration = $parameter\r\n    $versionSuffix = ''\r\n}\r\n\r\n$output = (Resolve-Path .)\r\n\r\n@(\r\n  'Common',\r\n  'VisualBasic', 'FSharp', 'Php',\r\n  'Owin', 'AspNetCore',\r\n  'Testing'\r\n) | % {\r\n    dotnet pack $_ --version-suffix=$versionSuffix --output $output --configuration $configuration --no-build --no-restore\r\n    if ($LastExitCode -ne 0) {\r\n        throw \"dotnet pack exited with code $LastExitCode\"\r\n    }\r\n}\r\n\r\nnpm pack ./WebAssets/dist\r\nif ($LastExitCode -ne 0) {\r\n    throw \"npm pack exited with code $LastExitCode\"\r\n}"
  },
  {
    "path": "#scripts/restore.ps1",
    "content": "Set-StrictMode -Version 2\r\n$ErrorActionPreference = 'Stop'\r\n\r\nWrite-Output 'dotnet restore'\r\ndotnet restore\r\nif ($LastExitCode -ne 0) {\r\n    throw \"dotnet restore exited with code $LastExitCode\"\r\n}\r\n\r\nWrite-Output 'npm install'\r\n@('WebAssets', 'Owin.Demo', 'AspNetCore.Demo') | % {\r\n    try {\r\n        Write-Output \"  $_\"\r\n        Push-Location $_\r\n        # not worth using npm ci until https://github.com/npm/npm/issues/20104\r\n        npm install --no-audit\r\n        if ($LastExitCode -ne 0) {\r\n            throw \"npm ci exited with code $LastExitCode\"\r\n        }\r\n    }\r\n    finally {\r\n        Pop-Location\r\n    }\r\n}"
  },
  {
    "path": "#scripts/setup.ps1",
    "content": "Set-StrictMode -Version 2\r\n$ErrorActionPreference = 'Stop'\r\n\r\n./restore.ps1\r\n./build.ps1"
  },
  {
    "path": "#scripts/test.ps1",
    "content": "Set-StrictMode -Version 2\r\n$ErrorActionPreference = 'Stop'\r\n\r\nWrite-Output 'dotnet test'\r\ndotnet test\r\nif ($LastExitCode -ne 0) {\r\n    throw \"dotnet test exited with code $LastExitCode\"\r\n}\r\n\r\nWrite-Output 'npm test'\r\ntry {\r\n    Push-Location 'WebAssets'\r\n    npm test\r\n    if ($LastExitCode -ne 0) {\r\n        throw \"npm test exited with code $LastExitCode\"\r\n    }\r\n}\r\nfinally {\r\n    Pop-Location\r\n}"
  },
  {
    "path": ".config/dotnet-tools.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"isRoot\": true,\r\n  \"tools\": {\r\n    \"microsoft.tye\": {\r\n      \"version\": \"0.5.0-alpha.20555.1\",\r\n      \"commands\": [\r\n        \"tye\"\r\n      ]\r\n    }\r\n  }\r\n}"
  },
  {
    "path": ".editorconfig",
    "content": "﻿root = true\r\n\r\n[*]\r\ncharset = utf-8\r\nindent_style = space\r\nindent_size = 4\r\ntrim_trailing_whitespace = true\r\ninsert_final_newline = false\r\n\r\n[*.md]\r\ntrim_trailing_whitespace = false\r\n\r\n[*.{html,config,csproj,props}]\r\nindent_size = 2\r\n\r\n[project.json]\r\nindent_size = 2\r\n\r\n[package.json]\r\nindent_size = 2\r\n\r\n[*.cs]\r\ncsharp_new_line_before_open_brace = none\r\ncsharp_style_var_for_built_in_types = true:warning\r\ncsharp_style_var_when_type_is_apparent = true:warning\r\ncsharp_style_var_elsewhere = true:warning\r\n\r\n# IDE0005: Using directive is unnecessary.\r\ndotnet_diagnostic.IDE0005.severity = warning\r\n\r\n# IDE0090: 'new' expression can be simplified.\r\ndotnet_diagnostic.IDE0090.severity = warning"
  },
  {
    "path": ".gitattributes",
    "content": "**/__image_snapshots__/**/* filter=lfs diff=lfs merge=lfs -text\r\n"
  },
  {
    "path": ".github/workflows/dotnet.yml",
    "content": "name: 'Server (C#)'\r\n\r\non:\r\n  push:\r\n    paths-ignore:\r\n    - '.github/workflows/web-assets.yml'\r\n    - 'WebAssets/**'\r\n    - '*.Demo*/**/*.cs'\r\n    - '*.Demo*/**/*.css'\r\n    - '*.Demo*/**/*.html'\r\n    - '*.Demo*/**/package.json'\r\n    - '*.Demo*/**/package-lock.json'\r\n  pull_request:\r\n  workflow_dispatch:\r\n\r\njobs:\r\n  build-and-publish:\r\n    name: 'Build and Publish'\r\n    runs-on: windows-latest\r\n    env:\r\n      NUGET_PACKAGES: ${{github.workspace}}/.nuget/packages\r\n    steps:\r\n    - uses: actions/checkout@v4\r\n    - uses: actions/setup-dotnet@v4\r\n      with:\r\n          dotnet-version: |\r\n            2.1.x\r\n            3.1.x\r\n            7.0.x\r\n\r\n    # https://github.com/actions/setup-dotnet/issues/155#issuecomment-748452076\r\n    - run: dotnet nuget locals all --clear\r\n\r\n    - uses: actions/cache@v4\r\n      with:\r\n        path: ${{github.workspace}}/.nuget/packages\r\n        key: ${{runner.os}}-nuget-${{hashFiles('**/packages.lock.json')}}\r\n        restore-keys: |\r\n          ${{runner.os}}-nuget-\r\n\r\n    - run: dotnet build --configuration Release\r\n    - run: dotnet test --no-build --configuration Release\r\n    - run: dotnet pack --no-build --output . --configuration Release\r\n\r\n    - if: github.ref == 'refs/heads/main'\r\n      run: dotnet nuget push *.nupkg --source https://api.nuget.org/v3/index.json --api-key ${{secrets.NUGET_TOKEN}} --skip-duplicate\r\n\r\n    - if: github.ref == 'refs/heads/main'\r\n      uses: actions/upload-artifact@v4\r\n      with:\r\n        path: '*.nupkg'"
  },
  {
    "path": ".github/workflows/web-assets.yml",
    "content": "name: Client (JS)\r\n\r\non:\r\n  push:\r\n    paths:\r\n    - '.github/workflows/web-assets.yml'\r\n    - 'WebAssets/**'\r\n    - '*.Demo*/**/*.ts'\r\n    - '*.Demo*/**/*.css'\r\n    - '*.Demo*/**/*.html'\r\n    - '*.Demo*/**/package.json'\r\n    - '*.Demo*/**/package-lock.json'\r\n  pull_request:\r\n  workflow_dispatch:\r\n\r\njobs:\r\n  build-and-publish:\r\n    name: Build and Publish\r\n    runs-on: ubuntu-latest\r\n    steps:\r\n    - uses: actions/checkout@v4\r\n      with:\r\n        lfs: 'true'\r\n    - uses: actions/setup-node@v4\r\n      with:\r\n        node-version: '20.14.0'\r\n        cache: 'npm'\r\n        cache-dependency-path: '**/package-lock.json'\r\n\r\n    - name: 'WebAssets: npm ci'\r\n      run: npm ci\r\n      working-directory: WebAssets\r\n    - name: 'WebAssets: npm run build'\r\n      run: npm run build\r\n      working-directory: WebAssets\r\n\r\n    - name: 'WebAssets: npm test'\r\n      run: npm test -- --runInBand\r\n      working-directory: WebAssets\r\n\r\n    - name: 'WebAssets: npm run build-storybook'\r\n      run: npm run build-storybook\r\n      working-directory: WebAssets\r\n\r\n    - name: 'WebAssets: npm run test-storybook'\r\n      run: npm run test-storybook\r\n      working-directory: WebAssets\r\n\r\n    - name: \"[Failure] Run actions/upload-artifact@v4 (diff output)\"\r\n      uses: actions/upload-artifact@v4\r\n      if: failure()\r\n      with:\r\n        name: __diff_output__\r\n        path: WebAssets/src/**/__image_snapshots__/__diff_output__\r\n        if-no-files-found: ignore\r\n\r\n    - name: '[Failure] WebAssets: npm run test-storybook-with-update'\r\n      run: npm run test-storybook-with-update\r\n      working-directory: WebAssets\r\n      if: failure()\r\n\r\n    - name: \"[Failure] Run actions/upload-artifact@v4 (updated snapshots)\"\r\n      uses: actions/upload-artifact@v4\r\n      if: failure()\r\n      with:\r\n        name: '__image_snapshots__ (updated)'\r\n        path: WebAssets/src/**/__image_snapshots__\r\n        if-no-files-found: ignore\r\n\r\n    - name: 'AspNetCore.Demo: npm ci'\r\n      run: npm ci\r\n      working-directory: AspNetCore.Demo\r\n    - name: 'AspNetCore.Demo: npm run build'\r\n      run: npm run build\r\n      working-directory: AspNetCore.Demo\r\n\r\n    - name: 'AspNetCore.Demo.Net6: npm ci'\r\n      run: npm ci\r\n      working-directory: AspNetCore.Demo.Net6\r\n    - name: 'AspNetCore.Demo.Net6: npm run build'\r\n      run: npm run build\r\n      working-directory: AspNetCore.Demo.Net6\r\n\r\n    - name: 'Owin.Demo: npm ci'\r\n      run: npm ci\r\n      working-directory: Owin.Demo\r\n    - name: 'Owin.Demo: npm run build'\r\n      run: npm run build\r\n      working-directory: Owin.Demo\r\n\r\n    - if: github.ref == 'refs/heads/main'\r\n      uses: JS-DevTools/npm-publish@v1\r\n      with:\r\n        package: './WebAssets/dist/package.json'\r\n        token: ${{ secrets.NPM_TOKEN }}"
  },
  {
    "path": ".gitignore",
    "content": "*.user\r\nproject.lock.json\r\n.vs/\r\n.tye/\r\n.idea/\r\nnode_modules/\r\n.cache/\r\n.parcel-cache/\r\nstorybook-static/\r\n.temp/\r\nbin/\r\nobj/\r\n/*.tgz\r\n/WebAssets/dist\r\n/WebAssets/coverage\r\n/Owin.Demo/wwwroot\r\n/AspNetCore.Demo/wwwroot\r\n/AspNetCore.Demo.Net6/wwwroot"
  },
  {
    "path": "AspNetCore/AspNetCore.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\r\n  <Import Project=\"../NuGet.Common.props\" />\r\n\r\n  <PropertyGroup>\r\n    <AssemblyName>MirrorSharp.AspNetCore</AssemblyName>\r\n    <RootNamespace>MirrorSharp.AspNetCore</RootNamespace>\r\n    <TargetFramework>netcoreapp3.1</TargetFramework>\r\n    <VersionPrefix>4.0.0</VersionPrefix>\r\n    <Description>MirrorSharp ASP.NET Core server. $(DescriptionSuffix)</Description>\r\n    <PackageTags>Roslyn;CodeMirror</PackageTags>\r\n    <GenerateDocumentationFile>true</GenerateDocumentationFile>\r\n  </PropertyGroup>\r\n  \r\n  <ItemGroup>\r\n    <FrameworkReference Include=\"Microsoft.AspNetCore.App\"/>\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <ProjectReference Include=\"..\\Common\\Common.csproj\" />\r\n  </ItemGroup>\r\n</Project>"
  },
  {
    "path": "AspNetCore/CHANGELOG.md",
    "content": "# Changelog\r\n\r\n## [4.0.0] - 2022-04-04\r\n## [4.0.0-test-2021-04-02-1] - 2021-04-02\r\n## [4.0.0-test-2021-04-01-1] - 2021-04-01\r\n\r\n### Changed\r\n- Updated to support MirrorSharp.Common 3.0.0\r\n\r\n### Added\r\n- Internal healthcheck work (not yet released)\r\n\r\n### Removed\r\n- Obsolete method UseMirrorSharp is now marked Obsolete(true) and will not compile\r\n\r\n## [3.0.3] - 2020-03-04\r\n\r\n### Changed\r\n- Updated to support MirrorSharp.Common 2.2.3\r\n\r\n## [3.0.2] - 2021-05-01\r\n\r\n### Fixed\r\n- WebSocket connections handle shutdowns better, e.g. allowing faster processing of app_offline.htm\r\n\r\n## [3.0.1] - 2020-12-17\r\n\r\n### Changed\r\n- Updated to support MirrorSharp.Common 2.2.2"
  },
  {
    "path": "AspNetCore/Internal/Middleware.cs",
    "content": "using System;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.AspNetCore.Http;\r\nusing Microsoft.Extensions.Hosting;\r\nusing MirrorSharp.Advanced;\r\nusing MirrorSharp.Advanced.EarlyAccess;\r\nusing MirrorSharp.Internal;\r\n\r\nnamespace MirrorSharp.AspNetCore.Internal {\r\n    internal class Middleware : MiddlewareBase {\r\n        private readonly RequestDelegate _next;\r\n        private readonly IHostApplicationLifetime _applicationLifetime;\r\n        private readonly MirrorSharpOptions _options;\r\n\r\n        public Middleware(\r\n            RequestDelegate next,\r\n            IHostApplicationLifetime applicationLifetime,\r\n            MirrorSharpOptions options,\r\n            ISetOptionsFromClientExtension? setOptionsFromClient = null,\r\n            ISlowUpdateExtension? slowUpdate = null,\r\n            IRoslynSourceTextGuard? roslynSourceTextGuard = null,\r\n            IRoslynCompilationGuard? roslynCompilationGuard = null,\r\n            IConnectionSendViewer? connectionSendViewer = null,\r\n            IExceptionLogger? exceptionLogger = null\r\n        ) : base(options, new ImmutableExtensionServices(\r\n            #pragma warning disable CS0618 // Type or member is obsolete\r\n            setOptionsFromClient ?? options.SetOptionsFromClient,\r\n            slowUpdate ?? options.SlowUpdate,\r\n            roslynSourceTextGuard,\r\n            roslynCompilationGuard,\r\n            connectionSendViewer,\r\n            exceptionLogger ?? options.ExceptionLogger\r\n            #pragma warning restore CS0618\r\n        )) {\r\n            _next = Argument.NotNull(nameof(next), next);\r\n            _applicationLifetime = Argument.NotNull(nameof(applicationLifetime), applicationLifetime);\r\n            _options = Argument.NotNull(nameof(options), options);\r\n        }\r\n\r\n        public Task InvokeAsync(HttpContext context) {\r\n            if (!context.WebSockets.IsWebSocketRequest) {\r\n                if (context.Request.Path == \"/status\")\r\n                    return SlowTestAndReportStatusAsync(context);\r\n\r\n                return _next(context);\r\n            }\r\n\r\n            return StartWebSocketLoopAsync(context);\r\n        }\r\n\r\n        private async Task SlowTestAndReportStatusAsync(HttpContext context) {\r\n            try {\r\n                await SlowTestStatusAsync(context.RequestAborted).ConfigureAwait(false);\r\n            }\r\n            catch (Exception ex) {\r\n                // TODO: Consolidate constant message with the other usage\r\n                var message = (_options?.IncludeExceptionDetails ?? false)\r\n                    ? ex.ToString()\r\n                    : \"A server error has occurred.\";\r\n                context.Response.StatusCode = 500;\r\n                await context.Response.WriteAsync(message).ConfigureAwait(false);\r\n                return;\r\n            }\r\n\r\n            context.Response.StatusCode = 200;\r\n            await context.Response.WriteAsync(\"OK\");\r\n        }\r\n\r\n        private async Task StartWebSocketLoopAsync(HttpContext context) {\r\n            using var cancellationSource = new CancellationTokenSource();\r\n            using var requestRegistration = context.RequestAborted.Register(() => cancellationSource.Cancel());\r\n            using var applicationStoppingRegistration = _applicationLifetime.ApplicationStopping.Register(() => cancellationSource.Cancel());\r\n\r\n            var webSocket = await context.WebSockets.AcceptWebSocketAsync().ConfigureAwait(false);\r\n            await WebSocketLoopAsync(webSocket, cancellationSource.Token).ConfigureAwait(false);\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "AspNetCore/MirrorSharpStartupExtensions.cs",
    "content": "using System;\r\nusing System.ComponentModel;\r\nusing Microsoft.AspNetCore.Builder;\r\nusing Microsoft.AspNetCore.Http;\r\nusing Microsoft.AspNetCore.Routing;\r\nusing MirrorSharp.AspNetCore.Internal;\r\nusing MirrorSharp.Internal;\r\n\r\nnamespace MirrorSharp.AspNetCore {\r\n    /// <summary>MirrorSharp setup extensions.</summary>\r\n    public static class MirrorSharpStartupExtensions {\r\n        /// <summary>Adds MirrorSharp middleware to the <see cref=\"IApplicationBuilder\" />.</summary>\r\n        /// <param name=\"app\">The app builder.</param>\r\n        /// <param name=\"options\">The <see cref=\"MirrorSharpOptions\" /> object used by the MirrorSharp middleware.</param>\r\n        [EditorBrowsable(EditorBrowsableState.Never)]\r\n        [Obsolete(\"This method will be removed in the next major version. Use app.MapMirrorSharp() instead.\", true)]\r\n        public static IApplicationBuilder UseMirrorSharp(this IApplicationBuilder app, MirrorSharpOptions? options = null) {\r\n            Argument.NotNull(nameof(app), app);\r\n            app.UseMiddleware<Middleware>(options ?? new MirrorSharpOptions());\r\n            return app;\r\n        }\r\n\r\n        /// <summary>Maps MirrorSharp middleware to a certain path in the <see cref=\"IApplicationBuilder\" />.</summary>\r\n        /// <param name=\"app\">The app builder.</param>\r\n        /// <param name=\"path\">Relative path to be used by MirrorSharp server, e.g. '/mirrorsharp'.</param>\r\n        /// <param name=\"options\">The <see cref=\"MirrorSharpOptions\" /> object used by the MirrorSharp middleware.</param>\r\n        public static IApplicationBuilder MapMirrorSharp(this IApplicationBuilder app, PathString path, MirrorSharpOptions? options = null)\r\n        {\r\n            Argument.NotNull(nameof(app), app);\r\n            Argument.NotNull(nameof(path), path.Value);\r\n\r\n            return app.Map(path, a => a.UseMiddleware<Middleware>(options ?? new MirrorSharpOptions()));\r\n        }\r\n\r\n        /// <summary>Maps MirrorSharp middleware to a certain route in the <see cref=\"IEndpointRouteBuilder\" />.</summary>\r\n        /// <param name=\"endpoints\">The endpoint route builder.</param>\r\n        /// <param name=\"pattern\">The route pattern to be used by MirrorSharp server, e.g. '/mirrorsharp'.</param>\r\n        /// <param name=\"options\">The <see cref=\"MirrorSharpOptions\" /> object used by the MirrorSharp middleware.</param>\r\n        public static IEndpointConventionBuilder MapMirrorSharp(this IEndpointRouteBuilder endpoints, string pattern, MirrorSharpOptions? options = null) {\r\n            Argument.NotNull(nameof(endpoints), endpoints);\r\n            Argument.NotNullOrEmpty(nameof(pattern), pattern);\r\n\r\n            var pipeline = endpoints.CreateApplicationBuilder()\r\n                .UseMiddleware<Middleware>(options ?? new MirrorSharpOptions())\r\n                .Build();\r\n            return endpoints.Map(pattern, pipeline);\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "AspNetCore/PublicAPI.Shipped.txt",
    "content": "#nullable enable\r\nMirrorSharp.AspNetCore.MirrorSharpStartupExtensions\r\nstatic MirrorSharp.AspNetCore.MirrorSharpStartupExtensions.MapMirrorSharp(this Microsoft.AspNetCore.Builder.IApplicationBuilder! app, Microsoft.AspNetCore.Http.PathString path, MirrorSharp.MirrorSharpOptions? options = null) -> Microsoft.AspNetCore.Builder.IApplicationBuilder!\r\nstatic MirrorSharp.AspNetCore.MirrorSharpStartupExtensions.MapMirrorSharp(this Microsoft.AspNetCore.Routing.IEndpointRouteBuilder! endpoints, string! pattern, MirrorSharp.MirrorSharpOptions? options = null) -> Microsoft.AspNetCore.Builder.IEndpointConventionBuilder!\r\nstatic MirrorSharp.AspNetCore.MirrorSharpStartupExtensions.UseMirrorSharp(this Microsoft.AspNetCore.Builder.IApplicationBuilder! app, MirrorSharp.MirrorSharpOptions? options = null) -> Microsoft.AspNetCore.Builder.IApplicationBuilder!"
  },
  {
    "path": "AspNetCore/PublicAPI.Unshipped.txt",
    "content": ""
  },
  {
    "path": "AspNetCore/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETCoreApp,Version=v3.1\": {\r\n      \"Microsoft.CodeAnalysis.PublicApiAnalyzers\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.0, )\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"upaG6u/PxjkOj39Kk0DLmmA75acYChmv6/HnOUxvSgGWul53uPcVaPxBWCzkHDfIljyiq5qeIG+CatT8x8FAEA==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.4\",\r\n        \"contentHash\": \"alIJhS0VUg/7x5AsHEoovh/wRZ0RfCSS7k5pDSqpRLTyuMTtRgj6OJJPRApRhJHOGYYsLakf1hKeXFoDwKwNkg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"N5yQdGy+M4kimVG7hwCeGTCfgYjK2o5b/Shumkb/rCC+/SAkvP1HUAYK+vxPFS7dLJNtXLRsmPHKj3fnyNWnrw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"2.9.4\",\r\n          \"System.Collections.Immutable\": \"1.5.0\",\r\n          \"System.Memory\": \"4.5.3\",\r\n          \"System.Reflection.Metadata\": \"1.6.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\",\r\n          \"System.Text.Encoding.CodePages\": \"4.5.1\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"WDUIhTHem38H6VJ98x2Ssq0fweakJHnHYl7vbG8ARnsAwLoJKCQCy78EeY1oRrCKG42j0v6JVljKkeqSDA28UA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"t9uIwsLzT5zQ1Q3ZIpwE4EOnAf/lGdbQwyeqhyO/BJ+AWDt267Hxlz5k6ypPy14Z6+PW6pTggAGz6MwN31RElQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"dHs/UyfLgzsVC4FjTi/x+H+yQifgOnpe3rSN8GwkHWjnidePZ3kSqr1JHmFDf5HTQEydYwrwCAfQ0JSzhsEqDA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"lvMC69ABN/YEaw3ke4cQRqBYZ2V7DJTOT8QXIeAJGJUfwVHTBN0iq2O5zZQrYnnUN2wmeCzCoAg59PKBosVO7g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": \"2.9.5\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\",\r\n          \"Microsoft.DiaSymReader\": \"1.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.5\",\r\n        \"contentHash\": \"SqwdTocsxU7u0Y8am67BY7KSLAhrtDXdBBwt0Nv9TxLVzPBPtPPFS2bHUsxucpOBMBmc10rWE1eJ+IDrr/0/nQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"NfBz3b5hFSbO+7xsCNryD+p8axsIJFTG7qM3jvMTC/MqYrU6b8E1b6JoRj5rJSOBB+pSunk+CMqyGQTOWHeDUg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"System.Composition\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.3.0\",\r\n        \"contentHash\": \"/fn1Tfo7j7k/slViPlM8azJuxQmri7FZ8dQ+gTeLbI29leN/1VK0U/BFcRdJNctsRCUgyKJ2q+I0Tjq07Rc1/Q==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.1.2\",\r\n        \"contentHash\": \"mOJy3M0UN+LUG21dLGMxaWZEP6xYpQEpLuvuEQBaownaX4YuhH6NmNUlN9si+vNkAS6dwJ//N1O4DmLf2CikVg==\"\r\n      },\r\n      \"Microsoft.NETCore.Targets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.3\",\r\n        \"contentHash\": \"3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==\"\r\n      },\r\n      \"Microsoft.Win32.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.1\",\r\n        \"contentHash\": \"WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.Win32.Primitives\": \"4.3.0\",\r\n          \"System.AppContext\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Console\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.Compression.ZipFile\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Net.Http\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Net.Sockets\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Timer\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\",\r\n          \"System.Xml.XDocument\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==\"\r\n      },\r\n      \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==\"\r\n      },\r\n      \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==\"\r\n      },\r\n      \"runtime.native.System\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==\",\r\n        \"dependencies\": {\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==\",\r\n        \"dependencies\": {\r\n          \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==\"\r\n      },\r\n      \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==\"\r\n      },\r\n      \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==\"\r\n      },\r\n      \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==\"\r\n      },\r\n      \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==\"\r\n      },\r\n      \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==\"\r\n      },\r\n      \"System.AppContext\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ratu44uTIHgeBeI0dE8DWvmXVBSo4u7ozRZZHOMmK/JPpYyo0dAfgSiHlpiObMQ5lEtEyIXA40sKRYg5J6A8uQ==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Concurrent\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.5.0\",\r\n        \"contentHash\": \"EXKiDFsChZW0RjrZ4FYHu9aW6+P4MCgEDCklsVseRfhoO0F+dXeMSsMRAlVXIo06kGJ/zv+2w1a2uc2+kxxSaQ==\"\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"I+D26qpYdoklyAVUdqwUBrEIckMNjAYnuPJy/h9dsQItpQwVREkDFs4b4tkBza0kT2Yk48Lcfsv2QQ9hWsh9Iw==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Convention\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Composition.TypedParts\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"NHWhkM3ZkspmA0XJEsKdtTt1ViDYuojgSND3yHhTzwxepiwqZf+BCWuvCbjUt4fe0NxxQhUDGJ5km6sLjo9qnQ==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"GLjh2Ju71k6C0qxMMtl4efHa68NmWeIUYh4fkUI8xbjQrEBvFmRwMDFcylT8/PR9SQbeeL48IkFxU/+gd0nYEQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"fN1bT4RX4vUqjbgoyuJFVUizAl2mYF5VAb+bVIxIYZSSc0BdnX+yGAxcavxJuDDCQ1K+/mdpgyEFc8e9ikjvrg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0LEJN+2NVM89CE4SekDrrk5tHV5LeATltkp+9WNYrR+Huiyt0vaCqHbbHtVAjPyeLWIc8dOz/3kthRBj32wGQg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0Zae/FtzeFgDBBuILeIbC/T9HMYbW4olAmi8XqqAGosSOWvXfiQLfARZEhiGd0LVXaYgXr0NhxiU1LldRP1fpQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Console\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Debug\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.DiagnosticSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"tD6kosZnTAGdrEa0tZSuFyunMbt/5KYDnHdndJYGqZoNy00XVXyACd5d6KnE1YgYv3ne2CjtAfNXo/fwEhnKUA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tracing\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Calendars\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.IO.Compression\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression.ZipFile\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq.Expressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\"\r\n      },\r\n      \"System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.4\",\r\n        \"contentHash\": \"aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Extensions\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"System.Net.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Net.Sockets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.ILGeneration\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.Lightweight\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.0\",\r\n        \"contentHash\": \"COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==\"\r\n      },\r\n      \"System.Reflection.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.TypeExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Resources.ResourceManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.3\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.2\",\r\n        \"contentHash\": \"wprSFgext8cwqymChhrBLu62LMg/1u92bU+VOwyfBimSPVFXtsNqEWC92Pf9ofzJFlk4IHmJA75EDJn1b2goAQ==\"\r\n      },\r\n      \"System.Runtime.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Handles\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices.RuntimeInformation\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Numerics\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==\",\r\n        \"dependencies\": {\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Algorithms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Cng\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Csp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.X509Certificates\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Cng\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Csp\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"4J2JQXbftjPMppIHJ7IC+VXQ9XfEagN92vZZNoG12i+zReYlim5dMoXFC1Zzg7tsnKDM7JPo5bYfFK4Jheq44w==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"2.1.2\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.RegularExpressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"N0kNRrWe4+nXOWlpLT4LAY5brb8caNFlUuIRpraCVMDLYutKkol1aV079rQjLuSxKMJT2SpBQsYX9xbcTMmzwg==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.1\"\r\n        }\r\n      },\r\n      \"System.Threading\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.3\",\r\n        \"contentHash\": \"+MvhNtcvIbqmhANyKu91jQnvIRVSTiaOiFNfKWwXGHG48YAb4I/TyH8spsySiPYla7gKal5ZnF3teJqZAximyQ==\"\r\n      },\r\n      \"System.Threading.Timer\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.ReaderWriter\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Features\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1, )\",\r\n          \"System.Memory\": \"[4.5.5, )\",\r\n          \"System.Net.Http\": \"[4.3.4, )\",\r\n          \"System.Text.RegularExpressions\": \"[4.3.1, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "AspNetCore.Demo/.browserslistrc",
    "content": "last 2 Chrome versions\r\nlast 2 Firefox versions\r\nlast 2 Edge versions"
  },
  {
    "path": "AspNetCore.Demo/.vscode/settings.json",
    "content": "{\r\n    \"cSpell.words\": [\r\n        \"mirrorsharp\"\r\n    ]\r\n}"
  },
  {
    "path": "AspNetCore.Demo/AspNetCore.Demo.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk.Web\">\r\n\r\n  <PropertyGroup>\r\n    <TargetFramework>netcoreapp3.1</TargetFramework>\r\n    <AssemblyName>MirrorSharp.AspNetCore.Demo</AssemblyName>\r\n    <RootNamespace>MirrorSharp.AspNetCore.Demo</RootNamespace>\r\n    <IsPackable>false</IsPackable>\r\n  </PropertyGroup>\r\n\r\n  <ItemGroup>\r\n    <Content Remove=\"wwwroot\\package.json\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <None Include=\"wwwroot\\package.json\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <ProjectReference Include=\"..\\AspNetCore.Demo.Library\\AspNetCore.Demo.Library.csproj\" />\r\n    <ProjectReference Include=\"..\\AspNetCore\\AspNetCore.csproj\" />\r\n    <ProjectReference Include=\"..\\Common\\Common.csproj\" />\r\n    <ProjectReference Include=\"..\\FSharp\\FSharp.csproj\" />\r\n    <ProjectReference Include=\"..\\IL\\IL.csproj\" />\r\n  </ItemGroup>\r\n\r\n  <Target Name=\"CopySdkReferenceAssemblies\" AfterTargets=\"ResolveReferences\">\r\n    <ItemGroup>\r\n      <Content Include=\"@(Reference->'%(RootDir)%(Directory)%(Filename)%(Extension)')\"\r\n               Link=\"@(Reference->'ref-assemblies\\%(Filename)%(Extension)')\"\r\n               Condition=\"$([System.String]::new('%(Filename)').StartsWith('System')) or '%(Filename)' == 'netstandard'\">\r\n        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\r\n      </Content>\r\n      <Content Include=\"@(Reference->'%(RootDir)%(Directory)%(Filename).xml')\"\r\n               Link=\"@(Reference->'ref-assemblies\\%(Filename).xml')\"\r\n               Condition=\"($([System.String]::new('%(Filename)').StartsWith('System')) or '%(Filename)' == 'netstandard')\r\n                          and Exists('%(RootDir)%(Directory)%(Filename).xml')\">\r\n        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\r\n      </Content>\r\n    </ItemGroup>\r\n  </Target>\r\n</Project>\r\n"
  },
  {
    "path": "AspNetCore.Demo/Extensions/SetOptionsFromClientExtension.cs",
    "content": "using System;\r\nusing MirrorSharp.Advanced;\r\nusing MirrorSharp.AspNetCore.Demo.Library;\r\n\r\nnamespace MirrorSharp.AspNetCore.Demo.Extensions {\r\n    public class SetOptionsFromClientExtension : ISetOptionsFromClientExtension {\r\n        public bool TrySetOption(IWorkSession session, string name, string value) {\r\n            if (name != \"x-mode\")\r\n                return false;\r\n\r\n            switch (value) {\r\n                case \"script\":\r\n                    if (!session.IsRoslyn)\r\n                        throw new NotSupportedException(\"Only Roslyn sessions support script mode.\");\r\n                    session.Roslyn.SetScriptMode(true, typeof(IScriptGlobals));\r\n                    break;\r\n                case \"regular\":\r\n                    if (!session.IsRoslyn)\r\n                        return true;\r\n                    session.Roslyn.SetScriptMode(false);\r\n                    break;\r\n                default:\r\n                    throw new ArgumentException($\"Unknown mode: {value}.\");\r\n            }\r\n\r\n            return true;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "AspNetCore.Demo/Program.cs",
    "content": "using Microsoft.AspNetCore;\r\nusing Microsoft.AspNetCore.Hosting;\r\n\r\nnamespace MirrorSharp.AspNetCore.Demo {\r\n    public static class Program {\r\n        public static void Main(string[] args) {\r\n            CreateWebHostBuilder(args).Build().Run();\r\n        }\r\n\r\n        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>\r\n            WebHost.CreateDefaultBuilder(args).UseStartup<Startup>();\r\n    }\r\n}\r\n"
  },
  {
    "path": "AspNetCore.Demo/Properties/launchSettings.json",
    "content": "﻿{\r\n  \"iisSettings\": {\r\n    \"windowsAuthentication\": false, \r\n    \"anonymousAuthentication\": true, \r\n    \"iisExpress\": {\r\n      \"applicationUrl\": \"http://localhost:63675\",\r\n      \"sslPort\": 0\r\n    }\r\n  },\r\n  \"profiles\": {\r\n    \"IIS Express\": {\r\n      \"commandName\": \"IISExpress\",\r\n      \"launchBrowser\": true,\r\n      \"environmentVariables\": {\r\n        \"ASPNETCORE_ENVIRONMENT\": \"Development\"\r\n      }\r\n    },\r\n    \"AspNetCore.Demo\": {\r\n      \"commandName\": \"Project\",\r\n      \"launchBrowser\": true,\r\n      \"applicationUrl\": \"http://localhost:5000\",\r\n      \"environmentVariables\": {\r\n        \"ASPNETCORE_ENVIRONMENT\": \"Development\"\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "AspNetCore.Demo/Startup.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.Immutable;\r\nusing System.IO;\r\nusing Microsoft.AspNetCore.Builder;\r\nusing Microsoft.AspNetCore.Hosting;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.Extensions.DependencyInjection;\r\nusing Microsoft.Extensions.Hosting;\r\nusing MirrorSharp.Advanced;\r\nusing MirrorSharp.AspNetCore.Demo.Extensions;\r\nusing MirrorSharp.AspNetCore.Demo.Library;\r\n\r\nnamespace MirrorSharp.AspNetCore.Demo {\r\n    public class Startup {\r\n        public void ConfigureServices(IServiceCollection services) {\r\n            services.AddSingleton<ISetOptionsFromClientExtension, SetOptionsFromClientExtension>();\r\n        }\r\n\r\n        public void Configure(IApplicationBuilder app, IWebHostEnvironment env) {\r\n            if (env.IsDevelopment()) {\r\n                app.UseDeveloperExceptionPage();\r\n            }\r\n\r\n            app.UseDefaultFiles()\r\n               .UseStaticFiles();\r\n            app.UseWebSockets();\r\n            app.UseRouting();\r\n\r\n            app.UseEndpoints(e => e.MapMirrorSharp(\r\n                \"/mirrorsharp\",\r\n                new MirrorSharpOptions {\r\n                    SelfDebugEnabled = true,\r\n                    IncludeExceptionDetails = true\r\n                }\r\n                .SetupCSharp(o => {\r\n                    o.MetadataReferences = GetAllReferences().ToImmutableList();\r\n                })\r\n                .EnableFSharp()\r\n                .EnableIL()\r\n            ));\r\n        }\r\n\r\n        private static IEnumerable<MetadataReference> GetAllReferences() {\r\n            yield return ReferenceAssembly(\"System.Runtime\");\r\n            yield return ReferenceAssembly(\"System.Collections\");\r\n            var assembly = typeof(IScriptGlobals).Assembly;\r\n            yield return MetadataReference.CreateFromFile(assembly.Location);\r\n            foreach (var reference in assembly.GetReferencedAssemblies()) {\r\n                yield return ReferenceAssembly(reference.Name!);\r\n            }\r\n        }\r\n\r\n        private static MetadataReference ReferenceAssembly(string name) {\r\n            var rootPath = Path.Combine(\r\n                Path.GetDirectoryName(new Uri(typeof(Startup).Assembly.EscapedCodeBase).LocalPath)!,\r\n                \"ref-assemblies\"\r\n            );\r\n            var assemblyPath = Path.Combine(rootPath, name + \".dll\");\r\n            var documentationPath = Path.Combine(rootPath, name + \".xml\");\r\n\r\n            return MetadataReference.CreateFromFile(\r\n                assemblyPath, documentation: XmlDocumentationProvider.CreateFromFile(documentationPath)\r\n            );\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "AspNetCore.Demo/app.css",
    "content": "@import './node_modules/mirrorsharp-codemirror-6-preview/mirrorsharp.css';\r\n@import './node_modules/typeface-open-sans/index.css';\r\n\r\n* { box-sizing: border-box; }\r\n\r\nhtml, body { width: 100%; height: 100%; }\r\n\r\nbody {\r\n  padding: 0;\r\n  margin: 0;\r\n  font-size: 16px;\r\n  display: flex;\r\n  flex-direction: column;\r\n  padding: 10px;\r\n}\r\n\r\nnav { display: flex; font-family: 'Open Sans', sans-serif; }\r\n\r\nnav ul {\r\n  list-style: none;\r\n  display: flex;\r\n  padding: 0;\r\n  margin: 0;\r\n}\r\n\r\nnav li {\r\n  margin-left: 10px;\r\n}\r\n\r\na { text-decoration: none; }\r\n\r\na:hover { text-decoration: underline; }\r\n\r\n.CodeMirror {\r\n  flex-grow: 1;\r\n  margin-top: 10px;\r\n  border: 1px solid #ddd;\r\n}"
  },
  {
    "path": "AspNetCore.Demo/app.js",
    "content": "import mirrorsharp from 'mirrorsharp-codemirror-6-preview';\r\n\r\nconst getCode = (language, mode) => {\r\n    if (mode === 'script') {\r\n        return 'var messages = Context.Messages;';\r\n    }\r\n    else if (language == 'C#') {\r\n        return `using System;\r\n\r\n        class C {\r\n            const int C2 = 5;\r\n            string f;\r\n            string P { get; set; }\r\n            event EventHandler e;\r\n            event EventHandler E { add {} remove {} }\r\n\r\n            C() {\r\n            }\r\n\r\n            void M(int p) {\r\n                var l = p;\r\n            }\r\n        }\r\n\r\n        class G<T> {\r\n        }`.replace(/(\\r\\n|\\r|\\n)/g, '\\r\\n') // Parcel changes newlines to LF\r\n          .replace(/^        /gm, '');\r\n    }\r\n    else if (language === 'F#') {\r\n        return '[<EntryPoint>]\\r\\nlet main argv = \\r\\n    0';\r\n    }\r\n    else if (language === 'IL') {\r\n        return '.class private auto ansi \\'<Module>\\'\\r\\n{\\r\\n}';\r\n    }\r\n}\r\n\r\nconst getLanguageAndCode = () => {\r\n    const params = window.location.hash.replace(/^\\#/, '').split('&').reduce((result, item) => {\r\n        const [key, value] = item.split('=');\r\n        result[key] = value;\r\n        return result;\r\n    }, {});\r\n    const language = (params['language'] || 'CSharp').replace('Sharp', '#');\r\n    const mode = params['mode'] || 'regular';\r\n    const code = getCode(language, mode);\r\n\r\n    return { language, mode, code };\r\n}\r\n\r\nconst initial = getLanguageAndCode();\r\nconst ms = mirrorsharp(document.getElementById('editor-container'), {\r\n    serviceUrl: window.location.href.replace(/^http(s?:\\/\\/[^/]+).*$/i, 'ws$1/mirrorsharp'),\r\n    language: initial.language,\r\n    text: initial.code,\r\n    serverOptions: (initial.mode !== 'regular' ? { 'x-mode': initial.mode } : {})\r\n});\r\n\r\nwindow.addEventListener('hashchange', () => {\r\n    const updated = getLanguageAndCode();\r\n    ms.setLanguage(updated.language);\r\n    ms.setServerOptions({ 'x-mode': updated.mode });\r\n    ms.setText(updated.code);\r\n});"
  },
  {
    "path": "AspNetCore.Demo/index.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n  <head>\r\n    <meta charset=\"utf-8\">\r\n    <title>MirrorSharp Demo</title>\r\n    <link rel=\"stylesheet\" href=\"app.css\">\r\n  </head>\r\n  <body>\r\n    <nav>\r\n      Language:\r\n      <ul>\r\n        <li><a href=\"#language=CSharp\">C#</a></li>\r\n        <li><a href=\"#language=CSharp&mode=script\">C# (Script)</a></li>\r\n        <li><a href=\"#language=FSharp\">F#</a></li>\r\n        <li><a href=\"#language=IL\">IL</a></li>\r\n      </ul>\r\n    </nav>\r\n    <div id=\"editor-container\"></div>\r\n\r\n    <script type=\"module\" src=\"app.js\"></script>\r\n  </body>\r\n</html>"
  },
  {
    "path": "AspNetCore.Demo/package.json",
    "content": "{\r\n  \"name\": \"mirrorsharp.demo\",\r\n  \"version\": \"0.0.0\",\r\n  \"private\": true,\r\n  \"scripts\": {\r\n    \"build\": \"parcel build index.html --dist-dir wwwroot --no-optimize --no-cache\"\r\n  },\r\n  \"dependencies\": {\r\n    \"mirrorsharp-codemirror-6-preview\": \"file:../WebAssets/dist\",\r\n    \"typeface-open-sans\": \"0.0.75\"\r\n  },\r\n  \"devDependencies\": {\r\n    \"parcel\": \"^2.8.2\",\r\n    \"process\": \"^0.11.10\"\r\n  }\r\n}\r\n"
  },
  {
    "path": "AspNetCore.Demo/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETCoreApp,Version=v3.1\": {\r\n      \"FSharp.Compiler.Service\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"43.8.300\",\r\n        \"contentHash\": \"CoPjQYXXwmYkkHm+yxBHSW9IJVLpvwkKGEzXa5A6ebf8v6GfYaxZc5G+VHojDr586oezp1elFemu+A1WWH095A==\",\r\n        \"dependencies\": {\r\n          \"FSharp.Core\": \"[8.0.300]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"7.0.2\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Reflection.Emit\": \"4.7.0\",\r\n          \"System.Reflection.Metadata\": \"7.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"FSharp.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.300\",\r\n        \"contentHash\": \"Jv44fV7TNglyMku89lQcA4Q6mFKLyHb2bs1Yb72nvSVc+cHplEnoZ4XQUaaTLJGUTx/iMqcrkYGtaLzkkIhpaA==\"\r\n      },\r\n      \"Microsoft.Build.Framework\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"jleteC0seumLGTmTVwob97lcwPj/dfgzL/V3g/VVcMZgo2Ic7jzdy8AYpByPDh8e3uRq0SjCl6HOFCjhy5GzRQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Build.Utilities.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"pU3GnHcXp8VRMGKxdJCq+tixfhFn+QwEbpqmZmc/nqFHFyuhlGwjonWZMIWcwuCv/8EHgxoOttFvna1vrN+RrA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Build.Framework\": \"17.12.6\",\r\n          \"Microsoft.NET.StringTools\": \"17.12.6\",\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Configuration.ConfigurationManager\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.4\",\r\n        \"contentHash\": \"alIJhS0VUg/7x5AsHEoovh/wRZ0RfCSS7k5pDSqpRLTyuMTtRgj6OJJPRApRhJHOGYYsLakf1hKeXFoDwKwNkg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"N5yQdGy+M4kimVG7hwCeGTCfgYjK2o5b/Shumkb/rCC+/SAkvP1HUAYK+vxPFS7dLJNtXLRsmPHKj3fnyNWnrw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"2.9.4\",\r\n          \"System.Collections.Immutable\": \"1.5.0\",\r\n          \"System.Memory\": \"4.5.3\",\r\n          \"System.Reflection.Metadata\": \"1.6.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\",\r\n          \"System.Text.Encoding.CodePages\": \"4.5.1\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"WDUIhTHem38H6VJ98x2Ssq0fweakJHnHYl7vbG8ARnsAwLoJKCQCy78EeY1oRrCKG42j0v6JVljKkeqSDA28UA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"t9uIwsLzT5zQ1Q3ZIpwE4EOnAf/lGdbQwyeqhyO/BJ+AWDt267Hxlz5k6ypPy14Z6+PW6pTggAGz6MwN31RElQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"dHs/UyfLgzsVC4FjTi/x+H+yQifgOnpe3rSN8GwkHWjnidePZ3kSqr1JHmFDf5HTQEydYwrwCAfQ0JSzhsEqDA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"lvMC69ABN/YEaw3ke4cQRqBYZ2V7DJTOT8QXIeAJGJUfwVHTBN0iq2O5zZQrYnnUN2wmeCzCoAg59PKBosVO7g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": \"2.9.5\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\",\r\n          \"Microsoft.DiaSymReader\": \"1.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.5\",\r\n        \"contentHash\": \"SqwdTocsxU7u0Y8am67BY7KSLAhrtDXdBBwt0Nv9TxLVzPBPtPPFS2bHUsxucpOBMBmc10rWE1eJ+IDrr/0/nQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"NfBz3b5hFSbO+7xsCNryD+p8axsIJFTG7qM3jvMTC/MqYrU6b8E1b6JoRj5rJSOBB+pSunk+CMqyGQTOWHeDUg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"System.Composition\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.3.0\",\r\n        \"contentHash\": \"/fn1Tfo7j7k/slViPlM8azJuxQmri7FZ8dQ+gTeLbI29leN/1VK0U/BFcRdJNctsRCUgyKJ2q+I0Tjq07Rc1/Q==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"Microsoft.IO.RecyclableMemoryStream\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.2.0\",\r\n        \"contentHash\": \"uyjY/cqomw1irT4L7lDeg4sJ36MsjHg3wKqpGrBAdzvZaxo85yMF+sAA9RIzTV92fDxuUzjqksMqA0+SNMkMgA==\"\r\n      },\r\n      \"Microsoft.NET.StringTools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"w8Ehofqte5bJoR+Fa3f6JwkwFEkGtXxqvQHGOVOSHDzgNVySvL5FSNhavbQSZ864el9c3rjdLPLAtBW8dq6fmg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==\"\r\n      },\r\n      \"Microsoft.NETCore.Targets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.3\",\r\n        \"contentHash\": \"3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==\"\r\n      },\r\n      \"Microsoft.Win32.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Win32.Registry\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"5.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"Mobius.ILasm\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.1.0\",\r\n        \"contentHash\": \"0uB5lko7fQZ4eOqkEyApSwxSwdMqdrduTpi6aAvr1nr03Lw+muS6UaAYCvk2ICN+AR94lPelvSx1+HCCwBMhTQ==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection.Emit\": \"4.7.0\",\r\n          \"System.Security.Permissions\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.1\",\r\n        \"contentHash\": \"WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.Win32.Primitives\": \"4.3.0\",\r\n          \"System.AppContext\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Console\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.Compression.ZipFile\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Net.Http\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Net.Sockets\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Timer\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\",\r\n          \"System.Xml.XDocument\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==\"\r\n      },\r\n      \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==\"\r\n      },\r\n      \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==\"\r\n      },\r\n      \"runtime.native.System\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==\",\r\n        \"dependencies\": {\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==\",\r\n        \"dependencies\": {\r\n          \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==\"\r\n      },\r\n      \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==\"\r\n      },\r\n      \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==\"\r\n      },\r\n      \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==\"\r\n      },\r\n      \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==\"\r\n      },\r\n      \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==\"\r\n      },\r\n      \"System.AppContext\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Concurrent\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"I+D26qpYdoklyAVUdqwUBrEIckMNjAYnuPJy/h9dsQItpQwVREkDFs4b4tkBza0kT2Yk48Lcfsv2QQ9hWsh9Iw==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Convention\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Composition.TypedParts\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"NHWhkM3ZkspmA0XJEsKdtTt1ViDYuojgSND3yHhTzwxepiwqZf+BCWuvCbjUt4fe0NxxQhUDGJ5km6sLjo9qnQ==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"GLjh2Ju71k6C0qxMMtl4efHa68NmWeIUYh4fkUI8xbjQrEBvFmRwMDFcylT8/PR9SQbeeL48IkFxU/+gd0nYEQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"fN1bT4RX4vUqjbgoyuJFVUizAl2mYF5VAb+bVIxIYZSSc0BdnX+yGAxcavxJuDDCQ1K+/mdpgyEFc8e9ikjvrg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0LEJN+2NVM89CE4SekDrrk5tHV5LeATltkp+9WNYrR+Huiyt0vaCqHbbHtVAjPyeLWIc8dOz/3kthRBj32wGQg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0Zae/FtzeFgDBBuILeIbC/T9HMYbW4olAmi8XqqAGosSOWvXfiQLfARZEhiGd0LVXaYgXr0NhxiU1LldRP1fpQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Configuration.ConfigurationManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Console\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Debug\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.DiagnosticSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.2\",\r\n        \"contentHash\": \"hYr3I9N9811e0Bjf2WNwAGGyTuAFbbTgX1RPLt/3Wbm68x3IGcX5Cl75CMmgT6WlNwLQ2tCCWfqYPpypjaf2xA==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tracing\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Drawing.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"uoozjI3+dlgKh2onFJcz8aNLh6TRCPlLSh8Dbuljc8CdvqXrxHOVysJlrHvlsOCqceqGBR1wrMPxlnzzhynktw==\"\r\n      },\r\n      \"System.Globalization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Calendars\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.IO.Compression\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression.ZipFile\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq.Expressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\"\r\n      },\r\n      \"System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.4\",\r\n        \"contentHash\": \"aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Extensions\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"System.Net.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Net.Sockets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"VR4kk8XLKebQ4MZuKuIni/7oh+QGFmZW3qORd1GvBq/8026OpW501SzT/oypwiQl4TvT8ErnReh/NzY9u+C6wQ==\"\r\n      },\r\n      \"System.Reflection.Emit.ILGeneration\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.Lightweight\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"MclTG61lsD9sYdpNz9xsKBzjsmsfCtcMZYXz/IUr2zlhaTaABonlr1ESeompTgM+Xk+IwtGYU7/voh3YWB/fWw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Memory\": \"4.5.5\"\r\n        }\r\n      },\r\n      \"System.Reflection.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.TypeExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Resources.ResourceManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.3\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==\"\r\n      },\r\n      \"System.Runtime.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Handles\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices.RuntimeInformation\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Numerics\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==\",\r\n        \"dependencies\": {\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"5.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Algorithms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Cng\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Csp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.ProtectedData\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.X509Certificates\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Cng\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Csp\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Permissions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"uE8juAhEkp7KDBCdjDIE3H9R1HJuEHqeqX8nLX9gmYKWwsqk3T5qZlPx8qle5DPKimC/Fy3AFTdV7HamgCh9qQ==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"5.0.0\",\r\n          \"System.Windows.Extensions\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Security.Principal.Windows\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==\"\r\n      },\r\n      \"System.Text.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"LSyCblMpvOe0N3E+8e0skHcrIhgV2huaNcjUUEa8hRtgEAm36aGkRoC8Jxlb6Ra6GSfF29ftduPNywin8XolzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.RegularExpressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"N0kNRrWe4+nXOWlpLT4LAY5brb8caNFlUuIRpraCVMDLYutKkol1aV079rQjLuSxKMJT2SpBQsYX9xbcTMmzwg==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.1\"\r\n        }\r\n      },\r\n      \"System.Threading\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.3\",\r\n        \"contentHash\": \"+MvhNtcvIbqmhANyKu91jQnvIRVSTiaOiFNfKWwXGHG48YAb4I/TyH8spsySiPYla7gKal5ZnF3teJqZAximyQ==\"\r\n      },\r\n      \"System.Threading.Timer\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Windows.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"c1ho9WU9ZxMZawML+ssPKZfdnrg/OjR3pe0m9v8230z3acqphwvPJqzAkH54xRYm5ntZHGG1EPP3sux9H3qSPg==\",\r\n        \"dependencies\": {\r\n          \"System.Drawing.Common\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Xml.ReaderWriter\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"MirrorSharp.AspNetCore\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.AspNetCore.Demo.Library\": {\r\n        \"type\": \"Project\"\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Features\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1, )\",\r\n          \"System.Memory\": \"[4.5.5, )\",\r\n          \"System.Net.Http\": \"[4.3.4, )\",\r\n          \"System.Text.RegularExpressions\": \"[4.3.1, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.FSharp\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"FSharp.Compiler.Service\": \"[43.8.300, )\",\r\n          \"FSharp.Core\": \"[8.0.300, )\",\r\n          \"Microsoft.Build.Utilities.Core\": \"[17.12.6, )\",\r\n          \"Microsoft.IO.RecyclableMemoryStream\": \"[2.2.0, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.IL\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\",\r\n          \"Mobius.ILasm\": \"[0.1.0, )\",\r\n          \"System.Drawing.Common\": \"[9.0.0, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "AspNetCore.Demo.Library/AspNetCore.Demo.Library.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\r\n  <PropertyGroup>\r\n    <TargetFramework>netstandard2.1</TargetFramework>\r\n    <IsPackable>false</IsPackable>\r\n    <AssemblyName>MirrorSharp.AspNetCore.Demo.Library</AssemblyName>\r\n    <RootNamespace>MirrorSharp.AspNetCore.Demo.Library</RootNamespace>\r\n  </PropertyGroup>\r\n\r\n  <ItemGroup>\r\n    <AdditionalFiles Remove=\"PublicAPI.Shipped.txt\" />\r\n    <AdditionalFiles Remove=\"PublicAPI.Unshipped.txt\" />\r\n  </ItemGroup>\r\n</Project>\r\n"
  },
  {
    "path": "AspNetCore.Demo.Library/IScriptContext.cs",
    "content": "using System.Collections.Generic;\r\n\r\nnamespace MirrorSharp.AspNetCore.Demo.Library {\r\n    public interface IScriptContext {\r\n        string Arguments { get; }\r\n\r\n        IReadOnlyList<string> Messages { get; }\r\n    }\r\n}"
  },
  {
    "path": "AspNetCore.Demo.Library/IScriptGlobals.cs",
    "content": "namespace MirrorSharp.AspNetCore.Demo.Library {\r\n    public interface IScriptGlobals {\r\n        IScriptContext Context { get; }\r\n    }\r\n}"
  },
  {
    "path": "AspNetCore.Demo.Library/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETStandard,Version=v2.1\": {}\r\n  }\r\n}"
  },
  {
    "path": "AspNetCore.Demo.Net6/.browserslistrc",
    "content": "last 2 Chrome versions\r\nlast 2 Firefox versions\r\nlast 2 Edge versions"
  },
  {
    "path": "AspNetCore.Demo.Net6/AspNetCore.Demo.Net6.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk.Web\">\r\n  <PropertyGroup>\r\n    <TargetFramework>net6.0</TargetFramework>\r\n    <ImplicitUsings>enable</ImplicitUsings>\r\n    <AssemblyName>MirrorSharp.AspNetCore.Demo.Net6</AssemblyName>\r\n    <RootNamespace>MirrorSharp.AspNetCore.Demo.Net6</RootNamespace>\r\n    <IsPackable>false</IsPackable>\r\n  </PropertyGroup>\r\n\r\n  <ItemGroup>\r\n    <ProjectReference Include=\"..\\AspNetCore.Demo.Library\\AspNetCore.Demo.Library.csproj\" />\r\n    <ProjectReference Include=\"..\\AspNetCore\\AspNetCore.csproj\" />\r\n    <ProjectReference Include=\"..\\Common\\Common.csproj\" />\r\n    <ProjectReference Include=\"..\\FSharp\\FSharp.csproj\" />\r\n    <ProjectReference Include=\"..\\IL\\IL.csproj\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis\" Version=\"4.3.1\" PrivateAssets=\"All\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Features\" Version=\"4.3.1\" PrivateAssets=\"All\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Workspaces.Common\" Version=\"4.3.1\" PrivateAssets=\"All\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.CSharp.Features\" Version=\"4.3.1\" PrivateAssets=\"All\" />\r\n    <!-- Avoids vulnerability in version referenced by Microsoft.CodeAnalysis.Features -->\r\n    <PackageReference Include=\"System.Text.Json\" Version=\"9.0.0\" />\r\n  </ItemGroup>\r\n\r\n  <Target Name=\"CopySdkReferenceAssemblies\" AfterTargets=\"ResolveReferences\">\r\n    <ItemGroup>\r\n      <Content Include=\"@(Reference->'%(RootDir)%(Directory)%(Filename)%(Extension)')\"\r\n               Link=\"@(Reference->'ref-assemblies\\%(Filename)%(Extension)')\"\r\n               Condition=\"$([System.String]::new('%(Filename)').StartsWith('System')) or '%(Filename)' == 'netstandard'\">\r\n        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\r\n      </Content>\r\n      <Content Include=\"@(Reference->'%(RootDir)%(Directory)%(Filename).xml')\"\r\n               Link=\"@(Reference->'ref-assemblies\\%(Filename).xml')\"\r\n               Condition=\"($([System.String]::new('%(Filename)').StartsWith('System')) or '%(Filename)' == 'netstandard')\r\n                          and Exists('%(RootDir)%(Directory)%(Filename).xml')\">\r\n        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\r\n      </Content>\r\n    </ItemGroup>\r\n  </Target>\r\n</Project>\r\n"
  },
  {
    "path": "AspNetCore.Demo.Net6/Extensions/SetOptionsFromClientExtension.cs",
    "content": "using System;\r\nusing MirrorSharp.Advanced;\r\nusing MirrorSharp.AspNetCore.Demo.Library;\r\n\r\nnamespace MirrorSharp.AspNetCore.Demo.Extensions {\r\n    public class SetOptionsFromClientExtension : ISetOptionsFromClientExtension {\r\n        public bool TrySetOption(IWorkSession session, string name, string value) {\r\n            if (name != \"x-mode\")\r\n                return false;\r\n\r\n            switch (value) {\r\n                case \"script\":\r\n                    if (!session.IsRoslyn)\r\n                        throw new NotSupportedException(\"Only Roslyn sessions support script mode.\");\r\n                    session.Roslyn.SetScriptMode(true, typeof(IScriptGlobals));\r\n                    break;\r\n                case \"regular\":\r\n                    if (!session.IsRoslyn)\r\n                        return true;\r\n                    session.Roslyn.SetScriptMode(false);\r\n                    break;\r\n                default:\r\n                    throw new ArgumentException($\"Unknown mode: {value}.\");\r\n            }\r\n\r\n            return true;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "AspNetCore.Demo.Net6/Program.cs",
    "content": "using System.Collections.Immutable;\r\nusing Microsoft.CodeAnalysis;\r\nusing MirrorSharp;\r\nusing MirrorSharp.Advanced;\r\nusing MirrorSharp.AspNetCore;\r\nusing MirrorSharp.AspNetCore.Demo.Extensions;\r\nusing MirrorSharp.AspNetCore.Demo.Library;\r\n\r\nvar builder = WebApplication.CreateBuilder(args);\r\nbuilder.Services.AddSingleton<ISetOptionsFromClientExtension, SetOptionsFromClientExtension>();\r\n\r\nvar app = builder.Build();\r\n\r\napp.UseDefaultFiles();\r\napp.UseStaticFiles();\r\napp.UseWebSockets();\r\n\r\napp.MapMirrorSharp(\r\n    \"/mirrorsharp\",\r\n    new MirrorSharpOptions {\r\n        SelfDebugEnabled = true,\r\n        IncludeExceptionDetails = true\r\n    }\r\n    .SetupCSharp(o => {\r\n        o.MetadataReferences = GetAllReferences().ToImmutableList();\r\n    })\r\n    .EnableFSharp()\r\n    .EnableIL()\r\n);\r\n\r\napp.Run();\r\n\r\nstatic IEnumerable<MetadataReference> GetAllReferences() {\r\n    yield return ReferenceAssembly(\"System.Runtime\");\r\n    yield return ReferenceAssembly(\"System.Collections\");\r\n    var assembly = typeof(IScriptGlobals).Assembly;\r\n    yield return MetadataReference.CreateFromFile(assembly.Location);\r\n    foreach (var reference in assembly.GetReferencedAssemblies()) {\r\n        yield return ReferenceAssembly(reference.Name!);\r\n    }\r\n}\r\n\r\nstatic MetadataReference ReferenceAssembly(string name) {\r\n    var rootPath = Path.Combine(AppContext.BaseDirectory, \"ref-assemblies\");\r\n    var assemblyPath = Path.Combine(rootPath, name + \".dll\");\r\n    var documentationPath = Path.Combine(rootPath, name + \".xml\");\r\n\r\n    return MetadataReference.CreateFromFile(\r\n        assemblyPath, documentation: XmlDocumentationProvider.CreateFromFile(documentationPath)\r\n    );\r\n}\r\n"
  },
  {
    "path": "AspNetCore.Demo.Net6/Properties/launchSettings.json",
    "content": "﻿{\r\n  \"iisSettings\": {\r\n    \"windowsAuthentication\": false,\r\n    \"anonymousAuthentication\": true,\r\n    \"iisExpress\": {\r\n      \"applicationUrl\": \"http://localhost:39287\",\r\n      \"sslPort\": 44358\r\n    }\r\n  },\r\n  \"profiles\": {\r\n    \"AspNetCore.Demo.Net6\": {\r\n      \"commandName\": \"Project\",\r\n      \"dotnetRunMessages\": true,\r\n      \"launchBrowser\": true,\r\n      \"applicationUrl\": \"https://localhost:7177;http://localhost:5177\",\r\n      \"environmentVariables\": {\r\n        \"ASPNETCORE_ENVIRONMENT\": \"Development\"\r\n      }\r\n    },\r\n    \"IIS Express\": {\r\n      \"commandName\": \"IISExpress\",\r\n      \"launchBrowser\": true,\r\n      \"environmentVariables\": {\r\n        \"ASPNETCORE_ENVIRONMENT\": \"Development\"\r\n      }\r\n    }\r\n  }\r\n}\r\n"
  },
  {
    "path": "AspNetCore.Demo.Net6/app.css",
    "content": "@import './node_modules/mirrorsharp-codemirror-6-preview/mirrorsharp.css';\r\n@import './node_modules/typeface-open-sans/index.css';\r\n\r\n* { box-sizing: border-box; }\r\n\r\nhtml, body { width: 100%; height: 100%; }\r\n\r\nbody {\r\n  padding: 0;\r\n  margin: 0;\r\n  font-size: 16px;\r\n  display: flex;\r\n  flex-direction: column;\r\n  padding: 10px;\r\n}\r\n\r\nnav { display: flex; font-family: 'Open Sans', sans-serif; }\r\n\r\nnav ul {\r\n  list-style: none;\r\n  display: flex;\r\n  padding: 0;\r\n  margin: 0;\r\n}\r\n\r\nnav li {\r\n  margin-left: 10px;\r\n}\r\n\r\na { text-decoration: none; }\r\n\r\na:hover { text-decoration: underline; }\r\n\r\n.CodeMirror {\r\n  flex-grow: 1;\r\n  margin-top: 10px;\r\n  border: 1px solid #ddd;\r\n}"
  },
  {
    "path": "AspNetCore.Demo.Net6/app.js",
    "content": "import mirrorsharp from 'mirrorsharp-codemirror-6-preview';\r\n\r\nconst getCode = (language, mode) => {\r\n    if (mode === 'script') {\r\n        return 'var messages = Context.Messages;';\r\n    }\r\n    else if (language == 'C#') {\r\n        return `using System;\r\n\r\n        class C {\r\n            const int C2 = 5;\r\n            string f;\r\n            string P { get; set; }\r\n            event EventHandler e;\r\n            event EventHandler E { add {} remove {} }\r\n\r\n            C() {\r\n            }\r\n\r\n            void M(int p) {\r\n                var l = p;\r\n            }\r\n        }\r\n\r\n        class G<T> {\r\n        }`.replace(/(\\r\\n|\\r|\\n)/g, '\\r\\n') // Parcel changes newlines to LF\r\n          .replace(/^        /gm, '');\r\n    }\r\n    else if (language === 'F#') {\r\n        return '[<EntryPoint>]\\r\\nlet main argv = \\r\\n    0';\r\n    }\r\n    else if (language === 'IL') {\r\n        return '.class private auto ansi \\'<Module>\\'\\r\\n{\\r\\n}';\r\n    }\r\n}\r\n\r\nconst getLanguageAndCode = () => {\r\n    const params = window.location.hash.replace(/^\\#/, '').split('&').reduce((result, item) => {\r\n        const [key, value] = item.split('=');\r\n        result[key] = value;\r\n        return result;\r\n    }, {});\r\n    const language = (params['language'] || 'CSharp').replace('Sharp', '#');\r\n    const mode = params['mode'] || 'regular';\r\n    const code = getCode(language, mode);\r\n\r\n    return { language, mode, code };\r\n}\r\n\r\nconst initial = getLanguageAndCode();\r\nconst ms = mirrorsharp(document.getElementById('editor-container'), {\r\n    serviceUrl: window.location.href.replace(/^http(s?:\\/\\/[^/]+).*$/i, 'ws$1/mirrorsharp'),\r\n    language: initial.language,\r\n    text: initial.code,\r\n    serverOptions: (initial.mode !== 'regular' ? { 'x-mode': initial.mode } : {})\r\n});\r\n\r\nwindow.addEventListener('hashchange', () => {\r\n    const updated = getLanguageAndCode();\r\n    ms.setLanguage(updated.language);\r\n    ms.setServerOptions({ 'x-mode': updated.mode });\r\n    ms.setText(updated.code);\r\n});"
  },
  {
    "path": "AspNetCore.Demo.Net6/appsettings.Development.json",
    "content": "{\r\n  \"Logging\": {\r\n    \"LogLevel\": {\r\n      \"Default\": \"Information\",\r\n      \"Microsoft.AspNetCore\": \"Warning\"\r\n    }\r\n  }\r\n}\r\n"
  },
  {
    "path": "AspNetCore.Demo.Net6/appsettings.json",
    "content": "{\r\n  \"Logging\": {\r\n    \"LogLevel\": {\r\n      \"Default\": \"Information\",\r\n      \"Microsoft.AspNetCore\": \"Warning\"\r\n    }\r\n  },\r\n  \"AllowedHosts\": \"*\"\r\n}\r\n"
  },
  {
    "path": "AspNetCore.Demo.Net6/index.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n  <head>\r\n    <meta charset=\"utf-8\">\r\n    <title>MirrorSharp Demo</title>\r\n    <link rel=\"stylesheet\" href=\"app.css\">\r\n  </head>\r\n  <body>\r\n    <nav>\r\n      Language:\r\n      <ul>\r\n        <li><a href=\"#language=CSharp\">C#</a></li>\r\n        <li><a href=\"#language=CSharp&mode=script\">C# (Script)</a></li>\r\n        <li><a href=\"#language=FSharp\">F#</a></li>\r\n        <li><a href=\"#language=IL\">IL</a></li>\r\n      </ul>\r\n    </nav>\r\n    <div id=\"editor-container\"></div>\r\n\r\n    <script type=\"module\" src=\"app.js\"></script>\r\n  </body>\r\n</html>"
  },
  {
    "path": "AspNetCore.Demo.Net6/package.json",
    "content": "{\r\n  \"name\": \"mirrorsharp.demo\",\r\n  \"version\": \"0.0.0\",\r\n  \"private\": true,\r\n  \"scripts\": {\r\n    \"build\": \"parcel build index.html --dist-dir wwwroot --no-optimize --no-cache\"\r\n  },\r\n  \"dependencies\": {\r\n    \"mirrorsharp-codemirror-6-preview\": \"file:../WebAssets/dist\",\r\n    \"typeface-open-sans\": \"0.0.75\"\r\n  },\r\n  \"devDependencies\": {\r\n    \"parcel\": \"^2.8.2\",\r\n    \"process\": \"^0.11.10\"\r\n  }\r\n}\r\n"
  },
  {
    "path": "AspNetCore.Demo.Net6/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \"net6.0\": {\r\n      \"Microsoft.CodeAnalysis\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.3.1, )\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"Qbi3OxVMnP7igt5iTaSNDFELvNSfDSQBGL+ViOyR2OWhrfLx4pEeGyh9MlE2N3fcEGo6BcEikJBS3TF8n8s5jQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.3.1]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.3.1, )\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"qR0MBLaKvuFzFaZi7N1sozQxdGtIfRon/qiX+2iQc/cxQOWVb6nxtowGga0QF2EMrblj3K7OPIQ0mLdcgJc9Ww==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.3.1]\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[4.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.3.1, )\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"cYxnDj4Qaflc4GAG7GY1UAeI/N8oPcdsncz/2H/w9lXHPjvrjG5cskr4vgLAiusI83cllz01hy/W2wgHc70L9g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.3.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Elfie\": \"1.0.0\",\r\n          \"Microsoft.CodeAnalysis.Scripting.Common\": \"[4.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.3.1]\",\r\n          \"Microsoft.DiaSymReader\": \"1.4.0\",\r\n          \"Microsoft.VisualStudio.RemoteControl\": \"16.3.44\",\r\n          \"System.Text.Json\": \"6.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.3.1, )\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"PtkBobNNtAJ6teR/tzuDGf4829DcIUJJqN4wRtshRG28Xs+DRvnE4znFvZWJ8hsnBWGsywqjpRYjvoAdIYi3NA==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"6.0.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.3.1]\",\r\n          \"System.Composition\": \"6.0.0\",\r\n          \"System.IO.Pipelines\": \"6.0.3\"\r\n        }\r\n      },\r\n      \"System.Text.Json\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[9.0.0, )\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"js7+qAu/9mQvnhA4EfGMZNEzXtJCDxgkgj8ohuxq/Qxv+R56G+ljefhiJHOxTNiw54q8vmABCWUwkMulNdlZ4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"9.0.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.IO.Pipelines\": \"9.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encodings.Web\": \"9.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"FSharp.Compiler.Service\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"43.8.300\",\r\n        \"contentHash\": \"CoPjQYXXwmYkkHm+yxBHSW9IJVLpvwkKGEzXa5A6ebf8v6GfYaxZc5G+VHojDr586oezp1elFemu+A1WWH095A==\",\r\n        \"dependencies\": {\r\n          \"FSharp.Core\": \"[8.0.300]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"7.0.2\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Reflection.Emit\": \"4.7.0\",\r\n          \"System.Reflection.Metadata\": \"7.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"FSharp.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.300\",\r\n        \"contentHash\": \"Jv44fV7TNglyMku89lQcA4Q6mFKLyHb2bs1Yb72nvSVc+cHplEnoZ4XQUaaTLJGUTx/iMqcrkYGtaLzkkIhpaA==\"\r\n      },\r\n      \"Humanizer.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.14.1\",\r\n        \"contentHash\": \"lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==\"\r\n      },\r\n      \"Microsoft.Bcl.AsyncInterfaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"owmu2Cr3IQ8yQiBleBHlGk8dSQ12oaF2e7TpzwJKEl4m84kkZJjEY1n33L67Y3zM5jPOjmmbdHjbfiL0RqcMRQ==\"\r\n      },\r\n      \"Microsoft.Build.Framework\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"jleteC0seumLGTmTVwob97lcwPj/dfgzL/V3g/VVcMZgo2Ic7jzdy8AYpByPDh8e3uRq0SjCl6HOFCjhy5GzRQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Build.Utilities.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"pU3GnHcXp8VRMGKxdJCq+tixfhFn+QwEbpqmZmc/nqFHFyuhlGwjonWZMIWcwuCv/8EHgxoOttFvna1vrN+RrA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Build.Framework\": \"17.12.6\",\r\n          \"Microsoft.NET.StringTools\": \"17.12.6\",\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Configuration.ConfigurationManager\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.3\",\r\n        \"contentHash\": \"j/rOZtLMVJjrfLRlAMckJLPW/1rze9MT1yfWqSIbUPGRu1m1P0fuo9PmqapwsmePfGB5PJrudQLvmUOAMF0DqQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.AnalyzerUtilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"gyQ70pJ4T7hu/s0+QnEaXtYfeG/JrttGnxHJlrhpxsQjRIUGuRhVwNBtkHHYOrUAZ/l47L98/NiJX6QmTwAyrg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"wexpJffSEEwptwe6UTMxRDZCCtz+XubI4Qewl4JECnNhcQrtb0anhSUEV9Nz7WkoNfWkx1fptR8xh1egoxYrqw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.3\",\r\n          \"System.Collections.Immutable\": \"6.0.0\",\r\n          \"System.Memory\": \"4.5.4\",\r\n          \"System.Reflection.Metadata\": \"5.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"6.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"5C9VHvahL98tumlyaT/loB5rW+K/6q0UU7uLyT1Dv15YjZraRkqML9u2t2e8GaO7XqEOtBVqK/SlxXOPqwzxog==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"mRTePOunrPzWkUT7I/FUQF6EFopAuYt0EiYbznkULOyHFT9eHDtN+gaHxqx9or/edAXgpm0KVeybQ83ri/M9Ww==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Elfie\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.0\",\r\n        \"contentHash\": \"r12elUp4MRjdnRfxEP+xqVSUUfG3yIJTBEJGwbfvF5oU4m0jb9HC0gFG28V/dAkYGMkRmHVi3qvrnBLQSw9X3Q==\",\r\n        \"dependencies\": {\r\n          \"System.Configuration.ConfigurationManager\": \"4.5.0\",\r\n          \"System.Data.DataSetExtensions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Scripting.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"WRX2GecORKhED3VoyYsbjFFBvV3D41BF3N4SDpbdM02Hm3rPdPqsxIQaF6xxHZ9iX0+m/YgT9mV6TiHjQL3qOw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"V3yW779IRoi8skcbLYBhryviGgIgtKfkQ4EQKSLHUe6++olAT1pCuE+kbgwXxTpoHqhI4Wc1gEkjNNmgQ3MKgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"pnN5bSd/jdf2Qw6pT6X/lFf0oIeDoMyYXEQ+FfPPh/2lOpH+irNNSr1+RMbwCCCo+f6ToI3+NL6lI/aL+Z9THg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.3.1]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[4.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.4.0\",\r\n        \"contentHash\": \"iLtWq5/W5ePzSraavAFeXAbasE6REDByizTz6M8yQO3e4jf+6pRqPLdNCSvnSfKRVqsF7y/lTVWhqlf89ttweg==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"Microsoft.IO.RecyclableMemoryStream\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.2.0\",\r\n        \"contentHash\": \"uyjY/cqomw1irT4L7lDeg4sJ36MsjHg3wKqpGrBAdzvZaxo85yMF+sAA9RIzTV92fDxuUzjqksMqA0+SNMkMgA==\"\r\n      },\r\n      \"Microsoft.NET.StringTools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"w8Ehofqte5bJoR+Fa3f6JwkwFEkGtXxqvQHGOVOSHDzgNVySvL5FSNhavbQSZ864el9c3rjdLPLAtBW8dq6fmg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==\"\r\n      },\r\n      \"Microsoft.NETCore.Targets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.3\",\r\n        \"contentHash\": \"3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==\"\r\n      },\r\n      \"Microsoft.VisualStudio.RemoteControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.3.44\",\r\n        \"contentHash\": \"hbc2FxReEyotRXM1dtQSZxt2ccNMBgPbcX6MylKp9UDbHsTPJ0dk5CEuZAqoqOFKUzFtorZL6A7BcRAjP9HU1g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.VisualStudio.Utilities.Internal\": \"16.3.36\",\r\n          \"System.Configuration.ConfigurationManager\": \"4.5.0\",\r\n          \"System.IO.FileSystem.AccessControl\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"Microsoft.VisualStudio.Utilities.Internal\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.3.36\",\r\n        \"contentHash\": \"tVOE9DJbd4PETSgBW+9448jvRdhm/hNHJFaGyCq6Gtlg+ElELBmfMFxgp2rsrqzUkLjehwnrw6uX4Yj9krOfJQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Win32.Registry\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Win32.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Win32.Registry\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"5.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"Mobius.ILasm\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.1.0\",\r\n        \"contentHash\": \"0uB5lko7fQZ4eOqkEyApSwxSwdMqdrduTpi6aAvr1nr03Lw+muS6UaAYCvk2ICN+AR94lPelvSx1+HCCwBMhTQ==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection.Emit\": \"4.7.0\",\r\n          \"System.Security.Permissions\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.1\",\r\n        \"contentHash\": \"WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.Win32.Primitives\": \"4.3.0\",\r\n          \"System.AppContext\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Console\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.Compression.ZipFile\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Net.Http\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Net.Sockets\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Timer\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\",\r\n          \"System.Xml.XDocument\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==\"\r\n      },\r\n      \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==\"\r\n      },\r\n      \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==\"\r\n      },\r\n      \"runtime.native.System\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==\",\r\n        \"dependencies\": {\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==\",\r\n        \"dependencies\": {\r\n          \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==\"\r\n      },\r\n      \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==\"\r\n      },\r\n      \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==\"\r\n      },\r\n      \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==\"\r\n      },\r\n      \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==\"\r\n      },\r\n      \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==\"\r\n      },\r\n      \"System.AppContext\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Concurrent\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"d7wMuKQtfsxUa7S13tITC8n1cQzewuhD5iDjZtK2prwFfKVzdYtgrTHgjaV03Zq7feGQ5gkP85tJJntXwInsJA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"6.0.0\",\r\n          \"System.Composition.Convention\": \"6.0.0\",\r\n          \"System.Composition.Hosting\": \"6.0.0\",\r\n          \"System.Composition.Runtime\": \"6.0.0\",\r\n          \"System.Composition.TypedParts\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"WK1nSDLByK/4VoC7fkNiFuTVEiperuCN/Hyn+VN30R+W2ijO1d0Z2Qm0ScEl9xkSn1G2MyapJi8xpf4R8WRa/w==\"\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"XYi4lPRdu5bM4JVJ3/UIHAiG6V6lWWUlkhB9ab4IOq0FrRsp0F4wTyV4Dj+Ds+efoXJ3qbLqlvaUozDO7OLeXA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"w/wXjj7kvxuHPLdzZ0PAUt++qJl03t7lENmb2Oev0n3zbxyNULbWBlnd5J5WUMMv15kg5o+/TCZFb6lSwfaUUQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.Runtime\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"qkRH/YBaMPTnzxrS5RDk1juvqed4A6HOD/CwRcDGyPpYps1J27waBddiiq1y93jk2ZZ9wuA/kynM+NO0kb3PKg==\"\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"iUR1eHrL8Cwd82neQCJ00MpwNIBs4NZgXzrPqx8NJf/k4+mwBO0XCRmHYJT4OLSwDDqh5nBLJWkz5cROnrGhRA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"6.0.0\",\r\n          \"System.Composition.Hosting\": \"6.0.0\",\r\n          \"System.Composition.Runtime\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Configuration.ConfigurationManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Console\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Data.DataSetExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"221clPs1445HkTBZPL+K9sDBdJRB8UN8rgjO3ztB0CQ26z//fmJXtlsr6whGatscsKGBrhJl5bwJuKSA8mwFOw==\"\r\n      },\r\n      \"System.Diagnostics.Debug\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.DiagnosticSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.2\",\r\n        \"contentHash\": \"hYr3I9N9811e0Bjf2WNwAGGyTuAFbbTgX1RPLt/3Wbm68x3IGcX5Cl75CMmgT6WlNwLQ2tCCWfqYPpypjaf2xA==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tracing\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Drawing.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"uoozjI3+dlgKh2onFJcz8aNLh6TRCPlLSh8Dbuljc8CdvqXrxHOVysJlrHvlsOCqceqGBR1wrMPxlnzzhynktw==\"\r\n      },\r\n      \"System.Globalization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Calendars\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.IO.Compression\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression.ZipFile\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"TYe6xstoqT5MlTly0OtPU6u9zWuNScLVMEx6sTCjjx+Hqdp0wCXoG6fnzMpTPMQACXQzi9pd2N5Tloow+5jQdQ==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"4.5.0\",\r\n          \"System.Security.Principal.Windows\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Pipelines\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"eA3cinogwaNB4jdjQHOP3Z3EuyiDII7MT35jgtnsA4vkn0LUrrSHsU0nzHTzFzmaFYeKV7MYyMxOocFzsBHpTw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Linq\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq.Expressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\"\r\n      },\r\n      \"System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.4\",\r\n        \"contentHash\": \"aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Extensions\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"System.Net.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Net.Sockets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"VR4kk8XLKebQ4MZuKuIni/7oh+QGFmZW3qORd1GvBq/8026OpW501SzT/oypwiQl4TvT8ErnReh/NzY9u+C6wQ==\"\r\n      },\r\n      \"System.Reflection.Emit.ILGeneration\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.Lightweight\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"MclTG61lsD9sYdpNz9xsKBzjsmsfCtcMZYXz/IUr2zlhaTaABonlr1ESeompTgM+Xk+IwtGYU7/voh3YWB/fWw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.TypeExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Resources.ResourceManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.3\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==\"\r\n      },\r\n      \"System.Runtime.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Handles\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices.RuntimeInformation\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Numerics\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==\",\r\n        \"dependencies\": {\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"5.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Algorithms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Cng\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Csp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.ProtectedData\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg==\"\r\n      },\r\n      \"System.Security.Cryptography.X509Certificates\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Cng\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Csp\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Permissions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"uE8juAhEkp7KDBCdjDIE3H9R1HJuEHqeqX8nLX9gmYKWwsqk3T5qZlPx8qle5DPKimC/Fy3AFTdV7HamgCh9qQ==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"5.0.0\",\r\n          \"System.Windows.Extensions\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Security.Principal.Windows\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==\"\r\n      },\r\n      \"System.Text.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"LSyCblMpvOe0N3E+8e0skHcrIhgV2huaNcjUUEa8hRtgEAm36aGkRoC8Jxlb6Ra6GSfF29ftduPNywin8XolzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encodings.Web\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"e2hMgAErLbKyUUwt18qSBf9T5Y+SFAL3ZedM8fLupkVj8Rj2PZ9oxQ37XX2LF8fTO1wNIxvKpihD7Of7D/NxZw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.RegularExpressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"N0kNRrWe4+nXOWlpLT4LAY5brb8caNFlUuIRpraCVMDLYutKkol1aV079rQjLuSxKMJT2SpBQsYX9xbcTMmzwg==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.1\"\r\n        }\r\n      },\r\n      \"System.Threading\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.4\",\r\n        \"contentHash\": \"zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==\"\r\n      },\r\n      \"System.Threading.Timer\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Windows.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"c1ho9WU9ZxMZawML+ssPKZfdnrg/OjR3pe0m9v8230z3acqphwvPJqzAkH54xRYm5ntZHGG1EPP3sux9H3qSPg==\",\r\n        \"dependencies\": {\r\n          \"System.Drawing.Common\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Xml.ReaderWriter\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"MirrorSharp.AspNetCore\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.AspNetCore.Demo.Library\": {\r\n        \"type\": \"Project\"\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Features\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1, )\",\r\n          \"System.Memory\": \"[4.5.5, )\",\r\n          \"System.Net.Http\": \"[4.3.4, )\",\r\n          \"System.Text.RegularExpressions\": \"[4.3.1, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.FSharp\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"FSharp.Compiler.Service\": \"[43.8.300, )\",\r\n          \"FSharp.Core\": \"[8.0.300, )\",\r\n          \"Microsoft.Build.Utilities.Core\": \"[17.12.6, )\",\r\n          \"Microsoft.IO.RecyclableMemoryStream\": \"[2.2.0, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.IL\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\",\r\n          \"Mobius.ILasm\": \"[0.1.0, )\",\r\n          \"System.Drawing.Common\": \"[9.0.0, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Benchmarks/Benchmarks.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\r\n\r\n  <PropertyGroup>\r\n    <TargetFramework>netcoreapp3.1</TargetFramework>\r\n    <AssemblyName>MirrorSharp.Benchmarks</AssemblyName>\r\n    <OutputType>Exe</OutputType>\r\n    <GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>\r\n    <GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>\r\n    <RootNamespace>MirrorSharp.Benchmarks</RootNamespace>\r\n    <IsPackable>false</IsPackable>\r\n  </PropertyGroup>\r\n  \r\n  <ItemGroup>\r\n    <ProjectReference Include=\"..\\Common\\Common.csproj\" />\r\n    <ProjectReference Include=\"..\\Testing\\Testing.csproj\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <PackageReference Include=\"BenchmarkDotNet\" Version=\"0.11.5\" />\r\n    <PackageReference Include=\"Newtonsoft.Json\" Version=\"13.0.3\" />\r\n  </ItemGroup>\r\n\r\n</Project>\r\n"
  },
  {
    "path": "Benchmarks/Of.Json/ComplexObjectArrayBenchmarks.cs",
    "content": "using System.Text.Json;\r\nusing BenchmarkDotNet.Attributes;\r\nusing MirrorSharp.Internal;\r\nusing Newtonsoft.Json;\r\n\r\nnamespace MirrorSharp.Benchmarks.Of.Json {\r\n    [InProcess]\r\n    public class ComplexObjectArrayBenchmarks : JsonBenchmarksBase {\r\n        /*\r\n        {\r\n            \"type\":\"completions\",\r\n            \"completions\":{\r\n                \"span\":{\"start\":70,\"length\":0},\r\n                \"list\":[\r\n                    {\r\n                        \"filterText\":\"Equals\",\r\n                        \"displayText\":\"Equals\",\r\n                        \"tags\":[\"method\",\"public\"]\r\n                    },\r\n                    {\r\n                        \"filterText\":\"GetHashCode\",\r\n                        \"displayText\":\"GetHashCode\",\r\n                        \"tags\":[\"method\",\"public\"]\r\n                    },{\r\n                        \"filterText\":\"GetType\",\r\n                        \"displayText\":\"GetType\",\r\n                        \"tags\":[\"method\",\"public\"]\r\n                    },{\r\n                        \"filterText\":\"ToString\",\r\n                        \"displayText\":\"ToString\",\r\n                        \"tags\":[\"method\",\"public\"]\r\n                    }\r\n                ]\r\n            }\r\n        }\r\n        */\r\n\r\n        private const int Operations = 1000;\r\n\r\n        [Benchmark(OperationsPerInvoke = Operations)]\r\n        public void NewtonsoftJson_JsonWriter() {\r\n            var writer = _newtonsoftJsonWriter!;\r\n            writer.WriteStartArray();\r\n            for (var i = 0; i < Operations; i++) {\r\n                writer.WriteStartObject();\r\n                writer.WritePropertyName(\"type\");\r\n                writer.WriteValue(\"completions\");\r\n                writer.WritePropertyName(\"completions\");\r\n                writer.WriteStartObject();\r\n                writer.WritePropertyName(\"span\");\r\n                writer.WriteStartObject();\r\n                writer.WritePropertyName(\"start\");\r\n                writer.WriteValue(70);\r\n                writer.WritePropertyName(\"length\");\r\n                writer.WriteValue(0);\r\n                writer.WriteEndObject();\r\n                writer.WritePropertyName(\"list\");\r\n                writer.WriteStartArray();\r\n                WriteCompletion(writer, \"Equals\");\r\n                WriteCompletion(writer, \"GetHashCode\");\r\n                WriteCompletion(writer, \"GetType\");\r\n                WriteCompletion(writer, \"ToString\");\r\n                writer.WriteEndArray();\r\n                writer.WriteEndObject();\r\n                writer.WriteEndObject();\r\n            }\r\n            writer.WriteEndArray();\r\n        }\r\n\r\n        [Benchmark(OperationsPerInvoke = Operations)]\r\n        public void MirrorSharp_FastJsonWriter() {\r\n            var writer = _fastJsonWriter!;\r\n            writer.WriteStartArray();\r\n            for (var i = 0; i < Operations; i++) {\r\n                writer.WriteStartObject();\r\n                writer.WritePropertyName(\"type\");\r\n                writer.WriteValue(\"completions\");\r\n                writer.WritePropertyName(\"completions\");\r\n                writer.WriteStartObject();\r\n                writer.WritePropertyName(\"span\");\r\n                writer.WriteStartObject();\r\n                writer.WritePropertyName(\"start\");\r\n                writer.WriteValue(70);\r\n                writer.WritePropertyName(\"length\");\r\n                writer.WriteValue(0);\r\n                writer.WriteEndObject();\r\n                writer.WritePropertyName(\"list\");\r\n                writer.WriteStartArray();\r\n                WriteCompletion(writer, \"Equals\");\r\n                WriteCompletion(writer, \"GetHashCode\");\r\n                WriteCompletion(writer, \"GetType\");\r\n                WriteCompletion(writer, \"ToString\");\r\n                writer.WriteEndArray();\r\n                writer.WriteEndObject();\r\n                writer.WriteEndObject();\r\n            }\r\n            writer.WriteEndArray();\r\n        }\r\n\r\n        [Benchmark(OperationsPerInvoke = Operations)]\r\n        public void SystemTextJson_Utf8JsonWriter() {\r\n            var writer = _systemTextJsonWriter!;\r\n            writer.WriteStartArray();\r\n            for (var i = 0; i < Operations; i++) {\r\n                writer.WriteStartObject();\r\n                writer.WritePropertyName(\"type\");\r\n                writer.WriteStringValue(\"completions\");\r\n                writer.WritePropertyName(\"completions\");\r\n                writer.WriteStartObject();\r\n                writer.WritePropertyName(\"span\");\r\n                writer.WriteStartObject();\r\n                writer.WritePropertyName(\"start\");\r\n                writer.WriteNumberValue(70);\r\n                writer.WritePropertyName(\"length\");\r\n                writer.WriteNumberValue(0);\r\n                writer.WriteEndObject();\r\n                writer.WritePropertyName(\"list\");\r\n                writer.WriteStartArray();\r\n                WriteCompletion(writer, \"Equals\");\r\n                WriteCompletion(writer, \"GetHashCode\");\r\n                WriteCompletion(writer, \"GetType\");\r\n                WriteCompletion(writer, \"ToString\");\r\n                writer.WriteEndArray();\r\n                writer.WriteEndObject();\r\n                writer.WriteEndObject();\r\n            }\r\n            writer.WriteEndArray();\r\n        }\r\n\r\n        private static void WriteCompletion(JsonTextWriter writer, string text) {\r\n            writer.WriteStartObject();\r\n            writer.WritePropertyName(\"filterText\");\r\n            writer.WriteValue(text);\r\n            writer.WritePropertyName(\"displayText\");\r\n            writer.WriteValue(text);\r\n            writer.WritePropertyName(\"tags\");\r\n            writer.WriteStartArray();\r\n            writer.WriteValue(\"method\");\r\n            writer.WriteValue(\"public\");\r\n            writer.WriteEndArray();\r\n            writer.WriteEndObject();\r\n        }\r\n\r\n        private static void WriteCompletion(FastUtf8JsonWriter writer, string text) {\r\n            writer.WriteStartObject();\r\n            writer.WritePropertyName(\"filterText\");\r\n            writer.WriteValue(text);\r\n            writer.WritePropertyName(\"displayText\");\r\n            writer.WriteValue(text);\r\n            writer.WritePropertyName(\"tags\");\r\n            writer.WriteStartArray();\r\n            writer.WriteValue(\"method\");\r\n            writer.WriteValue(\"public\");\r\n            writer.WriteEndArray();\r\n            writer.WriteEndObject();\r\n        }\r\n\r\n        private static void WriteCompletion(Utf8JsonWriter writer, string text) {\r\n            writer.WriteStartObject();\r\n            writer.WritePropertyName(\"filterText\");\r\n            writer.WriteStringValue(text);\r\n            writer.WritePropertyName(\"displayText\");\r\n            writer.WriteStringValue(text);\r\n            writer.WritePropertyName(\"tags\");\r\n            writer.WriteStartArray();\r\n            writer.WriteStringValue(\"method\");\r\n            writer.WriteStringValue(\"public\");\r\n            writer.WriteEndArray();\r\n            writer.WriteEndObject();\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Benchmarks/Of.Json/JsonBenchmarksBase.cs",
    "content": "using System;\r\nusing System.Buffers;\r\nusing System.IO;\r\nusing System.Text.Json;\r\nusing BenchmarkDotNet.Attributes;\r\nusing MirrorSharp.Internal;\r\nusing Newtonsoft.Json;\r\n\r\nnamespace MirrorSharp.Benchmarks.Of.Json {\r\n    public class JsonBenchmarksBase {\r\n        // ReSharper disable InconsistentNaming\r\n        protected MemoryStream? _memoryStream;\r\n        protected JsonTextWriter? _newtonsoftJsonWriter;\r\n        internal FastUtf8JsonWriter? _fastJsonWriter;\r\n        protected IBufferWriter<byte>? _bufferWriter;\r\n        protected Utf8JsonWriter? _systemTextJsonWriter;\r\n        // ReSharper restore InconsistentNaming\r\n\r\n        [IterationSetup]\r\n        public void Setup() {\r\n            _memoryStream = new MemoryStream(4096);\r\n            _newtonsoftJsonWriter = new JsonTextWriter(new StreamWriter(_memoryStream)) {\r\n                Formatting = Formatting.None\r\n            };\r\n            _fastJsonWriter = new FastUtf8JsonWriter(ArrayPool<byte>.Create());\r\n\r\n            _bufferWriter = new ArrayBufferWriter<byte>(4096);\r\n            _systemTextJsonWriter = new Utf8JsonWriter(_bufferWriter, new JsonWriterOptions { Indented = false });\r\n        }\r\n\r\n        protected ArraySegment<byte> FlushNewtonsoftJsonWriterAndGetBuffer() {\r\n            _newtonsoftJsonWriter!.Flush();\r\n            ArraySegment<byte> buffer;\r\n            _memoryStream!.TryGetBuffer(out buffer);\r\n            return buffer;\r\n        }\r\n\r\n        protected ReadOnlyMemory<byte> FlushSystemTextJsonWriterAndGetBuffer() {\r\n            _systemTextJsonWriter!.Flush();            \r\n            return _bufferWriter!.GetMemory();\r\n        }\r\n\r\n        [IterationCleanup]\r\n        public void Cleanup() {\r\n            _fastJsonWriter!.Dispose();\r\n            _systemTextJsonWriter!.Dispose();\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Benchmarks/Of.Json/WriteValueInt32Benchmarks.cs",
    "content": "using BenchmarkDotNet.Attributes;\r\n\r\nnamespace MirrorSharp.Benchmarks.Of.Json {\r\n    [InProcess]\r\n    public class WriteValueInt32Benchmarks : JsonBenchmarksBase {\r\n        [Params(-100, -111, 1, 1111111)]\r\n        public int Value { get; set; }\r\n\r\n        [Benchmark]\r\n        public void NewtonsoftJson_JsonWriter() {\r\n            _newtonsoftJsonWriter!.WriteValue(Value);\r\n            _newtonsoftJsonWriter.Flush();\r\n        }\r\n\r\n        [Benchmark]\r\n        public void MirrorSharp_FastJsonWriter() {\r\n            _fastJsonWriter!.WriteValue(Value);\r\n        }\r\n\r\n        [Benchmark]\r\n        public void SystemTextJson_Utf8JsonWriter() {\r\n            _systemTextJsonWriter!.WriteNumberValue(Value);\r\n            _systemTextJsonWriter.Flush();\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Benchmarks/Of.Json/WriteValueStringBenchmarks.cs",
    "content": "using System;\r\nusing BenchmarkDotNet.Attributes;\r\n\r\nnamespace MirrorSharp.Benchmarks.Of.Json {\r\n    [InProcess]\r\n    public class WriteValueStringBenchmarks : JsonBenchmarksBase {\r\n        [Params(\"test\", @\"using System;\r\n            public class C {\r\n                public void M() {\r\n                }\r\n            }\r\n        \", \"\")]\r\n        public string? Value { get; set; }\r\n\r\n        [Benchmark]\r\n        public void NewtonsoftJson_JsonWriter() {\r\n            _newtonsoftJsonWriter!.WriteValue(Value);\r\n            _newtonsoftJsonWriter.Flush();\r\n            //return FlushNewtonsoftJsonWriterAndGetBuffer();\r\n        }\r\n\r\n        [Benchmark]\r\n        public void MirrorSharp_FastJsonWriter() {\r\n            _fastJsonWriter!.WriteValue(Value);\r\n            //return _fastJsonWriter.WrittenSegment;\r\n        }\r\n\r\n        [Benchmark]\r\n        public void SystemTextJson_Utf8JsonWriter() {\r\n            _systemTextJsonWriter!.WriteStringValue(Value);\r\n            _systemTextJsonWriter.Flush();\r\n            //return FlushSystemTextJsonWriterAndGetBuffer();\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Benchmarks/Program.cs",
    "content": "using BenchmarkDotNet.Running;\r\nusing MirrorSharp.Benchmarks.Of.Json;\r\n\r\nnamespace MirrorSharp.Benchmarks {\r\n    public static class Program {\r\n        public static void Main(string[] args) {\r\n            BenchmarkRunner.Run<WriteValueStringBenchmarks>();\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Benchmarks/Properties/AssemblyInfo.cs",
    "content": "﻿using System.Reflection;\r\nusing System.Runtime.InteropServices;\r\n\r\n// General Information about an assembly is controlled through the following\r\n// set of attributes. Change these attribute values to modify the information\r\n// associated with an assembly.\r\n[assembly: AssemblyCompany(\"Andrey Shchekin\")]\r\n[assembly: AssemblyProduct(\"MirrorSharp.Benchmarks\")]\r\n\r\n// Setting ComVisible to false makes the types in this assembly not visible\r\n// to COM components.  If you need to access a type in this assembly from\r\n// COM, set the ComVisible attribute to true on that type.\r\n[assembly: ComVisible(false)]\r\n\r\n// The following GUID is for the ID of the typelib if this project is exposed to COM\r\n[assembly: Guid(\"35d73c72-267b-4598-abc0-f1e1bacde451\")]\r\n"
  },
  {
    "path": "Benchmarks/SignatureHelpBenchmarks.cs",
    "content": "using System;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing BenchmarkDotNet.Attributes;\r\nusing MirrorSharp.Internal;\r\nusing MirrorSharp.Internal.Handlers;\r\nusing MirrorSharp.Internal.Handlers.Shared;\r\nusing MirrorSharp.Testing;\r\nusing MirrorSharp.Testing.Internal;\r\n\r\nnamespace MirrorSharp.Benchmarks {\r\n    public class SignatureHelpBenchmarks {\r\n        private static readonly AsyncData LeftParenthesis = new(Encoding.UTF8.GetBytes(\"(\"), false, () => Task.FromResult<ReadOnlyMemory<byte>?>(null));\r\n        private static readonly AsyncData Semicolon = new(Encoding.UTF8.GetBytes(\";\"), false, () => Task.FromResult<ReadOnlyMemory<byte>?>(null));\r\n\r\n        private TypeCharHandler? _handler;\r\n        private WorkSession? _sessionWithHelp;\r\n        private WorkSession? _sessionWithNoHelp;\r\n\r\n        [IterationSetup]\r\n        public void Setup() {\r\n            _sessionWithHelp = MirrorSharpTestDriver.New().SetTextWithCursor(\"class C { void M(int a) { M| } }\").Session;\r\n            _sessionWithNoHelp = MirrorSharpTestDriver.New().SetTextWithCursor(\"class C { void M(int a) { M()| } }\").Session;\r\n            _handler = new TypeCharHandler(new TypedCharEffects(new CompletionSupport(), new SignatureHelpSupport()));\r\n        }\r\n\r\n        [Benchmark]\r\n        public void TypeCharExpectingSignatureHelp() {\r\n            _handler!.ExecuteAsync(LeftParenthesis, _sessionWithHelp!, new StubCommandResultSender(_sessionWithHelp!), CancellationToken.None)\r\n                .GetAwaiter().GetResult();\r\n        }\r\n\r\n        [Benchmark]\r\n        public void TypeCharNotExpectingSignatureHelp() {\r\n            _handler!.ExecuteAsync(Semicolon, _sessionWithNoHelp!, new StubCommandResultSender(_sessionWithHelp!), CancellationToken.None)\r\n                .GetAwaiter().GetResult();\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Benchmarks/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETCoreApp,Version=v3.1\": {\r\n      \"BenchmarkDotNet\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.11.5, )\",\r\n        \"resolved\": \"0.11.5\",\r\n        \"contentHash\": \"abTGKOzR+Et3ubC2nS/nmQPa82oeibgf1NtlUyYdT05yDAnhaYRtxIS+YjLBlcGXzmI2tjq8zqk/HAQfJzLMtA==\",\r\n        \"dependencies\": {\r\n          \"BenchmarkDotNet.Annotations\": \"0.11.5\",\r\n          \"CommandLineParser\": \"2.4.3\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"2.10.0\",\r\n          \"Microsoft.DotNet.PlatformAbstractions\": \"2.1.0\",\r\n          \"Microsoft.Win32.Registry\": \"4.5.0\",\r\n          \"System.Collections.Immutable\": \"1.5.0\",\r\n          \"System.Diagnostics.FileVersionInfo\": \"4.3.0\",\r\n          \"System.Management\": \"4.5.0\",\r\n          \"System.Reflection.Emit\": \"4.3.0\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.3.0\",\r\n          \"System.Reflection.Metadata\": \"1.6.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.2\",\r\n          \"System.ValueTuple\": \"4.5.0\",\r\n          \"System.Xml.XPath.XmlDocument\": \"4.3.0\",\r\n          \"System.Xml.XmlSerializer\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Newtonsoft.Json\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[13.0.3, )\",\r\n        \"resolved\": \"13.0.3\",\r\n        \"contentHash\": \"HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==\"\r\n      },\r\n      \"BenchmarkDotNet.Annotations\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.11.5\",\r\n        \"contentHash\": \"ppKQBf/0k2RpLFtQ6B6XI9x6KRxXR/7jATv4jF03jj8B+M910JDXAZwMWtAdQe24JU5uGKIqlEluhqVE+TT2Yw==\"\r\n      },\r\n      \"CommandLineParser\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.3\",\r\n        \"contentHash\": \"U2FC9Y8NyIxxU6MpFFdWWu1xwiqz/61v/Doou7kmVjpeIEMLWyiNNkzNlSE84kyJ0O1LKApuEj5z48Ow0Hi4OQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.4\",\r\n        \"contentHash\": \"alIJhS0VUg/7x5AsHEoovh/wRZ0RfCSS7k5pDSqpRLTyuMTtRgj6OJJPRApRhJHOGYYsLakf1hKeXFoDwKwNkg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"N5yQdGy+M4kimVG7hwCeGTCfgYjK2o5b/Shumkb/rCC+/SAkvP1HUAYK+vxPFS7dLJNtXLRsmPHKj3fnyNWnrw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"2.9.4\",\r\n          \"System.Collections.Immutable\": \"1.5.0\",\r\n          \"System.Memory\": \"4.5.3\",\r\n          \"System.Reflection.Metadata\": \"1.6.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\",\r\n          \"System.Text.Encoding.CodePages\": \"4.5.1\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"WDUIhTHem38H6VJ98x2Ssq0fweakJHnHYl7vbG8ARnsAwLoJKCQCy78EeY1oRrCKG42j0v6JVljKkeqSDA28UA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"t9uIwsLzT5zQ1Q3ZIpwE4EOnAf/lGdbQwyeqhyO/BJ+AWDt267Hxlz5k6ypPy14Z6+PW6pTggAGz6MwN31RElQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"dHs/UyfLgzsVC4FjTi/x+H+yQifgOnpe3rSN8GwkHWjnidePZ3kSqr1JHmFDf5HTQEydYwrwCAfQ0JSzhsEqDA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"lvMC69ABN/YEaw3ke4cQRqBYZ2V7DJTOT8QXIeAJGJUfwVHTBN0iq2O5zZQrYnnUN2wmeCzCoAg59PKBosVO7g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": \"2.9.5\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\",\r\n          \"Microsoft.DiaSymReader\": \"1.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.5\",\r\n        \"contentHash\": \"SqwdTocsxU7u0Y8am67BY7KSLAhrtDXdBBwt0Nv9TxLVzPBPtPPFS2bHUsxucpOBMBmc10rWE1eJ+IDrr/0/nQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"NfBz3b5hFSbO+7xsCNryD+p8axsIJFTG7qM3jvMTC/MqYrU6b8E1b6JoRj5rJSOBB+pSunk+CMqyGQTOWHeDUg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"System.Composition\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.3.0\",\r\n        \"contentHash\": \"/fn1Tfo7j7k/slViPlM8azJuxQmri7FZ8dQ+gTeLbI29leN/1VK0U/BFcRdJNctsRCUgyKJ2q+I0Tjq07Rc1/Q==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"Microsoft.DotNet.PlatformAbstractions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.1.0\",\r\n        \"contentHash\": \"9KPDwvb/hLEVXYruVHVZ8BkebC8j17DmPb56LnqRF74HqSPLjCkrlFUjOtFpQPA2DeADBRTI/e69aCfRBfrhxw==\",\r\n        \"dependencies\": {\r\n          \"System.AppContext\": \"4.1.0\",\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.IO.FileSystem\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Runtime.InteropServices\": \"4.1.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.1.2\",\r\n        \"contentHash\": \"mOJy3M0UN+LUG21dLGMxaWZEP6xYpQEpLuvuEQBaownaX4YuhH6NmNUlN9si+vNkAS6dwJ//N1O4DmLf2CikVg==\"\r\n      },\r\n      \"Microsoft.NETCore.Targets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.3\",\r\n        \"contentHash\": \"3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==\"\r\n      },\r\n      \"Microsoft.Win32.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Win32.Registry\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"+FWlwd//+Tt56316p00hVePBCouXyEzT86Jb3+AuRotTND0IYn0OO3obs1gnQEs/txEnt+rF2JBGLItTG+Be6A==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"4.5.0\",\r\n          \"System.Security.Principal.Windows\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.1\",\r\n        \"contentHash\": \"WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.Win32.Primitives\": \"4.3.0\",\r\n          \"System.AppContext\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Console\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.Compression.ZipFile\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Net.Http\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Net.Sockets\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Timer\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\",\r\n          \"System.Xml.XDocument\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==\"\r\n      },\r\n      \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==\"\r\n      },\r\n      \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==\"\r\n      },\r\n      \"runtime.native.System\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==\",\r\n        \"dependencies\": {\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==\",\r\n        \"dependencies\": {\r\n          \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==\"\r\n      },\r\n      \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==\"\r\n      },\r\n      \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==\"\r\n      },\r\n      \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==\"\r\n      },\r\n      \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==\"\r\n      },\r\n      \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==\"\r\n      },\r\n      \"System.AppContext\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.CodeDom\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"gqpR1EeXOuzNQWL7rOzmtdIz3CaXVjSQCiaGOs2ivjPwynKSJYm39X81fdlp7WuojZs/Z5t1k5ni7HtKQurhjw==\"\r\n      },\r\n      \"System.Collections\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Concurrent\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.5.0\",\r\n        \"contentHash\": \"EXKiDFsChZW0RjrZ4FYHu9aW6+P4MCgEDCklsVseRfhoO0F+dXeMSsMRAlVXIo06kGJ/zv+2w1a2uc2+kxxSaQ==\"\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"I+D26qpYdoklyAVUdqwUBrEIckMNjAYnuPJy/h9dsQItpQwVREkDFs4b4tkBza0kT2Yk48Lcfsv2QQ9hWsh9Iw==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Convention\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Composition.TypedParts\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"NHWhkM3ZkspmA0XJEsKdtTt1ViDYuojgSND3yHhTzwxepiwqZf+BCWuvCbjUt4fe0NxxQhUDGJ5km6sLjo9qnQ==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"GLjh2Ju71k6C0qxMMtl4efHa68NmWeIUYh4fkUI8xbjQrEBvFmRwMDFcylT8/PR9SQbeeL48IkFxU/+gd0nYEQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"fN1bT4RX4vUqjbgoyuJFVUizAl2mYF5VAb+bVIxIYZSSc0BdnX+yGAxcavxJuDDCQ1K+/mdpgyEFc8e9ikjvrg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0LEJN+2NVM89CE4SekDrrk5tHV5LeATltkp+9WNYrR+Huiyt0vaCqHbbHtVAjPyeLWIc8dOz/3kthRBj32wGQg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0Zae/FtzeFgDBBuILeIbC/T9HMYbW4olAmi8XqqAGosSOWvXfiQLfARZEhiGd0LVXaYgXr0NhxiU1LldRP1fpQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Console\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Debug\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.DiagnosticSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"tD6kosZnTAGdrEa0tZSuFyunMbt/5KYDnHdndJYGqZoNy00XVXyACd5d6KnE1YgYv3ne2CjtAfNXo/fwEhnKUA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.FileVersionInfo\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"omCF64wzQ3Q2CeIqkD6lmmxeMZtGHUmzgFMPjfVaOsyqpR66p/JaZzManMw1s33osoAb5gqpncsjie67+yUPHQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Reflection.Metadata\": \"1.4.1\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tracing\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Calendars\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.IO.Compression\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression.ZipFile\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq.Expressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Management\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"Z6ac0qPGr3yJtwZEX1SRkhwWa0Kf5NJxx7smLboYsGrApQFECNFdqhGy252T4lrZ5Nwzhd9VQiaifndR3bfHdg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"2.0.0\",\r\n          \"Microsoft.Win32.Registry\": \"4.5.0\",\r\n          \"System.CodeDom\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\"\r\n      },\r\n      \"System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.4\",\r\n        \"contentHash\": \"aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Extensions\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"System.Net.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Net.Sockets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.ILGeneration\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.Lightweight\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.0\",\r\n        \"contentHash\": \"COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==\"\r\n      },\r\n      \"System.Reflection.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.TypeExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Resources.ResourceManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.3\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.2\",\r\n        \"contentHash\": \"wprSFgext8cwqymChhrBLu62LMg/1u92bU+VOwyfBimSPVFXtsNqEWC92Pf9ofzJFlk4IHmJA75EDJn1b2goAQ==\"\r\n      },\r\n      \"System.Runtime.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Handles\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices.RuntimeInformation\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Numerics\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==\",\r\n        \"dependencies\": {\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"vW8Eoq0TMyz5vAG/6ce483x/CP83fgm4SJe5P8Tb1tZaobcvPrbMEL7rhH1DRdrYbbb6F0vq3OlzmK0Pkwks5A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"2.0.0\",\r\n          \"System.Security.Principal.Windows\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Algorithms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Cng\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Csp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.X509Certificates\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Cng\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Csp\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Principal.Windows\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"U77HfRXlZlOeIXd//Yoj6Jnk8AXlbeisf1oq1os+hxOGVnuG+lGSfGqTwTZBoORFF6j/0q7HXIl8cqwQ9aUGqQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"2.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"4J2JQXbftjPMppIHJ7IC+VXQ9XfEagN92vZZNoG12i+zReYlim5dMoXFC1Zzg7tsnKDM7JPo5bYfFK4Jheq44w==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"2.1.2\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.RegularExpressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"N0kNRrWe4+nXOWlpLT4LAY5brb8caNFlUuIRpraCVMDLYutKkol1aV079rQjLuSxKMJT2SpBQsYX9xbcTMmzwg==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.1\"\r\n        }\r\n      },\r\n      \"System.Threading\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.3\",\r\n        \"contentHash\": \"+MvhNtcvIbqmhANyKu91jQnvIRVSTiaOiFNfKWwXGHG48YAb4I/TyH8spsySiPYla7gKal5ZnF3teJqZAximyQ==\"\r\n      },\r\n      \"System.Threading.Timer\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.ValueTuple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"okurQJO6NRE/apDIP23ajJ0hpiNmJ+f0BwOlB/cSqTLQlw5upkf+5+96+iG2Jw40G1fCVCyPz/FhIABUjMR+RQ==\"\r\n      },\r\n      \"System.Xml.ReaderWriter\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XmlDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"lJ8AxvkX7GQxpC6GFCeBj8ThYVyQczx2+f/cWHJU8tjS7YfI6Cv6bon70jVEgs2CiFbmmM8b9j1oZVx0dSI2Ww==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XmlSerializer\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"MYoTCP7EZ98RrANESW05J5ZwskKDoN0AuZ06ZflnowE50LTpbR5yRg3tHckTVm5j/m47stuGgCrCHWePyHS70Q==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\",\r\n          \"System.Xml.XmlDocument\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XPath\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"v1JQ5SETnQusqmS3RwStF7vwQ3L02imIzl++sewmt23VGygix04pEH+FCj1yWb+z4GDzKiljr1W7Wfvrx0YwgA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XPath.XmlDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"A/uxsWi/Ifzkmd4ArTLISMbfFs6XpRPsXZonrIqyTY70xi8t+mDtvSM5Os0RqyRDobjMBwIDHDL4NOIbkDwf7A==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\",\r\n          \"System.Xml.XPath\": \"4.3.0\",\r\n          \"System.Xml.XmlDocument\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Features\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1, )\",\r\n          \"System.Memory\": \"[4.5.5, )\",\r\n          \"System.Net.Http\": \"[4.3.4, )\",\r\n          \"System.Text.RegularExpressions\": \"[4.3.1, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Testing\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\",\r\n          \"Newtonsoft.Json\": \"[13.0.3, )\",\r\n          \"System.Buffers\": \"[4.5.1, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Common/Advanced/EarlyAccess/IConnectionSendViewer.cs",
    "content": "using System;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\n\r\nnamespace MirrorSharp.Advanced.EarlyAccess {\r\n    internal interface IConnectionSendViewer\r\n    {\r\n        Task ViewDuringSendAsync(string messageTypeName, ReadOnlyMemory<byte> message, IWorkSession session, CancellationToken cancellationToken);\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Advanced/EarlyAccess/IRoslynCompilationGuard.cs",
    "content": "using Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.Text;\r\n\r\nnamespace MirrorSharp.Advanced.EarlyAccess {\r\n    internal interface IRoslynCompilationGuard {\r\n        void ValidateCompilation(Compilation compilation, IRoslynSession session);\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Advanced/EarlyAccess/IRoslynSourceTextGuard.cs",
    "content": "using Microsoft.CodeAnalysis.Text;\r\n\r\nnamespace MirrorSharp.Advanced.EarlyAccess {\r\n    internal interface IRoslynSourceTextGuard {\r\n        void ValidateSourceText(SourceText sourceText);\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Advanced/EarlyAccess/RoslynCompilationGuardException.cs",
    "content": "using System;\r\n\r\nnamespace MirrorSharp.Advanced.EarlyAccess {\r\n    internal class RoslynCompilationGuardException : Exception {\r\n        public RoslynCompilationGuardException() { }\r\n        public RoslynCompilationGuardException(string message) : base(message) { }\r\n        public RoslynCompilationGuardException(string message, Exception inner) : base(message, inner) { }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Advanced/EarlyAccess/RoslynSourceTextGuardException.cs",
    "content": "using System;\r\n\r\nnamespace MirrorSharp.Advanced.EarlyAccess {\r\n    internal class RoslynSourceTextGuardException : Exception {\r\n        public RoslynSourceTextGuardException() { }\r\n        public RoslynSourceTextGuardException(string message) : base(message) { }\r\n        public RoslynSourceTextGuardException(string message, Exception inner) : base(message, inner) { }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Advanced/FastJsonWriterExtensions.cs",
    "content": "using System;\r\nusing System.Collections.Immutable;\r\nusing System.Text;\r\nusing MirrorSharp.Internal;\r\n\r\nnamespace MirrorSharp.Advanced {\r\n    /// <summary>\r\n    /// Provides common helper methods for <see cref=\"IFastJsonWriter\"/>.\r\n    /// </summary>\r\n    public static class FastJsonWriterExtensions {\r\n        /// <summary>Writes a new JSON property with a string value (e.g. <c>\"name\": \"value\"</c>).</summary>\r\n        /// <param name=\"writer\">Writer to write the property to.</param>\r\n        /// <param name=\"name\">Name of the property to write.</param>\r\n        /// <param name=\"value\">Value of the property to write; can be null.</param> \r\n        public static void WriteProperty(this IFastJsonWriter writer, string name, string? value) {\r\n            Argument.NotNull(nameof(writer), writer);\r\n            writer.WritePropertyName(name);\r\n            writer.WriteValue(value);\r\n        }\r\n\r\n        /// <summary>Writes a new JSON property with a string value (e.g. <c>\"name\": \"value\"</c>).</summary>\r\n        /// <param name=\"writer\">Writer to write the property to.</param>\r\n        /// <param name=\"name\">Name of the property to write.</param>\r\n        /// <param name=\"value\">Value of the property to write; can be null.</param> \r\n        public static void WriteProperty(this IFastJsonWriter writer, string name, StringBuilder? value) {\r\n            Argument.NotNull(nameof(writer), writer);\r\n            writer.WritePropertyName(name);\r\n            writer.WriteValue(value);\r\n        }        \r\n        \r\n        /// <summary>Writes a new JSON property with a string value (e.g. <c>\"name\": \"value\"</c>).</summary>\r\n        /// <param name=\"writer\">Writer to write the property to.</param>\r\n        /// <param name=\"name\">Name of the property to write.</param>\r\n        /// <param name=\"value\">Value of the property to write.</param> \r\n        public static void WriteProperty(this IFastJsonWriter writer, string name, ArraySegment<char> value) {\r\n            Argument.NotNull(nameof(writer), writer);\r\n            writer.WritePropertyName(name);\r\n            writer.WriteValue(value);\r\n        }\r\n        \r\n        /// <summary>Writes a new JSON property with a string value (e.g. <c>\"name\": \"value\"</c>).</summary>\r\n        /// <param name=\"writer\">Writer to write the property to.</param>\r\n        /// <param name=\"name\">Name of the property to write.</param>\r\n        /// <param name=\"value\">Value of the property to write; can be null.</param> \r\n        public static void WriteProperty(this IFastJsonWriter writer, string name, ImmutableArray<char> value) {\r\n            Argument.NotNull(nameof(writer), writer);\r\n            writer.WritePropertyName(name);\r\n            writer.WriteValue(value);\r\n        }\r\n\r\n        /// <summary>Writes a new JSON property with a single-character string value (e.g. <c>\"name\": \"c\"</c>).</summary>\r\n        /// <param name=\"writer\">Writer to write the property to.</param>\r\n        /// <param name=\"name\">Name of the property to write.</param>\r\n        /// <param name=\"value\">Value of the property to write.</param>\r\n        public static void WriteProperty(this IFastJsonWriter writer, string name, char value) {\r\n            Argument.NotNull(nameof(writer), writer);\r\n            writer.WritePropertyName(name);\r\n            writer.WriteValue(value);\r\n        }\r\n\r\n        /// <summary>Writes a new JSON property with an integer value (e.g. <c>\"name\": 1</c>).</summary>\r\n        /// <param name=\"writer\">Writer to write the property to.</param>\r\n        /// <param name=\"name\">Name of the property to write.</param>\r\n        /// <param name=\"value\">Value of the property to write.</param>\r\n        public static void WriteProperty(this IFastJsonWriter writer, string name, int value) {\r\n            Argument.NotNull(nameof(writer), writer);\r\n            writer.WritePropertyName(name);\r\n            writer.WriteValue(value);\r\n        }\r\n\r\n        /// <summary>Writes a new JSON property with a boolean value (e.g. <c>\"name\": true</c>).</summary>\r\n        /// <param name=\"writer\">Writer to write the property to.</param>\r\n        /// <param name=\"name\">Name of the property to write.</param>\r\n        /// <param name=\"value\">Value of the property to write.</param>\r\n        public static void WriteProperty(this IFastJsonWriter writer, string name, bool value) {\r\n            Argument.NotNull(nameof(writer), writer);\r\n            writer.WritePropertyName(name);\r\n            writer.WriteValue(value);\r\n        }\r\n\r\n        /// <summary>Writes a new JSON property and opens its object value (e.g. <c>\"name\": {</c>).</summary>\r\n        /// <param name=\"writer\">Writer to write the property to.</param>\r\n        /// <param name=\"name\">Name of the property to write.</param>\r\n        public static void WritePropertyStartObject(this IFastJsonWriter writer, string name) {\r\n            Argument.NotNull(nameof(writer), writer);\r\n            writer.WritePropertyName(name);\r\n            writer.WriteStartObject();\r\n        }\r\n\r\n        /// <summary>Writes a new JSON property and opens its array value (e.g. <c>\"name\": [</c>).</summary>\r\n        /// <param name=\"writer\">Writer to write the property to.</param>\r\n        /// <param name=\"name\">Name of the property to write.</param>\r\n        public static void WritePropertyStartArray(this IFastJsonWriter writer, string name) {\r\n            Argument.NotNull(nameof(writer), writer);\r\n            writer.WritePropertyName(name);\r\n            writer.WriteStartArray();\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Advanced/IExceptionLogger.cs",
    "content": "using System;\r\n\r\nnamespace MirrorSharp.Advanced {\r\n    /// <summary>Provides a way to log unhandled exceptions.</summary>\r\n    public interface IExceptionLogger {\r\n        /// <summary>Logs a given exception.</summary>\r\n        /// <param name=\"exception\">Exception to log.</param>\r\n        /// <param name=\"session\">Current <see cref=\"IWorkSession\" /></param>\r\n        /// <remarks>Implementations should avoid throwing exceptions from this method.</remarks>\r\n        void LogException(Exception exception, IWorkSession session);\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Advanced/IFastJsonWriter.cs",
    "content": "using System;\r\nusing System.Collections.Immutable;\r\nusing System.IO;\r\nusing System.Text;\r\n\r\nnamespace MirrorSharp.Advanced {\r\n    /// <summary>\r\n    /// JSON writer used to communicate with MirrorSharp clients.\r\n    /// </summary>\r\n    /// <remarks>\r\n    /// At the moment the output is not actively validated --\r\n    /// writer can produce invalid JSON if not used carefully.\r\n    /// </remarks>\r\n    public interface IFastJsonWriter : IDisposable {\r\n        /// <summary>Opens a new JSON object (<c>{</c>).</summary>\r\n        void WriteStartObject();\r\n\r\n        /// <summary>Closes current JSON object (<c>}</c>).</summary>\r\n        void WriteEndObject();\r\n\r\n        /// <summary>Opens an new JSON array (<c>[</c>).</summary>\r\n        void WriteStartArray();\r\n\r\n        /// <summary>Closes current JSON array (<c>]</c>).</summary>\r\n        void WriteEndArray();\r\n\r\n        /// <summary>Writes a new JSON property name (e.g. <c>\"name\":</c>).</summary>\r\n        /// <param name=\"name\">Name of the property to write.</param>\r\n        void WritePropertyName(string name);\r\n\r\n        /// <summary>Writes <see cref=\"String\" /> value as a JSON string.</summary>\r\n        /// <param name=\"value\">Value to write; can be null.</param>\r\n        void WriteValue(string? value);\r\n\r\n        /// <summary>Writes <see cref=\"StringBuilder\" /> value as a JSON string.</summary>\r\n        /// <param name=\"value\">Value to write; can be null.</param>\r\n        void WriteValue(StringBuilder? value);\r\n\r\n        /// <summary>Writes <see cref=\"ArraySegment{Char}\" /> value as a JSON string.</summary>\r\n        /// <param name=\"value\">Value to write.</param>\r\n        void WriteValue(ArraySegment<char> value);\r\n\r\n        /// <summary>Writes <see cref=\"ImmutableArray{Char}\" /> value as a JSON string.</summary>\r\n        /// <param name=\"value\">Value to write.</param>\r\n        void WriteValue(ImmutableArray<char> value);\r\n\r\n        /// <summary>Writes <see cref=\"Char\" /> value as a JSON string.</summary>\r\n        /// <param name=\"value\">Value to write.</param>\r\n        void WriteValue(char value);\r\n\r\n        /// <summary>Writes <see cref=\"Int32\" /> value as a JSON number.</summary>\r\n        /// <param name=\"value\">Value to write.</param>\r\n        void WriteValue(int value);\r\n\r\n        /// <summary>Writes <see cref=\"Boolean\" /> value as a JSON boolean.</summary>\r\n        /// <param name=\"value\">Value to write.</param>\r\n        void WriteValue(bool value);\r\n\r\n        /// <summary>Writes a start <c>\"</c> for a JSON string, and returns a <see cref=\"TextWriter\" /> for writing its content.</summary>\r\n        /// <returns>A writer for writing into the JSON string.</returns>\r\n        /// <remarks>The returned writer should be disposed for the string to be closed properly.</remarks>\r\n        TextWriter OpenString();\r\n    }\r\n}"
  },
  {
    "path": "Common/Advanced/IRoslynSession.cs",
    "content": "using System;\r\nusing Microsoft.CodeAnalysis;\r\n\r\nnamespace MirrorSharp.Advanced {\r\n    /// <summary>Represents a user session based on Roslyn.</summary>\r\n    public interface IRoslynSession {\r\n        /// <summary>Roslyn <see cref=\"Microsoft.CodeAnalysis.Project\"/> associated with the current session.</summary>\r\n        Project Project { get; set; }\r\n\r\n        /// <summary>\r\n        /// Adds assembly references to the current session and attempts to discover corresponding XML documentation.\r\n        /// </summary>\r\n        /// <param name=\"paths\">Paths to assemblies to be added.</param>\r\n        /// <remarks>\r\n        /// This method will attempt to automatically discover XML documentation files for the assemblies being added.\r\n        /// However it will always succeed, whether the XML documentation is available or not.\r\n        /// </remarks>\r\n        /// <seealso cref=\"ProjectInfo.MetadataReferences\"/>\r\n        void AddMetadataReferencesFromFiles(params string[] paths);\r\n\r\n        /// <summary>\r\n        /// Sets or unsets script mode for the Roslyn session.\r\n        /// </summary>\r\n        /// <param name=\"isScript\">Whether the session should use script mode.</param>\r\n        /// <param name=\"hostObjectType\">Host object type for the session; must be <c>null</c> if <paramref name=\"isScript\" /> is <c>false</c>.</param>\r\n        /// <remarks>\r\n        /// Members of <paramref name=\"hostObjectType\" /> are directly available to the script. For example\r\n        /// if you set <c>hostObjectType</c> is <see cref=\"Random\" />, you can use <see cref=\"Random.Next()\" />\r\n        /// in the script by just writing <c>Next()</c>.\r\n        /// </remarks>\r\n        /// <seealso cref=\"ProjectInfo.IsSubmission\"/>\r\n        /// <seealso cref=\"ProjectInfo.HostObjectType\"/>\r\n        void SetScriptMode(bool isScript = true, Type? hostObjectType = null);\r\n    }\r\n}"
  },
  {
    "path": "Common/Advanced/ISetOptionFromClientExtension.cs",
    "content": "﻿namespace MirrorSharp.Advanced {\r\n    /// <summary>An interface used to implement custom (extension) options.</summary>\r\n    public interface ISetOptionsFromClientExtension {\r\n        /// <summary>Method called each time MirrorSharp encounters an extension option (<c>x-*</c>).</summary>\r\n        /// <param name=\"session\">Current <see cref=\"IWorkSession\" />.</param>\r\n        /// <param name=\"name\">Name of the extension option; always starts with 'x-'.</param>\r\n        /// <param name=\"value\">Value of the extension option, as provided by the client.</param>\r\n        /// <returns><c>true</c> if extension options is recognized; otherwise, <c>false</c>.</returns>\r\n        bool TrySetOption(IWorkSession session, string name, string value);\r\n    }\r\n}"
  },
  {
    "path": "Common/Advanced/ISlowUpdateExtension.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis;\r\n\r\nnamespace MirrorSharp.Advanced {\r\n    /// <summary>An interface used to implement periodic custom processing.</summary>\r\n    public interface ISlowUpdateExtension {\r\n        /// <summary>Method called by MirrorSharp periodically (e.g. each 500ms), if there were any changes.</summary>\r\n        /// <param name=\"session\">Current <see cref=\"IWorkSession\" />.</param>\r\n        /// <param name=\"diagnostics\">Current diagnostics. <see cref=\"ProcessAsync\" /> can add extra diagnosics if needed.</param>\r\n        /// <param name=\"cancellationToken\">A <see cref=\"CancellationToken\"/> that MirrorSharp can use to cancel processing.</param>\r\n        /// <returns>Any object; result will be passed to <see cref=\"WriteResult\" />.</returns>\r\n        /// <remarks>If the return value implements <see cref=\"IDisposable\" />, it will be automatically disposed after <see cref=\"WriteResult\" /> call.</remarks>\r\n        Task<object?> ProcessAsync(IWorkSession session, IList<Diagnostic> diagnostics, CancellationToken cancellationToken);\r\n\r\n        /// <summary>Called after <see cref=\"ProcessAsync\" />; writes its result to the client if required.</summary>\r\n        /// <param name=\"writer\"><see cref=\"IFastJsonWriter\"/> used to write the result.</param>\r\n        /// <param name=\"result\">Result returned by <see cref=\"ProcessAsync\" />.</param>\r\n        /// <param name=\"session\">Current <see cref=\"IWorkSession\" />.</param>\r\n        void WriteResult(IFastJsonWriter writer, object? result, IWorkSession session);\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Advanced/IWorkSession.cs",
    "content": "using System.Collections.Generic;\r\nusing Microsoft.CodeAnalysis;\r\n\r\nnamespace MirrorSharp.Advanced {\r\n    /// <summary>Represents an active user session.</summary>\r\n    public interface IWorkSession {\r\n        /// <summary>Returns current session language name (e.g. the value of <see cref=\"LanguageNames.CSharp\"/>).</summary>\r\n        string LanguageName { get; }\r\n        /// <summary>Specifies whether the current session is based on Roslyn.</summary>\r\n        bool IsRoslyn { get; }\r\n        /// <summary>Returns associated Roslyn session if any; throws otherwise.</summary>\r\n        IRoslynSession Roslyn { get; }\r\n        /// <summary>Returns current source code handled by the session.</summary>\r\n        string GetText();\r\n        /// <summary>Arbitrary data associated with the current session.</summary>\r\n        IDictionary<string, object?> ExtensionData { get; }\r\n    }\r\n}"
  },
  {
    "path": "Common/Advanced/MirrorSharpRoslynOptions.cs",
    "content": "using System;\r\nusing System.Collections.Immutable;\r\nusing System.Reflection;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.Diagnostics;\r\nusing MirrorSharp.Internal;\r\nusing MirrorSharp.Internal.Roslyn;\r\n\r\nnamespace MirrorSharp.Advanced {\r\n    /// <summary>Base class for Roslyn-based language options. Should not be used directly.</summary>\r\n    /// <typeparam name=\"TSelf\">Type of the specific subclass (provided by that subclass).</typeparam>\r\n    /// <typeparam name=\"TParseOptions\">Type of <see cref=\"ParseOptions\" /> for this language.</typeparam>\r\n    /// <typeparam name=\"TCompilationOptions\">Type of <see cref=\"CompilationOptions\" /> for this language.</typeparam>\r\n    public abstract class MirrorSharpRoslynOptions<TSelf, TParseOptions, TCompilationOptions> : IRoslynLanguageOptions\r\n        where TSelf: MirrorSharpRoslynOptions<TSelf, TParseOptions, TCompilationOptions>\r\n        where TParseOptions : ParseOptions\r\n        where TCompilationOptions : CompilationOptions\r\n    {\r\n        private TParseOptions _parseOptions;\r\n        private TCompilationOptions _compilationOptions;\r\n        private ImmutableList<MetadataReference> _metadataReferences;\r\n        private ImmutableList<AnalyzerReference> _analyzerReferences;\r\n        private bool _isScript;\r\n        private Type? _hostObjectType;\r\n\r\n        internal MirrorSharpRoslynOptions(\r\n            TParseOptions parseOptions,\r\n            TCompilationOptions compilationOptions,\r\n            ImmutableList<MetadataReference> metadataReferences,\r\n            ImmutableList<AnalyzerReference> analyzerReferences\r\n        ) {\r\n            _parseOptions = parseOptions;\r\n            _compilationOptions = compilationOptions;\r\n            _metadataReferences = metadataReferences;\r\n            _analyzerReferences = analyzerReferences;\r\n        }\r\n\r\n        /// <summary><see cref=\"ParseOptions\" /> for this language.</summary>\r\n        public TParseOptions ParseOptions {\r\n            get => _parseOptions;\r\n            set => _parseOptions = Argument.NotNull(nameof(value), value);\r\n        }\r\n\r\n        /// <summary><see cref=\"CompilationOptions\" /> for this language.</summary>\r\n        public TCompilationOptions CompilationOptions {\r\n            get => _compilationOptions;\r\n            set => _compilationOptions = Argument.NotNull(nameof(value), value);\r\n        }\r\n\r\n        /// <summary><see cref=\"MetadataReference\" />s for this language.</summary>\r\n        public ImmutableList<MetadataReference> MetadataReferences {\r\n            get => _metadataReferences;\r\n            set => _metadataReferences = Argument.NotNull(nameof(value), value);\r\n        }\r\n\r\n        /// <summary><see cref=\"AnalyzerReference\" />s for this language.</summary>\r\n        public ImmutableList<AnalyzerReference> AnalyzerReferences {\r\n            get => _analyzerReferences;\r\n            set => _analyzerReferences = Argument.NotNull(nameof(value), value);\r\n        }\r\n\r\n        /// <summary>Sets or unsets script mode for this language.</summary>\r\n        /// <param name=\"isScript\">Whether the language should use script mode.</param>\r\n        /// <param name=\"hostObjectType\">Host object type for the session; must be <c>null</c> if <paramref name=\"isScript\" /> is <c>false</c>.</param>\r\n        /// <returns>Current instance (for convenience).</returns>\r\n        /// <remarks>\r\n        /// Members of <paramref name=\"hostObjectType\" /> are directly available to the script. For example\r\n        /// if you set <c>hostObjectType</c> is <see cref=\"Random\" />, you can use <see cref=\"Random.Next()\" />\r\n        /// in the script by just writing <c>Next()</c>.\r\n        /// </remarks>\r\n        /// <seealso cref=\"ProjectInfo.IsSubmission\"/>\r\n        /// <seealso cref=\"ProjectInfo.HostObjectType\"/>\r\n        public TSelf SetScriptMode(bool isScript = true, Type? hostObjectType = null) {\r\n            RoslynScriptHelper.Validate(isScript, hostObjectType);\r\n\r\n            ParseOptions = (TParseOptions)ParseOptions.WithKind(RoslynScriptHelper.GetSourceKind(isScript));\r\n            _isScript = isScript;\r\n            _hostObjectType = hostObjectType;\r\n\r\n            return (TSelf)this;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Adds assembly references to <see cref=\"MetadataReferences\"/> and attempts to discover corresponding XML documentation.\r\n        /// </summary>\r\n        /// <param name=\"paths\">Paths to assemblies to be added.</param>\r\n        /// <returns>Current instance (for convenience).</returns>\r\n        /// <remarks>\r\n        /// This method will attempt to automatically discover XML documentation files for the assemblies being added.\r\n        /// However it will always succeed, whether the XML documentation is available or not.\r\n        /// </remarks>\r\n        /// <seealso cref=\"MetadataReferences\"/>\r\n        public TSelf AddMetadataReferencesFromFiles(params string[] paths) {\r\n            _metadataReferences = _metadataReferences.AddRange(MetadataReferenceFactory.CreateFromFilesSlow(paths));\r\n            return (TSelf)this;\r\n        }\r\n\r\n        private protected static AnalyzerFileReference CreateAnalyzerReference(string assemblyName) {\r\n            var assembly = Assembly.Load(new AssemblyName(assemblyName));\r\n            return new AnalyzerFileReference(assembly.Location, new PreloadedAnalyzerAssemblyLoader(assembly));\r\n        }\r\n\r\n        ParseOptions IRoslynLanguageOptions.ParseOptions => ParseOptions;\r\n        CompilationOptions IRoslynLanguageOptions.CompilationOptions => CompilationOptions;\r\n        ImmutableList<MetadataReference> IRoslynLanguageOptions.MetadataReferences => MetadataReferences;\r\n        bool IRoslynLanguageOptions.IsScript => _isScript;\r\n        Type? IRoslynLanguageOptions.HostObjectType => _hostObjectType;\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/CHANGELOG.md",
    "content": "# Changelog\r\n\r\n## [3.0.10] - 2024-11-19\r\n\r\n### Fixed\r\n- Fixed support for Microsoft.CodeAnalysis 4.12.0 (preview)\r\n- Fixed support for Microsoft.CodeAnalysis 4.11.0 (final) with help from @Sicos1977\r\n- Fixed support for Microsoft.CodeAnalysis 4.10.0 (final) with help from @Sicos1977\r\n- Added explicit dependency on safe version of System.Net.Http to resolve security audit warnings\r\n- Added explicit dependency on safe version of System.Text.RegularExpressions to resolve security audit warnings\r\n\r\n## [3.0.9] - 2024-06-01\r\n\r\n### Fixed\r\n- Fixed support for Microsoft.CodeAnalysis 4.11.0 (preview versions)\r\n- Fixed support for Microsoft.CodeAnalysis 4.10.0 (preview versions)\r\n\r\n## [3.0.8] - 2023-10-14\r\n\r\n### Fixed\r\n- Fixed support for Microsoft.CodeAnalysis 4.9.0 (preview versions)\r\n\r\n## [3.0.7] - 2023-09-07\r\n\r\n### Fixed\r\n- Fixed support for Microsoft.CodeAnalysis 4.8.0 (preview versions)\r\n\r\n## [3.0.6] - 2023-05-29\r\n\r\n### Fixed\r\n- Fixed support for Microsoft.CodeAnalysis 4.7.0 (preview versions)\r\n- Fixed support for Microsoft.CodeAnalysis 4.6.0\r\n\r\n## [3.0.5] - 2023-03-12\r\n\r\n### Fixed\r\n- Fixed autocompletion sometimes disappearing for the durration of the session when using newer Microsoft.CodeAnalysis\r\n\r\n## [3.0.4] - 2023-01-06\r\n\r\n### Fixed\r\n- Fixed sorting order of diagnostic quickfix actions (C#/VB)\r\n\r\n## [3.0.3] - 2022-12-15\r\n\r\n### Fixed\r\n- Fixed support for Microsoft.CodeAnalysis 4.5.0+ (preview versions)\r\n\r\n## [3.0.2] - 2022-10-25\r\n\r\n### Fixed\r\n- Fixed support for Microsoft.CodeAnalysis 4.4.0+ (preview versions)\r\n\r\n## [3.0.1] - 2022-08-13\r\n\r\n### Fixed\r\n- Fixed support for Microsoft.CodeAnalysis 4.4.0+ (preview versions)\r\n- Fixed support for Microsoft.CodeAnalysis 4.3.0+\r\n- Fixed support for .NET Framework XML documentation redirects on x64\r\n\r\n## [3.0.0] - 2022-04-04\r\n## [3.0.0-test-2022-04-02-1] - 2022-04-02\r\n## [3.0.0-test-2022-04-01-1] - 2022-04-01\r\n\r\n### Changed\r\n- Updated minimum .NET Core target to 3.1 (.NET Standard 2.0 should still allow older targets)\r\n- Updated dependency on System.Memory to 4.5.4\r\n- Made WorkSession.Extensions values nullable\r\n- Internal restructuring (Common is now split into multiple internal packages)\r\n\r\n### Added\r\n- Internal prototypes of new extensions (not exposed)\r\n\r\n### Fixed\r\n- Fixed support for Microsoft.CodeAnalysis 4.2.0+\r\n- Fixed support for Microsoft.CodeAnalysis 4.1.0+\r\n\r\n### Removed\r\n- Some obsolete properties on MirrorSharpOptions are now marked Obsolete(true) and will not compile\r\n\r\n## [2.2.8] - 2021-09-03\r\n\r\n### Changed\r\n- Internal change to support MirrorSharp.IL 0.1\r\n\r\n## [2.2.7] - 2021-05-07\r\n\r\n### Fixed\r\n- Error when force-requesting signature help for F#\r\n\r\n## [2.2.7-preview-2021-07-08-1] - 2021-07-08-1\r\n## [2.2.6] - 2021-06-22\r\n## [2.2.5] - 2021-06-21\r\n## [2.2.4] - 2021-06-20\r\n\r\n### Changed\r\n- Internal refactoring (no API changes)\r\n- Internal diagnostics to investigate specific issues\r\n\r\n## [2.2.3] - 2021-03-04\r\n## [2.2.2] - 2020-12-17\r\n\r\n### Added\r\n- Internal prototypes of new extensions (not exposed)\r\n\r\n## [2.2.1] - 2020-09-12\r\n\r\n### Added\r\n- Show XML documentation in signature help.\r\n\r\n## [2.2.0] - 2020-09-05\r\n\r\n### Added\r\n- Ability to add custom Analyzers, e.g: `SetupCSharp(o => o.AnalyzerReferences = o.AnalyzerReferences.Add(...))`."
  },
  {
    "path": "Common/Common.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\r\n  <Import Project=\"../NuGet.Common.props\" />\r\n  \r\n  <PropertyGroup>\r\n    <AssemblyName>MirrorSharp.Common</AssemblyName>\r\n    <RootNamespace>MirrorSharp</RootNamespace>\r\n    <TargetFrameworks>netstandard2.0; netcoreapp3.1</TargetFrameworks>\r\n    <VersionPrefix>3.0.10</VersionPrefix>\r\n    <Description>MirrorSharp shared server library. $(DescriptionSuffix)</Description>\r\n    <PackageTags>Roslyn;CodeMirror</PackageTags>\r\n    <GenerateDocumentationFile>true</GenerateDocumentationFile>\r\n  </PropertyGroup>\r\n\r\n  <ItemGroup>\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Common\" Version=\"3.3.1\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.CSharp\" Version=\"3.3.1\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Workspaces.Common\" Version=\"3.3.1\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.CSharp.Features\" Version=\"3.3.1\" />\r\n    <PackageReference Include=\"System.Memory\" Version=\"4.5.5\" />\r\n    <!-- Avoids vulnerability in version referenced by other dependencies -->\r\n    <PackageReference Include=\"System.Net.Http\" Version=\"4.3.4\" />\r\n    <!-- Avoids vulnerability in version referenced by other dependencies -->\r\n    <PackageReference Include=\"System.Text.RegularExpressions\" Version=\"4.3.1\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <InternalsVisibleTo Include=\"MirrorSharp.AspNetCore\" />\r\n    <InternalsVisibleTo Include=\"MirrorSharp.Benchmarks\" />\r\n    <InternalsVisibleTo Include=\"MirrorSharp.CSharp.Scripting\" />\r\n    <InternalsVisibleTo Include=\"MirrorSharp.FSharp\" />\r\n    <InternalsVisibleTo Include=\"MirrorSharp.VisualBasic\" />\r\n    <InternalsVisibleTo Include=\"MirrorSharp.Php\" />\r\n    <InternalsVisibleTo Include=\"MirrorSharp.IL\" />\r\n    <InternalsVisibleTo Include=\"MirrorSharp.Owin\" />\r\n    <InternalsVisibleTo Include=\"MirrorSharp.Testing\" />\r\n    <InternalsVisibleTo Include=\"MirrorSharp.Tests\" />\r\n    <InternalsVisibleTo Include=\"SharpLab.Server\" />\r\n    <InternalsVisibleTo Include=\"SharpLab.Tests\" />\r\n    <InternalsVisibleTo Include=\"DynamicProxyGenAssembly2\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <_RoslynInternalsProject Include=\"../Internal.Roslyn*/*.csproj\" Exclude=\"../Internal.RoslynInternals/*.csproj\" />\r\n    <ProjectReference Include=\"@(_RoslynInternalsProject)\" ReferenceOutputAssembly=\"false\" />\r\n\r\n    <EmbeddedResource\r\n      Include=\"@(_RoslynInternalsProject->'%(RelativeDir)\\bin\\$(Configuration)\\netstandard2.0\\MirrorSharp.%(Filename).dll')\"\r\n      Link=\"Internal\\Roslyn\\Internals\\Assemblies\\%(Filename)%(Extension)\"\r\n      LogicalName=\"%(Filename)%(Extension)\" />\r\n\r\n    <InternalsVisibleTo Include=\"@(_RoslynInternalsProject->'MirrorSharp.%(Filename)')\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <_RoslynTestProject Include=\"../Tests.*/*.csproj\" />\r\n    <InternalsVisibleTo Include=\"@(_RoslynTestProject->'MirrorSharp.%(Filename)')\" />\r\n  </ItemGroup>\r\n\r\n  <PropertyGroup Condition=\" '$(TargetFramework)' == 'netstandard2.0' \">\r\n    <DefineConstants>$(DefineConstants);NETSTANDARD</DefineConstants>\r\n    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r\n  </PropertyGroup>\r\n</Project>\r\n"
  },
  {
    "path": "Common/Internal/Abstraction/CurrentCompletion.cs",
    "content": "using Microsoft.CodeAnalysis.Completion;\r\n\r\nnamespace MirrorSharp.Internal.Abstraction {\r\n    internal class CurrentCompletion {\r\n        public CompletionList? List { get; set; }\r\n        public bool ChangeEchoPending { get; set; }\r\n        public char? PendingChar { get; set; }\r\n\r\n        public void ResetPending() {\r\n            ChangeEchoPending = false;\r\n            PendingChar = null;\r\n        }\r\n    }\r\n}\r\n\r\n"
  },
  {
    "path": "Common/Internal/Abstraction/ILanguage.cs",
    "content": "namespace MirrorSharp.Internal.Abstraction {\r\n    internal interface ILanguage {\r\n        string Name { get; }\r\n        ILanguageSessionInternal CreateSession(string text, ILanguageSessionExtensions services);\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/Abstraction/ILanguageSession.cs",
    "content": "using System;\r\nusing System.Collections.Immutable;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.Completion;\r\nusing Microsoft.CodeAnalysis.Text;\r\n\r\nnamespace MirrorSharp.Internal.Abstraction {\r\n    internal interface ILanguageSessionInternal : IDisposable {\r\n        string GetText();\r\n        void ReplaceText(string? newText, int start = 0, int? length = null);\r\n\r\n        Task<ImmutableArray<Diagnostic>> GetDiagnosticsAsync(CancellationToken cancellationToken);\r\n\r\n        bool ShouldTriggerCompletion(int cursorPosition, CompletionTrigger trigger);\r\n        Task<CompletionList?> GetCompletionsAsync(int cursorPosition, CompletionTrigger trigger, CancellationToken cancellationToken);\r\n        Task<CompletionDescription?> GetCompletionDescriptionAsync(CompletionItem item, CancellationToken cancellationToken);\r\n        Task<CompletionChange> GetCompletionChangeAsync(TextSpan completionSpan, CompletionItem item, CancellationToken cancellationToken);\r\n    }\r\n}"
  },
  {
    "path": "Common/Internal/Argument.cs",
    "content": "using System;\r\nusing System.Collections;\r\nusing System.Collections.Generic;\r\nusing System.ComponentModel;\r\n\r\n// ReSharper disable UnusedMember.Global\r\n// ReSharper disable ArrangeStaticMemberQualifier\r\nnamespace MirrorSharp.Internal {\r\n    /// <summary>\r\n    /// Provides methods for verification of argument preconditions.\r\n    /// </summary>\r\n    internal static class Argument {\r\n        // ReSharper restore CheckNamespace\r\n        /// <summary>\r\n        /// Verifies that a given argument value is not <c>null</c> and returns the value provided.\r\n        /// </summary>\r\n        /// <typeparam name=\"T\">Type of the <paramref name=\"name\" />.</typeparam>\r\n        /// <param name=\"name\">Argument name.</param>\r\n        /// <param name=\"value\">Argument value.</param>\r\n        /// <exception cref=\"ArgumentNullException\">Thrown if <paramref name=\"value\"/> is <c>null</c>.</exception>\r\n        /// <returns><paramref name=\"value\"/> if it is not <c>null</c>.</returns>\r\n        public static T NotNull<T>(string name, T value)\r\n            where T : class {\r\n            if (value == null)\r\n                throw new ArgumentNullException(name);\r\n            return value;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Verifies that a given argument value is not <c>null</c> and returns the value provided.\r\n        /// </summary>\r\n        /// <typeparam name=\"T\">Type of the <paramref name=\"name\" />.</typeparam>\r\n        /// <param name=\"name\">Argument name.</param>\r\n        /// <param name=\"value\">Argument value.</param>\r\n        /// <exception cref=\"ArgumentNullException\">Thrown if <paramref name=\"value\"/> is <c>null</c>.</exception>\r\n        /// <returns><paramref name=\"value\"/> if it is not <c>null</c>.</returns>\r\n        public static T NotNull<T>(string name, T? value)\r\n            where T : struct {\r\n            if (value == null)\r\n                throw new ArgumentNullException(name);\r\n            return value.Value;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Verifies that a given argument value is not <c>null</c> or empty and returns the value provided.\r\n        /// </summary>\r\n        /// <param name=\"name\">Argument name.</param>\r\n        /// <param name=\"value\">Argument value.</param>\r\n        /// <exception cref=\"ArgumentNullException\">Thrown if <paramref name=\"value\"/> is <c>null</c>.</exception>\r\n        /// <exception cref=\"ArgumentException\">Thrown if <paramref name=\"value\"/> is empty.</exception>\r\n        /// <returns><paramref name=\"value\"/> if it is not <c>null</c> or empty.</returns>\r\n        public static string NotNullOrEmpty(string name, string value) {\r\n            Argument.NotNull(name, value);\r\n            if (value.Length == 0)\r\n                throw NewArgumentEmptyException(name);\r\n\r\n            return value;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Verifies that a given argument value is not <c>null</c> or empty and returns the value provided.\r\n        /// </summary>\r\n        /// <param name=\"name\">Argument name.</param>\r\n        /// <param name=\"value\">Argument value.</param>\r\n        /// <exception cref=\"ArgumentNullException\">Thrown if <paramref name=\"value\"/> is <c>null</c>.</exception>\r\n        /// <exception cref=\"ArgumentException\">Thrown if <paramref name=\"value\"/> is empty.</exception>\r\n        /// <returns><paramref name=\"value\"/> if it is not <c>null</c> or empty.</returns>\r\n        public static T[] NotNullOrEmpty<T>(string name, T[] value) {\r\n            Argument.NotNull(name, value);\r\n            if (value.Length == 0)\r\n                throw NewArgumentEmptyException(name);\r\n\r\n            return value;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Verifies that a given argument value is not <c>null</c> or empty and returns the value provided.\r\n        /// </summary>\r\n        /// <param name=\"name\">Argument name.</param>\r\n        /// <param name=\"value\">Argument value.</param>\r\n        /// <exception cref=\"ArgumentNullException\">Thrown if <paramref name=\"value\"/> is <c>null</c>.</exception>\r\n        /// <exception cref=\"ArgumentException\">Thrown if <paramref name=\"value\"/> is empty.</exception>\r\n        /// <returns><paramref name=\"value\"/> if it is not <c>null</c> or empty.</returns>\r\n        public static TCollection NotNullOrEmpty<TCollection>(string name, TCollection value)\r\n            where TCollection : class, IEnumerable {\r\n            Argument.NotNull(name, value);\r\n            var enumerator = value.GetEnumerator();\r\n            try {\r\n                if (!enumerator.MoveNext())\r\n                    throw NewArgumentEmptyException(name);\r\n            }\r\n            finally {\r\n                (enumerator as IDisposable)?.Dispose();\r\n            }\r\n\r\n            return value;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Verifies that a given <see cref=\"ReadOnlySpan{T}\"/> argument value is not empty and returns the value provided.\r\n        /// </summary>\r\n        /// <param name=\"name\">Argument name.</param>\r\n        /// <param name=\"value\">Argument value.</param>\r\n        /// <exception cref=\"ArgumentException\">Thrown if <paramref name=\"value\"/> is empty.</exception>\r\n        /// <returns><paramref name=\"value\"/> if it is not empty.</returns>\r\n        public static ReadOnlySpan<T> NotEmpty<T>(string name, ReadOnlySpan<T> value) {\r\n            return !value.IsEmpty ? value : throw NewArgumentEmptyException(name);\r\n        }\r\n\r\n        private const string PotentialDoubleEnumeration = \"Using NotNullOrEmpty with plain IEnumerable may cause double enumeration. Please use a collection instead.\";\r\n\r\n        /// <summary>\r\n        /// (DO NOT USE) Ensures that NotNullOrEmpty can not be used with plain <see cref=\"IEnumerable\"/>,\r\n        /// as this may cause double enumeration.\r\n        /// </summary>\r\n        [EditorBrowsable(EditorBrowsableState.Never)]\r\n        [Obsolete(PotentialDoubleEnumeration, true)]\r\n        // ReSharper disable UnusedParameter.Global\r\n        public static void NotNullOrEmpty(string name, IEnumerable value) {\r\n            // ReSharper restore UnusedParameter.Global\r\n            throw new Exception(PotentialDoubleEnumeration);\r\n        }\r\n\r\n        /// <summary>\r\n        /// (DO NOT USE) Ensures that NotNullOrEmpty can not be used with plain <see cref=\"IEnumerable{T}\" />,\r\n        /// as this may cause double enumeration.\r\n        /// </summary>\r\n        [EditorBrowsable(EditorBrowsableState.Never)]\r\n        [Obsolete(PotentialDoubleEnumeration, true)]\r\n        // ReSharper disable UnusedParameter.Global\r\n        public static void NotNullOrEmpty<T>(string name, IEnumerable<T> value) {\r\n            // ReSharper restore UnusedParameter.Global\r\n            throw new Exception(PotentialDoubleEnumeration);\r\n        }\r\n\r\n        private static Exception NewArgumentEmptyException(string name) {\r\n            return new ArgumentException(\"Value can not be empty.\", name);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Casts a given argument into a given type if possible.\r\n        /// </summary>\r\n        /// <typeparam name=\"T\">Type to cast <paramref name=\"value\"/> into.</typeparam>\r\n        /// <param name=\"name\">Argument name.</param>\r\n        /// <param name=\"value\">Argument value.</param>\r\n        /// <exception cref=\"ArgumentException\">Thrown if <paramref name=\"value\"/> can not be cast into type <typeparamref name=\"T\"/>.</exception>\r\n        /// <returns><paramref name=\"value\"/> cast into <typeparamref name=\"T\"/>.</returns>\r\n        public static T Cast<T>(string name, object value) {\r\n            if (!(value is T))\r\n                throw new ArgumentException(string.Format(\"The value \\\"{0}\\\" isn't of type \\\"{1}\\\".\", value, typeof(T)), name);\r\n\r\n            return (T)value;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Verfies that a given argument is not null and casts it into a given type if possible.\r\n        /// </summary>\r\n        /// <typeparam name=\"T\">Type to cast <paramref name=\"value\"/> into.</typeparam>\r\n        /// <param name=\"name\">Argument name.</param>\r\n        /// <param name=\"value\">Argument value.</param>\r\n        /// <exception cref=\"ArgumentNullException\">Thrown if <paramref name=\"value\"/> is <c>null</c>.</exception>\r\n        /// <exception cref=\"ArgumentException\">Thrown if <paramref name=\"value\"/> can not be cast into type <typeparamref name=\"T\"/>.</exception>\r\n        /// <returns><paramref name=\"value\"/> cast into <typeparamref name=\"T\"/>.</returns>\r\n        public static T NotNullAndCast<T>(string name, object value) {\r\n            Argument.NotNull(name, value);\r\n            return Argument.Cast<T>(name, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Verifies that a given argument value is greater than or equal to zero and returns the value provided.\r\n        /// </summary>\r\n        /// <param name=\"name\">Argument name.</param>\r\n        /// <param name=\"value\">Argument value.</param>\r\n        /// <exception cref=\"ArgumentOutOfRangeException\">Thrown if <paramref name=\"value\"/> is less than zero.</exception>\r\n        /// <returns><paramref name=\"value\"/> if it is greater than or equal to zero.</returns>\r\n        public static int PositiveOrZero(string name, int value) {\r\n            if (value < 0) {\r\n                // ReSharper disable once HeapView.BoxingAllocation\r\n                throw new ArgumentOutOfRangeException(name, value, \"Value must be positive or zero.\");\r\n            }\r\n\r\n            return value;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Verifies that a given argument value is greater than zero and returns the value provided.\r\n        /// </summary>\r\n        /// <param name=\"name\">Argument name.</param>\r\n        /// <param name=\"value\">Argument value.</param>\r\n        /// <exception cref=\"ArgumentOutOfRangeException\">Thrown if <paramref name=\"value\"/> is less than or equal to zero.</exception>\r\n        /// <returns><paramref name=\"value\"/> if it is greater than zero.</returns>\r\n        public static int PositiveNonZero(string name, int value) {\r\n            if (value <= 0) {\r\n                // ReSharper disable once HeapView.BoxingAllocation\r\n                throw new ArgumentOutOfRangeException(name, value, \"Value must be positive and not zero.\");\r\n            }\r\n\r\n            return value;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "Common/Internal/AsyncData.cs",
    "content": "using System;\r\nusing System.Threading.Tasks;\r\n\r\nnamespace MirrorSharp.Internal {\r\n    internal readonly struct AsyncData {\r\n        private static readonly Task<ReadOnlyMemory<byte>?> NullSegmentTask = Task.FromResult<ReadOnlyMemory<byte>?>(null);\r\n        public static readonly AsyncData Empty = new(ReadOnlyMemory<byte>.Empty, false, static () => NullSegmentTask);\r\n\r\n        private readonly ReadOnlyMemory<byte> _first;\r\n        private readonly Func<Task<ReadOnlyMemory<byte>?>> _getNextAsync;\r\n        private readonly bool _getNextCalled;\r\n\r\n        public AsyncData(ReadOnlyMemory<byte> first, bool mightHaveNext, Func<Task<ReadOnlyMemory<byte>?>> getNextAsync) {\r\n            Argument.NotNull(nameof(getNextAsync), getNextAsync);\r\n\r\n            _first = first;\r\n            MightHaveNext = mightHaveNext;\r\n            _getNextAsync = getNextAsync;\r\n            _getNextCalled = false;\r\n        }\r\n\r\n        [Obsolete(\"Can be removed in v3, but needed before that for compatibility with Testing.\", true)]\r\n        public AsyncData(ArraySegment<byte> first, bool mightHaveNext, Func<Task<ArraySegment<byte>?>> getNextAsync) {\r\n            Argument.NotNull(nameof(getNextAsync), getNextAsync);\r\n\r\n            _first = first;\r\n            MightHaveNext = mightHaveNext;\r\n            _getNextAsync = async () => await getNextAsync().ConfigureAwait(false);\r\n            _getNextCalled = false;\r\n        }\r\n\r\n        public ReadOnlyMemory<byte> GetFirst() {\r\n            if (_getNextCalled)\r\n                throw new InvalidOperationException();\r\n            return _first;\r\n        }\r\n\r\n        public bool MightHaveNext { get; }\r\n\r\n        public Task<ReadOnlyMemory<byte>?> GetNextAsync() => _getNextAsync();\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/AsyncDataConvert.cs",
    "content": "using System;\r\nusing System.Buffers;\r\nusing System.Text;\r\nusing System.Threading.Tasks;\r\n\r\nnamespace MirrorSharp.Internal {\r\n    internal static class AsyncDataConvert {\r\n        public static async ValueTask<string> ToUtf8StringAsync(AsyncData data, int offsetInFirstSegment, ArrayPool<char> charArrayPool) {\r\n            var first = data.GetFirst().Slice(offsetInFirstSegment);\r\n            if (!data.MightHaveNext)\r\n                return Encoding.UTF8.GetString(first.Span);\r\n\r\n            var decoder = Encoding.UTF8.GetDecoder();\r\n            using var chars = new PooledGrowableArray<char>(first.Length * 2, charArrayPool);\r\n\r\n            decoder.Convert(first.Span, chars.Array.AsSpan(), false, out int bytesUsed, out int charsUsed, out bool completed);\r\n            var charsTotalCount = charsUsed;\r\n            var next = await data.GetNextAsync().ConfigureAwait(false);\r\n            while (next != null) {\r\n                var requiredCharCount = charsTotalCount + next.Value.Length;\r\n                if (requiredCharCount > chars.Array.Length)\r\n                    chars.Grow(requiredCharCount);\r\n\r\n                decoder.Convert(next.Value.Span, chars.Array.AsSpan().Slice(charsTotalCount), false, out bytesUsed, out charsUsed, out completed);\r\n                charsTotalCount += charsUsed;\r\n                next = await data.GetNextAsync().ConfigureAwait(false);\r\n            }\r\n            if (!completed) {\r\n                // Flush. Ignore the first array -- can be anything\r\n                decoder.Convert(ReadOnlySpan<byte>.Empty, chars.Array.AsSpan().Slice(charsTotalCount), true, out bytesUsed, out charsUsed, out completed);\r\n                charsTotalCount += charsUsed;\r\n            }\r\n            return new string(chars.Array, 0, charsTotalCount);\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/CharArrayString.cs",
    "content": "﻿using System.Collections.Immutable;\r\n\r\nnamespace MirrorSharp.Internal {\r\n    internal struct CharArrayString {\r\n        public CharArrayString(ImmutableArray<char> chars) {\r\n            Chars = chars;\r\n        }\r\n\r\n        public ImmutableArray<char> Chars { get; }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/CommandIds.cs",
    "content": "namespace MirrorSharp.Internal {\r\n    internal static class CommandIds {\r\n        public const char ApplyDiagnosticAction = 'F';\r\n        public const char CompletionState = 'S';\r\n        public const char MoveCursor = 'M';\r\n        public const char RequestInfoTip = 'I';\r\n        public const char RequestSelfDebugData = 'Y';\r\n        public const char ReplaceText = 'R';\r\n        public const char SetOptions = 'O';\r\n        public const char SignatureHelpState = 'P';\r\n        public const char SlowUpdate = 'U';\r\n        public const char TypeChar = 'C';\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/Connection.cs",
    "content": "using System;\r\nusing System.Buffers;\r\nusing System.Collections.Immutable;\r\nusing System.Net.WebSockets;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing MirrorSharp.Advanced;\r\nusing MirrorSharp.Advanced.EarlyAccess;\r\nusing MirrorSharp.Internal.Handlers;\r\nusing MirrorSharp.Internal.Results;\r\n\r\nnamespace MirrorSharp.Internal {\r\n    internal class Connection : ICommandResultSender, IDisposable {\r\n        public static int InputBufferSize => 4096;\r\n\r\n        private readonly ArrayPool<byte> _bufferPool;\r\n        private readonly IConnectionSendViewer? _sendViewer;\r\n        private readonly WebSocket _socket;\r\n        private readonly WorkSession _session;\r\n        private readonly ImmutableArray<ICommandHandler> _handlers;\r\n        private readonly byte[] _inputBuffer;\r\n\r\n        private readonly FastUtf8JsonWriter _messageWriter;\r\n        private readonly IConnectionOptions? _options;\r\n        private readonly IExceptionLogger? _exceptionLogger;\r\n\r\n        private string? _currentMessageTypeName;\r\n\r\n        public Connection(\r\n            WebSocket socket,\r\n            WorkSession session,\r\n            ImmutableArray<ICommandHandler> handlers,\r\n            ArrayPool<byte> bufferPool,\r\n            IConnectionSendViewer? sendViewer,\r\n            IExceptionLogger? exceptionLogger,\r\n            IConnectionOptions? options\r\n        ) {\r\n            _socket = socket;\r\n            _session = session;\r\n            _handlers = handlers;\r\n            _messageWriter = new FastUtf8JsonWriter(bufferPool);\r\n            _options = options;\r\n            _sendViewer = sendViewer;\r\n            _exceptionLogger = exceptionLogger;\r\n            _bufferPool = bufferPool;\r\n            _inputBuffer = bufferPool.Rent(InputBufferSize);\r\n        }\r\n\r\n        public bool IsConnected => _socket.State == WebSocketState.Open;\r\n\r\n        public async Task ReceiveAndProcessAsync(CancellationToken cancellationToken) {\r\n            try {\r\n                await ReceiveAndProcessInternalAsync(cancellationToken).ConfigureAwait(false);\r\n            }\r\n            catch (Exception ex) {\r\n                var exception = ex;\r\n                try {\r\n                    try {\r\n                        _exceptionLogger?.LogException(exception, _session);\r\n                    }\r\n                    catch (Exception logException) {\r\n                        exception = new AggregateException(exception, logException);\r\n                    }\r\n                    var error = (_options?.IncludeExceptionDetails ?? false) ? exception.ToString() : \"A server error has occurred.\";\r\n                    await SendErrorAsync(error, cancellationToken).ConfigureAwait(false);\r\n                }\r\n                catch (Exception sendException) {\r\n                    throw new AggregateException(ex, sendException).Flatten();\r\n                }\r\n                throw;\r\n            }\r\n        }\r\n\r\n        // ReSharper disable once HeapView.ClosureAllocation\r\n        private async Task ReceiveAndProcessInternalAsync(CancellationToken cancellationToken) {\r\n            var first = await _socket.ReceiveAsync(new ArraySegment<byte>(_inputBuffer), cancellationToken).ConfigureAwait(false);\r\n            if (first.MessageType == WebSocketMessageType.Close) {\r\n                await _socket.CloseAsync(first.CloseStatus ?? WebSocketCloseStatus.Empty, first.CloseStatusDescription, cancellationToken).ConfigureAwait(false);\r\n                return;\r\n            }\r\n            \r\n            if (first.MessageType == WebSocketMessageType.Binary) {\r\n                await ReceiveToEndAsync(cancellationToken).ConfigureAwait(false);\r\n                throw new FormatException(\"Expected text data (received binary).\");\r\n            }\r\n\r\n            // it is important to record this conditionally on SelfDebug being enabled, otherwise\r\n            // we lose no-allocation performance by allocating here\r\n            var messageForDebug = _session.SelfDebug != null ? Encoding.UTF8.GetString(_inputBuffer, 0, first.Count) : null;\r\n            _session.SelfDebug?.Log(\"before\", messageForDebug, _session.CursorPosition, _session.GetText());\r\n\r\n            var commandId = _inputBuffer[0];\r\n            var handler = ResolveHandler(commandId);\r\n            var last = first;\r\n            await handler.ExecuteAsync(\r\n                new AsyncData(\r\n                    _inputBuffer.AsMemory(1, first.Count - 1),\r\n                    !first.EndOfMessage,\r\n                    // Can we avoid this allocation?\r\n                    async () => {\r\n                        if (last.EndOfMessage)\r\n                            return null;\r\n                        last = await _socket.ReceiveAsync(new ArraySegment<byte>(_inputBuffer), cancellationToken).ConfigureAwait(false);\r\n                        return _inputBuffer.AsMemory(0, last.Count);\r\n                    }\r\n                ),\r\n                _session, this, cancellationToken\r\n            ).ConfigureAwait(false);\r\n\r\n            if (!last.EndOfMessage) {\r\n                await ReceiveToEndAsync(cancellationToken).ConfigureAwait(false);\r\n                // ReSharper disable once HeapView.BoxingAllocation\r\n                throw new InvalidOperationException($\"Received message has unread data after command '{(char)commandId}'.\");\r\n            }\r\n\r\n            _session.SelfDebug?.Log(\"after\", messageForDebug, _session.CursorPosition, _session.GetText());\r\n        }\r\n\r\n        private async Task ReceiveToEndAsync(CancellationToken cancellationToken) {\r\n            while (!(await _socket.ReceiveAsync(new ArraySegment<byte>(_inputBuffer), cancellationToken).ConfigureAwait(false)).EndOfMessage) {\r\n            }\r\n        }\r\n\r\n        private ICommandHandler ResolveHandler(byte commandId) {\r\n            var handlerIndex = commandId - (byte)'A';\r\n            if (handlerIndex < 0 || handlerIndex > _handlers.Length - 1) {\r\n                // ReSharper disable once HeapView.BoxingAllocation\r\n                throw new FormatException($\"Invalid command: '{(char)commandId}'.\");\r\n            }\r\n\r\n            var handler = _handlers[handlerIndex];\r\n            if (handler == null) {\r\n                // ReSharper disable once HeapView.BoxingAllocation\r\n                throw new FormatException($\"Unknown command: '{(char)commandId}'.\");\r\n            }\r\n            return handler;\r\n        }\r\n\r\n        private Task SendErrorAsync(string message, CancellationToken cancellationToken) {\r\n            var writer = StartJsonMessage(\"error\");\r\n            writer.WriteProperty(\"message\", message);\r\n            return SendJsonMessageAsync(cancellationToken);\r\n        }\r\n\r\n        private FastUtf8JsonWriter StartJsonMessage(string messageTypeName) {\r\n            _messageWriter.Reset();\r\n            _messageWriter.WriteStartObject();\r\n            _messageWriter.WriteProperty(\"type\", messageTypeName);\r\n            _currentMessageTypeName = messageTypeName;\r\n            return _messageWriter;\r\n        }\r\n\r\n        private Task SendJsonMessageAsync(CancellationToken cancellationToken) {\r\n            _messageWriter.WriteEndObject();\r\n\r\n            var viewTask = _sendViewer?.ViewDuringSendAsync(_currentMessageTypeName!, _messageWriter.WrittenSegment, _session, cancellationToken);\r\n            var sendTask = _socket.SendAsync(\r\n                _messageWriter.WrittenSegment,\r\n                WebSocketMessageType.Text, true, cancellationToken\r\n            );\r\n\r\n            if (viewTask is { IsCompleted: false })\r\n                return WhenAll(viewTask, sendTask);\r\n\r\n            return sendTask;\r\n        }\r\n\r\n        private async Task WhenAll(Task first, Task second) {\r\n            await first;\r\n            await second;\r\n        }\r\n\r\n        public void Dispose() {\r\n            _bufferPool.Return(_inputBuffer);\r\n            _messageWriter.Dispose();\r\n            _session.Dispose();\r\n        }\r\n\r\n        IFastJsonWriter ICommandResultSender.StartJsonMessage(string messageTypeName) => StartJsonMessage(messageTypeName);\r\n        Task ICommandResultSender.SendJsonMessageAsync(CancellationToken cancellationToken) => SendJsonMessageAsync(cancellationToken);\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/CurrentSignatureHelp.cs",
    "content": "using MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal {\r\n    internal struct CurrentSignatureHelp {\r\n        public CurrentSignatureHelp(ISignatureHelpProviderWrapper provider, SignatureHelpItemsData items) {\r\n            Provider = provider;\r\n            Items = items;\r\n        }\r\n\r\n        public ISignatureHelpProviderWrapper Provider { get; }\r\n        public SignatureHelpItemsData Items { get; }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/CustomWorkspace.cs",
    "content": "using Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.Host;\r\n\r\nnamespace MirrorSharp.Internal {\r\n    internal class CustomWorkspace : Workspace {\r\n        public CustomWorkspace(HostServices host) : base(host, \"Custom\" /* same as AdHoc */) {\r\n        }\r\n\r\n        public override bool CanOpenDocuments => true;\r\n\r\n        public override bool CanApplyChange(ApplyChangesKind feature) {\r\n            return feature == ApplyChangesKind.ChangeDocument\r\n                || feature == ApplyChangesKind.ChangeParseOptions\r\n                || feature == ApplyChangesKind.ChangeCompilationOptions\r\n                || feature == ApplyChangesKind.AddMetadataReference\r\n                || feature == ApplyChangesKind.RemoveMetadataReference;\r\n        }\r\n\r\n        public new Solution SetCurrentSolution(Solution solution) {\r\n            return base.SetCurrentSolution(solution);\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/EncodingExtensions.cs",
    "content": "using System;\r\nusing System.Text;\r\n\r\nnamespace MirrorSharp.Internal {\r\n    internal static class EncodingExtensions {\r\n        public static string GetString(this Encoding encoding, ArraySegment<byte> segment) {\r\n            return encoding.GetString(segment.Array!, segment.Offset, segment.Count);\r\n        }\r\n\r\n        #if NETSTANDARD2_0\r\n        public static unsafe int GetChars(this Encoding encoding, ReadOnlySpan<byte> bytes, Span<char> chars) {\r\n            if (bytes.IsEmpty)\r\n                return 0;\r\n\r\n            fixed (byte* bytePointer = bytes)\r\n            fixed (char* charPointer = chars) {\r\n                return Encoding.UTF8.GetChars(bytePointer, bytes.Length, charPointer, chars.Length);\r\n            }\r\n        }\r\n\r\n        public static unsafe string GetString(this Encoding encoding, ReadOnlySpan<byte> bytes) {\r\n            if (bytes.IsEmpty)\r\n                return string.Empty;\r\n\r\n            fixed (byte* bytePointer = bytes)\r\n                return Encoding.UTF8.GetString(bytePointer, bytes.Length);\r\n        }\r\n\r\n        public static unsafe void Convert(this Decoder decoder, ReadOnlySpan<byte> bytes, Span<char> chars, bool flush, out int bytesUsed, out int charsUsed, out bool completed) {\r\n            if (bytes.IsEmpty) {\r\n                // Cannot just return, we might still need to flush\r\n                fixed (byte* bytePointer = Array.Empty<byte>())\r\n                fixed (char* charPointer = chars) {\r\n                    decoder.Convert(bytePointer, 0, charPointer, chars.Length, flush, out bytesUsed, out charsUsed, out completed);\r\n                }\r\n                return;\r\n            }\r\n\r\n            fixed (byte* bytePointer = bytes)\r\n            fixed (char* charPointer = chars) {\r\n                decoder.Convert(bytePointer, bytes.Length, charPointer, chars.Length, flush, out bytesUsed, out charsUsed, out completed);\r\n            }\r\n        }\r\n        #endif\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/FastConvert.cs",
    "content": "using System;\r\nusing System.Buffers;\r\nusing System.Collections.Concurrent;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Text;\r\n\r\nnamespace MirrorSharp.Internal {\r\n    internal static class FastConvert {\r\n        private const byte Utf8Zero = (byte)'0';\r\n        private const byte Utf8Nine = (byte)'9';\r\n\r\n        private static readonly string[] CharStringMap =\r\n            Enumerable.Range(0, 128).Select(c => ((char)c).ToString()).ToArray();\r\n\r\n        private static readonly ConcurrentDictionary<string, string> LowerInvariantStrings = new();\r\n\r\n        public static int Utf8BytesToInt32(ReadOnlySpan<byte> bytes) {\r\n            Argument.NotEmpty(nameof(bytes), bytes);\r\n\r\n            var result = 0;\r\n            foreach (var @byte in bytes) {\r\n                if (@byte < Utf8Zero || @byte > Utf8Nine)\r\n                    throw new FormatException($\"String '{SlowUtf8BytesToString(bytes)}' is not a valid positive number.\");\r\n\r\n                result = (10 * result) + (@byte - Utf8Zero);\r\n            }\r\n            return result;\r\n        }\r\n\r\n        public static char Utf8BytesToChar(ReadOnlySpan<byte> bytes) {\r\n            Argument.NotEmpty(nameof(bytes), bytes);\r\n\r\n            if (bytes.Length == 1)\r\n                return (char)bytes[0];\r\n\r\n            var chars = (Span<char>)stackalloc char[2];\r\n            var charCount = Encoding.UTF8.GetChars(bytes, chars);\r\n            if (charCount != 1)\r\n                throw new FormatException($\"Expected one char, but conversion produced {charCount}. Bytes: {SlowBytesToHexString(bytes)}\");\r\n\r\n            return chars[0];\r\n        }\r\n\r\n        public static string CharToString(char c) {\r\n            if (c <= 127)\r\n                return CharStringMap[c];\r\n\r\n            return c.ToString();\r\n        }\r\n\r\n        public static string StringToLowerInvariantString(string value) {\r\n            if (LowerInvariantStrings.TryGetValue(value, out var result))\r\n                return result;\r\n\r\n            var lower = value.ToLowerInvariant();\r\n            LowerInvariantStrings.TryAdd(value, lower);\r\n            return lower;\r\n        }\r\n\r\n        public static string EnumToLowerInvariantString<TEnum>(TEnum value)\r\n            where TEnum : struct, IFormattable\r\n        {\r\n            return EnumCache<TEnum>.LowerInvariantStrings[value];\r\n        }\r\n\r\n        private static string SlowUtf8BytesToString(ReadOnlySpan<byte> bytes) {\r\n            return Encoding.UTF8.GetString(bytes);\r\n        }\r\n\r\n        private static string SlowBytesToHexString(ReadOnlySpan<byte> bytes) {\r\n            return \"0x\" + string.Join(\"\", bytes.ToArray().Select(b => b.ToString(\"X2\")));\r\n        }\r\n\r\n        private static class EnumCache<TEnum>\r\n            where TEnum: struct, IFormattable\r\n        {\r\n            public static readonly IReadOnlyDictionary<TEnum, string> LowerInvariantStrings =\r\n                Enum.GetValues(typeof(TEnum)).Cast<TEnum>().ToDictionary(e => e, e => e.ToString(\"G\", null).ToLowerInvariant());\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/FastJsonWriterExtensions.cs",
    "content": "using System.Collections.Generic;\r\nusing System.Collections.Immutable;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.Text;\r\nusing MirrorSharp.Advanced;\r\n\r\nnamespace MirrorSharp.Internal {\r\n    internal static class FastJsonWriterExtensions {\r\n        public static void WriteSpan(this IFastJsonWriter writer, TextSpan span) {\r\n            writer.WriteStartObject();\r\n            writer.WriteProperty(\"start\", span.Start);\r\n            writer.WriteProperty(\"length\", span.Length);\r\n            writer.WriteEndObject();\r\n        }\r\n\r\n        public static void WriteSpanProperty(this IFastJsonWriter writer, string name, TextSpan span) {\r\n            writer.WritePropertyName(name);\r\n            writer.WriteSpan(span);\r\n        }\r\n\r\n        public static void WriteChange(this IFastJsonWriter writer, TextChange change) {\r\n            writer.WriteStartObject();\r\n            writer.WriteProperty(\"start\", change.Span.Start);\r\n            writer.WriteProperty(\"length\", change.Span.Length);\r\n            writer.WriteProperty(\"text\", change.NewText);\r\n            writer.WriteEndObject();\r\n        }\r\n\r\n        public static void WriteSymbolDisplayParts<TCollection>(this IFastJsonWriter writer, TCollection parts, bool selected = false)\r\n            where TCollection : IEnumerable<SymbolDisplayPart>\r\n        {\r\n            foreach (var part in parts) {\r\n                writer.WriteSymbolDisplayPart(part, selected);\r\n            }\r\n        }\r\n\r\n        public static void WriteSymbolDisplayPart(this IFastJsonWriter writer, SymbolDisplayPart part, bool selected) {\r\n            writer.WriteStartObject();\r\n            writer.WriteProperty(\"text\", part.ToString());\r\n            writer.WriteProperty(\"kind\", FastConvert.EnumToLowerInvariantString(part.Kind));\r\n            if (selected)\r\n                writer.WriteProperty(\"selected\", true);\r\n            writer.WriteEndObject();\r\n        }\r\n\r\n        public static void WriteTagsProperty(this IFastJsonWriter writer, string name, ImmutableArray<string> tags) {\r\n            writer.WritePropertyStartArray(name);\r\n            foreach (var tag in tags) {\r\n                writer.WriteValue(FastConvert.StringToLowerInvariantString(tag));\r\n            }\r\n            writer.WriteEndArray();\r\n        }\r\n\r\n        public static void WriteTaggedTexts<TCollection>(this IFastJsonWriter writer, TCollection texts, bool selected = false)\r\n            where TCollection : IEnumerable<TaggedText>\r\n        {\r\n            foreach (var text in texts) {\r\n                writer.WriteTaggedText(text, selected);\r\n            }\r\n        }\r\n\r\n        public static void WriteTaggedText(this IFastJsonWriter writer, TaggedText text, bool selected) {\r\n            writer.WriteStartObject();\r\n            writer.WriteProperty(\"text\", text.Text);\r\n            writer.WriteProperty(\"kind\", FastConvert.StringToLowerInvariantString(text.Tag));\r\n            if (selected)\r\n                writer.WriteProperty(\"selected\", true);\r\n            writer.WriteEndObject();\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/FastUtf8JsonWriter.cs",
    "content": "using System;\r\nusing System.Buffers;\r\nusing System.Collections.Immutable;\r\nusing System.IO;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing MirrorSharp.Advanced;\r\n\r\nnamespace MirrorSharp.Internal {\r\n    internal class FastUtf8JsonWriter : IFastJsonWriter {\r\n        private static readonly int[] PowersOfTen = {\r\n            1000000000, 100000000, 10000000, 1000000, 100000, 10000, 1000, 100, 10, 1\r\n        };\r\n\r\n        private int _position = 0;\r\n        private readonly char[] _oneCharBuffer = new char[1];\r\n        private readonly ArrayPool<byte> _bufferPool;\r\n        private byte[] _buffer;\r\n        private readonly Encoder _encoder;\r\n\r\n        private int _stateStackIndex;\r\n        private readonly ArrayPool<State> _stateStackPool;\r\n        private readonly State[] _stateStack;\r\n\r\n        private FastUtf8JsonStringWriter? _stringWriter;\r\n\r\n        public FastUtf8JsonWriter(ArrayPool<byte> bufferPool) {\r\n            _bufferPool = bufferPool;\r\n            _buffer = bufferPool.Rent(4096);\r\n\r\n            _stateStackIndex = 0;\r\n            _stateStackPool = ArrayPool<State>.Shared;\r\n            _stateStack = _stateStackPool.Rent(64);\r\n            _stateStack[0] = State.None;\r\n\r\n            _encoder = Encoding.UTF8.GetEncoder();\r\n        }\r\n\r\n        public ArraySegment<byte> WrittenSegment => new ArraySegment<byte>(_buffer, 0, _position);\r\n\r\n        public void WriteStartObject() {\r\n            WriteStartValue();\r\n            WriteRawByte(Utf8.CurlyOpen);\r\n            PushState(State.ObjectStart);\r\n        }\r\n\r\n        public void WriteEndObject() {\r\n            PopState();\r\n            WriteRawByte(Utf8.CurlyClose);\r\n            WriteEndValue();\r\n        }\r\n\r\n        public void WriteStartArray() {\r\n            WriteStartValue();\r\n            WriteRawByte(Utf8.SquareOpen);\r\n            PushState(State.ArrayStart);\r\n        }\r\n\r\n        public void WriteEndArray() {\r\n            PopState();\r\n            WriteRawByte(Utf8.SquareClose);\r\n            WriteEndValue();\r\n        }\r\n\r\n        public void WritePropertyName(string name) {\r\n            if (GetState() == State.ObjectAfterProperty)\r\n                WriteRawByte(Utf8.Comma);\r\n            WriteValue(name);\r\n            WriteRawByte(Utf8.Colon);\r\n            ReplaceState(State.ObjectPropertyValue);\r\n        }\r\n\r\n        public void WriteValue(string? value) {\r\n            WriteStartValue();\r\n            if (value == null) {\r\n                WriteRawBytes(Utf8.Null);\r\n                WriteEndValue();\r\n                return;\r\n            }\r\n\r\n            WriteRawByte(Utf8.Quote);\r\n            WriteUnquotedString(value);\r\n            WriteRawByte(Utf8.Quote);\r\n            WriteEndValue();\r\n        }\r\n\r\n        public void WriteValue(StringBuilder? value) {\r\n            WriteStartValue();\r\n            if (value == null) {\r\n                WriteRawBytes(Utf8.Null);\r\n                WriteEndValue();\r\n                return;\r\n            }\r\n\r\n            WriteRawByte(Utf8.Quote);\r\n            for (var i = 0; i < value.Length; i++) {\r\n                WriteUnquotedChar(value[i]);\r\n            }\r\n            WriteRawByte(Utf8.Quote);\r\n            WriteEndValue();\r\n        }\r\n\r\n        public void WriteValue(ArraySegment<char> value) {\r\n            WriteStartValue();\r\n            WriteRawByte(Utf8.Quote);\r\n            for (var i = 0; i < value.Count; i++) {\r\n                WriteUnquotedChar(value.Array![value.Offset + i]);\r\n            }\r\n            WriteRawByte(Utf8.Quote);\r\n            WriteEndValue();\r\n        }\r\n\r\n        public void WriteValue(ImmutableArray<char> value) {\r\n            WriteStartValue();\r\n            WriteRawByte(Utf8.Quote);\r\n            foreach (var @char in value) {\r\n                WriteUnquotedChar(@char);\r\n            }\r\n            WriteRawByte(Utf8.Quote);\r\n            WriteEndValue();\r\n        }\r\n\r\n        private void WriteUnquotedString(string? value) {\r\n            if (value == null)\r\n                return;\r\n            foreach (var @char in value) {\r\n                WriteUnquotedChar(@char);\r\n            }\r\n        }\r\n\r\n        public void WriteValue(char value) {\r\n            WriteStartValue();\r\n            WriteRawByte(Utf8.Quote);\r\n            WriteUnquotedChar(value);\r\n            WriteRawByte(Utf8.Quote);\r\n            WriteEndValue();\r\n        }\r\n\r\n        private void WriteUnquotedChar(char @char) {\r\n            if (@char < 32) {\r\n                WriteRawBytes(Utf8.Escaped[@char]);\r\n                return;\r\n            }\r\n\r\n            if (@char == '\\\\') {\r\n                WriteRawBytes(Utf8.EscapedSlash);\r\n                return;\r\n            }\r\n\r\n            if (@char == '\"') {\r\n                WriteRawBytes(Utf8.EscapedQuote);\r\n                return;\r\n            }\r\n\r\n            if (@char < 128) {\r\n                WriteRawByte((byte)@char);\r\n                return;\r\n            }\r\n\r\n            _oneCharBuffer[0] = @char;\r\n            _encoder.Convert(_oneCharBuffer, 0, 1, _buffer, _position, _buffer.Length - _position, false, out var _, out var bytesUsed, out var _);\r\n            _position += bytesUsed;\r\n        }\r\n\r\n        public void WriteValue(int value) {\r\n            WriteStartValue();\r\n            if (value < 0) {\r\n                WriteRawByte(Utf8.Minus);\r\n                value = -value;\r\n            }\r\n\r\n            if (value < 10) {\r\n                WriteRawByte(Utf8.Digits[value]);\r\n                WriteEndValue();\r\n                return;\r\n            }\r\n\r\n            var remainder = value;\r\n            foreach (var power in PowersOfTen) {\r\n                if (value < power)\r\n                    continue;\r\n                WriteRawByte(Utf8.Digits[remainder / power]);\r\n                remainder %= power;\r\n            }\r\n            WriteEndValue();\r\n        }\r\n\r\n        public void WriteValue(bool value) {\r\n            WriteStartValue();\r\n            WriteRawBytes(value ? Utf8.True : Utf8.False);\r\n            WriteEndValue();\r\n        }\r\n\r\n        private void WriteStartValue() {\r\n            if (GetState() == State.ArrayAfterItem)\r\n                WriteRawByte(Utf8.Comma);\r\n        }\r\n\r\n        private void WriteEndValue() {\r\n            var state = GetState();\r\n            if (state == State.ArrayStart) {\r\n                ReplaceState(State.ArrayAfterItem);\r\n            }\r\n            else if (state == State.ObjectPropertyValue) {\r\n                ReplaceState(State.ObjectAfterProperty);\r\n            }\r\n        }\r\n\r\n        public TextWriter OpenString() {\r\n            if (_stringWriter == null)\r\n                _stringWriter = new FastUtf8JsonStringWriter(this);\r\n            WriteStartValue();\r\n            WriteRawByte(Utf8.Quote);\r\n            return _stringWriter;\r\n        }\r\n\r\n        private void CloseString() {\r\n            WriteRawByte(Utf8.Quote);\r\n            WriteEndValue();\r\n        }\r\n\r\n        private void WriteRawByte(byte @byte) {\r\n            EnsureCanWrite(1);\r\n            _buffer[_position] = @byte;\r\n            _position += 1;\r\n        }\r\n\r\n        private void WriteRawBytes(byte[] bytes) {\r\n            EnsureCanWrite(bytes.Length);\r\n            if (bytes.Length == 2)\r\n            {\r\n                _buffer[_position] = bytes[0];\r\n                _buffer[_position + 1] = bytes[1];\r\n            }\r\n            else\r\n            {\r\n                Buffer.BlockCopy(bytes, 0, _buffer, _position, bytes.Length);\r\n            }\r\n            _position += bytes.Length;\r\n        }\r\n\r\n        private void EnsureCanWrite(int requiredExtraBytes) {\r\n            if (_position + requiredExtraBytes <= _buffer.Length)\r\n                return;\r\n\r\n            byte[]? newBuffer = null;\r\n            try {\r\n                newBuffer = _bufferPool.Rent(_position + requiredExtraBytes);\r\n                Buffer.BlockCopy(_buffer, 0, newBuffer, 0, _buffer.Length);\r\n            }\r\n            catch {\r\n                if (newBuffer != null)\r\n                    _bufferPool.Return(newBuffer);\r\n                throw;\r\n            }\r\n            try {\r\n                _bufferPool.Return(_buffer);\r\n            }\r\n            finally {\r\n                _buffer = newBuffer;\r\n            }\r\n        }\r\n\r\n        public void Reset() {\r\n            _position = 0;\r\n            _encoder.Reset();\r\n        }\r\n\r\n        private State GetState() {\r\n            return _stateStack[_stateStackIndex];\r\n        }\r\n\r\n        private void ReplaceState(State state) {\r\n            _stateStack[_stateStackIndex] = state;\r\n        }\r\n\r\n        private void PushState(State state) {\r\n            _stateStackIndex += 1;\r\n            _stateStack[_stateStackIndex] = state;\r\n        }\r\n\r\n        private void PopState() {\r\n            _stateStackIndex -= 1;\r\n        }\r\n\r\n        private enum State {\r\n            // ReSharper disable once UnusedMember.Local\r\n            None,\r\n            ArrayStart,\r\n            ArrayAfterItem,\r\n            ObjectStart,\r\n            ObjectPropertyValue,\r\n            ObjectAfterProperty\r\n        }\r\n\r\n        private static class Utf8 {\r\n            public const byte CurlyOpen = (byte)'{';\r\n            public const byte CurlyClose = (byte)'}';\r\n            public const byte SquareOpen = (byte)'[';\r\n            public const byte SquareClose = (byte)']';\r\n            public const byte Colon = (byte)':';\r\n            public const byte Quote = (byte)'\"';\r\n            public const byte Comma = (byte)',';\r\n\r\n            public const byte Minus = (byte)'-';\r\n            public static readonly byte[] Digits = Enumerable.Range(0, 10)\r\n                .Select(i => (byte)i.ToString()[0])\r\n                .ToArray();\r\n\r\n            public static readonly byte[] True = Encoding.UTF8.GetBytes(\"true\");\r\n            public static readonly byte[] False = Encoding.UTF8.GetBytes(\"false\");\r\n            public static readonly byte[] Null = Encoding.UTF8.GetBytes(\"null\");\r\n\r\n            public static readonly byte[][] Escaped = Enumerable.Range(0, 32)\r\n                .Select(i => {\r\n                    switch (i) {\r\n                        case '\\b': return \"\\\\b\";\r\n                        case '\\f': return \"\\\\f\";\r\n                        case '\\r': return \"\\\\r\";\r\n                        case '\\n': return \"\\\\n\";\r\n                        case '\\t': return \"\\\\t\";\r\n                        default: return \"\\\\u\" + i.ToString(\"X4\");\r\n                    }\r\n                })\r\n                .Select(Encoding.UTF8.GetBytes)\r\n                .ToArray();\r\n\r\n            public static readonly byte[] EscapedSlash = Encoding.UTF8.GetBytes(\"\\\\\\\\\");\r\n            public static readonly byte[] EscapedQuote = Encoding.UTF8.GetBytes(\"\\\\\\\"\");\r\n        }\r\n\r\n        private class FastUtf8JsonStringWriter : TextWriter {\r\n            private readonly FastUtf8JsonWriter _owner;\r\n\r\n            public FastUtf8JsonStringWriter(FastUtf8JsonWriter owner) {\r\n                _owner = owner;\r\n            }\r\n\r\n            public override Encoding Encoding => Encoding.UTF8;\r\n\r\n            public override void Write(char value) => _owner.WriteUnquotedChar(value);\r\n            public override void Write(int value) => _owner.WriteValue(value);\r\n            public override void Write(string? value) => _owner.WriteUnquotedString(value);\r\n\r\n            protected override void Dispose(bool disposing) {\r\n                _owner.CloseString();\r\n            }\r\n        }\r\n\r\n        public void Dispose() {\r\n            _bufferPool.Return(_buffer);\r\n            _stateStackPool.Return(_stateStack);\r\n            GC.SuppressFinalize(this);\r\n        }\r\n\r\n        ~FastUtf8JsonWriter() {\r\n            _bufferPool.Return(_buffer);\r\n            _stateStackPool.Return(_stateStack);\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/Handlers/ApplyDiagnosticActionHandler.cs",
    "content": "using System.Threading;\r\nusing System.Threading.Tasks;\r\nusing MirrorSharp.Advanced;\r\nusing MirrorSharp.Internal.Results;\r\n\r\nnamespace MirrorSharp.Internal.Handlers {\r\n    internal class ApplyDiagnosticActionHandler : ICommandHandler {\r\n        public char CommandId => CommandIds.ApplyDiagnosticAction;\r\n\r\n        public async Task ExecuteAsync(AsyncData data, WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken) {\r\n            var roslynSession = session.Roslyn;\r\n\r\n            var actionId = FastConvert.Utf8BytesToInt32(data.GetFirst().Span);\r\n            var action = roslynSession.CurrentCodeActions[actionId];\r\n\r\n            var operations = await action.GetOperationsAsync(cancellationToken).ConfigureAwait(false);\r\n            foreach (var operation in operations) {\r\n                operation.Apply(roslynSession.Workspace, cancellationToken);\r\n            }\r\n            // I rollback the changes since I want to send them to client and get them back as ReplaceText\r\n            // This makes sure any other typing on client merges with these changes properly\r\n            var changes = await roslynSession.RollbackWorkspaceChangesAsync().ConfigureAwait(false);\r\n\r\n            var writer = sender.StartJsonMessage(\"changes\");\r\n            writer.WriteProperty(\"reason\", \"fix\");\r\n            writer.WritePropertyStartArray(\"changes\");\r\n            foreach (var change in changes) {\r\n                writer.WriteChange(change);\r\n            }\r\n            writer.WriteEndArray();\r\n            await sender.SendJsonMessageAsync(cancellationToken).ConfigureAwait(false);\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/Handlers/CompletionStateHandler.cs",
    "content": "using System.Threading;\r\nusing System.Threading.Tasks;\r\nusing MirrorSharp.Internal.Handlers.Shared;\r\nusing MirrorSharp.Internal.Results;\r\n\r\nnamespace MirrorSharp.Internal.Handlers {\r\n    internal class CompletionStateHandler : ICommandHandler {\r\n        public char CommandId => CommandIds.CompletionState;\r\n        private readonly ICompletionSupport _completion;\r\n\r\n        public CompletionStateHandler(ICompletionSupport completion) {\r\n            _completion = completion;\r\n        }\r\n\r\n        public Task ExecuteAsync(AsyncData data, WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken) {\r\n            var first = data.GetFirst();\r\n            var firstByte = first.Span[0];\r\n\r\n            if (firstByte == (byte)'I') {\r\n                var infoItemIndex = FastConvert.Utf8BytesToInt32(first.Span.Slice(1));\r\n                return _completion.SendItemInfoAsync(infoItemIndex, session, sender, cancellationToken);\r\n            }\r\n\r\n            if (firstByte == (byte)'X')\r\n                return _completion.CancelCompletionAsync(session, sender, cancellationToken);\r\n\r\n            if (firstByte == (byte)'F')\r\n                return _completion.ForceCompletionAsync(session, sender, cancellationToken);\r\n\r\n            var itemIndex = FastConvert.Utf8BytesToInt32(first.Span);\r\n            return _completion.SelectCompletionAsync(itemIndex, session, sender, cancellationToken);\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "Common/Internal/Handlers/ICommandHandler.cs",
    "content": "using System.Threading;\r\nusing System.Threading.Tasks;\r\nusing MirrorSharp.Internal.Results;\r\n\r\nnamespace MirrorSharp.Internal.Handlers {\r\n    internal interface ICommandHandler {\r\n        char CommandId { get; }\r\n        Task ExecuteAsync(AsyncData data, WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken);\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/Handlers/MoveCursorHandler.cs",
    "content": "using System.Threading;\r\nusing System.Threading.Tasks;\r\nusing MirrorSharp.Internal.Handlers.Shared;\r\nusing MirrorSharp.Internal.Results;\r\n\r\nnamespace MirrorSharp.Internal.Handlers {\r\n    internal class MoveCursorHandler : ICommandHandler {\r\n        public char CommandId => CommandIds.MoveCursor;\r\n        private readonly ISignatureHelpSupport _signatureHelp;\r\n\r\n        public MoveCursorHandler(ISignatureHelpSupport signatureHelp) {\r\n            _signatureHelp = signatureHelp;\r\n        }\r\n\r\n        public Task ExecuteAsync(AsyncData data, WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken) {\r\n            var cursorPosition = FastConvert.Utf8BytesToInt32(data.GetFirst().Span);\r\n            session.CursorPosition = cursorPosition;\r\n            return _signatureHelp.ApplyCursorPositionChangeAsync(session, sender, cancellationToken);\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/Handlers/ReplaceTextHandler.cs",
    "content": "using System;\r\nusing System.Buffers;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing MirrorSharp.Internal.Handlers.Shared;\r\nusing MirrorSharp.Internal.Results;\r\n\r\nnamespace MirrorSharp.Internal.Handlers {\r\n    internal class ReplaceTextHandler : ICommandHandler {\r\n        public char CommandId => CommandIds.ReplaceText;\r\n        private readonly ISignatureHelpSupport _signatureHelp;\r\n        private readonly ICompletionSupport _completion;\r\n        private readonly ITypedCharEffects _typedCharEffects;\r\n        private readonly ArrayPool<char> _charArrayPool;\r\n\r\n        public ReplaceTextHandler(\r\n            ISignatureHelpSupport signatureHelp,\r\n            ICompletionSupport completion,\r\n            ITypedCharEffects typedCharEffects,\r\n            ArrayPool<char> charArrayPool\r\n        ) {\r\n            _signatureHelp = signatureHelp;\r\n            _completion = completion;\r\n            _typedCharEffects = typedCharEffects;\r\n            _charArrayPool = charArrayPool;\r\n        }\r\n\r\n        public async Task ExecuteAsync(AsyncData data, WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken) {\r\n            var first = data.GetFirst();\r\n            var partStart = 0;\r\n\r\n            int? start = null;\r\n            int? length = null;\r\n            int? cursorPosition = null;\r\n            string? reason = null;\r\n\r\n            for (var i = 0; i < first.Length; i++) {\r\n                if (first.Span[i] != (byte)':')\r\n                    continue;\r\n\r\n                var part = first.Slice(partStart, i - partStart);\r\n                if (start == null) {\r\n                    start = FastConvert.Utf8BytesToInt32(part.Span);\r\n                    partStart = i + 1;\r\n                    continue;\r\n                }\r\n\r\n                if (length == null) {\r\n                    length = FastConvert.Utf8BytesToInt32(part.Span);\r\n                    partStart = i + 1;\r\n                    continue;\r\n                }\r\n\r\n                if (cursorPosition == null) {\r\n                    cursorPosition = FastConvert.Utf8BytesToInt32(part.Span);\r\n                    partStart = i + 1;\r\n                    continue;\r\n                }\r\n\r\n                reason = part.Length > 0 ? Encoding.UTF8.GetString(part.Span) : string.Empty;\r\n                partStart = i + 1;\r\n                break;\r\n            }\r\n            if (start == null || length == null || cursorPosition == null || reason == null)\r\n                throw new FormatException(\"Command arguments must be 'start:length:cursor:reason:text'.\");\r\n\r\n            var text = await AsyncDataConvert.ToUtf8StringAsync(data, partStart, _charArrayPool).ConfigureAwait(false);\r\n\r\n            session.ReplaceText(text, start.Value, length.Value);\r\n            session.CursorPosition = cursorPosition.Value;\r\n            await _signatureHelp.ApplyCursorPositionChangeAsync(session, sender, cancellationToken).ConfigureAwait(false);\r\n            await _completion.ApplyReplacedTextAsync(reason, _typedCharEffects, session, sender, cancellationToken).ConfigureAwait(false);\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/Handlers/RequestInfoTipHandler.cs",
    "content": "using System;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis.QuickInfo;\r\nusing MirrorSharp.Advanced;\r\nusing MirrorSharp.Internal.Results;\r\n\r\nnamespace MirrorSharp.Internal.Handlers {\r\n    internal class RequestInfoTipHandler : ICommandHandler {\r\n        public char CommandId => CommandIds.RequestInfoTip;\r\n\r\n        public Task ExecuteAsync(AsyncData data, WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken) {\r\n            if (!session.IsRoslyn)\r\n                return Task.CompletedTask;\r\n\r\n            var cursorPosition = FastConvert.Utf8BytesToInt32(data.GetFirst().Span);\r\n            return ExecuteForRoslynAsync(cursorPosition, session, sender, cancellationToken);\r\n        }\r\n\r\n        private async Task ExecuteForRoslynAsync(\r\n            int cursorPosition,\r\n            WorkSession session,\r\n            ICommandResultSender sender,\r\n            CancellationToken cancellationToken\r\n        ) {\r\n            var info = await session.Roslyn.QuickInfoService\r\n                .GetQuickInfoAsync(session.Roslyn.Document, cursorPosition, cancellationToken)\r\n                .ConfigureAwait(false);\r\n\r\n            if (IsNullOrEmpty(info))\r\n                return;\r\n            await SendInfoTipAsync(info, sender, cancellationToken).ConfigureAwait(false);\r\n        }\r\n\r\n        private Task SendInfoTipAsync(QuickInfoItem info, ICommandResultSender sender, CancellationToken cancellationToken) {\r\n            var writer = sender.StartJsonMessage(\"infotip\");\r\n            if (IsNullOrEmpty(info))\r\n                return sender.SendJsonMessageAsync(cancellationToken);\r\n\r\n            writer.WriteTagsProperty(\"kinds\", info.Tags);\r\n            writer.WritePropertyStartArray(\"sections\");\r\n            foreach (var section in info.Sections) {\r\n                writer.WriteStartObject();\r\n                writer.WriteProperty(\"kind\", FastConvert.StringToLowerInvariantString(section.Kind));\r\n                writer.WritePropertyStartArray(\"parts\");\r\n                writer.WriteTaggedTexts(section.TaggedParts);\r\n                writer.WriteEndArray();\r\n                writer.WriteEndObject();\r\n            }\r\n            writer.WriteEndArray();\r\n            writer.WriteSpanProperty(\"span\", info.Span);\r\n            return sender.SendJsonMessageAsync(cancellationToken);\r\n        }\r\n\r\n        private static bool IsNullOrEmpty(QuickInfoItem info) {\r\n            // Note that Sections.IsEmpty doesn't mean there is nothing\r\n            // E.g. closing bracket `}` will have related open bracket\r\n            // code in related spans. However this isn't supported yet.\r\n            return info == null || info.Sections.IsEmpty;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/Handlers/RequestSelfDebugDataHandler.cs",
    "content": "using System;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing MirrorSharp.Advanced;\r\nusing MirrorSharp.Internal.Results;\r\n\r\nnamespace MirrorSharp.Internal.Handlers {\r\n    internal class RequestSelfDebugDataHandler : ICommandHandler {\r\n        public char CommandId => CommandIds.RequestSelfDebugData;\r\n\r\n        public Task ExecuteAsync(AsyncData data, WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken) {\r\n            if (session.SelfDebug == null)\r\n                throw new InvalidOperationException(\"SelfDebug is disabled on this session.\");\r\n\r\n            var writer = sender.StartJsonMessage(\"self:debug\");\r\n            writer.WritePropertyStartArray(\"log\");\r\n            // ReSharper disable once PossibleNullReferenceException\r\n            foreach (var entry in session.SelfDebug.GetLogEntries()) {\r\n                writer.WriteStartObject();\r\n                writer.WriteProperty(\"time\", entry.DateTime.ToString(\"yyyy-MM-ddTHH:mm:ss.fffK\"));\r\n                writer.WriteProperty(\"event\", entry.EventType);\r\n                writer.WriteProperty(\"message\", entry.Message);\r\n                writer.WriteProperty(\"cursor\", entry.CursorPosition);\r\n                writer.WriteProperty(\"text\", entry.Text);\r\n                writer.WriteEndObject();\r\n            }\r\n            writer.WriteEndArray();\r\n            return sender.SendJsonMessageAsync(cancellationToken);\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "Common/Internal/Handlers/SetOptionsHandler.cs",
    "content": "using System;\r\nusing System.Buffers;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing MirrorSharp.Advanced;\r\nusing MirrorSharp.Internal.Results;\r\n\r\n// ReSharper disable HeapView.DelegateAllocation\r\n// ReSharper disable HeapView.ClosureAllocation\r\n\r\nnamespace MirrorSharp.Internal.Handlers {\r\n    internal class SetOptionsHandler : ICommandHandler {\r\n        private const string LanguageOptionName = \"language\";\r\n        private static readonly char[] Comma = { ',' };\r\n        private static readonly char[] EqualsSign = { '=' };\r\n\r\n        private readonly LanguageManager _languageManager;\r\n        private readonly ArrayPool<char> _charArrayPool;\r\n        private readonly ISetOptionsFromClientExtension? _extension;\r\n\r\n        public char CommandId => CommandIds.SetOptions;\r\n\r\n        internal SetOptionsHandler(\r\n            LanguageManager languageManager,\r\n            ArrayPool<char> charArrayPool,\r\n            ISetOptionsFromClientExtension? extension = null\r\n        ) {\r\n            _languageManager = languageManager;\r\n            _charArrayPool = charArrayPool;\r\n            _extension = extension;\r\n        }\r\n\r\n        public async Task ExecuteAsync(AsyncData data, WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken) {\r\n            // this doesn't happen too often, so microptimizations are not required\r\n            var optionsString = await AsyncDataConvert.ToUtf8StringAsync(data, 0, _charArrayPool).ConfigureAwait(false);\r\n            var options = optionsString\r\n                .Split(Comma)\r\n                .Select(p => p.Split(EqualsSign))\r\n                .ToDictionary(p => p[0], p => p[1]);\r\n\r\n            if (options.TryGetValue(LanguageOptionName, out var language)) {\r\n                // this has to be done first, as other options work on the session\r\n                SetLanguage(session, language, options);\r\n                session.RawOptionsFromClient[LanguageOptionName] = language;\r\n            }\r\n\r\n            foreach (var option in options) {\r\n                var (name, value) = (option.Key, option.Value);\r\n                if (name == LanguageOptionName)\r\n                    continue;\r\n\r\n                if (!IsExtensionOption(name))\r\n                    throw new FormatException($\"Option '{name}' was not recognized (to use {nameof(ISetOptionsFromClientExtension)}, make sure your option name starts with 'x-').\");\r\n\r\n                if (!(_extension?.TrySetOption(session, name, value) ?? false))\r\n                    throw new FormatException($\"Extension option '{name}' was not recognized.\");\r\n                session.RawOptionsFromClient[name] = value;\r\n            }\r\n\r\n            await SendOptionsEchoAsync(session, sender, cancellationToken).ConfigureAwait(false);\r\n        }\r\n\r\n        private void SetLanguage(WorkSession session, string value, IReadOnlyDictionary<string, string> resentOptions) {\r\n            var language = _languageManager.GetLanguage(value);\r\n            session.ChangeLanguage(language);\r\n\r\n            // reapply all other options if not re-sent\r\n            foreach (var option in session.RawOptionsFromClient) {\r\n                if (!IsExtensionOption(option.Key)) // handled separately\r\n                    continue;\r\n\r\n                if (resentOptions.ContainsKey(option.Key))\r\n                    continue; // will re-apply right after this anyways\r\n\r\n                if (!(_extension?.TrySetOption(session, option.Key, option.Value) ?? false))\r\n                    throw new FormatException($\"Extension option '{option.Key}' was not recognized after changing language.\");\r\n            }\r\n        }\r\n\r\n        private bool IsExtensionOption(string name) {\r\n            return name.StartsWith(\"x-\");\r\n        }\r\n\r\n        private async Task SendOptionsEchoAsync(WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken) {\r\n            if (session.IsRoslyn)\r\n                session.Roslyn.CurrentCodeActions.Clear();\r\n            var writer = sender.StartJsonMessage(\"optionsEcho\");\r\n            writer.WritePropertyStartObject(\"options\");\r\n            foreach (var pair in session.RawOptionsFromClient) {\r\n                writer.WriteProperty(pair.Key, pair.Value);\r\n            }\r\n            writer.WriteEndObject();\r\n            await sender.SendJsonMessageAsync(cancellationToken).ConfigureAwait(false);\r\n        }\r\n    }\r\n}\r\n\r\n"
  },
  {
    "path": "Common/Internal/Handlers/Shared/CompletionSupport.cs",
    "content": "using System;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis.Completion;\r\nusing Microsoft.CodeAnalysis.Text;\r\nusing MirrorSharp.Advanced;\r\nusing MirrorSharp.Internal.Results;\r\n\r\nnamespace MirrorSharp.Internal.Handlers.Shared {\r\n    internal class CompletionSupport : ICompletionSupport {\r\n        private const string ChangeReasonCompletion = \"completion\";\r\n\r\n        public Task ApplyTypedCharAsync(char @char, WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken) {\r\n            var current = session.CurrentCompletion;\r\n            if (current.List != null)\r\n                return Task.CompletedTask;\r\n\r\n            if (current.ChangeEchoPending) {\r\n                current.PendingChar = @char;\r\n                return Task.CompletedTask;\r\n            }\r\n            var trigger = CompletionTrigger.CreateInsertionTrigger(@char);\r\n            return CheckCompletionAsync(trigger, session, sender, cancellationToken);\r\n        }\r\n\r\n        public Task ApplyReplacedTextAsync(string reason, ITypedCharEffects typedCharEffects, WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken) {\r\n            if (reason != ChangeReasonCompletion)\r\n                return Task.CompletedTask;\r\n\r\n            var pendingChar = session.CurrentCompletion.PendingChar;\r\n            session.CurrentCompletion.ResetPending();\r\n            if (pendingChar == null)\r\n                return Task.CompletedTask;\r\n\r\n            return typedCharEffects.ApplyTypedCharAsync(pendingChar.Value, session, sender, cancellationToken);\r\n        }\r\n\r\n        public async Task SelectCompletionAsync(int selectedIndex, WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken) {\r\n            var current = session.CurrentCompletion;\r\n            var completionList = current.List;\r\n            if (completionList == null)\r\n                throw new InvalidOperationException(\"Cannot select completion when completion list is not active.\");\r\n\r\n            var item = completionList.Items[selectedIndex];\r\n            var change = await session.LanguageSession.GetCompletionChangeAsync(completionList.Span, item, cancellationToken: cancellationToken).ConfigureAwait(false);\r\n            current.List = null;\r\n\r\n            var textChange = ReplaceIncompleteText(session, completionList, change.TextChange);\r\n            current.ChangeEchoPending = true;\r\n\r\n            var writer = sender.StartJsonMessage(\"changes\");\r\n            writer.WriteProperty(\"reason\", ChangeReasonCompletion);\r\n            writer.WritePropertyStartArray(\"changes\");\r\n            writer.WriteChange(textChange);\r\n            writer.WriteEndArray();\r\n            await sender.SendJsonMessageAsync(cancellationToken).ConfigureAwait(false);\r\n        }\r\n\r\n        private static TextChange ReplaceIncompleteText(WorkSession session, CompletionList completionList, TextChange textChange) {\r\n            var completionSpan = completionList.Span;\r\n            if (session.CursorPosition <= completionSpan.Start)\r\n                return textChange;\r\n\r\n            var span = textChange.Span;\r\n            var newStart = Math.Min(span.Start, completionSpan.Start);\r\n            var newLength = Math.Max(span.End, session.CursorPosition) - newStart;\r\n            return new TextChange(new TextSpan(newStart, newLength), textChange.NewText);\r\n        }\r\n\r\n        public async Task SendItemInfoAsync(int selectedIndex, WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken) {\r\n            var list = session.CurrentCompletion.List;\r\n            if (list == null)\r\n                return;\r\n\r\n            var item = list.Items[selectedIndex];\r\n            var description = await session.LanguageSession.GetCompletionDescriptionAsync(item, cancellationToken).ConfigureAwait(false);\r\n            if (description == null)\r\n                return;\r\n\r\n            var writer = sender.StartJsonMessage(\"completionInfo\");\r\n            writer.WriteProperty(\"index\", selectedIndex);\r\n            writer.WritePropertyStartArray(\"parts\");\r\n            writer.WriteTaggedTexts(description.TaggedParts);\r\n            writer.WriteEndArray();\r\n            await sender.SendJsonMessageAsync(cancellationToken).ConfigureAwait(false);\r\n        }\r\n\r\n        public Task ForceCompletionAsync(WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken) {\r\n            return TriggerCompletionAsync(session, sender, cancellationToken, CompletionTrigger.Invoke);\r\n        }\r\n\r\n        public Task CancelCompletionAsync(WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken) {\r\n            session.CurrentCompletion.ResetPending();\r\n            session.CurrentCompletion.List = null;\r\n            return Task.CompletedTask;\r\n        }\r\n\r\n        private Task CheckCompletionAsync(CompletionTrigger trigger, WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken) {\r\n            if (!session.LanguageSession.ShouldTriggerCompletion(session.CursorPosition, trigger))\r\n                return Task.CompletedTask;\r\n\r\n            return TriggerCompletionAsync(session, sender, cancellationToken, trigger);\r\n        }\r\n\r\n        private async Task TriggerCompletionAsync(WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken, CompletionTrigger trigger) {\r\n            var completionList = await session.LanguageSession.GetCompletionsAsync(session.CursorPosition, trigger, cancellationToken: cancellationToken).ConfigureAwait(false);\r\n            if (completionList == null || completionList.Items.IsEmpty)\r\n                return;\r\n\r\n            session.CurrentCompletion.ResetPending();\r\n            session.CurrentCompletion.List = completionList;\r\n            await SendCompletionListAsync(completionList, sender, cancellationToken).ConfigureAwait(false);\r\n        }\r\n\r\n        private Task SendCompletionListAsync(CompletionList completionList, ICommandResultSender sender, CancellationToken cancellationToken) {\r\n            var completionSpan = completionList.Span;\r\n            var writer = sender.StartJsonMessage(\"completions\");\r\n\r\n            writer.WriteProperty(\"commitChars\", completionList.Rules.DefaultCommitCharacters);\r\n            writer.WriteSpanProperty(\"span\", completionSpan);\r\n\r\n            var suggestionItem = completionList.SuggestionModeItem;\r\n            if (suggestionItem != null) {\r\n                writer.WritePropertyStartObject(\"suggestion\");\r\n                writer.WriteProperty(\"displayText\", suggestionItem.DisplayText);\r\n                writer.WriteEndObject();\r\n            }\r\n\r\n            writer.WritePropertyStartArray(\"completions\");\r\n            foreach (var item in completionList.Items) {\r\n                writer.WriteStartObject();\r\n                writer.WriteProperty(\"filterText\", item.FilterText);\r\n                writer.WriteProperty(\"displayText\", item.DisplayText);\r\n                writer.WriteTagsProperty(\"kinds\", item.Tags);\r\n                if (item.Span != completionSpan)\r\n                    writer.WriteSpanProperty(\"span\", item.Span);\r\n                if (item.Rules.MatchPriority > 0)\r\n                    writer.WriteProperty(\"priority\", item.Rules.MatchPriority);\r\n                writer.WriteEndObject();\r\n            }\r\n            writer.WriteEndArray();\r\n\r\n            return sender.SendJsonMessageAsync(cancellationToken);\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/Handlers/Shared/ICompletionSupport.cs",
    "content": "using System.Threading;\r\nusing System.Threading.Tasks;\r\nusing MirrorSharp.Internal.Results;\r\n\r\nnamespace MirrorSharp.Internal.Handlers.Shared {\r\n    internal interface ICompletionSupport {\r\n        Task ApplyTypedCharAsync(char @char, WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken);\r\n        Task ApplyReplacedTextAsync(string reason, ITypedCharEffects typedCharEffects, WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken);\r\n        Task SendItemInfoAsync(int selectedIndex, WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken);\r\n        Task SelectCompletionAsync(int selectedIndex, WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken);\r\n        Task CancelCompletionAsync(WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken);\r\n        Task ForceCompletionAsync(WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken);\r\n    }\r\n}"
  },
  {
    "path": "Common/Internal/Handlers/Shared/ISignatureHelpSupport.cs",
    "content": "using System.Threading;\r\nusing System.Threading.Tasks;\r\nusing MirrorSharp.Internal.Results;\r\n\r\nnamespace MirrorSharp.Internal.Handlers.Shared {\r\n    internal interface ISignatureHelpSupport {\r\n        Task ApplyCursorPositionChangeAsync(WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken);\r\n        Task ApplyTypedCharAsync(char @char, WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken);\r\n        Task ForceSignatureHelpAsync( WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken);\r\n    }\r\n}"
  },
  {
    "path": "Common/Internal/Handlers/Shared/ITypedCharEffects.cs",
    "content": "using System.Threading;\r\nusing System.Threading.Tasks;\r\nusing MirrorSharp.Internal.Results;\r\n\r\nnamespace MirrorSharp.Internal.Handlers.Shared {\r\n    internal interface ITypedCharEffects {\r\n        Task ApplyTypedCharAsync(char @char, WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken);\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/Handlers/Shared/SignatureHelpSupport.cs",
    "content": "using System.Threading;\r\nusing System.Threading.Tasks;\r\nusing MirrorSharp.Advanced;\r\nusing MirrorSharp.Internal.Results;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Handlers.Shared {\r\n    internal class SignatureHelpSupport : ISignatureHelpSupport {\r\n        public Task ApplyCursorPositionChangeAsync(WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken) {\r\n            if (!session.IsRoslyn)\r\n                return Task.CompletedTask;\r\n\r\n            var currentHelp = session.Roslyn.CurrentSignatureHelp;\r\n            if (currentHelp == null)\r\n                return Task.CompletedTask;\r\n\r\n            if (!currentHelp.Value.Items.ApplicableSpan.Contains(session.CursorPosition)) {\r\n                session.Roslyn.CurrentSignatureHelp = null;\r\n                return SendSignatureHelpAsync(null, sender, cancellationToken);\r\n            }\r\n\r\n            // not sure if there is any better way to recalculate the selected parameter only,\r\n            // but doesn't seem so at the moment\r\n            return TryApplySignatureHelpAsync(currentHelp.Value.Provider, new SignatureHelpTriggerInfoData(SignatureHelpTriggerReason.RetriggerCommand), session, sender, cancellationToken, true);\r\n        }\r\n\r\n        public Task ApplyTypedCharAsync(char @char, WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken) {\r\n            if (!session.IsRoslyn)\r\n                return Task.CompletedTask;\r\n\r\n            var trigger = new SignatureHelpTriggerInfoData(SignatureHelpTriggerReason.TypeCharCommand, @char);\r\n            if (session.Roslyn.CurrentSignatureHelp != null) {\r\n                var provider = session.Roslyn.CurrentSignatureHelp.Value.Provider;\r\n                if (provider.IsRetriggerCharacter(@char)) {\r\n                    session.Roslyn.CurrentSignatureHelp = null;\r\n                    return SendSignatureHelpAsync(null, sender, cancellationToken);\r\n                }\r\n\r\n                return TryApplySignatureHelpAsync(provider, trigger, session, sender, cancellationToken, sendIfEmpty: true);\r\n            }\r\n\r\n            return TryApplySignatureHelpAsync(session, sender, cancellationToken, trigger);\r\n        }\r\n\r\n        public Task ForceSignatureHelpAsync(WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken) {\r\n            if (!session.IsRoslyn)\r\n                return Task.CompletedTask;\r\n\r\n            var trigger = new SignatureHelpTriggerInfoData(SignatureHelpTriggerReason.InvokeSignatureHelpCommand);\r\n            return TryApplySignatureHelpAsync(session, sender, cancellationToken, trigger);\r\n        }\r\n\r\n        private async Task TryApplySignatureHelpAsync(WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken, SignatureHelpTriggerInfoData trigger) {\r\n            foreach (var provider in session.Roslyn.SignatureHelpProviders) {\r\n                if (await TryApplySignatureHelpAsync(provider, trigger, session, sender, cancellationToken).ConfigureAwait(false))\r\n                    return;\r\n            }\r\n        }\r\n\r\n        private async Task<bool> TryApplySignatureHelpAsync(ISignatureHelpProviderWrapper provider, SignatureHelpTriggerInfoData trigger, WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken, bool sendIfEmpty = false) {\r\n            // ReSharper disable once PossibleInvalidOperationException\r\n            if (trigger.TriggerReason == SignatureHelpTriggerReason.TypeCharCommand && !provider.IsTriggerCharacter(trigger.TriggerCharacter!.Value))\r\n                return false;\r\n\r\n            var options = SignatureHelpOptionsData.From(session.Roslyn.Project);\r\n            var help = await provider.GetItemsAsync(session.Roslyn.Document, session.CursorPosition, trigger, options, cancellationToken).ConfigureAwait(false);\r\n            if (!sendIfEmpty && help == null)\r\n                return false;\r\n\r\n            session.Roslyn.CurrentSignatureHelp = help != null\r\n                ? new CurrentSignatureHelp(provider, help)\r\n                : null;\r\n            await SendSignatureHelpAsync(help, sender, cancellationToken).ConfigureAwait(false);\r\n            return true;\r\n        }\r\n\r\n        private Task SendSignatureHelpAsync(SignatureHelpItemsData? items, ICommandResultSender sender, CancellationToken cancellationToken) {\r\n            var writer = sender.StartJsonMessage(\"signatures\");\r\n            if (items == null)\r\n                return sender.SendJsonMessageAsync(cancellationToken);\r\n\r\n            var selectedItemIndex = items.SelectedItemIndex;\r\n            writer.WriteSpanProperty(\"span\", items.ApplicableSpan);\r\n            writer.WritePropertyStartArray(\"signatures\");\r\n            var itemIndex = 0;\r\n            foreach (var item in items.Items) {\r\n                writer.WriteStartObject();\r\n                if (selectedItemIndex == null && items.ArgumentCount <= item.ParameterCount)\r\n                    selectedItemIndex = itemIndex;\r\n                var isSelected = (itemIndex == selectedItemIndex);\r\n                if (isSelected)\r\n                    writer.WriteProperty(\"selected\", true);\r\n\r\n                WriteSignatureParts(writer, item, items, out var selectedParameter);\r\n                if (isSelected)\r\n                    WriteSignatureDocumentation(writer, item, selectedParameter, cancellationToken);\r\n\r\n                writer.WriteEndObject();\r\n                itemIndex += 1;\r\n            }\r\n            writer.WriteEndArray();\r\n            return sender.SendJsonMessageAsync(cancellationToken);\r\n        }\r\n\r\n        private void WriteSignatureParts(\r\n            IFastJsonWriter writer,\r\n            SignatureHelpItemData item,\r\n            SignatureHelpItemsData items,\r\n            out SignatureHelpParameterData? selectedParameter\r\n        ) {\r\n            selectedParameter = null;\r\n            writer.WritePropertyStartArray(\"parts\");\r\n            writer.WriteTaggedTexts(item.PrefixDisplayParts);\r\n            var parameterIndex = 0;\r\n            foreach (var parameter in item.Parameters) {\r\n                if (parameterIndex > 0)\r\n                    writer.WriteTaggedTexts(item.SeparatorDisplayParts);\r\n                var selected = items.ArgumentIndex == parameterIndex;\r\n                writer.WriteTaggedTexts(parameter.PrefixDisplayParts, selected);\r\n                writer.WriteTaggedTexts(parameter.DisplayParts, selected);\r\n                writer.WriteTaggedTexts(parameter.SuffixDisplayParts, selected);\r\n                if (selected)\r\n                    selectedParameter = parameter;\r\n                parameterIndex += 1;\r\n            }\r\n            writer.WriteTaggedTexts(item.SuffixDisplayParts);\r\n            writer.WriteEndArray();\r\n        }\r\n\r\n        private void WriteSignatureDocumentation(\r\n            IFastJsonWriter writer,\r\n            SignatureHelpItemData selectedItem,\r\n            SignatureHelpParameterData? selectedParameter,\r\n            CancellationToken cancellationToken\r\n        ) {\r\n            writer.WritePropertyStartObject(\"info\");\r\n            writer.WritePropertyStartArray(\"parts\");\r\n            var documentation = selectedItem.DocumentationFactory(cancellationToken);\r\n            writer.WriteTaggedTexts(documentation);\r\n            writer.WriteEndArray();\r\n\r\n            if (selectedParameter == null) {\r\n                writer.WriteEndObject();\r\n                return;\r\n            }\r\n\r\n            writer.WritePropertyStartObject(\"parameter\");\r\n            writer.WriteProperty(\"name\", selectedParameter.Name);\r\n\r\n            writer.WritePropertyStartArray(\"parts\");\r\n            var parameterDocumentation = selectedParameter.DocumentationFactory(cancellationToken);\r\n            writer.WriteTaggedTexts(parameterDocumentation);\r\n            writer.WriteEndArray();\r\n\r\n            writer.WriteEndObject();\r\n            writer.WriteEndObject();\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/Handlers/Shared/TypedCharEffects.cs",
    "content": "using System.Threading;\r\nusing System.Threading.Tasks;\r\nusing MirrorSharp.Internal.Results;\r\n\r\nnamespace MirrorSharp.Internal.Handlers.Shared {\r\n    internal class TypedCharEffects : ITypedCharEffects {\r\n        private readonly ICompletionSupport _completion;\r\n        private readonly ISignatureHelpSupport _signatureHelp;\r\n\r\n        public TypedCharEffects(ICompletionSupport completion, ISignatureHelpSupport signatureHelp) {\r\n            _completion = completion;\r\n            _signatureHelp = signatureHelp;\r\n        }\r\n\r\n        public async Task ApplyTypedCharAsync(char @char, WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken) {\r\n            await _completion.ApplyTypedCharAsync(@char, session, sender, cancellationToken).ConfigureAwait(false);\r\n            await _signatureHelp.ApplyTypedCharAsync(@char, session, sender, cancellationToken).ConfigureAwait(false);\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "Common/Internal/Handlers/SignatureHelpStateHandler.cs",
    "content": "using System;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing MirrorSharp.Internal.Handlers.Shared;\r\nusing MirrorSharp.Internal.Results;\r\n\r\nnamespace MirrorSharp.Internal.Handlers {\r\n    internal class SignatureHelpStateHandler : ICommandHandler {\r\n        public char CommandId => CommandIds.SignatureHelpState;\r\n        private readonly ISignatureHelpSupport _signatureHelp;\r\n\r\n        public SignatureHelpStateHandler(ISignatureHelpSupport signatureHelp) {\r\n            _signatureHelp = signatureHelp;\r\n        }\r\n\r\n        public Task ExecuteAsync(AsyncData data, WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken) {\r\n            var @char = FastConvert.Utf8BytesToChar(data.GetFirst().Span);\r\n            if (@char != 'F') {\r\n                // ReSharper disable once HeapView.BoxingAllocation\r\n                throw new FormatException($\"Unknown SignatureHelp command '{@char}'.\");\r\n            }\r\n\r\n            return _signatureHelp.ForceSignatureHelpAsync(session, sender, cancellationToken);\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/Handlers/SlowUpdateHandler.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.Immutable;\r\nusing System.Linq;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.CodeActions;\r\nusing Microsoft.CodeAnalysis.CodeFixes;\r\nusing MirrorSharp.Advanced;\r\nusing MirrorSharp.Internal.Results;\r\nusing MirrorSharp.Internal.Roslyn;\r\n\r\nnamespace MirrorSharp.Internal.Handlers {\r\n    internal class SlowUpdateHandler : ICommandHandler {\r\n        private readonly ISlowUpdateExtension? _extension;\r\n\r\n        public SlowUpdateHandler(ISlowUpdateExtension? extension) {\r\n            _extension = extension;\r\n        }\r\n\r\n        public char CommandId => CommandIds.SlowUpdate;\r\n\r\n        public async Task ExecuteAsync(AsyncData data, WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken) {\r\n            // Temporary suppression, need to figure out the best approach here.\r\n            // ReSharper disable once HeapView.BoxingAllocation\r\n            var diagnostics = (IReadOnlyList<Diagnostic>)await session.LanguageSession.GetDiagnosticsAsync(cancellationToken).ConfigureAwait(false);\r\n            object? extensionResult = null;\r\n            try {\r\n                if (_extension != null) {\r\n                    var mutableDiagnostics = diagnostics.ToList();\r\n                    extensionResult = await _extension.ProcessAsync(session, mutableDiagnostics, cancellationToken).ConfigureAwait(false);\r\n                    diagnostics = mutableDiagnostics;\r\n                }\r\n                await SendSlowUpdateAsync(diagnostics, session, extensionResult, sender, cancellationToken).ConfigureAwait(false);\r\n            }\r\n            finally {\r\n                (extensionResult as IDisposable)?.Dispose();\r\n            }\r\n        }\r\n\r\n        private async Task SendSlowUpdateAsync(IReadOnlyList<Diagnostic> diagnostics, WorkSession session, object? extensionResult, ICommandResultSender sender, CancellationToken cancellationToken) {\r\n            if (session.IsRoslyn)\r\n                session.Roslyn.CurrentCodeActions.Clear();\r\n            var writer = sender.StartJsonMessage(\"slowUpdate\");\r\n            writer.WritePropertyStartArray(\"diagnostics\");\r\n            foreach (var diagnostic in diagnostics) {\r\n                writer.WriteStartObject();\r\n                writer.WriteProperty(\"id\", diagnostic.Id);\r\n                writer.WriteProperty(\"message\", diagnostic.GetMessage());\r\n                writer.WriteProperty(\"severity\", FastConvert.EnumToLowerInvariantString(diagnostic.Severity));\r\n                writer.WritePropertyStartArray(\"tags\");\r\n                foreach (var tag in diagnostic.Descriptor.CustomTags) {\r\n                    if (tag != WellKnownDiagnosticTags.Unnecessary)\r\n                        continue;\r\n                    writer.WriteValue(tag.ToLowerInvariant());\r\n                }\r\n                writer.WriteEndArray();\r\n                writer.WriteSpanProperty(\"span\", diagnostic.Location.SourceSpan);\r\n\r\n                var actions = await GetCodeActionsAsync(diagnostic, session, cancellationToken).ConfigureAwait(false);\r\n                if (actions.Length > 0) {\r\n                    writer.WritePropertyStartArray(\"actions\");\r\n                    WriteActions(writer, actions, session);\r\n                    writer.WriteEndArray();\r\n                }\r\n                writer.WriteEndObject();\r\n            }\r\n            writer.WriteEndArray();\r\n            if (_extension != null) {\r\n                writer.WritePropertyName(\"x\");\r\n                _extension.WriteResult(writer, extensionResult, session);\r\n            }\r\n            await sender.SendJsonMessageAsync(cancellationToken).ConfigureAwait(false);\r\n        }\r\n\r\n        private void WriteActions(IFastJsonWriter writer, ImmutableArray<CodeAction> actions, WorkSession session) {\r\n            var roslynSession = session.Roslyn;\r\n            var codeActionInternals = roslynSession.RoslynInternals.CodeAction;\r\n            foreach (var action in actions) {\r\n                if (action is CodeActionWithOptions)\r\n                    continue;\r\n\r\n                if (codeActionInternals.IsInlinable(action)) {\r\n                    WriteActions(writer, codeActionInternals.GetNestedCodeActions(action), session);\r\n                    continue;\r\n                }\r\n                var id = roslynSession.CurrentCodeActions.Count;\r\n                roslynSession.CurrentCodeActions.Add(action);\r\n                writer.WriteStartObject();\r\n                writer.WriteProperty(\"id\", id);\r\n                writer.WriteProperty(\"title\", action.Title);\r\n                writer.WriteEndObject();\r\n            }\r\n        }\r\n\r\n        private async ValueTask<ImmutableArray<CodeAction>> GetCodeActionsAsync(Diagnostic diagnostic, WorkSession session, CancellationToken cancellationToken) {\r\n            if (!session.IsRoslyn)\r\n                return ImmutableArray<CodeAction>.Empty;\r\n\r\n            // I don't think this can be avoided.\r\n            // ReSharper disable once HeapView.ClosureAllocation\r\n            ImmutableArray<CodeAction>.Builder? actionsBuilder = null;\r\n            Action<CodeAction, ImmutableArray<Diagnostic>> registerCodeFix = (action, _) => {\r\n                actionsBuilder ??= ImmutableArray.CreateBuilder<CodeAction>();\r\n                actionsBuilder.Add(action);\r\n            };\r\n            var fixContext = new CodeFixContext(session.Roslyn.Document, diagnostic, registerCodeFix, cancellationToken);\r\n            var providers = session.Roslyn.CodeFixProviders.GetValueOrDefault(diagnostic.Id);\r\n            if (providers == null)\r\n                return ImmutableArray<CodeAction>.Empty;\r\n\r\n            foreach (var provider in providers) {\r\n                await provider.RegisterCodeFixesAsync(fixContext).ConfigureAwait(false);\r\n            }\r\n            actionsBuilder?.Sort(session.Roslyn.CodeActionPriorityComparison);\r\n            return actionsBuilder?.ToImmutable() ?? ImmutableArray<CodeAction>.Empty;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/Handlers/TypeCharHandler.cs",
    "content": "using System;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing MirrorSharp.Internal.Handlers.Shared;\r\nusing MirrorSharp.Internal.Results;\r\n\r\nnamespace MirrorSharp.Internal.Handlers {\r\n    internal class TypeCharHandler : ICommandHandler {\r\n        public char CommandId => CommandIds.TypeChar;\r\n        private readonly ITypedCharEffects _effects;\r\n\r\n        public TypeCharHandler(ITypedCharEffects effects) {\r\n            _effects = effects;\r\n        }\r\n\r\n        public Task ExecuteAsync(AsyncData data, WorkSession session, ICommandResultSender sender, CancellationToken cancellationToken) {\r\n            var charSpan = data.GetFirst().Span;\r\n            if (charSpan.IsEmpty) // Diagnosing https://github.com/ashmind/SharpLab/issues/682 -- once that's resolved this can be removed\r\n                throw new ArgumentException($\"Attempted to call TypeChar with empty char. MightHaveNext: {data.MightHaveNext}.\", nameof(data));\r\n\r\n            var @char = FastConvert.Utf8BytesToChar(charSpan);\r\n            session.ReplaceText(FastConvert.CharToString(@char), session.CursorPosition, 0);\r\n            session.CursorPosition += 1;\r\n\r\n            return _effects.ApplyTypedCharAsync(@char, session, sender, cancellationToken);\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "Common/Internal/IConnectionOptions.cs",
    "content": "using MirrorSharp.Advanced;\r\n\r\nnamespace MirrorSharp.Internal {\r\n    internal interface IConnectionOptions {\r\n        bool IncludeExceptionDetails { get; set; }\r\n    }\r\n}"
  },
  {
    "path": "Common/Internal/ILanguageManagerOptions.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing MirrorSharp.Internal.Abstraction;\r\n\r\nnamespace MirrorSharp.Internal {\r\n    internal interface ILanguageManagerOptions {\r\n        IDictionary<string, Func<ILanguage>> Languages { get; }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/ILanguageSessionExtensions.cs",
    "content": "using System;\r\nusing MirrorSharp.Advanced.EarlyAccess;\r\n\r\nnamespace MirrorSharp.Internal {\r\n    internal interface ILanguageSessionExtensions {\r\n        IRoslynSourceTextGuard? RoslynSourceTextGuard { get; }\r\n        IRoslynCompilationGuard? RoslynCompilationGuard { get; }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/IMiddlewareOptions.cs",
    "content": "using System.Collections.Generic;\r\n\r\nnamespace MirrorSharp.Internal {\r\n    internal interface IMiddlewareOptions : IWorkSessionOptions, IConnectionOptions, ILanguageManagerOptions {\r\n        IList<(char commandId, string commandText)> StatusTestCommands { get; }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/IWorkSessionOptions.cs",
    "content": "﻿namespace MirrorSharp.Internal {\r\n    internal interface IWorkSessionOptions {\r\n        bool SelfDebugEnabled { get; }\r\n    }\r\n}"
  },
  {
    "path": "Common/Internal/ImmutableExtensionServices.cs",
    "content": "using MirrorSharp.Advanced;\r\nusing MirrorSharp.Advanced.EarlyAccess;\r\n\r\nnamespace MirrorSharp.Internal {\r\n    internal class ImmutableExtensionServices : ILanguageSessionExtensions {\r\n        public ImmutableExtensionServices(\r\n            ISetOptionsFromClientExtension? setOptionsFromClient,\r\n            ISlowUpdateExtension? slowUpdate,\r\n            IRoslynSourceTextGuard? roslynSourceTextGuard,\r\n            IRoslynCompilationGuard? roslynCompilationGuard,\r\n            IConnectionSendViewer? connectionSendViewer,\r\n            IExceptionLogger? exceptionLogger\r\n        ) {\r\n            SetOptionsFromClient = setOptionsFromClient;\r\n            SlowUpdate = slowUpdate;\r\n            RoslynSourceTextGuard = roslynSourceTextGuard;\r\n            RoslynCompilationGuard = roslynCompilationGuard;\r\n            ConnectionSendViewer = connectionSendViewer;\r\n            ExceptionLogger = exceptionLogger;\r\n        }\r\n\r\n        public ISetOptionsFromClientExtension? SetOptionsFromClient { get; }\r\n        public ISlowUpdateExtension? SlowUpdate { get; }\r\n        public IRoslynSourceTextGuard? RoslynSourceTextGuard { get; }\r\n        public IRoslynCompilationGuard? RoslynCompilationGuard { get; }\r\n        public IConnectionSendViewer? ConnectionSendViewer { get; }\r\n        public IExceptionLogger? ExceptionLogger { get; }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/LanguageManager.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Threading;\r\nusing MirrorSharp.Internal.Abstraction;\r\n\r\nnamespace MirrorSharp.Internal {\r\n    internal class LanguageManager {\r\n        private readonly IDictionary<string, Lazy<ILanguage>> _languages = new Dictionary<string, Lazy<ILanguage>>();\r\n\r\n        // This is run only once per app:\r\n        // ReSharper disable HeapView.ClosureAllocation\r\n        // ReSharper disable HeapView.DelegateAllocation\r\n        // ReSharper disable HeapView.ObjectAllocation.Possible\r\n        public LanguageManager(ILanguageManagerOptions options) {\r\n            foreach (var language in options.Languages) {\r\n                _languages.Add(language.Key, new Lazy<ILanguage>(language.Value, LazyThreadSafetyMode.ExecutionAndPublication));\r\n            }\r\n        }\r\n        // ReSharper restore HeapView.ObjectAllocation.Possible\r\n        // ReSharper restore HeapView.DelegateAllocation\r\n        // ReSharper restore HeapView.ClosureAllocation\r\n\r\n        public ILanguage GetLanguage(string name) {\r\n            if (!_languages.TryGetValue(name, out var lazy))\r\n                throw new Exception($\"Language '{name}' was not enabled in MirrorSharpOptions.\");\r\n\r\n            return lazy.Value;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/MetadataReferenceFactory.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing System.IO;\r\nusing System.Linq;\r\nusing System.Xml.Linq;\r\nusing Microsoft.CodeAnalysis;\r\n\r\nnamespace MirrorSharp.Internal {\r\n    internal static class MetadataReferenceFactory {\r\n        public static IEnumerable<MetadataReference> CreateFromFilesSlow(IEnumerable<string> paths) {\r\n            return paths.Select(CreateMetadataReferenceWithXmlDocumentationSlow);\r\n        }\r\n\r\n        private static MetadataReference CreateMetadataReferenceWithXmlDocumentationSlow(string path) {\r\n            var xmlPath = Path.Combine(Path.GetDirectoryName(path)!, Path.GetFileNameWithoutExtension(path) + \".xml\");\r\n            return MetadataReference.CreateFromFile(path, documentation: FindXmlDocumentationSlow(xmlPath));\r\n        }\r\n\r\n        private static XmlDocumentationProvider? FindXmlDocumentationSlow(string xmlPath, char[]? charBuffer = null) {\r\n            if (!File.Exists(xmlPath))\r\n                return null;\r\n\r\n            // Might not be required once https://github.com/dotnet/roslyn/issues/23685 is done\r\n            const int RedirectCheckBlockLength = 1024;\r\n\r\n            string block;\r\n            using (var reader = new StreamReader(xmlPath)) {\r\n                charBuffer ??= new char[RedirectCheckBlockLength];\r\n                var count = reader.ReadBlock(charBuffer, 0, RedirectCheckBlockLength);\r\n                block = new string(charBuffer, 0, count);\r\n            }\r\n\r\n            if (block.Length < RedirectCheckBlockLength) {\r\n                var xml = XDocument.Parse(block);\r\n                var redirect = xml.Root.Attribute(\"redirect\")?.Value;\r\n                if (redirect != null)\r\n                    return FindXmlDocumentationSlow(ExpandRedirectVariablesSlow(redirect), charBuffer);\r\n            }\r\n\r\n            return XmlDocumentationProvider.CreateFromFile(xmlPath);\r\n        }\r\n\r\n        private static string ExpandRedirectVariablesSlow(string redirect) {\r\n            // https://github.com/dotnet/roslyn/issues/13529#issuecomment-245097691\r\n            // only supporting %PROGRAMFILESDIR% for now\r\n            var programFilesDir = Environment\r\n                .GetFolderPath(Environment.SpecialFolder.ProgramFilesX86)\r\n                .TrimEnd(Path.DirectorySeparatorChar) + Path.DirectorySeparatorChar;\r\n            return redirect.Replace(\"%PROGRAMFILESDIR%\", programFilesDir);\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/MiddlewareBase.cs",
    "content": "using System;\r\nusing System.Buffers;\r\nusing System.Collections.Generic;\r\nusing System.Collections.Immutable;\r\nusing System.Net.WebSockets;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis;\r\nusing MirrorSharp.Internal.Handlers;\r\nusing MirrorSharp.Internal.Handlers.Shared;\r\nusing MirrorSharp.Internal.Results;\r\n\r\nnamespace MirrorSharp.Internal {\r\n    internal abstract class MiddlewareBase {\r\n        private readonly LanguageManager _languageManager;\r\n        private readonly IMiddlewareOptions _options;\r\n        private readonly ImmutableExtensionServices _extensions;\r\n        private readonly ImmutableArray<ICommandHandler> _handlers;\r\n\r\n        protected MiddlewareBase(IMiddlewareOptions options, ImmutableExtensionServices extensions)\r\n            : this(new LanguageManager(Argument.NotNull(nameof(options), options)), options, extensions) {\r\n        }\r\n\r\n        internal MiddlewareBase(LanguageManager languageManager, IMiddlewareOptions options, ImmutableExtensionServices extensions) {\r\n            _options = options;\r\n            _extensions = extensions;\r\n            _languageManager = languageManager;\r\n            _handlers = CreateHandlersIndexedByCommandId();\r\n        }\r\n\r\n        private ImmutableArray<ICommandHandler> CreateHandlersIndexedByCommandId() {\r\n            var handlers = new ICommandHandler[26];\r\n            foreach (var handler in CreateHandlers()) {\r\n                handlers[handler.CommandId - 'A'] = handler;\r\n            }\r\n            return ImmutableArray.CreateRange(handlers);\r\n        }\r\n\r\n        private IReadOnlyCollection<ICommandHandler> CreateHandlers() {\r\n            var completion = new CompletionSupport();\r\n            var signatureHelp = new SignatureHelpSupport();\r\n            var typedCharEffects = new TypedCharEffects(completion, signatureHelp);\r\n            return new ICommandHandler[] {\r\n                new ApplyDiagnosticActionHandler(),\r\n                new CompletionStateHandler(completion),\r\n                new MoveCursorHandler(signatureHelp),\r\n                new ReplaceTextHandler(signatureHelp, completion, typedCharEffects, ArrayPool<char>.Shared),\r\n                new RequestSelfDebugDataHandler(),\r\n                #pragma warning disable CS0618 // Type or member is obsolete\r\n                new SetOptionsHandler(_languageManager, ArrayPool<char>.Shared, _extensions.SetOptionsFromClient),\r\n                #pragma warning restore CS0618\r\n                new SignatureHelpStateHandler(signatureHelp),\r\n                new RequestInfoTipHandler(),\r\n                #pragma warning disable CS0618 // Type or member is obsolete\r\n                new SlowUpdateHandler(_extensions.SlowUpdate),\r\n                #pragma warning restore CS0618 \r\n                new TypeCharHandler(typedCharEffects)\r\n            };\r\n        }\r\n\r\n        internal ICommandHandler GetHandler(char commandId) {\r\n            return _handlers[commandId - 'A'];\r\n        }\r\n\r\n        protected async Task SlowTestStatusAsync(CancellationToken cancellationToken) {\r\n            using var sender = new NullCommandResultSender(ArrayPool<byte>.Shared);\r\n            using var session = StartWorkSession();\r\n\r\n            Task ExecuteAsync(char commandId, string command) {\r\n                var byteCount = Encoding.UTF8.GetByteCount(command);\r\n                byte[]? bytes = null;\r\n                try {\r\n                    bytes = ArrayPool<byte>.Shared.Rent(byteCount);\r\n                    Encoding.UTF8.GetBytes(command, 0, command.Length, bytes, 0);\r\n                    var asyncData = new AsyncData(bytes.AsMemory(0, byteCount), false, () => throw new());\r\n                    return GetHandler(commandId).ExecuteAsync(asyncData, session, sender, cancellationToken);\r\n                }\r\n                finally {\r\n                    if (bytes != null)\r\n                        ArrayPool<byte>.Shared.Return(bytes);\r\n                }\r\n            }\r\n\r\n            if (_options.StatusTestCommands.Count == 0)\r\n                throw new NotSupportedException(\"TODO: Implement default command sequence before a NuGet release\");\r\n\r\n            foreach (var (commandId, commandText) in _options.StatusTestCommands) {\r\n                await ExecuteAsync(commandId, commandText).ConfigureAwait(false);\r\n            }\r\n        }\r\n\r\n        protected async Task WebSocketLoopAsync(WebSocket socket, CancellationToken cancellationToken) {\r\n            WorkSession? session = null;\r\n            Connection? connection = null;\r\n            try {\r\n                session = StartWorkSession();\r\n                connection = new Connection(socket, session, _handlers, ArrayPool<byte>.Shared, _extensions.ConnectionSendViewer, _extensions.ExceptionLogger, _options);\r\n\r\n                while (connection.IsConnected) {\r\n                    try {\r\n                        await connection.ReceiveAndProcessAsync(cancellationToken).ConfigureAwait(false);\r\n                    }\r\n                    catch {\r\n                        // this is sent back by connection itself\r\n                    }\r\n                }\r\n            }\r\n            finally {\r\n                if (connection != null) {\r\n                    connection.Dispose();\r\n                }\r\n                else {\r\n                    session?.Dispose();\r\n                }\r\n            }\r\n        }\r\n\r\n        private WorkSession StartWorkSession() {\r\n            return new WorkSession(_languageManager.GetLanguage(LanguageNames.CSharp), _options, _extensions);\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/PooledGrowableArray.cs",
    "content": "using System;\r\nusing System.Buffers;\r\n\r\nnamespace MirrorSharp.Internal {\r\n    internal struct PooledGrowableArray<T> : IDisposable {\r\n        private readonly ArrayPool<T> _pool;\r\n        private T[] _array;\r\n\r\n        public PooledGrowableArray(int initialLength, ArrayPool<T> pool) {\r\n            _pool = pool;\r\n            _array = pool.Rent(initialLength);\r\n        }\r\n\r\n        public T[] Array => _array;\r\n\r\n        public void Grow(int newLength) {\r\n            if (newLength <= _array.Length)\r\n                return;\r\n\r\n            var actualNewLength = _array.Length * (int)Math.Pow(2, Math.Log(Math.Ceiling((double)newLength / _array.Length), 2));\r\n            var newArray = (T[]?)null;\r\n            var oldArray = (T[]?)null;\r\n            try {\r\n                newArray = _pool.Rent(actualNewLength);\r\n                System.Array.Copy(_array, 0, newArray, 0, _array.Length);\r\n                oldArray = _array;\r\n                _array = newArray;\r\n            }\r\n            catch (Exception) {\r\n                if (_array != newArray && newArray != null)\r\n                    _pool.Return(newArray);\r\n                throw;\r\n            }\r\n            finally {\r\n                if (_array != oldArray && oldArray != null)\r\n                    _pool.Return(oldArray);\r\n            }\r\n        }\r\n\r\n        public void Dispose() {\r\n            _pool.Return(_array);\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/PreloadedAnalyzerAssemblyLoader.cs",
    "content": "﻿using System.Reflection;\r\nusing Microsoft.CodeAnalysis;\r\n\r\nnamespace MirrorSharp.Internal {\r\n    internal class PreloadedAnalyzerAssemblyLoader : IAnalyzerAssemblyLoader {\r\n        private readonly Assembly _assembly;\r\n\r\n        public PreloadedAnalyzerAssemblyLoader(Assembly assembly) {\r\n            _assembly = assembly;\r\n        }\r\n\r\n        public Assembly LoadFromPath(string fullPath) {\r\n            return _assembly;\r\n        }\r\n\r\n        public void AddDependencyLocation(string fullPath) {\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/Results/ICommandResultSender.cs",
    "content": "﻿using System.Threading;\r\nusing System.Threading.Tasks;\r\nusing MirrorSharp.Advanced;\r\n\r\nnamespace MirrorSharp.Internal.Results {\r\n    internal interface ICommandResultSender {\r\n        IFastJsonWriter StartJsonMessage(string messageTypeName);\r\n        Task SendJsonMessageAsync(CancellationToken cancellationToken);\r\n    }\r\n}"
  },
  {
    "path": "Common/Internal/Results/NullCommandResultSender.cs",
    "content": "using System;\r\nusing System.Buffers;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing MirrorSharp.Advanced;\r\n\r\nnamespace MirrorSharp.Internal.Results {\r\n    internal class NullCommandResultSender : ICommandResultSender, IDisposable {\r\n        private readonly FastUtf8JsonWriter _jsonWriter;\r\n\r\n        public NullCommandResultSender(ArrayPool<byte> bufferPool) {\r\n            _jsonWriter = new FastUtf8JsonWriter(bufferPool);\r\n        }\r\n\r\n        public Task SendJsonMessageAsync(CancellationToken cancellationToken) {\r\n            return cancellationToken.IsCancellationRequested ? Task.FromCanceled(cancellationToken) : Task.CompletedTask;\r\n        }\r\n\r\n        public IFastJsonWriter StartJsonMessage(string messageTypeName) {\r\n            _jsonWriter.Reset();\r\n            _jsonWriter.WriteStartObject();\r\n            return _jsonWriter;\r\n        }\r\n\r\n        public void Dispose() {\r\n            _jsonWriter.Dispose();\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/Roslyn/CSharpLanguage.cs",
    "content": "using System;\r\nusing Microsoft.CodeAnalysis;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn {\r\n    internal class CSharpLanguage : RoslynLanguageBase {\r\n        public CSharpLanguage(MirrorSharpCSharpOptions options) : base(\r\n            LanguageNames.CSharp,\r\n            \"Microsoft.CodeAnalysis.CSharp.Features\",\r\n            \"Microsoft.CodeAnalysis.CSharp.Workspaces\",\r\n            options\r\n        ) {\r\n        }\r\n\r\n        protected override bool ShouldConsiderForHostServices(Type type)\r\n            => base.ShouldConsiderForHostServices(type)\r\n            // IntelliCode type, not available in normal environments\r\n            && type.FullName != \"Microsoft.CodeAnalysis.ExternalAccess.Pythia.PythiaSignatureHelpProvider\";\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/Roslyn/IRoslynLanguageOptions.cs",
    "content": "using System;\r\nusing System.Collections.Immutable;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.Diagnostics;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn {\r\n    internal interface IRoslynLanguageOptions {\r\n        ParseOptions ParseOptions { get; }\r\n        CompilationOptions CompilationOptions { get; }\r\n        ImmutableList<MetadataReference> MetadataReferences { get; }\r\n        ImmutableList<AnalyzerReference> AnalyzerReferences { get; }\r\n\r\n        bool IsScript { get; }\r\n        Type? HostObjectType { get; }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/Roslyn/Internals/CodeActionPriority.cs",
    "content": "namespace MirrorSharp.Internal.Roslyn.Internals {\r\n    internal enum CodeActionPriority {\r\n        None = 0,\r\n        Low = 1,\r\n        Medium = 2,\r\n        High = 3\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/Roslyn/Internals/ICodeActionInternals.cs",
    "content": "using System.Collections.Immutable;\r\nusing Microsoft.CodeAnalysis.CodeActions;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn.Internals {\r\n    internal interface ICodeActionInternals {\r\n        bool IsInlinable(CodeAction action);\r\n        CodeActionPriority GetPriority(CodeAction action);\r\n        ImmutableArray<CodeAction> GetNestedCodeActions(CodeAction action);\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/Roslyn/Internals/ISignatureHelpProviderWrapper.cs",
    "content": "using System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn.Internals {\r\n    internal interface ISignatureHelpProviderWrapper {\r\n        bool IsTriggerCharacter(char ch);\r\n        bool IsRetriggerCharacter(char ch);\r\n        Task<SignatureHelpItemsData?> GetItemsAsync(\r\n            Document document, int position,\r\n            SignatureHelpTriggerInfoData triggerInfo,\r\n            SignatureHelpOptionsData options,\r\n            CancellationToken cancellationToken\r\n        );\r\n    }\r\n}"
  },
  {
    "path": "Common/Internal/Roslyn/Internals/ISignatureHelpProviderWrapperResolver.cs",
    "content": "using System.Collections.Generic;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn.Internals {\r\n    internal interface ISignatureHelpProviderWrapperResolver {\r\n        IEnumerable<ISignatureHelpProviderWrapper> GetAllSlow(string languageName);\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/Roslyn/Internals/IWorkspaceAnalyzerOptionsInternals.cs",
    "content": "using Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.Diagnostics;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn.Internals {\r\n    internal interface IWorkspaceAnalyzerOptionsInternals {\r\n        AnalyzerOptions New(AnalyzerOptions options, Project project);\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/Roslyn/Internals/SignatureHelpItemData.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.Immutable;\r\nusing System.Threading;\r\nusing Microsoft.CodeAnalysis;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn.Internals {\r\n    internal struct SignatureHelpItemData {\r\n        // see FromInternalTypeExpressionSlow\r\n        public SignatureHelpItemData(\r\n           Func<CancellationToken, IEnumerable<TaggedText>> documentationFactory,\r\n           ImmutableArray<TaggedText> prefixDisplayParts,\r\n           ImmutableArray<TaggedText> separatorDisplayParts,\r\n           ImmutableArray<TaggedText> suffixDisplayParts,\r\n           IEnumerable<SignatureHelpParameterData> parameters,\r\n           int parameterCount\r\n        ) {\r\n            DocumentationFactory = documentationFactory;\r\n            PrefixDisplayParts = prefixDisplayParts;\r\n            SeparatorDisplayParts = separatorDisplayParts;\r\n            SuffixDisplayParts = suffixDisplayParts;\r\n            Parameters = parameters;\r\n            ParameterCount = parameterCount;\r\n        }\r\n\r\n        public Func<CancellationToken, IEnumerable<TaggedText>> DocumentationFactory { get; }\r\n        public ImmutableArray<TaggedText> PrefixDisplayParts { get; }\r\n        public ImmutableArray<TaggedText> SeparatorDisplayParts { get; }\r\n        public ImmutableArray<TaggedText> SuffixDisplayParts { get; }\r\n        public IEnumerable<SignatureHelpParameterData> Parameters { get; }\r\n        public int ParameterCount { get; }\r\n    }\r\n}"
  },
  {
    "path": "Common/Internal/Roslyn/Internals/SignatureHelpItemsData.cs",
    "content": "using System.Collections.Generic;\r\nusing Microsoft.CodeAnalysis.Text;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn.Internals {\r\n    internal class SignatureHelpItemsData {\r\n        public SignatureHelpItemsData(\r\n            IEnumerable<SignatureHelpItemData> items,\r\n            TextSpan applicableSpan,\r\n            int argumentIndex,\r\n            int argumentCount,\r\n            int? selectedItemIndex\r\n        ) {\r\n            Items = items;\r\n            ApplicableSpan = applicableSpan;\r\n            ArgumentIndex = argumentIndex;\r\n            ArgumentCount = argumentCount;\r\n            SelectedItemIndex = selectedItemIndex;\r\n        }\r\n\r\n        public IEnumerable<SignatureHelpItemData> Items { get; }\r\n        public TextSpan ApplicableSpan { get; }\r\n        public int ArgumentIndex { get; }\r\n        public int ArgumentCount { get; }\r\n        public int? SelectedItemIndex { get; }\r\n    }\r\n}"
  },
  {
    "path": "Common/Internal/Roslyn/Internals/SignatureHelpOptionsData.cs",
    "content": "using Microsoft.CodeAnalysis;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn.Internals {\r\n    internal struct SignatureHelpOptionsData {\r\n        public Project Project { get; }\r\n\r\n        private SignatureHelpOptionsData(Project project) {\r\n            Project = project;\r\n        }\r\n\r\n        public static SignatureHelpOptionsData From(Project project) => new (project);\r\n    }\r\n}"
  },
  {
    "path": "Common/Internal/Roslyn/Internals/SignatureHelpParameterData.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Threading;\r\nusing Microsoft.CodeAnalysis;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn.Internals {\r\n    internal class SignatureHelpParameterData {\r\n        public SignatureHelpParameterData(\r\n            string name,\r\n            Func<CancellationToken, IEnumerable<TaggedText>> documentationFactory,\r\n            IList<TaggedText> displayParts,\r\n            IList<TaggedText> prefixDisplayParts,\r\n            IList<TaggedText> suffixDisplayParts\r\n        ) {\r\n            Name = name;\r\n            DocumentationFactory = documentationFactory;\r\n            DisplayParts = displayParts;\r\n            PrefixDisplayParts = prefixDisplayParts;\r\n            SuffixDisplayParts = suffixDisplayParts;\r\n        }\r\n\r\n        public string Name { get; }\r\n        public Func<CancellationToken, IEnumerable<TaggedText>> DocumentationFactory { get; }\r\n        public IList<TaggedText> DisplayParts { get; }\r\n        public IList<TaggedText> PrefixDisplayParts { get; }\r\n        public IList<TaggedText> SuffixDisplayParts { get; }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/Roslyn/Internals/SignatureHelpTriggerInfoData.cs",
    "content": "namespace MirrorSharp.Internal.Roslyn.Internals {\r\n    internal struct SignatureHelpTriggerInfoData {\r\n        public SignatureHelpTriggerReason TriggerReason { get; }\r\n        public char? TriggerCharacter { get; }\r\n\r\n        public SignatureHelpTriggerInfoData(SignatureHelpTriggerReason triggerReason, char? triggerCharacter = null) {\r\n            TriggerReason = triggerReason;\r\n            TriggerCharacter = triggerCharacter;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "Common/Internal/Roslyn/Internals/SignatureHelpTriggerReason.cs",
    "content": "namespace MirrorSharp.Internal.Roslyn.Internals {\r\n    internal enum SignatureHelpTriggerReason {\r\n        InvokeSignatureHelpCommand,\r\n        TypeCharCommand,\r\n        RetriggerCommand\r\n    }\r\n}"
  },
  {
    "path": "Common/Internal/Roslyn/RoslynAssemblies.cs",
    "content": "using System.Reflection;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.Completion;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn {\r\n    internal static class RoslynAssemblies {\r\n        public static readonly Assembly MicrosoftCodeAnalysis = typeof(Compilation).GetTypeInfo().Assembly;\r\n        public static readonly Assembly MicrosoftCodeAnalysisFeatures = typeof(CompletionProvider).GetTypeInfo().Assembly;\r\n        public static readonly Assembly MicrosoftCodeAnalysisWorkspaces = typeof(Workspace).GetTypeInfo().Assembly;\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/Roslyn/RoslynInternals.cs",
    "content": "using System;\r\n#if !NETCOREAPP\r\nusing System.Buffers;\r\n#endif\r\nusing System.Composition.Hosting;\r\nusing System.Reflection;\r\n#if NETCOREAPP\r\nusing System.Runtime.Loader;\r\n#endif\r\nusing System.Threading;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn {\r\n    internal class RoslynInternals {        \r\n        private static readonly Lazy<Assembly> _internalAssembly = new(\r\n            LoadInternalsAssemblyWithDependenciesSlowUncached, LazyThreadSafetyMode.PublicationOnly\r\n        );\r\n\r\n        public RoslynInternals(\r\n            ICodeActionInternals codeAction,\r\n            IWorkspaceAnalyzerOptionsInternals workspaceAnalyzerOptions,\r\n            ISignatureHelpProviderWrapperResolver singatureHelpProviderResolver\r\n        ) {\r\n            CodeAction = codeAction;\r\n            WorkspaceAnalyzerOptions = workspaceAnalyzerOptions;\r\n            SingatureHelpProviderResolver = singatureHelpProviderResolver;\r\n        }\r\n\r\n        public ICodeActionInternals CodeAction { get; }\r\n        public IWorkspaceAnalyzerOptionsInternals WorkspaceAnalyzerOptions { get; }\r\n        public ISignatureHelpProviderWrapperResolver SingatureHelpProviderResolver { get; }\r\n\r\n        public static RoslynInternals Get(CompositionHost compositionHost) {\r\n            Argument.NotNull(nameof(compositionHost), compositionHost);\r\n            return new RoslynInternals(\r\n                compositionHost.GetExport<ICodeActionInternals>(),\r\n                compositionHost.GetExport<IWorkspaceAnalyzerOptionsInternals>(),\r\n                compositionHost.GetExport<ISignatureHelpProviderWrapperResolver>()\r\n            );\r\n        }\r\n\r\n        public static Assembly GetInternalsAssemblySlow() {\r\n            return _internalAssembly.Value;\r\n        }\r\n\r\n        private static Assembly LoadInternalsAssemblyWithDependenciesSlowUncached() {\r\n            var roslynVersion = RoslynAssemblies.MicrosoftCodeAnalysis.GetName().Version!;\r\n            var assembly = LoadInternalsAssemblySlow(roslynVersion);\r\n            // CI build. TODO: SharpLab only?\r\n            if (roslynVersion.Major == 42 && roslynVersion.Minor == 42) {\r\n                // Try previous versions, in case CI is not on newest yet\r\n                var fallback = GetAssemblyOrNullIfTypesFailToLoad(assembly)\r\n                            ?? GetAssemblyOrNullIfTypesFailToLoad(LoadInternalsAssemblySlow(new Version(4, 11)))\r\n                            ?? GetAssemblyOrNullIfTypesFailToLoad(LoadInternalsAssemblySlow(new Version(4, 10)))\r\n                            ?? GetAssemblyOrNullIfTypesFailToLoad(LoadInternalsAssemblySlow(new Version(4, 9)))\r\n                            ?? GetAssemblyOrNullIfTypesFailToLoad(LoadInternalsAssemblySlow(new Version(4, 8)))\r\n                            ?? GetAssemblyOrNullIfTypesFailToLoad(LoadInternalsAssemblySlow(new Version(4, 7)))\r\n                            ?? GetAssemblyOrNullIfTypesFailToLoad(LoadInternalsAssemblySlow(new Version(4, 6)))\r\n                            ?? GetAssemblyOrNullIfTypesFailToLoad(LoadInternalsAssemblySlow(new Version(4, 5)))\r\n                            ?? GetAssemblyOrNullIfTypesFailToLoad(LoadInternalsAssemblySlow(new Version(4, 4)))\r\n                            ?? GetAssemblyOrNullIfTypesFailToLoad(LoadInternalsAssemblySlow(new Version(4, 3)))\r\n                            ?? GetAssemblyOrNullIfTypesFailToLoad(LoadInternalsAssemblySlow(new Version(4, 2)));\r\n                assembly = fallback ?? assembly;\r\n            }\r\n\r\n            PreloadInternalsAssemblyDependenciesSlow(assembly);\r\n            EnsureInternalsTypesCanLoad(assembly);\r\n            return assembly;\r\n        }\r\n\r\n        private static Assembly? GetAssemblyOrNullIfTypesFailToLoad(Assembly assembly) {\r\n            try {\r\n                _ = assembly.DefinedTypes;\r\n            }\r\n            catch (ReflectionTypeLoadException) {\r\n                return null;\r\n            }\r\n\r\n            return assembly;\r\n        }\r\n\r\n        private static void EnsureInternalsTypesCanLoad(Assembly assembly) {\r\n            try {\r\n                _ = assembly.DefinedTypes;\r\n            }\r\n            catch (ReflectionTypeLoadException ex) {\r\n                throw new Exception(\r\n                    $\"Failed to load MirrorSharp Roslyn internals.{Environment.NewLine}\" +\r\n                    $\"  * Microsoft.CodeAnalysis {RoslynAssemblies.MicrosoftCodeAnalysis.GetName().Version}.{Environment.NewLine}\" +\r\n                    $\"  * {assembly.GetName().Name}\",\r\n                    ex\r\n                );\r\n            }\r\n        }\r\n\r\n        private static Assembly LoadInternalsAssemblySlow(Version roslynVersion) {\r\n            var assemblyName = roslynVersion switch {\r\n                { Major: > 4 } or { Major: 4, Minor: >= 12 } => \"MirrorSharp.Internal.Roslyn412.dll\",\r\n                { Major: 4, Minor: 11 } => \"MirrorSharp.Internal.Roslyn411.dll\",\r\n                { Major: 4, Minor: 10 } => \"MirrorSharp.Internal.Roslyn410.dll\",\r\n                { Major: 4, Minor: 9 } => \"MirrorSharp.Internal.Roslyn49.dll\",\r\n                { Major: 4, Minor: 8 } => \"MirrorSharp.Internal.Roslyn48.dll\",\r\n                { Major: 4, Minor: 7 } => \"MirrorSharp.Internal.Roslyn47.dll\",\r\n                { Major: 4, Minor: 6 } => \"MirrorSharp.Internal.Roslyn46.dll\",\r\n                { Major: 4, Minor: 5 } => \"MirrorSharp.Internal.Roslyn45.dll\",\r\n                { Major: 4, Minor: 4 } => \"MirrorSharp.Internal.Roslyn44.dll\",\r\n                { Major: 4, Minor: 3 } => \"MirrorSharp.Internal.Roslyn43.dll\",\r\n                { Major: 4, Minor: 2 } => \"MirrorSharp.Internal.Roslyn42.dll\",\r\n                { Major: 4, Minor: 1 } => \"MirrorSharp.Internal.Roslyn41.dll\",\r\n                { Major: 4 } => \"MirrorSharp.Internal.Roslyn36.dll\",\r\n                { Major: 3, Minor: >= 6 } => \"MirrorSharp.Internal.Roslyn36.dll\",\r\n                { Major: 3, Minor: >= 3 } => \"MirrorSharp.Internal.Roslyn33.dll\",\r\n                _ => throw new NotSupportedException()\r\n            };\r\n\r\n            using var assemblyStream = typeof(RoslynInternals).Assembly.GetManifestResourceStream(assemblyName)!;\r\n            #if NETCOREAPP\r\n            return AssemblyLoadContext.Default.LoadFromStream(assemblyStream);\r\n            #else\r\n            byte[]? assemblyBytes = null;\r\n            try {\r\n                assemblyBytes = ArrayPool<byte>.Shared.Rent((int)assemblyStream.Length);\r\n                assemblyStream.Read(assemblyBytes, 0, assemblyBytes.Length);\r\n                return Assembly.Load(assemblyBytes);\r\n            }\r\n            finally {\r\n                if (assemblyBytes != null)\r\n                    ArrayPool<byte>.Shared.Return(assemblyBytes);\r\n            }\r\n            #endif\r\n        }\r\n\r\n        private static void PreloadInternalsAssemblyDependenciesSlow(Assembly assembly) {\r\n            foreach (var reference in assembly.GetReferencedAssemblies()) {\r\n                Assembly.Load(reference);\r\n            }\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/Roslyn/RoslynLanguageBase.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.Immutable;\r\nusing System.Composition;\r\nusing System.Composition.Hosting;\r\nusing System.Linq;\r\nusing System.Reflection;\r\nusing System.Text;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.CodeFixes;\r\nusing Microsoft.CodeAnalysis.Diagnostics;\r\nusing Microsoft.CodeAnalysis.Host.Mef;\r\nusing Microsoft.CodeAnalysis.Text;\r\nusing MirrorSharp.Internal.Abstraction;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn {\r\n    internal abstract class RoslynLanguageBase : ILanguage {\r\n        private readonly IRoslynLanguageOptions _options;\r\n        private readonly CompositionHost _compositionHost;\r\n        private readonly MefHostServices _hostServices;\r\n        private readonly ImmutableArray<ISignatureHelpProviderWrapper> _defaultSignatureHelpProviders;\r\n        private readonly ImmutableDictionary<string, ImmutableArray<CodeFixProvider>> _codeFixProvidersIndexedByDiagnosticIds;\r\n        private readonly ImmutableArray<DiagnosticAnalyzer> _analyzers;\r\n        private readonly RoslynInternals _roslynInternals;\r\n\r\n        protected RoslynLanguageBase(\r\n            string name,\r\n            string featuresAssemblyName,\r\n            string workspacesAssemblyName,\r\n            IRoslynLanguageOptions options\r\n        ) {\r\n            Name = name;\r\n            _compositionHost = CreateCompositionHost(featuresAssemblyName, workspacesAssemblyName);\r\n            _hostServices = MefHostServices.Create(_compositionHost);\r\n\r\n            _options = options;\r\n            _codeFixProvidersIndexedByDiagnosticIds = CreateDefaultCodeFixProvidersSlow();\r\n            _analyzers = ImmutableArray.CreateRange(\r\n                _options.AnalyzerReferences.SelectMany(r => r.GetAnalyzers(Name))\r\n            );\r\n            _roslynInternals = RoslynInternals.Get(_compositionHost);\r\n            _defaultSignatureHelpProviders = ImmutableArray.CreateRange(\r\n                _roslynInternals.SingatureHelpProviderResolver.GetAllSlow(languageName: Name)\r\n            );\r\n        }\r\n\r\n        private CompositionHost CreateCompositionHost(string featuresAssemblyName, string workspacesAssemblyName) {\r\n            var types = new[] {\r\n                RoslynAssemblies.MicrosoftCodeAnalysisWorkspaces,\r\n                RoslynAssemblies.MicrosoftCodeAnalysisFeatures,\r\n                Assembly.Load(new AssemblyName(featuresAssemblyName)),\r\n                Assembly.Load(new AssemblyName(workspacesAssemblyName)),\r\n                RoslynInternals.GetInternalsAssemblySlow()\r\n            }.SelectMany(a => a.DefinedTypes).Where(ShouldConsiderForHostServices);\r\n\r\n            var configuration = new ContainerConfiguration().WithParts(types);\r\n            return configuration.CreateContainer();\r\n        }\r\n\r\n        protected virtual bool ShouldConsiderForHostServices(Type type)\r\n            => type.FullName is not (\r\n                \"Microsoft.CodeAnalysis.SolutionCrawler.SolutionCrawlerRegistrationService\"\r\n                or\r\n                \"Microsoft.CodeAnalysis.Host.DefaultWorkspaceEventListenerServiceFactory\"\r\n            );\r\n\r\n        public string Name { get; }\r\n\r\n        public ILanguageSessionInternal CreateSession(string text, ILanguageSessionExtensions extensions) {\r\n            var projectId = ProjectId.CreateNewId();\r\n\r\n            var projectInfo = ProjectInfo.Create(\r\n                projectId, VersionStamp.Create(), \"_\", \"_\", Name,\r\n                parseOptions: _options.ParseOptions,\r\n                isSubmission: _options.IsScript,\r\n                hostObjectType: _options.HostObjectType,\r\n                compilationOptions: _options.CompilationOptions,\r\n                metadataReferences: _options.MetadataReferences,\r\n                analyzerReferences: _options.AnalyzerReferences\r\n            );\r\n\r\n            return new RoslynSession(\r\n                SourceText.From(text, Encoding.UTF8),\r\n                projectInfo,\r\n                _hostServices,\r\n                _analyzers,\r\n                _codeFixProvidersIndexedByDiagnosticIds,\r\n                _defaultSignatureHelpProviders,\r\n                _roslynInternals,\r\n                extensions\r\n            );\r\n        }\r\n\r\n        private ImmutableDictionary<string, ImmutableArray<CodeFixProvider>> CreateDefaultCodeFixProvidersSlow() {\r\n            var codeFixProviderTypes = _options\r\n                .AnalyzerReferences\r\n                .OfType<AnalyzerFileReference>()\r\n                .Select(a => a.GetAssembly())\r\n                .SelectMany(a => a.DefinedTypes)\r\n                .Where(t => t.IsDefined(typeof(ExportCodeFixProviderAttribute)));\r\n\r\n            var providersByDiagnosticIds = new Dictionary<string, IList<CodeFixProvider>>();\r\n            foreach (var type in codeFixProviderTypes) {\r\n                var provider = (CodeFixProvider)Activator.CreateInstance(type.AsType())!;\r\n\r\n                foreach (var id in provider.FixableDiagnosticIds) {\r\n                    if (!providersByDiagnosticIds.TryGetValue(id, out var list)) {\r\n                        list = new List<CodeFixProvider>();\r\n                        providersByDiagnosticIds.Add(id, list);\r\n                    }\r\n                    list.Add(provider);\r\n                }\r\n            }\r\n            return ImmutableDictionary.CreateRange(\r\n                providersByDiagnosticIds.Select(p => new KeyValuePair<string, ImmutableArray<CodeFixProvider>>(p.Key, ImmutableArray.CreateRange(p.Value)))\r\n            );\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "Common/Internal/Roslyn/RoslynLanguageDependencies.cs",
    "content": "using MirrorSharp.Advanced.EarlyAccess;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn {\r\n    internal class RoslynLanguageDependencies {\r\n        public RoslynLanguageDependencies(IRoslynCompilationGuard? guard) {\r\n            Guard = guard;\r\n        }\r\n\r\n        public IRoslynCompilationGuard? Guard { get; }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/Roslyn/RoslynScriptHelper.cs",
    "content": "using System;\r\nusing Microsoft.CodeAnalysis;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn {\r\n    internal static class RoslynScriptHelper {\r\n        public static void Validate(bool isScript, Type? hostObjectType) {\r\n            if (!isScript && hostObjectType != null)\r\n                throw new ArgumentException($\"HostObjectType requires script mode (IsScript must be true).\", nameof(hostObjectType));\r\n        }\r\n\r\n        public static SourceCodeKind GetSourceKind(bool isScript) => isScript ? SourceCodeKind.Script : SourceCodeKind.Regular;\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/Roslyn/RoslynSession.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.Immutable;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.CodeActions;\r\nusing Microsoft.CodeAnalysis.CodeFixes;\r\nusing Microsoft.CodeAnalysis.Completion;\r\nusing Microsoft.CodeAnalysis.Diagnostics;\r\nusing Microsoft.CodeAnalysis.Host.Mef;\r\nusing Microsoft.CodeAnalysis.QuickInfo;\r\nusing Microsoft.CodeAnalysis.Text;\r\nusing MirrorSharp.Advanced;\r\nusing MirrorSharp.Advanced.EarlyAccess;\r\nusing MirrorSharp.Internal.Abstraction;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn {\r\n    internal class RoslynSession : ILanguageSessionInternal, IRoslynSession {\r\n        private static AnalyzerOptions EmptyAnalyzerOptions = new (ImmutableArray<AdditionalText>.Empty);\r\n\r\n        private static readonly TextChange[] NoTextChanges = new TextChange[0];\r\n\r\n        private readonly TextChange[] _oneTextChange = new TextChange[1];\r\n        private readonly CustomWorkspace _workspace;\r\n\r\n        private bool _documentOutOfDate;\r\n        private Document _document;\r\n        private SourceText _sourceText;\r\n        private Project? _lastWorkspaceAnalyzerOptionsProject;\r\n        private AnalyzerOptions? _workspaceAnalyzerOptions;\r\n\r\n        private readonly CompletionService _completionService;\r\n        private readonly ILanguageSessionExtensions _extensions;\r\n\r\n        public RoslynSession(\r\n            SourceText sourceText,\r\n            ProjectInfo projectInfo,\r\n            MefHostServices hostServices,\r\n            ImmutableArray<DiagnosticAnalyzer> analyzers,\r\n            ImmutableDictionary<string, ImmutableArray<CodeFixProvider>> codeFixProviders,\r\n            ImmutableArray<ISignatureHelpProviderWrapper> signatureHelpProviders,\r\n            RoslynInternals roslynInternals,\r\n            ILanguageSessionExtensions extensions\r\n        ) {\r\n            _sourceText = sourceText;\r\n            var safeSourceTextForDocument = sourceText;\r\n            try {\r\n                extensions.RoslynSourceTextGuard?.ValidateSourceText(sourceText);\r\n            }\r\n            catch (RoslynSourceTextGuardException) {\r\n                // source text is not currenty valid -- however we do not have to fail the whole session\r\n                // we'll report it when the document is accessed\r\n                safeSourceTextForDocument = SourceText.From(\"\");\r\n                _documentOutOfDate = true;\r\n            }\r\n            _workspace = new CustomWorkspace(hostServices);\r\n            _document = CreateProjectAndOpenNewDocument(_workspace, projectInfo, safeSourceTextForDocument);\r\n            QuickInfoService = QuickInfoService.GetService(_document);\r\n            _completionService = CompletionService.GetService(_document);\r\n\r\n            Analyzers = analyzers;\r\n            SignatureHelpProviders = signatureHelpProviders;\r\n            CodeFixProviders = codeFixProviders;\r\n\r\n            RoslynInternals = roslynInternals;\r\n\r\n            _extensions = extensions;\r\n        }\r\n\r\n        private Document CreateProjectAndOpenNewDocument(Workspace workspace, ProjectInfo projectInfo, SourceText sourceText) {\r\n            var documentId = DocumentId.CreateNewId(projectInfo.Id);\r\n            var solution = _workspace.CurrentSolution\r\n                .AddProject(projectInfo)\r\n                .AddDocument(documentId, \"_\", sourceText);\r\n            solution = _workspace.SetCurrentSolution(solution);\r\n            workspace.OpenDocument(documentId);\r\n            return solution.GetDocument(documentId)!;\r\n        }\r\n\r\n        public string GetText() => SourceText.ToString();\r\n        public void ReplaceText(string? newText, int start = 0, int? length = null) {\r\n            var finalLength = length ?? SourceText.Length - start;\r\n            _oneTextChange[0] = new TextChange(new TextSpan(start, finalLength), newText);\r\n            SourceText = SourceText.WithChanges(_oneTextChange);\r\n        }\r\n\r\n        public async Task<ImmutableArray<Diagnostic>> GetDiagnosticsAsync(CancellationToken cancellationToken) {\r\n            // TODO: Revisit ! after https://github.com/dotnet/docs/issues/14784\r\n            var compilation = (await Project.GetCompilationAsync(cancellationToken).ConfigureAwait(false))!;\r\n            _extensions.RoslynCompilationGuard?.ValidateCompilation(compilation, this);\r\n\r\n            if (_lastWorkspaceAnalyzerOptionsProject != Project) {\r\n                _workspaceAnalyzerOptions = RoslynInternals.WorkspaceAnalyzerOptions.New(EmptyAnalyzerOptions, Project);\r\n                _lastWorkspaceAnalyzerOptionsProject = Project;\r\n            }\r\n\r\n            return await compilation.WithAnalyzers(Analyzers, _workspaceAnalyzerOptions, cancellationToken)\r\n                .GetAllDiagnosticsAsync(cancellationToken)\r\n                .ConfigureAwait(false);\r\n        }\r\n\r\n        public bool ShouldTriggerCompletion(int cursorPosition, CompletionTrigger trigger) {\r\n            return _completionService.ShouldTriggerCompletion(SourceText, cursorPosition, trigger);\r\n        }\r\n\r\n        public Task<CompletionList?> GetCompletionsAsync(int cursorPosition, CompletionTrigger trigger, CancellationToken cancellationToken) {\r\n            return _completionService.GetCompletionsAsync(Document, cursorPosition, trigger, cancellationToken: cancellationToken);\r\n        }\r\n\r\n        public Task<CompletionDescription?> GetCompletionDescriptionAsync(CompletionItem item, CancellationToken cancellationToken) {\r\n            return _completionService.GetDescriptionAsync(Document, item, cancellationToken: cancellationToken);\r\n        }\r\n\r\n        public Task<CompletionChange> GetCompletionChangeAsync(TextSpan completionSpan, CompletionItem item, CancellationToken cancellationToken) {\r\n            return _completionService.GetChangeAsync(Document, item, cancellationToken: cancellationToken);\r\n        }\r\n\r\n        public IList<CodeAction> CurrentCodeActions { get; } = new List<CodeAction>();\r\n\r\n        public CustomWorkspace Workspace {\r\n            get {\r\n                EnsureDocumentUpToDate();\r\n                return _workspace;\r\n            }\r\n        }\r\n\r\n        public Project Project {\r\n            get => Document.Project;\r\n            set {\r\n                Argument.NotNull(nameof(value), value);\r\n                if (!value.ContainsDocument(_document.Id))\r\n                    throw new ArgumentException($\"Project must include session source document (id: '{_document.Id}').\", nameof(value));\r\n                if (_documentOutOfDate)\r\n                    throw new InvalidOperationException(\"Source document has changed since getting Project; Project cannot be set.\");\r\n                ApplySolutionChange(value.Solution);\r\n            }\r\n        }\r\n\r\n        public Document Document {\r\n            get {\r\n                EnsureDocumentUpToDate();\r\n                return _document;\r\n            }\r\n        }\r\n\r\n        public SourceText SourceText {\r\n            get => _sourceText;\r\n            set {\r\n                if (value == _sourceText)\r\n                    return;\r\n                _sourceText = value;\r\n                _documentOutOfDate = true;\r\n            }\r\n        }\r\n\r\n        public CurrentSignatureHelp? CurrentSignatureHelp { get; set; }\r\n\r\n        public ImmutableArray<DiagnosticAnalyzer> Analyzers { get; }\r\n        public ImmutableDictionary<string, ImmutableArray<CodeFixProvider>> CodeFixProviders { get; }\r\n        public QuickInfoService QuickInfoService { get; }\r\n        public ImmutableArray<ISignatureHelpProviderWrapper> SignatureHelpProviders { get; }\r\n        public RoslynInternals RoslynInternals { get; }\r\n\r\n        public void SetScriptMode(bool isScript = true, Type? hostObjectType = null) {\r\n            RoslynScriptHelper.Validate(isScript, hostObjectType);\r\n            var sourceKind = RoslynScriptHelper.GetSourceKind(isScript);\r\n\r\n            var project = Project;\r\n            var document = Document;\r\n\r\n            if (project.ParseOptions == null)\r\n                throw new NotSupportedException(\"Setting Script Mode on project without ParseOptions is not supported yet\");\r\n\r\n            var newProjectInfo = ProjectInfo.Create(\r\n                project.Id,\r\n                project.Version,\r\n                project.Name,\r\n                project.AssemblyName,\r\n                project.Language,\r\n                parseOptions: project.ParseOptions.WithKind(sourceKind),\r\n                compilationOptions: project.CompilationOptions,\r\n                documents: new[] {\r\n                    DocumentInfo.Create(document.Id, document.Name, sourceCodeKind: sourceKind)\r\n                },\r\n                metadataReferences: project.MetadataReferences,\r\n                analyzerReferences: project.AnalyzerReferences,\r\n                isSubmission: isScript,\r\n                hostObjectType: hostObjectType\r\n            );\r\n            var newSolution = project.Solution\r\n                .RemoveProject(project.Id)\r\n                .AddProject(newProjectInfo);\r\n            var newProject = newSolution.GetProject(project.Id)!;\r\n\r\n            if (project.DocumentIds.Count > 1)\r\n                throw new NotSupportedException($\"Calling {nameof(SetScriptMode)} after adding documents to the project is not currently supported.\");\r\n\r\n            if (project.AdditionalDocumentIds.Count > 0)\r\n                throw new NotSupportedException($\"Calling {nameof(SetScriptMode)} after adding additional documents to the project is not currently supported.\");\r\n\r\n            var newDocument = newProject.GetDocument(document.Id)!.WithText(_sourceText);\r\n\r\n            _workspace.SetCurrentSolution(newDocument.Project.Solution);\r\n            UpdateDocumentAfterSolutionChange();\r\n        }\r\n\r\n        public void AddMetadataReferencesFromFiles(params string[] paths) {\r\n            Project = Project.WithMetadataReferences(MetadataReferenceFactory.CreateFromFilesSlow(paths));\r\n        }\r\n\r\n        private void EnsureDocumentUpToDate() {\r\n            if (!_documentOutOfDate)\r\n                return;\r\n\r\n            _extensions.RoslynSourceTextGuard?.ValidateSourceText(_sourceText);\r\n            var document = _document.WithText(_sourceText);\r\n            ApplySolutionChange(document.Project.Solution);\r\n        }\r\n\r\n        private void ApplySolutionChange(Solution solution) {\r\n            // ReSharper disable once PossibleNullReferenceException\r\n            if (!_workspace.TryApplyChanges(solution))\r\n                throw new Exception(\"Failed to apply changes to workspace.\");\r\n            UpdateDocumentAfterSolutionChange();\r\n        }\r\n\r\n        private void UpdateDocumentAfterSolutionChange() {\r\n            _document = _workspace.CurrentSolution.GetDocument(_document.Id)!;\r\n            _documentOutOfDate = false;\r\n        }\r\n\r\n        public async Task<IReadOnlyList<TextChange>> RollbackWorkspaceChangesAsync() {\r\n            EnsureDocumentUpToDate();\r\n            var oldProject = _document.Project;\r\n            // ReSharper disable once PossibleNullReferenceException\r\n            var newProject = _workspace.CurrentSolution.GetProject(Project.Id)!;\r\n            if (newProject == oldProject)\r\n                return NoTextChanges;\r\n\r\n            var newText = await newProject.GetDocument(_document.Id)!.GetTextAsync().ConfigureAwait(false);\r\n            _document = _workspace.SetCurrentSolution(oldProject.Solution).GetDocument(_document.Id)!;\r\n\r\n            return newText.GetTextChanges(_sourceText);\r\n        }\r\n\r\n        private Comparison<CodeAction>? _codeActionPriorityComparison;\r\n        public Comparison<CodeAction> CodeActionPriorityComparison {\r\n            get {\r\n                if (_codeActionPriorityComparison == null) {\r\n                    var actionInternals = RoslynInternals.CodeAction;\r\n                    _codeActionPriorityComparison = (a, b) => Math.Sign(\r\n                        (int)actionInternals.GetPriority(b) - (int)actionInternals.GetPriority(a)\r\n                    );\r\n                }\r\n\r\n                return _codeActionPriorityComparison;\r\n            }\r\n        }\r\n\r\n        public void Dispose() {\r\n            _workspace?.Dispose();\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/SelfDebug.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\n\r\nnamespace MirrorSharp.Internal {\r\n    internal class SelfDebug {\r\n        private readonly LogEntry[] _log = new LogEntry[100];\r\n        private int _logIndex = -1;\r\n        private bool _endReached;\r\n\r\n        public void Log(string eventType, string? message, int cursorPosition, string text) {\r\n            _logIndex += 1;\r\n            if (_logIndex >= _log.Length) {\r\n                _logIndex = 0;\r\n                _endReached = true;\r\n            }\r\n\r\n            _log[_logIndex] = new(DateTimeOffset.Now, eventType, message, cursorPosition, text);\r\n        }\r\n\r\n        public IEnumerable<LogEntry> GetLogEntries() {\r\n            if (_endReached) {\r\n                for (var i = _logIndex + 1; i < _log.Length; i++) {\r\n                    yield return _log[i];\r\n                }\r\n            }\r\n\r\n            for (var i = 0; i <= _logIndex; i++) {\r\n                yield return _log[i];\r\n            }\r\n        }\r\n\r\n        public readonly struct LogEntry {\r\n            public DateTimeOffset DateTime { get; }\r\n            public string EventType { get; }\r\n            public string? Message { get; }\r\n            public int CursorPosition { get; }\r\n            public string Text { get; }\r\n\r\n            public LogEntry(DateTimeOffset dateTime, string eventType, string? message, int cursorPosition, string text) {\r\n                DateTime = dateTime;\r\n                EventType = eventType;\r\n                Message = message;\r\n                CursorPosition = cursorPosition;\r\n                Text = text;\r\n            }\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/Internal/WorkSession.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing MirrorSharp.Advanced;\r\nusing MirrorSharp.Internal.Abstraction;\r\nusing MirrorSharp.Internal.Roslyn;\r\n\r\nnamespace MirrorSharp.Internal {\r\n    internal class WorkSession : IWorkSession, IDisposable {\r\n        private readonly ILanguageSessionExtensions _extensions;\r\n        private ILanguage _language;\r\n        private ILanguageSessionInternal? _languageSession;\r\n        private string _lastText = \"\";\r\n\r\n        public WorkSession(ILanguage language, IWorkSessionOptions options, ILanguageSessionExtensions extensions) {\r\n            _language = Argument.NotNull(nameof(language), language);\r\n            _extensions = extensions;\r\n\r\n            SelfDebug = options.SelfDebugEnabled ? new SelfDebug() : null;\r\n        }\r\n\r\n        public void ChangeLanguage(ILanguage language) {\r\n            Argument.NotNull(nameof(language), language);\r\n            if (language == _language)\r\n                return;\r\n            _language = language;\r\n\r\n            if (_languageSession != null) {\r\n                _lastText = _languageSession.GetText();\r\n                _languageSession.Dispose();\r\n            }\r\n            _languageSession = null;\r\n        }\r\n\r\n        private void Initialize() {\r\n            _languageSession = Language.CreateSession(_lastText, _extensions);\r\n        }\r\n\r\n        public ILanguage Language => _language;\r\n        string IWorkSession.LanguageName => Language.Name;\r\n        \r\n        public ILanguageSessionInternal LanguageSession {\r\n            get {\r\n                EnsureInitialized();\r\n                return _languageSession!;\r\n            }\r\n        }\r\n\r\n        public bool IsRoslyn => LanguageSession is RoslynSession;\r\n        public RoslynSession Roslyn => (RoslynSession)LanguageSession;\r\n        IRoslynSession IWorkSession.Roslyn => Roslyn;\r\n\r\n        public string GetText() => LanguageSession.GetText();\r\n        public void ReplaceText(string newText, int start = 0, int? length = null) => LanguageSession.ReplaceText(newText, start, length);\r\n        public int CursorPosition { get; set; }\r\n\r\n        public CurrentCompletion CurrentCompletion { get; } = new CurrentCompletion();\r\n\r\n        public IDictionary<string, string> RawOptionsFromClient { get; } = new Dictionary<string, string>();\r\n        public SelfDebug? SelfDebug { get; }\r\n        public IDictionary<string, object?> ExtensionData { get; } = new Dictionary<string, object?>();\r\n\r\n        private void EnsureInitialized() {\r\n            if (_languageSession != null)\r\n                return;\r\n            Initialize();\r\n        }\r\n\r\n        public void Dispose() => _languageSession?.Dispose();\r\n    }\r\n}"
  },
  {
    "path": "Common/MirrorSharpCSharpOptions.cs",
    "content": "using System.Collections.Immutable;\r\nusing System.Reflection;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.CSharp;\r\nusing Microsoft.CodeAnalysis.Diagnostics;\r\nusing MirrorSharp.Advanced;\r\n\r\nnamespace MirrorSharp {\r\n    /// <summary>MirrorSharp options for C#</summary>\r\n    public class MirrorSharpCSharpOptions : MirrorSharpRoslynOptions<MirrorSharpCSharpOptions, CSharpParseOptions, CSharpCompilationOptions> {\r\n        internal MirrorSharpCSharpOptions() : base(\r\n            new CSharpParseOptions(),\r\n            new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary),\r\n            ImmutableList.Create<MetadataReference>(MetadataReference.CreateFromFile(typeof(object).GetTypeInfo().Assembly.Location)),\r\n            ImmutableList.Create<AnalyzerReference>(CreateAnalyzerReference(\"Microsoft.CodeAnalysis.CSharp.Features\"))\r\n        ) {\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Common/MirrorSharpOptions.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing Microsoft.CodeAnalysis;\r\nusing MirrorSharp.Advanced;\r\nusing MirrorSharp.Internal;\r\nusing MirrorSharp.Internal.Abstraction;\r\nusing MirrorSharp.Internal.Roslyn;\r\n\r\nnamespace MirrorSharp {\r\n    /// <summary>MirrorSharp options object.</summary>\r\n    public sealed class MirrorSharpOptions : IMiddlewareOptions {\r\n        internal IDictionary<string, Func<ILanguage>> Languages { get; } = new Dictionary<string, Func<ILanguage>>();\r\n\r\n        /// <summary>Creates a new instance of <see cref=\"MirrorSharpOptions\" />.</summary>\r\n        public MirrorSharpOptions() {\r\n            Languages.Add(LanguageNames.CSharp, () => new CSharpLanguage(CSharp));\r\n        }\r\n\r\n        /// <summary>MirrorSharp options for C#.</summary>\r\n        /// <remarks>These options are ignored if <see cref=\"DisableCSharp\" /> was called.</remarks>\r\n        public MirrorSharpCSharpOptions CSharp { get; } = new MirrorSharpCSharpOptions();\r\n\r\n        /// <summary>Defines a <see cref=\"ISetOptionsFromClientExtension\" /> used to support extra options.</summary>\r\n        [Obsolete(\"ASP.NET Core: register ISetOptionsFromClientExtension in service collection instead. Owin: pass using MirrorSharpServices instead. This property will be removed in the next major version.\")]\r\n        public ISetOptionsFromClientExtension? SetOptionsFromClient { get; set; }\r\n\r\n        /// <summary>Defines a <see cref=\"ISlowUpdateExtension\" /> used to extend periodic processing.</summary>\r\n        [Obsolete(\"ASP.NET Core: register ISlowUpdateExtension in service collection instead. Owin: pass using MirrorSharpServices instead. This property will be removed in the next major version.\")]\r\n        public ISlowUpdateExtension? SlowUpdate { get; set; }\r\n\r\n        /// <summary>Defines a <see cref=\"IExceptionLogger\" /> called for any unhandled exception.</summary>\r\n        [Obsolete(\"ASP.NET Core: register IExceptionLogger in service collection instead. Owin: pass using MirrorSharpServices instead. This property will be removed in the next major version.\")]\r\n        public IExceptionLogger? ExceptionLogger { get; set; }\r\n\r\n        /// <summary>Defines whether the exceptions should include full details (messages, stack traces).</summary>\r\n        public bool IncludeExceptionDetails { get; set; }\r\n\r\n        /// <summary>Defines whether the SelfDebug mode is enabled — might reduce performance.</summary>\r\n        public bool SelfDebugEnabled { get; set; }\r\n\r\n        internal IList<(char commandId, string commandText)> StatusTestCommands { get; } = new List<(char commandId, string commandText)>();\r\n\r\n        /// <summary>Disables C# — the language will not be available to the client.</summary>\r\n        /// <returns>Current <see cref=\"MirrorSharpOptions\" /> object, for convenience.</returns>\r\n        public MirrorSharpOptions DisableCSharp() {\r\n            Languages.Remove(LanguageNames.CSharp);\r\n            return this;\r\n        }\r\n\r\n        /// <summary>Configures C# support in the <see cref=\"MirrorSharpOptions\" />.</summary>\r\n        /// <param name=\"setup\">Setup delegate used to configure <see cref=\"MirrorSharpCSharpOptions\" /></param>\r\n        /// <returns>Current <see cref=\"MirrorSharpOptions\" /> object, for convenience.</returns>\r\n        public MirrorSharpOptions SetupCSharp(Action<MirrorSharpCSharpOptions> setup) {\r\n            setup(CSharp);\r\n            return this;\r\n        }\r\n\r\n        IDictionary<string, Func<ILanguage>> ILanguageManagerOptions.Languages => Languages;\r\n        IList<(char commandId, string commandText)> IMiddlewareOptions.StatusTestCommands => StatusTestCommands;\r\n    }\r\n}\r\n\r\n"
  },
  {
    "path": "Common/Properties/AssemblyInfo.cs",
    "content": "using System.Runtime.InteropServices;\r\n\r\n// Setting ComVisible to false makes the types in this assembly not visible\r\n// to COM components.  If you need to access a type in this assembly from\r\n// COM, set the ComVisible attribute to true on that type.\r\n[assembly: ComVisible(false)]\r\n\r\n// The following GUID is for the ID of the typelib if this project is exposed to COM\r\n[assembly: Guid(\"c130c962-d17f-4741-b2b4-d74263bf380a\")]"
  },
  {
    "path": "Common/PublicAPI.Shipped.txt",
    "content": "MirrorSharp.Advanced.FastJsonWriterExtensions\r\nMirrorSharp.Advanced.IExceptionLogger\r\nMirrorSharp.Advanced.IExceptionLogger.LogException(System.Exception exception, MirrorSharp.Advanced.IWorkSession session) -> void\r\nMirrorSharp.Advanced.IFastJsonWriter\r\nMirrorSharp.Advanced.IFastJsonWriter.OpenString() -> System.IO.TextWriter\r\nMirrorSharp.Advanced.IFastJsonWriter.WriteEndArray() -> void\r\nMirrorSharp.Advanced.IFastJsonWriter.WriteEndObject() -> void\r\nMirrorSharp.Advanced.IFastJsonWriter.WritePropertyName(string name) -> void\r\nMirrorSharp.Advanced.IFastJsonWriter.WriteStartArray() -> void\r\nMirrorSharp.Advanced.IFastJsonWriter.WriteStartObject() -> void\r\nMirrorSharp.Advanced.IFastJsonWriter.WriteValue(System.ArraySegment<char> value) -> void\r\nMirrorSharp.Advanced.IFastJsonWriter.WriteValue(System.Collections.Immutable.ImmutableArray<char> value) -> void\r\nMirrorSharp.Advanced.IFastJsonWriter.WriteValue(System.Text.StringBuilder value) -> void\r\nMirrorSharp.Advanced.IFastJsonWriter.WriteValue(bool value) -> void\r\nMirrorSharp.Advanced.IFastJsonWriter.WriteValue(char value) -> void\r\nMirrorSharp.Advanced.IFastJsonWriter.WriteValue(int value) -> void\r\nMirrorSharp.Advanced.IFastJsonWriter.WriteValue(string value) -> void\r\nMirrorSharp.Advanced.IRoslynSession\r\nMirrorSharp.Advanced.IRoslynSession.AddMetadataReferencesFromFiles(params string[] paths) -> void\r\nMirrorSharp.Advanced.IRoslynSession.Project.get -> Microsoft.CodeAnalysis.Project\r\nMirrorSharp.Advanced.IRoslynSession.Project.set -> void\r\nMirrorSharp.Advanced.IRoslynSession.SetScriptMode(bool isScript = true, System.Type hostObjectType = null) -> void\r\nMirrorSharp.Advanced.ISetOptionsFromClientExtension\r\nMirrorSharp.Advanced.ISetOptionsFromClientExtension.TrySetOption(MirrorSharp.Advanced.IWorkSession session, string name, string value) -> bool\r\nMirrorSharp.Advanced.ISlowUpdateExtension\r\nMirrorSharp.Advanced.ISlowUpdateExtension.ProcessAsync(MirrorSharp.Advanced.IWorkSession session, System.Collections.Generic.IList<Microsoft.CodeAnalysis.Diagnostic> diagnostics, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task<object>\r\nMirrorSharp.Advanced.ISlowUpdateExtension.WriteResult(MirrorSharp.Advanced.IFastJsonWriter writer, object result, MirrorSharp.Advanced.IWorkSession session) -> void\r\nMirrorSharp.Advanced.IWorkSession\r\nMirrorSharp.Advanced.IWorkSession.ExtensionData.get -> System.Collections.Generic.IDictionary<string, object>\r\nMirrorSharp.Advanced.IWorkSession.GetText() -> string\r\nMirrorSharp.Advanced.IWorkSession.IsRoslyn.get -> bool\r\nMirrorSharp.Advanced.IWorkSession.LanguageName.get -> string\r\nMirrorSharp.Advanced.IWorkSession.Roslyn.get -> MirrorSharp.Advanced.IRoslynSession\r\nMirrorSharp.Advanced.MirrorSharpRoslynOptions<TSelf, TParseOptions, TCompilationOptions>\r\nMirrorSharp.Advanced.MirrorSharpRoslynOptions<TSelf, TParseOptions, TCompilationOptions>.AddMetadataReferencesFromFiles(params string[] paths) -> TSelf\r\nMirrorSharp.Advanced.MirrorSharpRoslynOptions<TSelf, TParseOptions, TCompilationOptions>.CompilationOptions.get -> TCompilationOptions\r\nMirrorSharp.Advanced.MirrorSharpRoslynOptions<TSelf, TParseOptions, TCompilationOptions>.CompilationOptions.set -> void\r\nMirrorSharp.Advanced.MirrorSharpRoslynOptions<TSelf, TParseOptions, TCompilationOptions>.MetadataReferences.get -> System.Collections.Immutable.ImmutableList<Microsoft.CodeAnalysis.MetadataReference>\r\nMirrorSharp.Advanced.MirrorSharpRoslynOptions<TSelf, TParseOptions, TCompilationOptions>.MetadataReferences.set -> void\r\nMirrorSharp.Advanced.MirrorSharpRoslynOptions<TSelf, TParseOptions, TCompilationOptions>.ParseOptions.get -> TParseOptions\r\nMirrorSharp.Advanced.MirrorSharpRoslynOptions<TSelf, TParseOptions, TCompilationOptions>.ParseOptions.set -> void\r\nMirrorSharp.Advanced.MirrorSharpRoslynOptions<TSelf, TParseOptions, TCompilationOptions>.SetScriptMode(bool isScript = true, System.Type hostObjectType = null) -> TSelf\r\nMirrorSharp.MirrorSharpCSharpOptions\r\nMirrorSharp.MirrorSharpOptions\r\nMirrorSharp.MirrorSharpOptions.CSharp.get -> MirrorSharp.MirrorSharpCSharpOptions\r\nMirrorSharp.MirrorSharpOptions.DisableCSharp() -> MirrorSharp.MirrorSharpOptions\r\nMirrorSharp.MirrorSharpOptions.ExceptionLogger.get -> MirrorSharp.Advanced.IExceptionLogger\r\nMirrorSharp.MirrorSharpOptions.ExceptionLogger.set -> void\r\nMirrorSharp.MirrorSharpOptions.IncludeExceptionDetails.get -> bool\r\nMirrorSharp.MirrorSharpOptions.IncludeExceptionDetails.set -> void\r\nMirrorSharp.MirrorSharpOptions.MirrorSharpOptions() -> void\r\nMirrorSharp.MirrorSharpOptions.SelfDebugEnabled.get -> bool\r\nMirrorSharp.MirrorSharpOptions.SelfDebugEnabled.set -> void\r\nMirrorSharp.MirrorSharpOptions.SetOptionsFromClient.get -> MirrorSharp.Advanced.ISetOptionsFromClientExtension\r\nMirrorSharp.MirrorSharpOptions.SetOptionsFromClient.set -> void\r\nMirrorSharp.MirrorSharpOptions.SetupCSharp(System.Action<MirrorSharp.MirrorSharpCSharpOptions> setup) -> MirrorSharp.MirrorSharpOptions\r\nMirrorSharp.MirrorSharpOptions.SlowUpdate.get -> MirrorSharp.Advanced.ISlowUpdateExtension\r\nMirrorSharp.MirrorSharpOptions.SlowUpdate.set -> void\r\nstatic MirrorSharp.Advanced.FastJsonWriterExtensions.WriteProperty(this MirrorSharp.Advanced.IFastJsonWriter writer, string name, System.ArraySegment<char> value) -> void\r\nstatic MirrorSharp.Advanced.FastJsonWriterExtensions.WriteProperty(this MirrorSharp.Advanced.IFastJsonWriter writer, string name, System.Collections.Immutable.ImmutableArray<char> value) -> void\r\nstatic MirrorSharp.Advanced.FastJsonWriterExtensions.WriteProperty(this MirrorSharp.Advanced.IFastJsonWriter writer, string name, System.Text.StringBuilder value) -> void\r\nstatic MirrorSharp.Advanced.FastJsonWriterExtensions.WriteProperty(this MirrorSharp.Advanced.IFastJsonWriter writer, string name, bool value) -> void\r\nstatic MirrorSharp.Advanced.FastJsonWriterExtensions.WriteProperty(this MirrorSharp.Advanced.IFastJsonWriter writer, string name, char value) -> void\r\nstatic MirrorSharp.Advanced.FastJsonWriterExtensions.WriteProperty(this MirrorSharp.Advanced.IFastJsonWriter writer, string name, int value) -> void\r\nstatic MirrorSharp.Advanced.FastJsonWriterExtensions.WriteProperty(this MirrorSharp.Advanced.IFastJsonWriter writer, string name, string value) -> void\r\nstatic MirrorSharp.Advanced.FastJsonWriterExtensions.WritePropertyStartArray(this MirrorSharp.Advanced.IFastJsonWriter writer, string name) -> void\r\nstatic MirrorSharp.Advanced.FastJsonWriterExtensions.WritePropertyStartObject(this MirrorSharp.Advanced.IFastJsonWriter writer, string name) -> void\r\nMirrorSharp.Advanced.MirrorSharpRoslynOptions<TSelf, TParseOptions, TCompilationOptions>.AnalyzerReferences.get -> System.Collections.Immutable.ImmutableList<Microsoft.CodeAnalysis.Diagnostics.AnalyzerReference>\r\nMirrorSharp.Advanced.MirrorSharpRoslynOptions<TSelf, TParseOptions, TCompilationOptions>.AnalyzerReferences.set -> void"
  },
  {
    "path": "Common/PublicAPI.Unshipped.txt",
    "content": ""
  },
  {
    "path": "Common/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETCoreApp,Version=v3.1\": {\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.1, )\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"N5yQdGy+M4kimVG7hwCeGTCfgYjK2o5b/Shumkb/rCC+/SAkvP1HUAYK+vxPFS7dLJNtXLRsmPHKj3fnyNWnrw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"2.9.4\",\r\n          \"System.Collections.Immutable\": \"1.5.0\",\r\n          \"System.Memory\": \"4.5.3\",\r\n          \"System.Reflection.Metadata\": \"1.6.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\",\r\n          \"System.Text.Encoding.CodePages\": \"4.5.1\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.1, )\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"WDUIhTHem38H6VJ98x2Ssq0fweakJHnHYl7vbG8ARnsAwLoJKCQCy78EeY1oRrCKG42j0v6JVljKkeqSDA28UA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.1, )\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"t9uIwsLzT5zQ1Q3ZIpwE4EOnAf/lGdbQwyeqhyO/BJ+AWDt267Hxlz5k6ypPy14Z6+PW6pTggAGz6MwN31RElQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.PublicApiAnalyzers\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.9.8, )\",\r\n        \"resolved\": \"2.9.8\",\r\n        \"contentHash\": \"oaanBu3yA/c5NUMVnpe8w7YcBRG7UmEKKnP7HxVt6lHb78XdNh8OTNFeVkVJhtlfDO1kX5y2iCeSkVSDdl9trw==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.1, )\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"NfBz3b5hFSbO+7xsCNryD+p8axsIJFTG7qM3jvMTC/MqYrU6b8E1b6JoRj5rJSOBB+pSunk+CMqyGQTOWHeDUg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"System.Composition\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.5.5, )\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\"\r\n      },\r\n      \"System.Net.Http\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.3.4, )\",\r\n        \"resolved\": \"4.3.4\",\r\n        \"contentHash\": \"aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Extensions\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"System.Text.RegularExpressions\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.3.1, )\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"N0kNRrWe4+nXOWlpLT4LAY5brb8caNFlUuIRpraCVMDLYutKkol1aV079rQjLuSxKMJT2SpBQsYX9xbcTMmzwg==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.1\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.4\",\r\n        \"contentHash\": \"alIJhS0VUg/7x5AsHEoovh/wRZ0RfCSS7k5pDSqpRLTyuMTtRgj6OJJPRApRhJHOGYYsLakf1hKeXFoDwKwNkg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"dHs/UyfLgzsVC4FjTi/x+H+yQifgOnpe3rSN8GwkHWjnidePZ3kSqr1JHmFDf5HTQEydYwrwCAfQ0JSzhsEqDA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"lvMC69ABN/YEaw3ke4cQRqBYZ2V7DJTOT8QXIeAJGJUfwVHTBN0iq2O5zZQrYnnUN2wmeCzCoAg59PKBosVO7g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": \"2.9.5\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\",\r\n          \"Microsoft.DiaSymReader\": \"1.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.5\",\r\n        \"contentHash\": \"SqwdTocsxU7u0Y8am67BY7KSLAhrtDXdBBwt0Nv9TxLVzPBPtPPFS2bHUsxucpOBMBmc10rWE1eJ+IDrr/0/nQ==\"\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.3.0\",\r\n        \"contentHash\": \"/fn1Tfo7j7k/slViPlM8azJuxQmri7FZ8dQ+gTeLbI29leN/1VK0U/BFcRdJNctsRCUgyKJ2q+I0Tjq07Rc1/Q==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.1.2\",\r\n        \"contentHash\": \"mOJy3M0UN+LUG21dLGMxaWZEP6xYpQEpLuvuEQBaownaX4YuhH6NmNUlN9si+vNkAS6dwJ//N1O4DmLf2CikVg==\"\r\n      },\r\n      \"Microsoft.NETCore.Targets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.3\",\r\n        \"contentHash\": \"3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==\"\r\n      },\r\n      \"Microsoft.Win32.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.1\",\r\n        \"contentHash\": \"WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.Win32.Primitives\": \"4.3.0\",\r\n          \"System.AppContext\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Console\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.Compression.ZipFile\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Net.Http\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Net.Sockets\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Timer\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\",\r\n          \"System.Xml.XDocument\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==\"\r\n      },\r\n      \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==\"\r\n      },\r\n      \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==\"\r\n      },\r\n      \"runtime.native.System\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==\",\r\n        \"dependencies\": {\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==\",\r\n        \"dependencies\": {\r\n          \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==\"\r\n      },\r\n      \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==\"\r\n      },\r\n      \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==\"\r\n      },\r\n      \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==\"\r\n      },\r\n      \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==\"\r\n      },\r\n      \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==\"\r\n      },\r\n      \"System.AppContext\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ratu44uTIHgeBeI0dE8DWvmXVBSo4u7ozRZZHOMmK/JPpYyo0dAfgSiHlpiObMQ5lEtEyIXA40sKRYg5J6A8uQ==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Concurrent\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.5.0\",\r\n        \"contentHash\": \"EXKiDFsChZW0RjrZ4FYHu9aW6+P4MCgEDCklsVseRfhoO0F+dXeMSsMRAlVXIo06kGJ/zv+2w1a2uc2+kxxSaQ==\"\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"I+D26qpYdoklyAVUdqwUBrEIckMNjAYnuPJy/h9dsQItpQwVREkDFs4b4tkBza0kT2Yk48Lcfsv2QQ9hWsh9Iw==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Convention\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Composition.TypedParts\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"NHWhkM3ZkspmA0XJEsKdtTt1ViDYuojgSND3yHhTzwxepiwqZf+BCWuvCbjUt4fe0NxxQhUDGJ5km6sLjo9qnQ==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"GLjh2Ju71k6C0qxMMtl4efHa68NmWeIUYh4fkUI8xbjQrEBvFmRwMDFcylT8/PR9SQbeeL48IkFxU/+gd0nYEQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"fN1bT4RX4vUqjbgoyuJFVUizAl2mYF5VAb+bVIxIYZSSc0BdnX+yGAxcavxJuDDCQ1K+/mdpgyEFc8e9ikjvrg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0LEJN+2NVM89CE4SekDrrk5tHV5LeATltkp+9WNYrR+Huiyt0vaCqHbbHtVAjPyeLWIc8dOz/3kthRBj32wGQg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0Zae/FtzeFgDBBuILeIbC/T9HMYbW4olAmi8XqqAGosSOWvXfiQLfARZEhiGd0LVXaYgXr0NhxiU1LldRP1fpQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Console\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Debug\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.DiagnosticSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"tD6kosZnTAGdrEa0tZSuFyunMbt/5KYDnHdndJYGqZoNy00XVXyACd5d6KnE1YgYv3ne2CjtAfNXo/fwEhnKUA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tracing\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Calendars\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.IO.Compression\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression.ZipFile\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq.Expressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Net.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Net.Sockets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.ILGeneration\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.Lightweight\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.0\",\r\n        \"contentHash\": \"COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==\"\r\n      },\r\n      \"System.Reflection.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.TypeExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Resources.ResourceManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.3\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.2\",\r\n        \"contentHash\": \"wprSFgext8cwqymChhrBLu62LMg/1u92bU+VOwyfBimSPVFXtsNqEWC92Pf9ofzJFlk4IHmJA75EDJn1b2goAQ==\"\r\n      },\r\n      \"System.Runtime.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Handles\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices.RuntimeInformation\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Numerics\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==\",\r\n        \"dependencies\": {\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Algorithms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Cng\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Csp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.X509Certificates\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Cng\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Csp\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"4J2JQXbftjPMppIHJ7IC+VXQ9XfEagN92vZZNoG12i+zReYlim5dMoXFC1Zzg7tsnKDM7JPo5bYfFK4Jheq44w==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"2.1.2\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.3\",\r\n        \"contentHash\": \"+MvhNtcvIbqmhANyKu91jQnvIRVSTiaOiFNfKWwXGHG48YAb4I/TyH8spsySiPYla7gKal5ZnF3teJqZAximyQ==\"\r\n      },\r\n      \"System.Threading.Timer\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.ReaderWriter\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\"\r\n        }\r\n      }\r\n    },\r\n    \".NETStandard,Version=v2.0\": {\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.1, )\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"N5yQdGy+M4kimVG7hwCeGTCfgYjK2o5b/Shumkb/rCC+/SAkvP1HUAYK+vxPFS7dLJNtXLRsmPHKj3fnyNWnrw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"2.9.4\",\r\n          \"System.Collections.Immutable\": \"1.5.0\",\r\n          \"System.Memory\": \"4.5.3\",\r\n          \"System.Reflection.Metadata\": \"1.6.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\",\r\n          \"System.Text.Encoding.CodePages\": \"4.5.1\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.1, )\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"WDUIhTHem38H6VJ98x2Ssq0fweakJHnHYl7vbG8ARnsAwLoJKCQCy78EeY1oRrCKG42j0v6JVljKkeqSDA28UA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.1, )\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"t9uIwsLzT5zQ1Q3ZIpwE4EOnAf/lGdbQwyeqhyO/BJ+AWDt267Hxlz5k6ypPy14Z6+PW6pTggAGz6MwN31RElQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.PublicApiAnalyzers\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.9.8, )\",\r\n        \"resolved\": \"2.9.8\",\r\n        \"contentHash\": \"oaanBu3yA/c5NUMVnpe8w7YcBRG7UmEKKnP7HxVt6lHb78XdNh8OTNFeVkVJhtlfDO1kX5y2iCeSkVSDdl9trw==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.1, )\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"NfBz3b5hFSbO+7xsCNryD+p8axsIJFTG7qM3jvMTC/MqYrU6b8E1b6JoRj5rJSOBB+pSunk+CMqyGQTOWHeDUg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"System.Composition\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.0.3, )\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.5.5, )\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Numerics.Vectors\": \"4.4.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"System.Net.Http\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.3.4, )\",\r\n        \"resolved\": \"4.3.4\",\r\n        \"contentHash\": \"aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Extensions\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"System.Text.RegularExpressions\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.3.1, )\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"N0kNRrWe4+nXOWlpLT4LAY5brb8caNFlUuIRpraCVMDLYutKkol1aV079rQjLuSxKMJT2SpBQsYX9xbcTMmzwg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.1\",\r\n          \"System.Runtime.Extensions\": \"4.3.1\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.4\",\r\n        \"contentHash\": \"alIJhS0VUg/7x5AsHEoovh/wRZ0RfCSS7k5pDSqpRLTyuMTtRgj6OJJPRApRhJHOGYYsLakf1hKeXFoDwKwNkg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"dHs/UyfLgzsVC4FjTi/x+H+yQifgOnpe3rSN8GwkHWjnidePZ3kSqr1JHmFDf5HTQEydYwrwCAfQ0JSzhsEqDA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"lvMC69ABN/YEaw3ke4cQRqBYZ2V7DJTOT8QXIeAJGJUfwVHTBN0iq2O5zZQrYnnUN2wmeCzCoAg59PKBosVO7g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": \"2.9.5\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\",\r\n          \"Microsoft.DiaSymReader\": \"1.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.5\",\r\n        \"contentHash\": \"SqwdTocsxU7u0Y8am67BY7KSLAhrtDXdBBwt0Nv9TxLVzPBPtPPFS2bHUsxucpOBMBmc10rWE1eJ+IDrr/0/nQ==\"\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.3.0\",\r\n        \"contentHash\": \"/fn1Tfo7j7k/slViPlM8azJuxQmri7FZ8dQ+gTeLbI29leN/1VK0U/BFcRdJNctsRCUgyKJ2q+I0Tjq07Rc1/Q==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.1\",\r\n        \"contentHash\": \"TMBuzAHpTenGbGgk0SMTwyEkyijY/Eae4ZGsFNYJvAr/LDn1ku3Etp3FPxChmDp5HHF3kzJuoaa08N0xjqAJfQ==\"\r\n      },\r\n      \"Microsoft.NETCore.Targets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.3\",\r\n        \"contentHash\": \"3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==\"\r\n      },\r\n      \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==\"\r\n      },\r\n      \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==\"\r\n      },\r\n      \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==\"\r\n      },\r\n      \"runtime.native.System\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==\",\r\n        \"dependencies\": {\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==\",\r\n        \"dependencies\": {\r\n          \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==\"\r\n      },\r\n      \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==\"\r\n      },\r\n      \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==\"\r\n      },\r\n      \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==\"\r\n      },\r\n      \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==\"\r\n      },\r\n      \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==\"\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Concurrent\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.5.0\",\r\n        \"contentHash\": \"EXKiDFsChZW0RjrZ4FYHu9aW6+P4MCgEDCklsVseRfhoO0F+dXeMSsMRAlVXIo06kGJ/zv+2w1a2uc2+kxxSaQ==\"\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"I+D26qpYdoklyAVUdqwUBrEIckMNjAYnuPJy/h9dsQItpQwVREkDFs4b4tkBza0kT2Yk48Lcfsv2QQ9hWsh9Iw==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Convention\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Composition.TypedParts\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"NHWhkM3ZkspmA0XJEsKdtTt1ViDYuojgSND3yHhTzwxepiwqZf+BCWuvCbjUt4fe0NxxQhUDGJ5km6sLjo9qnQ==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"GLjh2Ju71k6C0qxMMtl4efHa68NmWeIUYh4fkUI8xbjQrEBvFmRwMDFcylT8/PR9SQbeeL48IkFxU/+gd0nYEQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"fN1bT4RX4vUqjbgoyuJFVUizAl2mYF5VAb+bVIxIYZSSc0BdnX+yGAxcavxJuDDCQ1K+/mdpgyEFc8e9ikjvrg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0LEJN+2NVM89CE4SekDrrk5tHV5LeATltkp+9WNYrR+Huiyt0vaCqHbbHtVAjPyeLWIc8dOz/3kthRBj32wGQg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0Zae/FtzeFgDBBuILeIbC/T9HMYbW4olAmi8XqqAGosSOWvXfiQLfARZEhiGd0LVXaYgXr0NhxiU1LldRP1fpQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Debug\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.DiagnosticSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"tD6kosZnTAGdrEa0tZSuFyunMbt/5KYDnHdndJYGqZoNy00XVXyACd5d6KnE1YgYv3ne2CjtAfNXo/fwEhnKUA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tracing\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Calendars\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq.Expressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Net.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Numerics.Vectors\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"UiLzLW+Lw6HLed1Hcg+8jSRttrbuXv7DANVj0DkL9g6EnnzbL75EB7EWsw5uRbhxd/4YdG8li5XizGWepmG3PQ==\"\r\n      },\r\n      \"System.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.ILGeneration\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.Lightweight\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.0\",\r\n        \"contentHash\": \"COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"1.5.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.TypeExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Resources.ResourceManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.3\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.3\",\r\n        \"contentHash\": \"3TIsJhD1EiiT0w2CcDMN/iSSwnNnsrnbzeVHSKkaEgV85txMprmuO+Yq2AdSbeVGcg28pdNDTPK87tJhX7VFHw==\"\r\n      },\r\n      \"System.Runtime.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"qAtKMcHOAq9/zKkl0dwvF0T0pmgCQxX1rC49rJXoU8jq+lw6MC3uXy7nLFmjEI20T3Aq069eWz4LcYR64vEmJw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.3\",\r\n          \"System.Runtime\": \"4.3.1\"\r\n        }\r\n      },\r\n      \"System.Runtime.Handles\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Numerics\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==\",\r\n        \"dependencies\": {\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Algorithms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Cng\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Csp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.X509Certificates\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Cng\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Csp\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"4J2JQXbftjPMppIHJ7IC+VXQ9XfEagN92vZZNoG12i+zReYlim5dMoXFC1Zzg7tsnKDM7JPo5bYfFK4Jheq44w==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      },\r\n      \"System.Threading\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.3\",\r\n        \"contentHash\": \"+MvhNtcvIbqmhANyKu91jQnvIRVSTiaOiFNfKWwXGHG48YAb4I/TyH8spsySiPYla7gKal5ZnF3teJqZAximyQ==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Directory.Build.props",
    "content": "<Project>\r\n  <PropertyGroup>\r\n    <LangVersion>10.0</LangVersion>\r\n    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>\r\n    <WarningsNotAsErrors>1591</WarningsNotAsErrors>\r\n    <!-- Move to WarningsNotAsErrors after https://github.com/NuGet/Home/issues/5375 -->\r\n    <NoWarn>NU5104</NoWarn>\r\n    <Nullable>enable</Nullable>    \r\n    <DefaultItemExcludes>$(DefaultItemExcludes);node_modules\\**</DefaultItemExcludes>\r\n    <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>\r\n  </PropertyGroup>\r\n  \r\n  <PropertyGroup>\r\n    <HasPublicApi Condition=\"\r\n      !$(MSBuildProjectName.Contains('Demo'))\r\n      And\r\n      !$(MSBuildProjectName.Contains('Tests'))\r\n      And\r\n      '$(MSBuildProjectName)' != 'Benchmarks'\r\n      And\r\n      '$(MSBuildProjectName)' != 'WebAssets'\r\n    \">true</HasPublicApi>\r\n  </PropertyGroup>\r\n  \r\n  <ItemGroup>\r\n    <PackageReference Condition=\"'$(HasPublicApi)' == 'true' And '$(MSBuildProjectName)' != 'Common'\" Include=\"Microsoft.CodeAnalysis.PublicApiAnalyzers\" Version=\"3.3.0\">\r\n      <PrivateAssets>all</PrivateAssets>\r\n      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>\r\n    </PackageReference>\r\n\r\n    <!-- Common currently crashes, see https://github.com/dotnet/roslyn-analyzers/issues/3445 -->\r\n    <PackageReference Condition=\"'$(HasPublicApi)' == 'true' And '$(MSBuildProjectName)' == 'Common'\" Include=\"Microsoft.CodeAnalysis.PublicApiAnalyzers\" Version=\"2.9.8\">\r\n      <PrivateAssets>all</PrivateAssets>\r\n      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>\r\n    </PackageReference>\r\n  </ItemGroup>\r\n  \r\n  <ItemGroup Condition=\"'$(HasPublicApi)' == 'true'\">\r\n    <AdditionalFiles Include=\"PublicAPI.Shipped.txt\" />\r\n    <AdditionalFiles Include=\"PublicAPI.Unshipped.txt\" />\r\n  </ItemGroup>\r\n</Project>\r\n"
  },
  {
    "path": "FSharp/Advanced/FSharpFileSystem.cs",
    "content": "using System.IO;\r\nusing MirrorSharp.FSharp.Internal;\r\nusing MirrorSharp.Internal;\r\n\r\nnamespace MirrorSharp.FSharp.Advanced {\r\n    /// <summary>Represents a configuration endpoint for F# virtual filesystem.</summary>\r\n    public static class FSharpFileSystem {\r\n        /// <summary>Registers a new virtual file with unique name in the F# filesystem.</summary>\r\n        /// <param name=\"stream\"><see cref=\"MemoryStream\" /> representing the content of the file.</param>\r\n        /// <returns><see cref=\"FSharpVirtualFile\" /> object that provides the unique name and allows deregistration.</returns>\r\n        /// <remarks><see cref=\"FSharpVirtualFile.Dispose()\" /> should be used to deregister the file.</remarks>\r\n        public static FSharpVirtualFile RegisterVirtualFile(MemoryStream stream) {\r\n            Argument.NotNull(nameof(stream), stream);\r\n            return CustomFileSystem.Instance.RegisterVirtualFile(static s => s, stream);\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "FSharp/Advanced/FSharpParseAndCheckResults.cs",
    "content": "using FSharp.Compiler.CodeAnalysis;\r\n\r\nnamespace MirrorSharp.FSharp.Advanced {\r\n    /// <summary>Represent combined Parse and Check results from the <see cref=\"FSharpChecker\" />.</summary>\r\n    public class FSharpParseAndCheckResults {\r\n        internal FSharpParseAndCheckResults(FSharpParseFileResults parseResults, FSharpCheckFileAnswer checkAnswer) {\r\n            ParseResults = parseResults;\r\n            CheckAnswer = checkAnswer;\r\n        }\r\n\r\n        /// <summary>Gets the Parse results.</summary>\r\n        public FSharpParseFileResults ParseResults { get; }\r\n\r\n        /// <summary>Gets the Check answer.</summary>\r\n        public FSharpCheckFileAnswer CheckAnswer { get; }\r\n    }\r\n}\r\n"
  },
  {
    "path": "FSharp/Advanced/FSharpProjectOptionsExtensions.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing FSharp.Compiler.CodeAnalysis;\r\nusing MirrorSharp.Internal;\r\n\r\nnamespace MirrorSharp.FSharp.Advanced {\r\n    /// <summary>Provides Roslyn-like extensions that allow simple updates to <see cref=\"FSharpProjectOptions\" />.</summary>\r\n    public static class FSharpProjectOptionsExtensions {\r\n        /// <summary>\r\n        /// Returns a new instance of <see cref=\"FSharpProjectOptions\" /> with\r\n        /// <see cref=\"FSharpProjectOptions.OtherOptions\"/> <c>--optimize</c> option set to the provided value; if\r\n        /// it already matches the provided value, returns <paramref name=\"options\" />.\r\n        /// </summary>\r\n        /// <param name=\"options\">The options to use as a base for the returned value.</param>\r\n        /// <param name=\"optimize\">The new value for the <c>--optimize</c> option; if <c>null</c>, means option should be removed.</param>\r\n        /// <returns>\r\n        /// Either a new instance of <see cref=\"FSharpProjectOptions\" /> with the option set; or <paramref name=\"options\" />\r\n        /// if it already matches the provided value.\r\n        /// </returns>\r\n        public static FSharpProjectOptions WithOtherOptionOptimize(this FSharpProjectOptions options, bool? optimize) {\r\n            return options.WithOtherOptions(\r\n                options.OtherOptions.WithSwitch(\"--optimize\", optimize)\r\n            );\r\n        }\r\n\r\n        /// <summary>\r\n        /// Returns a new instance of <see cref=\"FSharpProjectOptions\" /> with\r\n        /// <see cref=\"FSharpProjectOptions.OtherOptions\"/> <c>--target</c> option set to the provided value; if\r\n        /// it already matches the provided value, returns <paramref name=\"options\" />.\r\n        /// </summary>\r\n        /// <param name=\"options\">The options to use as a base for the returned value.</param>\r\n        /// <param name=\"target\">The new value for the <c>--target</c> option; if <c>null</c>, means option should be removed.</param>\r\n        /// <returns>\r\n        /// Either a new instance of <see cref=\"FSharpProjectOptions\" /> with the option set; or <paramref name=\"options\" />\r\n        /// if it already matches the provided value.\r\n        /// </returns>\r\n        public static FSharpProjectOptions WithOtherOptionTarget(this FSharpProjectOptions options, string? target) {\r\n            return options.WithOtherOptions(\r\n                options.OtherOptions.With(\"--target:\", target)\r\n            );\r\n        }\r\n\r\n        /// <summary>\r\n        /// Returns a new instance of <see cref=\"FSharpProjectOptions\" /> with\r\n        /// <see cref=\"FSharpProjectOptions.OtherOptions\"/> <c>--define</c>:<paramref name=\"symbol\"/> option\r\n        /// added or removed depending on <paramref name=\"defined\"/>; if it already matches the provided\r\n        /// value, returns <paramref name=\"options\" />.\r\n        /// </summary>\r\n        /// <param name=\"options\">The options to use as a base for the returned value.</param>\r\n        /// <param name=\"symbol\">The symbol for the <c>--define</c> option.</param>\r\n        /// <param name=\"defined\">If <c>true</c>, <c>--define</c> should be added; otherwise removed.</param>\r\n        /// <returns>\r\n        /// Either a new instance of <see cref=\"FSharpProjectOptions\" /> with the option changed; or <paramref name=\"options\" />\r\n        /// if it already matches the provided value.\r\n        /// </returns>\r\n        public static FSharpProjectOptions WithOtherOptionDefine(this FSharpProjectOptions options, string symbol, bool defined = true) {\r\n            Argument.NotNull(nameof(symbol), symbol);\r\n            return options.WithOtherOptions(\r\n                defined ? options.OtherOptions.With(\"--define:\" + symbol) : options.OtherOptions.Without(\"--define:\" + symbol)\r\n            );\r\n        }\r\n\r\n        /// <summary>\r\n        /// Returns a new instance of <see cref=\"FSharpProjectOptions\" /> with\r\n        /// <see cref=\"FSharpProjectOptions.OtherOptions\"/> set to the provided value; if\r\n        /// it is already the same as the provided value, returns <paramref name=\"options\" />.\r\n        /// </summary>\r\n        /// <param name=\"options\">The options to use as a base for the returned value.</param>\r\n        /// <param name=\"otherOptions\">The new value for <see cref=\"FSharpProjectOptions.OtherOptions\" />.</param>\r\n        /// <returns>\r\n        /// Either a new instance of <see cref=\"FSharpProjectOptions\" /> with <see cref=\"FSharpProjectOptions.OtherOptions\" /> set;\r\n        /// or <paramref name=\"options\" /> if it already includes the provided value.\r\n        /// </returns>\r\n        public static FSharpProjectOptions WithOtherOptions(this FSharpProjectOptions options, string[] otherOptions) {\r\n            Argument.NotNull(nameof(options), options);\r\n            Argument.NotNull(nameof(otherOptions), otherOptions);\r\n\r\n            if (options.OtherOptions == otherOptions)\r\n                return options;\r\n\r\n            return new FSharpProjectOptions(\r\n                options.ProjectFileName,\r\n                options.ProjectId,\r\n                options.SourceFiles,\r\n                otherOptions,\r\n                options.ReferencedProjects,\r\n                options.IsIncompleteTypeCheckEnvironment,\r\n                options.UseScriptResolutionRules,\r\n                options.LoadTime,\r\n                options.UnresolvedReferences,\r\n                options.OriginalLoadReferences,\r\n                options.Stamp\r\n            );\r\n        }\r\n\r\n        internal static FSharpProjectOptions WithOtherOption(this FSharpProjectOptions options, string option) {\r\n            return options.WithOtherOptions(options.OtherOptions.With(option));\r\n        }\r\n\r\n        internal static FSharpProjectOptions WithoutOtherOption(this FSharpProjectOptions options, string option) {\r\n            return options.WithOtherOptions(options.OtherOptions.Without(option));\r\n        }\r\n\r\n        private static string[] WithSwitch(this string[] otherOptions, string prefix, bool? value) {\r\n            var valueString = value != null ? (value.Value ? \"+\" : \"-\") : null;\r\n            return otherOptions.With(prefix, valueString);\r\n        }\r\n\r\n        private static string[] With(this string[] otherOptions, string option) {\r\n            if (Array.IndexOf(otherOptions, option) > -1)\r\n                return otherOptions;\r\n\r\n            var newOptions = new string[otherOptions.Length + 1];\r\n            Array.Copy(otherOptions, newOptions, otherOptions.Length);\r\n            newOptions[newOptions.Length - 1] = option;\r\n            return newOptions;\r\n        }\r\n\r\n        private static string[] Without(this string[] otherOptions, string option) {\r\n            if (Array.IndexOf(otherOptions, option) < 0)\r\n                return otherOptions;\r\n\r\n            // generally options are not changed often, so it's OK to use LINQ\r\n            return Array.FindAll(otherOptions, o => o != option);\r\n        }\r\n\r\n        private static string[] With(this string[] otherOptions, string prefix, string? value) {\r\n            // generally options are not changed often, so it's OK to use LINQ\r\n            if (value == null) {\r\n                // need to remove the item if it exists\r\n                if (!Array.Exists(otherOptions, o => o.StartsWith(prefix)))\r\n                    return otherOptions;\r\n                return Array.FindAll(otherOptions, o => !o.StartsWith(prefix));\r\n            }\r\n\r\n            var newOption = prefix + value;\r\n            if (Array.IndexOf(otherOptions, newOption) > -1)\r\n                return otherOptions;\r\n\r\n            var newOptions = new List<string>();\r\n            var newAdded = false;\r\n            foreach (var option in otherOptions) {\r\n                if (option.StartsWith(prefix)) {\r\n                    newOptions.Add(newOption);\r\n                    newAdded = true;\r\n                    continue;\r\n                }\r\n                newOptions.Add(option);\r\n            }\r\n            if (!newAdded)\r\n                newOptions.Add(newOption);\r\n            return newOptions.ToArray();\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "FSharp/Advanced/FSharpTargetNames.cs",
    "content": "using FSharp.Compiler.CodeAnalysis;\r\n\r\nnamespace MirrorSharp.FSharp.Advanced {\r\n    /// <summary>\r\n    /// Provides a list of constants for <see cref=\"FSharpProjectOptions.OtherOptions\" /> <c>--target</c> option.\r\n    /// </summary>\r\n    public static class FSharpTargets {\r\n        /// <summary>Corresponds to <c>--target:exe</c>.</summary>\r\n        public const string Exe = \"exe\";\r\n\r\n        /// <summary>Corresponds to <c>--target:winexe</c>.</summary>\r\n        public const string WinExe = \"winexe\";\r\n\r\n        /// <summary>Corresponds to <c>--target:library</c>.</summary>\r\n        public const string Library = \"library\";\r\n\r\n        /// <summary>Corresponds to <c>--target:module</c>.</summary>\r\n        public const string Module = \"module\";\r\n    }\r\n}\r\n"
  },
  {
    "path": "FSharp/Advanced/FSharpVirtualFile.cs",
    "content": "using System;\r\nusing System.Collections.Concurrent;\r\nusing System.IO;\r\nusing MirrorSharp.FSharp.Internal;\r\nusing IO = System.IO;\r\n\r\nnamespace MirrorSharp.FSharp.Advanced {\r\n    /// <summary>Represents a virtual (in-memory) file within <see cref=\"FSharpFileSystem\" />.</summary>\r\n    public abstract class FSharpVirtualFile : IDisposable {\r\n        private readonly ConcurrentDictionary<string, FSharpVirtualFile> _ownerCollection;\r\n        private ReusableMemoryStreamWrapper? _lastStreamWrapper;\r\n\r\n        private protected FSharpVirtualFile(\r\n            string path,\r\n            ConcurrentDictionary<string, FSharpVirtualFile> ownerCollection\r\n        ) {\r\n            Path = path;\r\n            _ownerCollection = ownerCollection;\r\n        }\r\n\r\n        /// <summary>Gets the path of the virtual file (generated, unique).</summary>\r\n        public string Path { get; }\r\n\r\n        internal abstract MemoryStream GetStream();\r\n        internal ReusableMemoryStreamWrapper GetStreamWrapper() {\r\n            var stream = GetStream();\r\n            if (stream == _lastStreamWrapper?.InnerStream)\r\n                return _lastStreamWrapper!;\r\n\r\n            var wrapper = new ReusableMemoryStreamWrapper(stream, IO.Path.GetFileName(Path));\r\n            _lastStreamWrapper = wrapper;\r\n            return wrapper;\r\n        }\r\n\r\n        internal DateTime LastWriteTime { get; set; }\r\n\r\n        /// <summary>Deregisters the file from the <see cref=\"FSharpFileSystem\" />.</summary>\r\n        public void Dispose() {\r\n            _ownerCollection.TryRemove(Path, out var _);\r\n        }\r\n    }\r\n\r\n    internal class FSharpVirtualFile<TGetStreamContext> : FSharpVirtualFile, IDisposable {\r\n        private readonly TGetStreamContext _getStreamContext;\r\n        private readonly Func<TGetStreamContext, MemoryStream> _getStream;\r\n\r\n        public FSharpVirtualFile(\r\n            string path,\r\n            Func<TGetStreamContext, MemoryStream> getStream,\r\n            TGetStreamContext getStreamContext,\r\n            ConcurrentDictionary<string, FSharpVirtualFile> ownerCollection\r\n        ) : base(path, ownerCollection) {\r\n            _getStream = getStream;\r\n            _getStreamContext = getStreamContext;\r\n        }\r\n\r\n        internal override MemoryStream GetStream() => _getStream(_getStreamContext);\r\n    }\r\n}"
  },
  {
    "path": "FSharp/Advanced/IFSharpSession.cs",
    "content": "using System.Collections.Immutable;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.FSharp.Collections;\r\nusing FSharp.Compiler.CodeAnalysis;\r\nusing FSharp.Compiler.Diagnostics;\r\nusing System.IO;\r\nusing System;\r\n\r\nnamespace MirrorSharp.FSharp.Advanced {\r\n    /// <summary>Represents a user session based on F# parser.</summary>\r\n    public interface IFSharpSession {\r\n        /// <summary>Returns the combined <see cref=\"FSharpParseAndCheckResults\" /> for the current session.</summary>\r\n        /// <param name=\"cancellationToken\">A <see cref=\"CancellationToken\"/> that can be used to cancel the call.</param>\r\n        /// <returns>Last <see cref=\"FSharpParseAndCheckResults\"/> if still valid, otherwise results of a new forced parse and check.</returns>\r\n        ValueTask<FSharpParseAndCheckResults> ParseAndCheckAsync(CancellationToken cancellationToken);\r\n\r\n        /// <summary>Return last parse result (if text hasn't changed since), but doesn't force a new reparse.</summary>\r\n        /// <returns>Last <see cref=\"FSharpParseFileResults\"/> if still valid, otherwise <c>null</c>.</returns>\r\n        FSharpParseFileResults? GetLastParseResults();\r\n\r\n        /// <summary>Return last check result (if text hasn't changed since), but doesn't force a new check.</summary>\r\n        /// <returns>Last <see cref=\"FSharpCheckFileAnswer\"/> if still valid, otherwise <c>null</c>.</returns>\r\n        FSharpCheckFileAnswer? GetLastCheckAnswer();\r\n\r\n        /// <summary>Attempts to compile an F# assembly based on the current session.</summary>\r\n        /// <param name=\"assemblyStream\">Stream to compile the assembly to.</param>\r\n        /// <param name=\"cancellationToken\">A <see cref=\"CancellationToken\"/> that can be used to cancel the call.</param>\r\n        /// <returns>A tuple returned from the F# compilation call.</returns>\r\n        ValueTask<Tuple<FSharpDiagnostic[], int>> CompileAsync(MemoryStream assemblyStream, CancellationToken cancellationToken);\r\n\r\n        /// <summary>Converts <see cref=\"FSharpDiagnostic\" /> to a <see cref=\"Diagnostic\" />.</summary>\r\n        /// <param name=\"diagnostic\"><see cref=\"FSharpDiagnostic\" /> value to convert.</param>\r\n        /// <returns><see cref=\"Diagnostic\" /> value that corresponds to <paramref name=\"diagnostic\" />.</returns>\r\n        Diagnostic ConvertToDiagnostic(FSharpDiagnostic diagnostic);\r\n\r\n        /// <summary>Converts line and column into a text offset.</summary>\r\n        /// <param name=\"line\">Line to convert (0-based).</param>\r\n        /// <param name=\"column\">Column to convert (0-based).</param>\r\n        /// <returns>Text offset that corresponds to given line and column.</returns>\r\n        int ConvertToOffset(int line, int column);\r\n\r\n        /// <summary>Gets the <see cref=\"FSharpChecker\" /> associated with this session.</summary>\r\n        FSharpChecker Checker { get; }\r\n\r\n        /// <summary>Gets or sets the <see cref=\"ProjectOptions\" /> associated with this session.</summary>\r\n        FSharpProjectOptions ProjectOptions { get; set; }\r\n\r\n        /// <summary>Gets the assembly reference paths associated with this session.</summary>\r\n        ImmutableArray<string> AssemblyReferencePaths { get; }\r\n\r\n        /// <summary>Gets the <see cref=\"AssemblyReferencePaths\" /> as a <see cref=\"FSharpList{T}\"/>.</summary>\r\n        FSharpList<string> AssemblyReferencePathsAsFSharpList { get; }\r\n    }\r\n}\r\n"
  },
  {
    "path": "FSharp/Advanced/WorkSessionExtensions.cs",
    "content": "using MirrorSharp.Advanced;\r\nusing MirrorSharp.Internal;\r\n\r\nnamespace MirrorSharp.FSharp.Advanced {\r\n    /// <summary>Provides F#-related extensions to the <see cref=\"IWorkSession\" />.</summary>\r\n    public static class WorkSessionExtensions {\r\n        /// <summary>Specifies whether the <see cref=\"IWorkSession\" /> is using F#.</summary>\r\n        /// <param name=\"session\">The session</param>\r\n        /// <returns><c>true</c> if the session is using F#; otherwise, <c>false</c></returns>\r\n        public static bool IsFSharp(this IWorkSession session) {\r\n            Argument.NotNull(nameof(session), session);\r\n            return session is WorkSession { LanguageSession: IFSharpSession };\r\n        }\r\n\r\n        /// <summary>Returns F# session associated with the <see cref=\"IWorkSession\" />, if any; throws otherwise.</summary>\r\n        /// <param name=\"session\">The session</param>\r\n        /// <returns><see cref=\"IFSharpSession\" /> if the session is using F#</returns>\r\n        public static IFSharpSession FSharp(this IWorkSession session) {\r\n            Argument.NotNull(nameof(session), session);\r\n            return (IFSharpSession)((WorkSession)session).LanguageSession;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "FSharp/CHANGELOG.md",
    "content": "# Changelog\r\n\r\n## [3.0.0] - 2024-11-19\r\n\r\n### Added\r\n- Added IFSharpSession.CompileAsync\r\n\r\n### Fixed\r\n- Updated dependency on Microsoft.Build.Utilities.Core to safe version to resolve security audit warnings\r\n\r\n## Changed\r\n- Changed required .NET Framework version to 4.6.2 as required by dependent packages\r\n\r\n### Removed\r\n- (Breaking) Removed MirrorSharpFSharpOptions.Debug (F# PDB generation is not currently supported by MirrorSharp)\r\n- (Breaking) Removed FSharpProjectOptionsExtensions.WithOtherOptionDebug\r\n\r\n## [2.0.1] - 2024-06-01\r\n\r\n### Added\r\n- F# 8 support by @psfinaki (additional thanks to previous F# 7 upgrade PRs by @vzarytovskii and @rstm-sf)\r\n\r\n## [2.0.0] - 2022-08-13\r\n\r\n### Changed\r\n- (Breaking) Renamed FSharpVirtualFile.Name to Path\r\n\r\n### Fixed\r\n- Multiple edge cases in the file management and error reporting\r\n\r\n### Removed\r\n- (Breaking) Removed FSharpVirtualFile.Stream\r\n\r\n## [1.0.0] - 2022-04-04\r\n## [1.0.0-test-2021-04-02-1] - 2022-04-02\r\n## [1.0.0-test-2021-04-01-1] - 2022-04-01\r\n\r\n### Changed\r\n- Updated to support MirrorSharp.Common 3.0.0\r\n\r\n## [0.23.0] - 2021-10-22\r\n\r\n### Fixed\r\n- Fixed InvalidOperationException in F# completion with function types in scope\r\n\r\n### Added\r\n- Added proper completion icon for local values\r\n\r\n## [0.22.0] - 2021-08-04\r\n\r\n### Fixed\r\n- Fixed WorkSessionExtensions.IsFSharp failing if session is a mock\r\n\r\n## [0.21.0] - 2021-06-23\r\n\r\n### Added\r\n- Updated to support FSharp.Compiler.Service version 40 by @baronfel\r\n\r\n## [0.20.0] - 2020-12-21\r\n\r\n### Added\r\n- F# 5 support by @baronfel\r\n\r\n## [0.19.0] - 2020-12-17\r\n\r\n### Changed\r\n- Updated to support MirrorSharp.Common 2.2.2"
  },
  {
    "path": "FSharp/FSharp.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n  <Import Project=\"../NuGet.Common.props\" />\n\n  <PropertyGroup>\n    <AssemblyName>MirrorSharp.FSharp</AssemblyName>\n    <RootNamespace>MirrorSharp.FSharp</RootNamespace>\n    <TargetFrameworks>netstandard2.0; net462</TargetFrameworks>\n    <VersionPrefix>3.0.0</VersionPrefix>\n    <Description>MirrorSharp F# support library. $(DescriptionSuffix)</Description>\n    <PackageTags>F#;CodeMirror</PackageTags>\n    <GenerateDocumentationFile>true</GenerateDocumentationFile>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\Common\\Common.csproj\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"Microsoft.Build.Utilities.Core\" Version=\"17.12.6\" />\n    <PackageReference Include=\"Microsoft.IO.RecyclableMemoryStream\" Version=\"2.2.0\" />\n    <PackageReference Include=\"FSharp.Compiler.Service\" Version=\"43.8.300\" />\n    <PackageReference Include=\"FSharp.Core\" Version=\"8.0.300\" />\n  </ItemGroup>\n</Project>\n"
  },
  {
    "path": "FSharp/Internal/CustomAssemblyLoader.cs",
    "content": "using System;\r\nusing System.Reflection;\r\nusing FSharp.Compiler.IO;\r\n\r\nnamespace MirrorSharp.FSharp.Internal {\r\n    internal class CustomAssemblyLoader : IAssemblyLoader {\r\n        public Assembly AssemblyLoadFrom(string assemboy) {\r\n            throw new NotSupportedException();\r\n        }\r\n\r\n        public Assembly AssemblyLoad(AssemblyName assemblyName) {\r\n            return Assembly.Load(assemblyName);\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "FSharp/Internal/CustomFileSystem.cs",
    "content": "using System;\r\nusing System.Collections.Concurrent;\r\nusing System.Collections.Generic;\r\nusing System.IO;\r\nusing FSharp.Compiler.IO;\r\nusing Microsoft.FSharp.Core;\r\nusing MirrorSharp.FSharp.Advanced;\r\nusing MirrorSharp.Internal;\r\n\r\nnamespace MirrorSharp.FSharp.Internal {\r\n\r\n    internal class CustomFileSystem : IFileSystem {\r\n        private const string VirtualPathPrefix = \"#mirrorsharp-virtual-fs\";\r\n        private const string VirtualTempPath = VirtualPathPrefix + \"temp\";\r\n\r\n        private readonly ConcurrentDictionary<string, FSharpVirtualFile> _virtualFiles = new();\r\n        private readonly ConcurrentDictionary<string, byte[]> _fileBytesCache = new();\r\n        private readonly ConcurrentDictionary<string, bool> _fileExistsCache = new();\r\n        private readonly ConcurrentDictionary<string, bool> _directoryExistsCache = new();\r\n\r\n        public static CustomFileSystem Instance { get; } = new CustomFileSystem();\r\n\r\n        private CustomFileSystem() {\r\n            AssemblyLoader = new CustomAssemblyLoader();\r\n        }\r\n\r\n        public Stream OpenFileForReadShim(string filePath, FSharpOption<bool> useMemoryMappedFile, FSharpOption<bool> shouldShadowCopy) {\r\n            if (GetVirtualFile(filePath) is { } virtualFile)\r\n                return virtualFile.GetStreamWrapper().Reuse();\r\n\r\n            EnsureIsAssemblyFile(filePath);\r\n            // For some reason, F# compiler requests this for same file many, many times.\r\n            // Obviously, repeated IO is a bad idea.\r\n            // Caching isn't great either, but will do for now.\r\n            //\r\n            // Note: This has to create a new MemoryStream for now. CustomFileSystem is shared between\r\n            // multiple sessions, and dlls/assemblies are the same (as compared to \"virtual files\"\r\n            // which are added per session and have unique names).\r\n            return new MemoryStream(_fileBytesCache.GetOrAdd(filePath, f => File.ReadAllBytes(f)));\r\n        }\r\n\r\n        public Stream OpenFileForWriteShim(string filePath, FSharpOption<FileMode> fileMode, FSharpOption<FileAccess> fileAccess, FSharpOption<FileShare> fileShare) {\r\n            if (GetVirtualFile(filePath) is {} virtualFile)\r\n                return virtualFile.GetStreamWrapper().Reuse();\r\n\r\n            throw new NotSupportedException();\r\n        }\r\n\r\n        public string GetFullPathShim(string fileName) {\r\n            if (IsSpecialRangeFileName(fileName))\r\n                return fileName;\r\n\r\n            if (fileName.StartsWith(VirtualPathPrefix))\r\n                return fileName;\r\n\r\n            if (!Path.IsPathRooted(fileName))\r\n                throw new NotSupportedException();\r\n            return fileName;\r\n        }\r\n\r\n        public string GetFullFilePathInDirectoryShim(string dir, string fileName) {\r\n            var path = IsPathRootedShim(fileName) ? fileName : Path.Combine(dir, fileName);\r\n            return GetFullPathShim(path);\r\n        }\r\n\r\n        public string GetDirectoryNameShim(string path) {\r\n            if (path == \"\")\r\n                return \".\";\r\n\r\n            var dirName = Path.GetDirectoryName(path);\r\n            if (dirName == null)\r\n                return IsPathRootedShim(path) ? path : \".\";\r\n\r\n            return dirName == \"\" ? \".\" : dirName;\r\n        }\r\n\r\n        public DateTime GetLastWriteTimeShim(string fileName) {\r\n            if (GetVirtualFile(fileName) is {} virtualFile)\r\n                return virtualFile.LastWriteTime;\r\n\r\n            EnsureIsAssemblyFile(fileName);\r\n            // pretend all assemblies are ancient and unchanging\r\n            // basically no support for assemblies dynamically changing during MirrorSharp session\r\n            // which should be fine\r\n            return DateTime.MinValue;\r\n        }\r\n\r\n        public DateTime GetCreationTimeShim(string path) {\r\n            if (GetVirtualFile(path) is {} virtualFile)\r\n                return DateTime.MinValue;\r\n\r\n            EnsureIsAssemblyFile(path);\r\n            // pretend all assemblies are ancient and unchanging\r\n            // basically no support for assemblies dynamically changing during MirrorSharp session\r\n            // which should be fine\r\n            return DateTime.MinValue;\r\n        }\r\n\r\n        public void CopyShim(string src, string dest, bool overwrite) {\r\n            throw new NotSupportedException();\r\n        }\r\n\r\n        public bool FileExistsShim(string fileName) {\r\n            if (GetVirtualFile(fileName) != null)\r\n                return true;\r\n\r\n            if (!IsAssemblyFile(fileName) || fileName.StartsWith(VirtualTempPath, StringComparison.OrdinalIgnoreCase))\r\n                return false;\r\n\r\n            // For some reason, F# compiler requests this for same file many, many times.\r\n            // Obviously, repeated IO is a bad idea.\r\n            // Caching isn't great either, but will do for now.\r\n            return _fileExistsCache.GetOrAdd(fileName, f => File.Exists(f));\r\n        }\r\n\r\n        public void FileDeleteShim(string fileName) {\r\n            throw new NotSupportedException();\r\n        }\r\n\r\n        public string DirectoryCreateShim(string path) {\r\n            throw new NotSupportedException();\r\n        }\r\n\r\n        public bool DirectoryExistsShim(string path) {\r\n            if (path.StartsWith(VirtualTempPath, StringComparison.OrdinalIgnoreCase))\r\n                return false;\r\n\r\n            if (path.StartsWith(VirtualPathPrefix, StringComparison.OrdinalIgnoreCase))\r\n                return true;\r\n\r\n            return _directoryExistsCache.GetOrAdd(path, f => Directory.Exists(f));\r\n        }\r\n\r\n        public void DirectoryDeleteShim(string path) {\r\n            throw new NotSupportedException();\r\n        }\r\n\r\n        public IEnumerable<string> EnumerateFilesShim(string path, string pattern) {\r\n            throw new NotSupportedException();\r\n        }\r\n\r\n        public IEnumerable<string> EnumerateDirectoriesShim(string path) {\r\n            throw new NotSupportedException();\r\n        }\r\n\r\n        public string ChangeExtensionShim(string path, string extension) {\r\n            throw new NotImplementedException();\r\n        }\r\n\r\n        public string GetTempPathShim() {\r\n            return VirtualTempPath;\r\n        }\r\n\r\n        public string NormalizePathShim(string path) {\r\n            return GetFullPathShim(path);\r\n        }\r\n\r\n        public bool IsInvalidPathShim(string filename) {\r\n            return filename.IndexOfAny(Path.GetInvalidPathChars()) >= 0;\r\n        }\r\n\r\n        public bool IsPathRootedShim(string path) {\r\n            if (path.StartsWith(VirtualPathPrefix))\r\n                return true;\r\n\r\n            return Path.IsPathRooted(path);\r\n        }\r\n\r\n        public bool IsStableFileHeuristic(string fileName) {\r\n            // FSharp.Core's default implementation.\r\n            var directory = Path.GetDirectoryName(fileName);\r\n            return directory.Contains(\"Reference Assemblies/\")\r\n                || directory.Contains(\"Reference Assemblies\\\\\")\r\n                || directory.Contains(\"packages/\")\r\n                || directory.Contains(\"packages\\\\\")\r\n                || directory.Contains(\"lib/mono/\");\r\n        }\r\n\r\n        public IAssemblyLoader AssemblyLoader { get; }\r\n\r\n        private static void EnsureIsAssemblyFile(string fileName) {\r\n            if (!IsAssemblyFile(fileName))\r\n                throw new NotSupportedException();\r\n        }\r\n\r\n        private static bool IsAssemblyFile(string fileName) {\r\n            return fileName.EndsWith(\".dll\", StringComparison.OrdinalIgnoreCase)\r\n                || fileName.EndsWith(\".optdata\", StringComparison.OrdinalIgnoreCase)\r\n                || fileName.EndsWith(\".sigdata\", StringComparison.OrdinalIgnoreCase)\r\n                || fileName.EndsWith(\".win32manifest\", StringComparison.OrdinalIgnoreCase);\r\n        }\r\n\r\n        private static bool IsSpecialRangeFileName(string fileName) {\r\n            // File names used for ranges that are outside of specific source files\r\n            // https://github.com/dotnet/fsharp/blob/dc81e22205550f0cedf4295b06c3a1e338c1cfa1/src/fsharp/range.fs#L226-L228\r\n            return fileName is \"unknown\" or \"startup\" or \"commandLineArgs\"\r\n                // https://github.com/dotnet/fsharp/blob/dc81e22205550f0cedf4295b06c3a1e338c1cfa1/src/fsharp/service/ServiceParsedInputOps.fs#L548\r\n                or \"\";\r\n        }\r\n\r\n        public FSharpVirtualFile RegisterVirtualFile<TGetStreamContext>(\r\n            Func<TGetStreamContext, MemoryStream> getStream,\r\n            TGetStreamContext getStreamContext,\r\n            string? fileName = null\r\n        ) {\r\n            Argument.NotNull(nameof(getStream), getStream);\r\n\r\n            var path = Path.Combine(VirtualPathPrefix, Guid.NewGuid().ToString(\"D\"));\r\n            if (fileName != null)\r\n                path = Path.Combine(path, fileName);\r\n\r\n            var file = (FSharpVirtualFile?)null;\r\n            try {\r\n                file = new FSharpVirtualFile<TGetStreamContext>(path, getStream, getStreamContext, _virtualFiles);\r\n                _virtualFiles.TryAdd(path, file);\r\n                return file;\r\n            }\r\n            catch {\r\n                file?.Dispose();\r\n                throw;\r\n            }\r\n        }\r\n\r\n        private FSharpVirtualFile? GetVirtualFile(string path)\r\n            => _virtualFiles.TryGetValue(path, out var file)\r\n             ? file\r\n             : null;\r\n    }\r\n}"
  },
  {
    "path": "FSharp/Internal/FSharpLanguage.cs",
    "content": "using Microsoft.IO;\r\nusing MirrorSharp.Internal;\r\nusing MirrorSharp.Internal.Abstraction;\r\n\r\nnamespace MirrorSharp.FSharp.Internal;\r\n\r\ninternal class FSharpLanguage : ILanguage {\r\n    public const string Name = \"F#\";\r\n\r\n    private readonly MirrorSharpFSharpOptions _options;\r\n    private readonly RecyclableMemoryStreamManager _memoryStreamManager;\r\n\r\n    public FSharpLanguage(MirrorSharpFSharpOptions options, RecyclableMemoryStreamManager memoryStreamManager) {\r\n        _options = options;\r\n        _memoryStreamManager = memoryStreamManager;\r\n    }\r\n\r\n    public ILanguageSessionInternal CreateSession(string text, ILanguageSessionExtensions extensions) {\r\n        return new FSharpSession(text, _options, _memoryStreamManager);\r\n    }\r\n\r\n    string ILanguage.Name => Name;\r\n}"
  },
  {
    "path": "FSharp/Internal/FSharpSession.cs",
    "content": "using FSharp.Compiler.CodeAnalysis;\r\nusing FSharp.Compiler.Diagnostics;\r\nusing FSharp.Compiler.EditorServices;\r\nusing FSharp.Compiler.IO;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.Completion;\r\nusing Microsoft.CodeAnalysis.Text;\r\nusing Microsoft.FSharp.Collections;\r\nusing Microsoft.FSharp.Control;\r\nusing Microsoft.FSharp.Core;\r\nusing Microsoft.IO;\r\nusing MirrorSharp.FSharp.Advanced;\r\nusing MirrorSharp.Internal;\r\nusing MirrorSharp.Internal.Abstraction;\r\nusing System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.Immutable;\r\nusing System.IO;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing range = FSharp.Compiler.Text.Range;\r\nusing SourceText = FSharp.Compiler.Text.SourceText;\r\n\r\nnamespace MirrorSharp.FSharp.Internal;\r\n\r\ninternal class FSharpSession : ILanguageSessionInternal, IFSharpSession {\r\n    private static readonly Task<CompletionDescription?> NoCompletionDescriptionTask = Task.FromResult<CompletionDescription?>(null);\r\n\r\n    private string _sourceText;\r\n    private FSharpVirtualFile _sourceFile;\r\n    private MemoryStream? _sourceStream;\r\n    private LineColumnMap? _lastLineMap;\r\n    private FSharpParseAndCheckResults? _lastParseAndCheck;\r\n    private FSharpProjectOptions _projectOptions;\r\n    private MemoryStream? _outputStream;\r\n    private FSharpVirtualFile? _outputFile;\r\n    private string[]? _compilerArgs;\r\n\r\n    private readonly RecyclableMemoryStreamManager _memoryStreamManager;\r\n\r\n    static FSharpSession() {\r\n        FileSystemAutoOpens.FileSystem = CustomFileSystem.Instance;\r\n    }\r\n\r\n    public FSharpSession(\r\n        string text, MirrorSharpFSharpOptions options,\r\n        RecyclableMemoryStreamManager memoryStreamManager\r\n    ) {\r\n        _sourceText = text;\r\n        _sourceFile = CustomFileSystem.Instance.RegisterVirtualFile(\r\n            static s => s.EnsureTextStream(), this, fileName: \"_.fs\"\r\n        );\r\n        _sourceFile.LastWriteTime = DateTime.Now;\r\n        _memoryStreamManager = memoryStreamManager;\r\n\r\n        Checker = FSharpChecker.Create(\r\n            null,\r\n            keepAssemblyContents: true,\r\n            keepAllBackgroundResolutions: true,\r\n            legacyReferenceResolver: null,\r\n            tryGetMetadataSnapshot: null,\r\n            suggestNamesForErrors: true,\r\n            keepAllBackgroundSymbolUses: false,\r\n            enableBackgroundItemKeyStoreAndSemanticClassification: false,\r\n            // allows for using signature files to speed up compilation, but mutually exclusive with `keepAssemblyContents`\r\n            enablePartialTypeChecking: false,\r\n            parallelReferenceResolution: false,\r\n            captureIdentifiersWhenParsing: false,\r\n            documentSource: FSharpOption<DocumentSource>.Some(DocumentSource.FileSystem),\r\n            useSyntaxTreeCache: false,\r\n            useTransparentCompiler: false\r\n        );\r\n        // Checker.ImplicitlyStartBackgroundWork = false;\r\n        AssemblyReferencePaths = options.AssemblyReferencePaths;\r\n        AssemblyReferencePathsAsFSharpList = ToFSharpList(options.AssemblyReferencePaths);\r\n        _projectOptions = new FSharpProjectOptions(\r\n            \"_\",\r\n            projectId: null,\r\n            sourceFiles: new[] { _sourceFile.Path },\r\n            otherOptions: ConvertToOtherOptionsSlow(options),\r\n            referencedProjects: Array.Empty<FSharpReferencedProject>(),\r\n            isIncompleteTypeCheckEnvironment: true,\r\n            useScriptResolutionRules: false,\r\n            loadTime: DateTime.Now,\r\n            unresolvedReferences: null,\r\n            originalLoadReferences: FSharpList<Tuple<range, string, string>>.Empty,\r\n            stamp: null\r\n        );\r\n    }\r\n\r\n    private MemoryStream EnsureTextStream() {\r\n        if (_sourceStream == null) {\r\n            var byteCount = Encoding.UTF8.GetByteCount(_sourceText);\r\n            _sourceStream = _memoryStreamManager.GetStream(\"FSharpSession.SourceFile\", byteCount, asContiguousBuffer: true);\r\n            Encoding.UTF8.GetBytes(_sourceText, 0, _sourceText.Length, _sourceStream.GetBuffer(), 0);\r\n            _sourceStream.SetLength(byteCount);\r\n        }\r\n\r\n        return _sourceStream;\r\n    }\r\n\r\n    private FSharpList<string> ToFSharpList(ImmutableArray<string> assemblyReferencePaths) {\r\n        var list = FSharpList<string>.Empty;\r\n        for (var i = assemblyReferencePaths.Length - 1; i >= 0; i--) {\r\n            list = FSharpList<string>.Cons(assemblyReferencePaths[i], list);\r\n        }\r\n        return list;\r\n    }\r\n\r\n    public FSharpChecker Checker { get; }\r\n    public FSharpProjectOptions ProjectOptions {\r\n        get => _projectOptions;\r\n        set {\r\n            if (value == _projectOptions)\r\n                return;\r\n\r\n            _projectOptions = Argument.NotNull(nameof(value), value);\r\n            _lastParseAndCheck = null;\r\n            _compilerArgs = null;\r\n        }\r\n    }\r\n\r\n    public ImmutableArray<string> AssemblyReferencePaths { get; }\r\n    public FSharpList<string> AssemblyReferencePathsAsFSharpList { get; }\r\n\r\n    private string[] ConvertToOtherOptionsSlow(MirrorSharpFSharpOptions options) {\r\n        var results = new List<string> {\r\n            \"--noframework\",\r\n            // There are some challenges with supporting a win32manifest,\r\n            // so it is disabled for now\r\n            \"--nowin32manifest\",\r\n            // There are some challenges with supporting PDB symbols with\r\n            // VirtualFileSystem, so it is always disabled for now.\r\n            \"--debug-\"\r\n        };\r\n        if (options.Optimize != null)\r\n            results.Add(\"--optimize\" + (options.Optimize.Value ? \"+\" : \"-\"));\r\n        if (options.Target != null)\r\n            results.Add(\"--target:\" + options.Target);\r\n        if (options.LangVersion != null)\r\n            results.Add(\"--langversion:\" + options.LangVersion);\r\n        if (options.TargetProfile != null)\r\n            results.Add(\"--targetprofile:\" + options.TargetProfile);\r\n\r\n        foreach (var path in options.AssemblyReferencePaths) {\r\n            // ReSharper disable once HeapView.ObjectAllocation (Not worth fixing for now)\r\n            results.Add(\"-r:\" + path);\r\n        }\r\n        return results.ToArray();\r\n    }\r\n\r\n    public async Task<ImmutableArray<Diagnostic>> GetDiagnosticsAsync(CancellationToken cancellationToken) {\r\n        var result = await ParseAndCheckAsync(cancellationToken).ConfigureAwait(false);\r\n        var success = result.CheckAnswer as FSharpCheckFileAnswer.Succeeded;\r\n        var diagnosticCount = result.ParseResults.Diagnostics.Length + (success?.Item.Diagnostics.Length ?? 0);\r\n        if (diagnosticCount == 0)\r\n            return ImmutableArray<Diagnostic>.Empty;\r\n\r\n        var diagnostics = ImmutableArray.CreateBuilder<Diagnostic>(diagnosticCount);\r\n        ConvertAndAddTo(diagnostics, result.ParseResults.Diagnostics);\r\n\r\n        if (success != null)\r\n            ConvertAndAddTo(diagnostics, success.Item.Diagnostics);\r\n\r\n        return diagnostics.MoveToImmutable();\r\n    }\r\n\r\n    public async ValueTask<FSharpParseAndCheckResults> ParseAndCheckAsync(CancellationToken cancellationToken) {\r\n        if (_lastParseAndCheck != null)\r\n            return _lastParseAndCheck;\r\n        var sourceText = SourceText.ofString(_sourceText);\r\n        var tuple = await FSharpAsync.StartAsTask(\r\n            Checker.ParseAndCheckFileInProject(_sourceFile.Path, 0, sourceText, ProjectOptions, Microsoft.FSharp.Core.FSharpOption<string>.None), null, cancellationToken\r\n        ).ConfigureAwait(false);\r\n\r\n        _lastParseAndCheck = new FSharpParseAndCheckResults(tuple.Item1, tuple.Item2);\r\n        return _lastParseAndCheck;\r\n    }\r\n\r\n    public FSharpParseFileResults? GetLastParseResults() {\r\n        return _lastParseAndCheck?.ParseResults;\r\n    }\r\n\r\n    public FSharpCheckFileAnswer? GetLastCheckAnswer() {\r\n        return _lastParseAndCheck?.CheckAnswer;\r\n    }\r\n\r\n    public async ValueTask<Tuple<FSharpDiagnostic[], int>> CompileAsync(MemoryStream assemblyStream, CancellationToken cancellationToken) {\r\n        Argument.NotNull(nameof(assemblyStream), assemblyStream);\r\n        if (_outputStream != null)\r\n            throw new InvalidOperationException(\"Attempted to call CompileAsync when output stream was already set.\");\r\n\r\n        var args = GetCompilerArgs();\r\n        try {\r\n            _outputStream = assemblyStream;\r\n            var compiledAsync = Checker.Compile(args, userOpName: null);\r\n            return await FSharpAsync.StartAsTask(compiledAsync, null, cancellationToken)\r\n                .ConfigureAwait(false);\r\n        }\r\n        finally {\r\n            _outputStream = null;\r\n        }\r\n    }\r\n\r\n    private string[] GetCompilerArgs() {\r\n        if (_compilerArgs != null)\r\n            return _compilerArgs;\r\n\r\n        var args = new string[2 + _projectOptions.OtherOptions.Length + _projectOptions.SourceFiles.Length];\r\n        args[0] = \"fsc.exe\";\r\n        args[1] = \"--out:\" + GetOutputFile().Path;\r\n        for (var i = 0; i < _projectOptions.OtherOptions.Length; i++) {\r\n            args[2 + i] = ValidateOptionForCompilerArgs(_projectOptions.OtherOptions[i]);\r\n        }\r\n        _projectOptions.SourceFiles.CopyTo(args, 2 + _projectOptions.OtherOptions.Length);\r\n\r\n        _compilerArgs = args;\r\n        return args;\r\n    }\r\n\r\n    private string ValidateOptionForCompilerArgs(string option) {\r\n        Exception OptionNotSupported() => new NotSupportedException(\r\n            $\"Option {option} is not currently supported for {nameof(CompileAsync)}.\"\r\n        );\r\n\r\n        if (option.StartsWith(\"--debug\") && option.Length > \"--debug\".Length && option[\"--debug\".Length] != '-')\r\n            throw OptionNotSupported();\r\n\r\n        if (option.StartsWith(\"-g\"))\r\n            throw OptionNotSupported();\r\n\r\n        return option;\r\n    }\r\n\r\n    private FSharpVirtualFile GetOutputFile() {\r\n        if (_outputFile != null)\r\n            return _outputFile;\r\n\r\n        _outputFile = CustomFileSystem.Instance.RegisterVirtualFile(\r\n            static s => s._outputStream ?? throw new InvalidOperationException(\r\n                \"Attempted to access session output stream when it was not set.\"\r\n            ),\r\n            this, fileName: \"_.dll\"\r\n        );\r\n        return _outputFile;\r\n    }\r\n\r\n    private void ConvertAndAddTo(ImmutableArray<Diagnostic>.Builder diagnostics, FSharpDiagnostic[] fsharpDiagnostics) {\r\n        foreach (var fsharpDiagnostic in fsharpDiagnostics) {\r\n            diagnostics.Add(ConvertToDiagnostic(fsharpDiagnostic));\r\n        }\r\n    }\r\n\r\n    public Diagnostic ConvertToDiagnostic(FSharpDiagnostic diagnostic) {\r\n        Argument.NotNull(nameof(diagnostic), diagnostic);\r\n\r\n        var lineMap = GetLineMap();\r\n        var severity = diagnostic.Severity.Tag == FSharpDiagnosticSeverity.Tags.Error ? DiagnosticSeverity.Error : DiagnosticSeverity.Warning;\r\n\r\n        var startOffset = lineMap.GetOffset(diagnostic.Range.StartLine, diagnostic.Range.StartColumn);\r\n        var location = Location.Create(\r\n            \"\",\r\n            new TextSpan(\r\n                startOffset,\r\n                lineMap.GetOffset(diagnostic.Range.EndLine, diagnostic.Range.EndColumn) - startOffset\r\n            ),\r\n            new LinePositionSpan(\r\n                new LinePosition(diagnostic.Range.StartLine, diagnostic.Range.StartColumn),\r\n                new LinePosition(diagnostic.Range.EndLine, diagnostic.Range.EndColumn)\r\n            )\r\n        );\r\n\r\n        return Diagnostic.Create(\r\n            \"FS\" + diagnostic.ErrorNumber.ToString(\"0000\"),\r\n            \"Compiler\",\r\n            diagnostic.Message,\r\n            severity, severity,\r\n            isEnabledByDefault: false,\r\n            warningLevel: severity == DiagnosticSeverity.Warning ? 1 : 0,\r\n            location: location\r\n        );\r\n    }\r\n\r\n    public string GetText() {\r\n        return _sourceText;\r\n    }\r\n\r\n    public void ReplaceText(string? newText, int start = 0, int? length = null) {\r\n        if (length > 0)\r\n            _sourceText = _sourceText.Remove(start, length.Value);\r\n        if (newText?.Length > 0)\r\n            _sourceText = _sourceText.Insert(start, newText);\r\n\r\n        _lastParseAndCheck = null;\r\n        _lastLineMap = null;\r\n        _sourceStream?.Dispose();\r\n        _sourceStream = null;\r\n        _sourceFile.LastWriteTime = DateTime.Now;\r\n    }\r\n\r\n    public bool ShouldTriggerCompletion(int cursorPosition, CompletionTrigger trigger) {\r\n        return (trigger.Kind == CompletionTriggerKind.Insertion && trigger.Character == '.')\r\n            || trigger.Kind == CompletionTriggerKind.Invoke;\r\n    }\r\n\r\n    public async Task<CompletionList?> GetCompletionsAsync(int cursorPosition, CompletionTrigger trigger, CancellationToken cancellationToken) {\r\n        var result = await ParseAndCheckAsync(cancellationToken);\r\n        if (!(result.CheckAnswer is FSharpCheckFileAnswer.Succeeded success))\r\n            return null;\r\n\r\n        var info = GetLineMap().GetLineAndColumn(cursorPosition);\r\n        var symbols = success.Item.GetDeclarationListSymbols(\r\n            result.ParseResults, info.line.Number,\r\n            _sourceText.Substring(info.line.Start, info.line.Length),\r\n            QuickParse.GetPartialLongNameEx(_sourceText.Substring(info.line.Start, info.line.Length), info.column - 1),\r\n            Microsoft.FSharp.Core.FSharpOption<Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Core.Unit, FSharpList<AssemblySymbol>>>.None\r\n        );\r\n        if (symbols.IsEmpty)\r\n            return null;\r\n\r\n        return CompletionList.Create(\r\n            new TextSpan(cursorPosition, 0),\r\n            ConvertToCompletionItems(symbols)\r\n        );\r\n    }\r\n\r\n    private ImmutableArray<CompletionItem> ConvertToCompletionItems(FSharpList<FSharpList<FSharpSymbolUse>> symbols) {\r\n        var items = ImmutableArray.CreateBuilder<CompletionItem>(symbols.Length);\r\n        foreach (var list in symbols) {\r\n            var use = list.Head;\r\n            items.Add(CompletionItem.Create(\r\n                use.Symbol.DisplayName,\r\n                tags: SymbolTags.From(use.Symbol)\r\n            ));\r\n        }\r\n        return items.MoveToImmutable();\r\n    }\r\n\r\n    public Task<CompletionDescription?> GetCompletionDescriptionAsync(CompletionItem item, CancellationToken cancellationToken) {\r\n        return NoCompletionDescriptionTask;\r\n    }\r\n\r\n    public Task<CompletionChange> GetCompletionChangeAsync(TextSpan completionSpan, CompletionItem item, CancellationToken cancellationToken) {\r\n        return Task.FromResult(CompletionChange.Create(new TextChange(completionSpan, item.DisplayText)));\r\n    }\r\n\r\n    public int ConvertToOffset(int line, int column) {\r\n        Argument.PositiveOrZero(nameof(line), line);\r\n        Argument.PositiveOrZero(nameof(column), column);\r\n        return GetLineMap().GetOffset(line, column);\r\n    }\r\n\r\n    private LineColumnMap GetLineMap() {\r\n        if (_lastLineMap == null)\r\n            _lastLineMap = LineColumnMap.BuildFor(_sourceText);\r\n        return _lastLineMap;\r\n    }\r\n\r\n    public void Dispose() {\r\n        _sourceFile.Dispose();\r\n        _sourceStream?.Dispose();\r\n        _outputFile?.Dispose();\r\n    }\r\n}"
  },
  {
    "path": "FSharp/Internal/LineColumnMap.cs",
    "content": "using System.Collections.Generic;\r\n\r\nnamespace MirrorSharp.FSharp.Internal {\r\n    internal class LineColumnMap {\r\n        private readonly IReadOnlyList<Line> _map;\r\n\r\n        private LineColumnMap(IReadOnlyList<Line> map) {\r\n            _map = map;\r\n        }\r\n\r\n        public (Line line, int column) GetLineAndColumn(int offset) {\r\n            var map = _map;\r\n            var line = map[0];\r\n            for (var i = 1; i < map.Count; i++) {\r\n                var nextLine = map[i];\r\n                if (offset < nextLine.Start)\r\n                    break;\r\n                line = nextLine;\r\n            }\r\n            return (line, offset - line.Start);\r\n        }\r\n\r\n        public int GetOffset(int line, int column) {\r\n            if (line < 1)\r\n                return column;\r\n\r\n            // slightly weird behaviour in some AST ranges\r\n            if (line == _map.Count + 1 && column == 0)\r\n                return _map[line - 2].End;\r\n            \r\n            return _map[line - 1].Start + column;\r\n        }\r\n\r\n        public static LineColumnMap BuildFor(string text) {\r\n            var map = new List<Line>();\r\n            var start = 0;\r\n            var previous = '\\0';\r\n            for (var i = 0; i < text.Length; i++) {\r\n                var @char = text[i];\r\n                if (@char == '\\r' || (previous != '\\r' && @char == '\\n'))\r\n                    map.Add(new Line(map.Count + 1, start, i));\r\n                if (previous == '\\n' || (previous == '\\r' && @char != '\\n'))\r\n                    start = i;\r\n                previous = @char;\r\n            }\r\n            map.Add(new Line(map.Count + 1, start, text.Length));\r\n            return new LineColumnMap(map);\r\n        }\r\n\r\n        public struct Line {\r\n            public Line(int number, int start, int end) {\r\n                Number = number;\r\n                Start = start;\r\n                End = end;\r\n            }\r\n\r\n            public int Number { get; }\r\n            public int Start { get; }\r\n            public int End { get; }\r\n            public int Length => End - Start;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "FSharp/Internal/ReusableMemoryStreamWrapper.cs",
    "content": "using System;\r\nusing System.IO;\r\nusing System.Threading;\r\n\r\nnamespace MirrorSharp.FSharp.Internal {\r\n    internal class ReusableMemoryStreamWrapper : Stream {\r\n        private readonly MemoryStream _stream;\r\n        private readonly string _name;\r\n        private int _inUse = 0;\r\n\r\n        public ReusableMemoryStreamWrapper(MemoryStream stream, string name) {\r\n            _stream = stream;\r\n            _name = name;\r\n        }\r\n\r\n        internal Stream InnerStream => _stream;\r\n        public override void Flush() => _stream.Flush();\r\n        public override long Seek(long offset, SeekOrigin origin) => _stream.Seek(offset, origin);\r\n        public override void SetLength(long value) => _stream.SetLength(value);\r\n        public override int Read(byte[] buffer, int offset, int count) => _stream.Read(buffer, offset, count);\r\n        public override void Write(byte[] buffer, int offset, int count) => _stream.Write(buffer, offset, count);\r\n        public override bool CanRead => _stream.CanRead;\r\n        public override bool CanSeek => _stream.CanSeek;\r\n        public override bool CanWrite => _stream.CanWrite;\r\n        public override long Length => _stream.Length;\r\n\r\n        public override long Position {\r\n            get => _stream.Position;\r\n            set => _stream.Position = value;\r\n        }\r\n\r\n        public override void Close() {\r\n            Flush();\r\n            Position = 0;\r\n            _inUse = 0;\r\n        }\r\n\r\n        internal ReusableMemoryStreamWrapper Reuse() {\r\n            if (Interlocked.CompareExchange(ref _inUse, 1, 0) == 1)\r\n                throw new InvalidOperationException($\"Stream {_name} is currently in use, parallel access is not supported.\");\r\n            return this;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "FSharp/Internal/SymbolTags.cs",
    "content": "using System.Collections.Immutable;\r\nusing FSharp.Compiler.Symbols;\r\n\r\nnamespace MirrorSharp.FSharp.Internal {\r\n    internal static class SymbolTags {\r\n        private static ImmutableArray<string> Namespace { get; } = ImmutableArray.Create(\"Namespace\");\r\n\r\n        private static ImmutableArray<string> Delegate { get; } = ImmutableArray.Create(\"Delegate\");\r\n        private static ImmutableArray<string> Enum { get; } = ImmutableArray.Create(\"Enum\");\r\n        private static ImmutableArray<string> Union { get; } = ImmutableArray.Create(\"Union\");\r\n        private static ImmutableArray<string> Structure { get; } = ImmutableArray.Create(\"Structure\");\r\n        private static ImmutableArray<string> Class { get; } = ImmutableArray.Create(\"Class\");\r\n        private static ImmutableArray<string> Interface { get; } = ImmutableArray.Create(\"Interface\");\r\n        private static ImmutableArray<string> TypeParameter { get; } = ImmutableArray.Create(\"TypeParameter\");\r\n        private static ImmutableArray<string> Module { get; } = ImmutableArray.Create(\"Module\");\r\n\r\n        private static ImmutableArray<string> Property { get; } = ImmutableArray.Create(\"Property\");\r\n        private static ImmutableArray<string> Method { get; } = ImmutableArray.Create(\"Method\");\r\n        private static ImmutableArray<string> Field { get; } = ImmutableArray.Create(\"Field\");\r\n\r\n        private static ImmutableArray<string> Local { get; } = ImmutableArray.Create(\"Local\");\r\n\r\n        private static ImmutableArray<string> None { get; } = ImmutableArray<string>.Empty;\r\n\r\n        public static ImmutableArray<string> From(FSharpSymbol symbol) => symbol switch {\r\n            FSharpField _ => Field,\r\n            FSharpEntity e => FromEntity(e),\r\n            FSharpMemberOrFunctionOrValue m => m switch {\r\n                { IsProperty: true } => Property,\r\n                { FullType: { IsFunctionType: true } } => Method,\r\n                { IsConstructor: true } => Method,\r\n                { IsValue: true } => Local,\r\n                _ => None\r\n            },\r\n            _ => None\r\n        };\r\n\r\n        private static ImmutableArray<string> FromEntity(FSharpEntity entity) => entity switch {\r\n            { IsNamespace: true } => Namespace,\r\n            { IsClass: true } => Class,\r\n            { IsInterface: true } => Interface,\r\n            { IsDelegate: true } => Delegate,\r\n            { IsEnum: true } => Enum,\r\n            { IsFSharpUnion: true } => Union,\r\n            { IsValueType: true } => Structure,\r\n            { IsFSharpModule: true } => Module,\r\n            { IsFSharpAbbreviation: true } => FromType(entity.AbbreviatedType),\r\n            _ => None\r\n        };\r\n\r\n        private static ImmutableArray<string> FromType(FSharpType type) => type switch {\r\n            { IsFunctionType: true } => Delegate,\r\n            { IsAnonRecordType: true } => Class,\r\n            { IsTupleType: true } => Class,\r\n            { IsStructTupleType: true } => Structure,\r\n            { IsGenericParameter: true } => TypeParameter,\r\n            { IsAbbreviation: true } => FromType(type.AbbreviatedType),\r\n            { HasTypeDefinition: true } => FromEntity(type.TypeDefinition),\r\n            _ => None\r\n        };\r\n    }\r\n}"
  },
  {
    "path": "FSharp/MirrorSharpFSharpOptions.cs",
    "content": "using System.Collections.Immutable;\r\nusing FSharp.Compiler.CodeAnalysis;\r\nusing Microsoft.FSharp.Core;\r\nusing System.IO;\r\n\r\nnamespace MirrorSharp.FSharp {\r\n    /// <summary>MirrorSharp options for F#</summary>\r\n    public class MirrorSharpFSharpOptions {\r\n        internal MirrorSharpFSharpOptions() {\r\n            var assemblyPaths = ImmutableArray.CreateBuilder<string>();\r\n\r\n            var corelib = typeof(object).Assembly;\r\n            assemblyPaths.Add(corelib.Location);\r\n\r\n            // Initial version -- likely to need a lot of adjustment/alignment with other languages\r\n            if (corelib.GetName().Name == \"System.Private.CoreLib\") {\r\n                // .NET Core\r\n                var basePath = Path.GetDirectoryName(corelib.Location);\r\n                assemblyPaths.Add(Path.Combine(basePath, \"mscorlib.dll\"));\r\n                assemblyPaths.Add(Path.Combine(basePath, \"netstandard.dll\"));\r\n                assemblyPaths.Add(Path.Combine(basePath, \"System.dll\"));\r\n                assemblyPaths.Add(Path.Combine(basePath, \"System.Collections.dll\"));\r\n                assemblyPaths.Add(Path.Combine(basePath, \"System.IO.dll\"));\r\n                assemblyPaths.Add(Path.Combine(basePath, \"System.Net.Requests.dll\"));\r\n                assemblyPaths.Add(Path.Combine(basePath, \"System.Net.WebClient.dll\"));\r\n                assemblyPaths.Add(Path.Combine(basePath, \"System.Runtime.dll\"));\r\n                assemblyPaths.Add(Path.Combine(basePath, \"System.Runtime.Extensions.dll\"));\r\n                assemblyPaths.Add(Path.Combine(basePath, \"System.Runtime.Numerics.dll\"));\r\n\r\n            }\r\n            assemblyPaths.Add(typeof(EntryPointAttribute).Assembly.Location);\r\n            AssemblyReferencePaths = assemblyPaths.ToImmutable();\r\n        }\r\n\r\n        /// <summary>Specifies the list of assembly reference paths to be used.</summary>\r\n        public ImmutableArray<string> AssemblyReferencePaths { get; set; }\r\n\r\n        /// <summary>Corresponds to option <c>--optimize</c> in <see cref=\"FSharpProjectOptions.OtherOptions\"/>.</summary>\r\n        public bool? Optimize { get; set; }\r\n\r\n        /// <summary>Corresponds to option <c>--target</c> in <see cref=\"FSharpProjectOptions.OtherOptions\"/>.</summary>\r\n        public string? Target { get; set; }\r\n\r\n        /// <summary>Corresponds to option <c>--langversion</c> in <see cref=\"FSharpProjectOptions.OtherOptions\"/>.</summary>\r\n        public string? LangVersion { get; set; }\r\n\r\n        /// <summary>\r\n        /// Corresponds to option <c>--targetprofile</c> in <see cref=\"FSharpProjectOptions.OtherOptions\"/>.\r\n        /// Valid values are \"mscorlib\", \"netcore\", and \"netstandard\"\r\n        /// </summary>\r\n        public string? TargetProfile { get; set; }\r\n    }\r\n}\r\n"
  },
  {
    "path": "FSharp/MirrorSharpOptionsExtensions.cs",
    "content": "using System;\r\nusing MirrorSharp.FSharp;\r\nusing MirrorSharp.FSharp.Internal;\r\nusing MirrorSharp.Internal;\r\n\r\n// This is run only once, on startup, so:\r\n// ReSharper disable HeapView.ClosureAllocation\r\n\r\n// ReSharper disable once CheckNamespace\r\nnamespace MirrorSharp;\r\n\r\n/// <summary>Extensions to <see cref=\"MirrorSharpOptions\" /> related to F#.</summary>\r\npublic static class MirrorSharpOptionsExtensions {\r\n    /// <summary>Enables and configures F# support in the <see cref=\"MirrorSharpOptions\" />.</summary>\r\n    /// <param name=\"options\">Options to configure</param>\r\n    /// <param name=\"setup\">Setup delegate used to configure <see cref=\"MirrorSharpFSharpOptions\" /></param>\r\n    /// <returns>Value of <paramref name=\"options\" />, for convenience.</returns>\r\n    public static MirrorSharpOptions EnableFSharp(this MirrorSharpOptions options, Action<MirrorSharpFSharpOptions>? setup = null) {\r\n        Argument.NotNull(nameof(options), options);\r\n        options.Languages.Add(FSharpLanguage.Name, () => {\r\n            var fsharp = new MirrorSharpFSharpOptions();\r\n            setup?.Invoke(fsharp);\r\n            return new FSharpLanguage(fsharp, new Microsoft.IO.RecyclableMemoryStreamManager());\r\n        });\r\n        return options;\r\n    }\r\n}\r\n"
  },
  {
    "path": "FSharp/Properties/AssemblyInfo.cs",
    "content": "using System.Runtime.CompilerServices;\r\nusing System.Runtime.InteropServices;\r\n\r\n// Setting ComVisible to false makes the types in this assembly not visible\r\n// to COM components.  If you need to access a type in this assembly from\r\n// COM, set the ComVisible attribute to true on that type.\r\n[assembly: ComVisible(false)]\r\n\r\n[assembly: InternalsVisibleTo(\"MirrorSharp.Tests\")]\r\n[assembly: InternalsVisibleTo(\"MirrorSharp.Tests.RoslynLatest\")]\r\n[assembly: InternalsVisibleTo(\"SharpLab.Tests\")]"
  },
  {
    "path": "FSharp/PublicAPI.Shipped.txt",
    "content": "#nullable enable\r\nMirrorSharp.FSharp.Advanced.FSharpFileSystem\r\nMirrorSharp.FSharp.Advanced.FSharpParseAndCheckResults\r\nMirrorSharp.FSharp.Advanced.FSharpParseAndCheckResults.CheckAnswer.get -> FSharp.Compiler.CodeAnalysis.FSharpCheckFileAnswer!\r\nMirrorSharp.FSharp.Advanced.FSharpParseAndCheckResults.ParseResults.get -> FSharp.Compiler.CodeAnalysis.FSharpParseFileResults!\r\nMirrorSharp.FSharp.Advanced.FSharpProjectOptionsExtensions\r\nMirrorSharp.FSharp.Advanced.FSharpTargets\r\nMirrorSharp.FSharp.Advanced.FSharpVirtualFile\r\nMirrorSharp.FSharp.Advanced.FSharpVirtualFile.Path.get -> string!\r\nMirrorSharp.FSharp.Advanced.FSharpVirtualFile.Dispose() -> void\r\nMirrorSharp.FSharp.Advanced.IFSharpSession\r\nMirrorSharp.FSharp.Advanced.IFSharpSession.AssemblyReferencePaths.get -> System.Collections.Immutable.ImmutableArray<string!>\r\nMirrorSharp.FSharp.Advanced.IFSharpSession.AssemblyReferencePathsAsFSharpList.get -> Microsoft.FSharp.Collections.FSharpList<string!>!\r\nMirrorSharp.FSharp.Advanced.IFSharpSession.Checker.get -> FSharp.Compiler.CodeAnalysis.FSharpChecker!\r\nMirrorSharp.FSharp.Advanced.IFSharpSession.ConvertToDiagnostic(FSharp.Compiler.Diagnostics.FSharpDiagnostic! diagnostic) -> Microsoft.CodeAnalysis.Diagnostic!\r\nMirrorSharp.FSharp.Advanced.IFSharpSession.ConvertToOffset(int line, int column) -> int\r\nMirrorSharp.FSharp.Advanced.IFSharpSession.GetLastCheckAnswer() -> FSharp.Compiler.CodeAnalysis.FSharpCheckFileAnswer?\r\nMirrorSharp.FSharp.Advanced.IFSharpSession.GetLastParseResults() -> FSharp.Compiler.CodeAnalysis.FSharpParseFileResults?\r\nMirrorSharp.FSharp.Advanced.IFSharpSession.ParseAndCheckAsync(System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.ValueTask<MirrorSharp.FSharp.Advanced.FSharpParseAndCheckResults!>\r\nMirrorSharp.FSharp.Advanced.IFSharpSession.ProjectOptions.get -> FSharp.Compiler.CodeAnalysis.FSharpProjectOptions!\r\nMirrorSharp.FSharp.Advanced.IFSharpSession.ProjectOptions.set -> void\r\nMirrorSharp.FSharp.Advanced.WorkSessionExtensions\r\nMirrorSharp.FSharp.MirrorSharpFSharpOptions\r\nMirrorSharp.FSharp.MirrorSharpFSharpOptions.AssemblyReferencePaths.get -> System.Collections.Immutable.ImmutableArray<string!>\r\nMirrorSharp.FSharp.MirrorSharpFSharpOptions.AssemblyReferencePaths.set -> void\r\nMirrorSharp.FSharp.MirrorSharpFSharpOptions.LangVersion.get -> string?\r\nMirrorSharp.FSharp.MirrorSharpFSharpOptions.LangVersion.set -> void\r\nMirrorSharp.FSharp.MirrorSharpFSharpOptions.Optimize.get -> bool?\r\nMirrorSharp.FSharp.MirrorSharpFSharpOptions.Optimize.set -> void\r\nMirrorSharp.FSharp.MirrorSharpFSharpOptions.Target.get -> string?\r\nMirrorSharp.FSharp.MirrorSharpFSharpOptions.Target.set -> void\r\nMirrorSharp.FSharp.MirrorSharpFSharpOptions.TargetProfile.get -> string?\r\nMirrorSharp.FSharp.MirrorSharpFSharpOptions.TargetProfile.set -> void\r\nMirrorSharp.MirrorSharpOptionsExtensions\r\nconst MirrorSharp.FSharp.Advanced.FSharpTargets.Exe = \"exe\" -> string!\r\nconst MirrorSharp.FSharp.Advanced.FSharpTargets.Library = \"library\" -> string!\r\nconst MirrorSharp.FSharp.Advanced.FSharpTargets.Module = \"module\" -> string!\r\nconst MirrorSharp.FSharp.Advanced.FSharpTargets.WinExe = \"winexe\" -> string!\r\nstatic MirrorSharp.FSharp.Advanced.FSharpFileSystem.RegisterVirtualFile(System.IO.MemoryStream! stream) -> MirrorSharp.FSharp.Advanced.FSharpVirtualFile!\r\nstatic MirrorSharp.FSharp.Advanced.FSharpProjectOptionsExtensions.WithOtherOptionDefine(this FSharp.Compiler.CodeAnalysis.FSharpProjectOptions! options, string! symbol, bool defined = true) -> FSharp.Compiler.CodeAnalysis.FSharpProjectOptions!\r\nstatic MirrorSharp.FSharp.Advanced.FSharpProjectOptionsExtensions.WithOtherOptionOptimize(this FSharp.Compiler.CodeAnalysis.FSharpProjectOptions! options, bool? optimize) -> FSharp.Compiler.CodeAnalysis.FSharpProjectOptions!\r\nstatic MirrorSharp.FSharp.Advanced.FSharpProjectOptionsExtensions.WithOtherOptionTarget(this FSharp.Compiler.CodeAnalysis.FSharpProjectOptions! options, string? target) -> FSharp.Compiler.CodeAnalysis.FSharpProjectOptions!\r\nstatic MirrorSharp.FSharp.Advanced.FSharpProjectOptionsExtensions.WithOtherOptions(this FSharp.Compiler.CodeAnalysis.FSharpProjectOptions! options, string![]! otherOptions) -> FSharp.Compiler.CodeAnalysis.FSharpProjectOptions!\r\nstatic MirrorSharp.FSharp.Advanced.WorkSessionExtensions.FSharp(this MirrorSharp.Advanced.IWorkSession! session) -> MirrorSharp.FSharp.Advanced.IFSharpSession!\r\nstatic MirrorSharp.FSharp.Advanced.WorkSessionExtensions.IsFSharp(this MirrorSharp.Advanced.IWorkSession! session) -> bool\r\nstatic MirrorSharp.MirrorSharpOptionsExtensions.EnableFSharp(this MirrorSharp.MirrorSharpOptions! options, System.Action<MirrorSharp.FSharp.MirrorSharpFSharpOptions!>? setup = null) -> MirrorSharp.MirrorSharpOptions!"
  },
  {
    "path": "FSharp/PublicAPI.Unshipped.txt",
    "content": "MirrorSharp.FSharp.Advanced.IFSharpSession.CompileAsync(System.IO.MemoryStream! assemblyStream, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.ValueTask<System.Tuple<FSharp.Compiler.Diagnostics.FSharpDiagnostic![]!, int>!>"
  },
  {
    "path": "FSharp/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETFramework,Version=v4.6.2\": {\r\n      \"FSharp.Compiler.Service\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[43.8.300, )\",\r\n        \"resolved\": \"43.8.300\",\r\n        \"contentHash\": \"CoPjQYXXwmYkkHm+yxBHSW9IJVLpvwkKGEzXa5A6ebf8v6GfYaxZc5G+VHojDr586oezp1elFemu+A1WWH095A==\",\r\n        \"dependencies\": {\r\n          \"FSharp.Core\": \"[8.0.300]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"7.0.2\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Reflection.Emit\": \"4.7.0\",\r\n          \"System.Reflection.Metadata\": \"7.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"FSharp.Core\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[8.0.300, )\",\r\n        \"resolved\": \"8.0.300\",\r\n        \"contentHash\": \"Jv44fV7TNglyMku89lQcA4Q6mFKLyHb2bs1Yb72nvSVc+cHplEnoZ4XQUaaTLJGUTx/iMqcrkYGtaLzkkIhpaA==\"\r\n      },\r\n      \"Microsoft.Build.Utilities.Core\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[17.12.6, )\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"pU3GnHcXp8VRMGKxdJCq+tixfhFn+QwEbpqmZmc/nqFHFyuhlGwjonWZMIWcwuCv/8EHgxoOttFvna1vrN+RrA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Build.Framework\": \"17.12.6\",\r\n          \"Microsoft.NET.StringTools\": \"17.12.6\",\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Configuration.ConfigurationManager\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.PublicApiAnalyzers\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.0, )\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"upaG6u/PxjkOj39Kk0DLmmA75acYChmv6/HnOUxvSgGWul53uPcVaPxBWCzkHDfIljyiq5qeIG+CatT8x8FAEA==\"\r\n      },\r\n      \"Microsoft.IO.RecyclableMemoryStream\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.2.0, )\",\r\n        \"resolved\": \"2.2.0\",\r\n        \"contentHash\": \"uyjY/cqomw1irT4L7lDeg4sJ36MsjHg3wKqpGrBAdzvZaxo85yMF+sAA9RIzTV92fDxuUzjqksMqA0+SNMkMgA==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.Build.Framework\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"jleteC0seumLGTmTVwob97lcwPj/dfgzL/V3g/VVcMZgo2Ic7jzdy8AYpByPDh8e3uRq0SjCl6HOFCjhy5GzRQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.4\",\r\n        \"contentHash\": \"alIJhS0VUg/7x5AsHEoovh/wRZ0RfCSS7k5pDSqpRLTyuMTtRgj6OJJPRApRhJHOGYYsLakf1hKeXFoDwKwNkg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"N5yQdGy+M4kimVG7hwCeGTCfgYjK2o5b/Shumkb/rCC+/SAkvP1HUAYK+vxPFS7dLJNtXLRsmPHKj3fnyNWnrw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"2.9.4\",\r\n          \"System.Collections.Immutable\": \"1.5.0\",\r\n          \"System.Memory\": \"4.5.3\",\r\n          \"System.Reflection.Metadata\": \"1.6.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\",\r\n          \"System.Text.Encoding.CodePages\": \"4.5.1\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"WDUIhTHem38H6VJ98x2Ssq0fweakJHnHYl7vbG8ARnsAwLoJKCQCy78EeY1oRrCKG42j0v6JVljKkeqSDA28UA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"t9uIwsLzT5zQ1Q3ZIpwE4EOnAf/lGdbQwyeqhyO/BJ+AWDt267Hxlz5k6ypPy14Z6+PW6pTggAGz6MwN31RElQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"dHs/UyfLgzsVC4FjTi/x+H+yQifgOnpe3rSN8GwkHWjnidePZ3kSqr1JHmFDf5HTQEydYwrwCAfQ0JSzhsEqDA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"lvMC69ABN/YEaw3ke4cQRqBYZ2V7DJTOT8QXIeAJGJUfwVHTBN0iq2O5zZQrYnnUN2wmeCzCoAg59PKBosVO7g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": \"2.9.5\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\",\r\n          \"Microsoft.DiaSymReader\": \"1.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.5\",\r\n        \"contentHash\": \"SqwdTocsxU7u0Y8am67BY7KSLAhrtDXdBBwt0Nv9TxLVzPBPtPPFS2bHUsxucpOBMBmc10rWE1eJ+IDrr/0/nQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"NfBz3b5hFSbO+7xsCNryD+p8axsIJFTG7qM3jvMTC/MqYrU6b8E1b6JoRj5rJSOBB+pSunk+CMqyGQTOWHeDUg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"System.Composition\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.3.0\",\r\n        \"contentHash\": \"/fn1Tfo7j7k/slViPlM8azJuxQmri7FZ8dQ+gTeLbI29leN/1VK0U/BFcRdJNctsRCUgyKJ2q+I0Tjq07Rc1/Q==\"\r\n      },\r\n      \"Microsoft.NET.StringTools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"w8Ehofqte5bJoR+Fa3f6JwkwFEkGtXxqvQHGOVOSHDzgNVySvL5FSNhavbQSZ864el9c3rjdLPLAtBW8dq6fmg==\"\r\n      },\r\n      \"Microsoft.Win32.Registry\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"5.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"I+D26qpYdoklyAVUdqwUBrEIckMNjAYnuPJy/h9dsQItpQwVREkDFs4b4tkBza0kT2Yk48Lcfsv2QQ9hWsh9Iw==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Convention\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Composition.TypedParts\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"NHWhkM3ZkspmA0XJEsKdtTt1ViDYuojgSND3yHhTzwxepiwqZf+BCWuvCbjUt4fe0NxxQhUDGJ5km6sLjo9qnQ==\"\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"GLjh2Ju71k6C0qxMMtl4efHa68NmWeIUYh4fkUI8xbjQrEBvFmRwMDFcylT8/PR9SQbeeL48IkFxU/+gd0nYEQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"fN1bT4RX4vUqjbgoyuJFVUizAl2mYF5VAb+bVIxIYZSSc0BdnX+yGAxcavxJuDDCQ1K+/mdpgyEFc8e9ikjvrg==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.Runtime\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0LEJN+2NVM89CE4SekDrrk5tHV5LeATltkp+9WNYrR+Huiyt0vaCqHbbHtVAjPyeLWIc8dOz/3kthRBj32wGQg==\"\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0Zae/FtzeFgDBBuILeIbC/T9HMYbW4olAmi8XqqAGosSOWvXfiQLfARZEhiGd0LVXaYgXr0NhxiU1LldRP1fpQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"System.Configuration.ConfigurationManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==\"\r\n      },\r\n      \"System.Diagnostics.DiagnosticSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.2\",\r\n        \"contentHash\": \"hYr3I9N9811e0Bjf2WNwAGGyTuAFbbTgX1RPLt/3Wbm68x3IGcX5Cl75CMmgT6WlNwLQ2tCCWfqYPpypjaf2xA==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.4\",\r\n        \"contentHash\": \"aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Numerics.Vectors\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==\"\r\n      },\r\n      \"System.Reflection.Emit\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"VR4kk8XLKebQ4MZuKuIni/7oh+QGFmZW3qORd1GvBq/8026OpW501SzT/oypwiQl4TvT8ErnReh/NzY9u+C6wQ==\"\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"MclTG61lsD9sYdpNz9xsKBzjsmsfCtcMZYXz/IUr2zlhaTaABonlr1ESeompTgM+Xk+IwtGYU7/voh3YWB/fWw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Memory\": \"4.5.5\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==\"\r\n      },\r\n      \"System.Security.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Algorithms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==\"\r\n      },\r\n      \"System.Security.Cryptography.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==\"\r\n      },\r\n      \"System.Security.Cryptography.X509Certificates\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Principal.Windows\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==\"\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"LSyCblMpvOe0N3E+8e0skHcrIhgV2huaNcjUUEa8hRtgEAm36aGkRoC8Jxlb6Ra6GSfF29ftduPNywin8XolzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.RegularExpressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"N0kNRrWe4+nXOWlpLT4LAY5brb8caNFlUuIRpraCVMDLYutKkol1aV079rQjLuSxKMJT2SpBQsYX9xbcTMmzwg==\"\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.3\",\r\n        \"contentHash\": \"+MvhNtcvIbqmhANyKu91jQnvIRVSTiaOiFNfKWwXGHG48YAb4I/TyH8spsySiPYla7gKal5ZnF3teJqZAximyQ==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Features\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1, )\",\r\n          \"System.Memory\": \"[4.5.5, )\",\r\n          \"System.Net.Http\": \"[4.3.4, )\",\r\n          \"System.Text.RegularExpressions\": \"[4.3.1, )\"\r\n        }\r\n      }\r\n    },\r\n    \".NETStandard,Version=v2.0\": {\r\n      \"FSharp.Compiler.Service\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[43.8.300, )\",\r\n        \"resolved\": \"43.8.300\",\r\n        \"contentHash\": \"CoPjQYXXwmYkkHm+yxBHSW9IJVLpvwkKGEzXa5A6ebf8v6GfYaxZc5G+VHojDr586oezp1elFemu+A1WWH095A==\",\r\n        \"dependencies\": {\r\n          \"FSharp.Core\": \"[8.0.300]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"7.0.2\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Reflection.Emit\": \"4.7.0\",\r\n          \"System.Reflection.Metadata\": \"7.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"FSharp.Core\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[8.0.300, )\",\r\n        \"resolved\": \"8.0.300\",\r\n        \"contentHash\": \"Jv44fV7TNglyMku89lQcA4Q6mFKLyHb2bs1Yb72nvSVc+cHplEnoZ4XQUaaTLJGUTx/iMqcrkYGtaLzkkIhpaA==\"\r\n      },\r\n      \"Microsoft.Build.Utilities.Core\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[17.12.6, )\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"pU3GnHcXp8VRMGKxdJCq+tixfhFn+QwEbpqmZmc/nqFHFyuhlGwjonWZMIWcwuCv/8EHgxoOttFvna1vrN+RrA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Build.Framework\": \"17.12.6\",\r\n          \"Microsoft.NET.StringTools\": \"17.12.6\",\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Configuration.ConfigurationManager\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.PublicApiAnalyzers\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.0, )\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"upaG6u/PxjkOj39Kk0DLmmA75acYChmv6/HnOUxvSgGWul53uPcVaPxBWCzkHDfIljyiq5qeIG+CatT8x8FAEA==\"\r\n      },\r\n      \"Microsoft.IO.RecyclableMemoryStream\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.2.0, )\",\r\n        \"resolved\": \"2.2.0\",\r\n        \"contentHash\": \"uyjY/cqomw1irT4L7lDeg4sJ36MsjHg3wKqpGrBAdzvZaxo85yMF+sAA9RIzTV92fDxuUzjqksMqA0+SNMkMgA==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.0.3, )\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Build.Framework\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"jleteC0seumLGTmTVwob97lcwPj/dfgzL/V3g/VVcMZgo2Ic7jzdy8AYpByPDh8e3uRq0SjCl6HOFCjhy5GzRQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.4\",\r\n        \"contentHash\": \"alIJhS0VUg/7x5AsHEoovh/wRZ0RfCSS7k5pDSqpRLTyuMTtRgj6OJJPRApRhJHOGYYsLakf1hKeXFoDwKwNkg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"N5yQdGy+M4kimVG7hwCeGTCfgYjK2o5b/Shumkb/rCC+/SAkvP1HUAYK+vxPFS7dLJNtXLRsmPHKj3fnyNWnrw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"2.9.4\",\r\n          \"System.Collections.Immutable\": \"1.5.0\",\r\n          \"System.Memory\": \"4.5.3\",\r\n          \"System.Reflection.Metadata\": \"1.6.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\",\r\n          \"System.Text.Encoding.CodePages\": \"4.5.1\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"WDUIhTHem38H6VJ98x2Ssq0fweakJHnHYl7vbG8ARnsAwLoJKCQCy78EeY1oRrCKG42j0v6JVljKkeqSDA28UA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"t9uIwsLzT5zQ1Q3ZIpwE4EOnAf/lGdbQwyeqhyO/BJ+AWDt267Hxlz5k6ypPy14Z6+PW6pTggAGz6MwN31RElQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"dHs/UyfLgzsVC4FjTi/x+H+yQifgOnpe3rSN8GwkHWjnidePZ3kSqr1JHmFDf5HTQEydYwrwCAfQ0JSzhsEqDA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"lvMC69ABN/YEaw3ke4cQRqBYZ2V7DJTOT8QXIeAJGJUfwVHTBN0iq2O5zZQrYnnUN2wmeCzCoAg59PKBosVO7g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": \"2.9.5\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\",\r\n          \"Microsoft.DiaSymReader\": \"1.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.5\",\r\n        \"contentHash\": \"SqwdTocsxU7u0Y8am67BY7KSLAhrtDXdBBwt0Nv9TxLVzPBPtPPFS2bHUsxucpOBMBmc10rWE1eJ+IDrr/0/nQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"NfBz3b5hFSbO+7xsCNryD+p8axsIJFTG7qM3jvMTC/MqYrU6b8E1b6JoRj5rJSOBB+pSunk+CMqyGQTOWHeDUg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"System.Composition\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.3.0\",\r\n        \"contentHash\": \"/fn1Tfo7j7k/slViPlM8azJuxQmri7FZ8dQ+gTeLbI29leN/1VK0U/BFcRdJNctsRCUgyKJ2q+I0Tjq07Rc1/Q==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"Microsoft.NET.StringTools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"w8Ehofqte5bJoR+Fa3f6JwkwFEkGtXxqvQHGOVOSHDzgNVySvL5FSNhavbQSZ864el9c3rjdLPLAtBW8dq6fmg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.1\",\r\n        \"contentHash\": \"TMBuzAHpTenGbGgk0SMTwyEkyijY/Eae4ZGsFNYJvAr/LDn1ku3Etp3FPxChmDp5HHF3kzJuoaa08N0xjqAJfQ==\"\r\n      },\r\n      \"Microsoft.NETCore.Targets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.3\",\r\n        \"contentHash\": \"3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==\"\r\n      },\r\n      \"Microsoft.Win32.Registry\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.4\",\r\n          \"System.Security.AccessControl\": \"5.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==\"\r\n      },\r\n      \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==\"\r\n      },\r\n      \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==\"\r\n      },\r\n      \"runtime.native.System\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==\",\r\n        \"dependencies\": {\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==\",\r\n        \"dependencies\": {\r\n          \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==\"\r\n      },\r\n      \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==\"\r\n      },\r\n      \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==\"\r\n      },\r\n      \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==\"\r\n      },\r\n      \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==\"\r\n      },\r\n      \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==\"\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Concurrent\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"I+D26qpYdoklyAVUdqwUBrEIckMNjAYnuPJy/h9dsQItpQwVREkDFs4b4tkBza0kT2Yk48Lcfsv2QQ9hWsh9Iw==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Convention\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Composition.TypedParts\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"NHWhkM3ZkspmA0XJEsKdtTt1ViDYuojgSND3yHhTzwxepiwqZf+BCWuvCbjUt4fe0NxxQhUDGJ5km6sLjo9qnQ==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"GLjh2Ju71k6C0qxMMtl4efHa68NmWeIUYh4fkUI8xbjQrEBvFmRwMDFcylT8/PR9SQbeeL48IkFxU/+gd0nYEQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"fN1bT4RX4vUqjbgoyuJFVUizAl2mYF5VAb+bVIxIYZSSc0BdnX+yGAxcavxJuDDCQ1K+/mdpgyEFc8e9ikjvrg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0LEJN+2NVM89CE4SekDrrk5tHV5LeATltkp+9WNYrR+Huiyt0vaCqHbbHtVAjPyeLWIc8dOz/3kthRBj32wGQg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0Zae/FtzeFgDBBuILeIbC/T9HMYbW4olAmi8XqqAGosSOWvXfiQLfARZEhiGd0LVXaYgXr0NhxiU1LldRP1fpQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Configuration.ConfigurationManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Debug\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.DiagnosticSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.2\",\r\n        \"contentHash\": \"hYr3I9N9811e0Bjf2WNwAGGyTuAFbbTgX1RPLt/3Wbm68x3IGcX5Cl75CMmgT6WlNwLQ2tCCWfqYPpypjaf2xA==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tracing\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Calendars\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq.Expressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Numerics.Vectors\": \"4.4.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.4\",\r\n        \"contentHash\": \"aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Extensions\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"System.Net.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Numerics.Vectors\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"UiLzLW+Lw6HLed1Hcg+8jSRttrbuXv7DANVj0DkL9g6EnnzbL75EB7EWsw5uRbhxd/4YdG8li5XizGWepmG3PQ==\"\r\n      },\r\n      \"System.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"VR4kk8XLKebQ4MZuKuIni/7oh+QGFmZW3qORd1GvBq/8026OpW501SzT/oypwiQl4TvT8ErnReh/NzY9u+C6wQ==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.7.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.ILGeneration\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"AucBYo3DSI0IDxdUjKksBcQJXPHyoPyrCXYURW1WDsLI4M65Ar/goSHjdnHOAY9MiYDNKqDlIgaYm+zL2hA1KA==\"\r\n      },\r\n      \"System.Reflection.Emit.Lightweight\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"MclTG61lsD9sYdpNz9xsKBzjsmsfCtcMZYXz/IUr2zlhaTaABonlr1ESeompTgM+Xk+IwtGYU7/voh3YWB/fWw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Memory\": \"4.5.5\"\r\n        }\r\n      },\r\n      \"System.Reflection.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.TypeExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Resources.ResourceManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.3\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==\"\r\n      },\r\n      \"System.Runtime.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"qAtKMcHOAq9/zKkl0dwvF0T0pmgCQxX1rC49rJXoU8jq+lw6MC3uXy7nLFmjEI20T3Aq069eWz4LcYR64vEmJw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.3\",\r\n          \"System.Runtime\": \"4.3.1\"\r\n        }\r\n      },\r\n      \"System.Runtime.Handles\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Numerics\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==\",\r\n        \"dependencies\": {\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Algorithms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Cng\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Csp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.ProtectedData\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.X509Certificates\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Cng\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Csp\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Principal.Windows\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==\"\r\n      },\r\n      \"System.Text.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"LSyCblMpvOe0N3E+8e0skHcrIhgV2huaNcjUUEa8hRtgEAm36aGkRoC8Jxlb6Ra6GSfF29ftduPNywin8XolzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.RegularExpressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"N0kNRrWe4+nXOWlpLT4LAY5brb8caNFlUuIRpraCVMDLYutKkol1aV079rQjLuSxKMJT2SpBQsYX9xbcTMmzwg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.1\",\r\n          \"System.Runtime.Extensions\": \"4.3.1\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.3\",\r\n        \"contentHash\": \"+MvhNtcvIbqmhANyKu91jQnvIRVSTiaOiFNfKWwXGHG48YAb4I/TyH8spsySiPYla7gKal5ZnF3teJqZAximyQ==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Features\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1, )\",\r\n          \"System.Memory\": \"[4.5.5, )\",\r\n          \"System.Net.Http\": \"[4.3.4, )\",\r\n          \"System.Text.RegularExpressions\": \"[4.3.1, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "IL/Advanced/IILSession.cs",
    "content": "using Mobius.ILasm.Core;\r\n\r\nnamespace MirrorSharp.IL.Advanced {\r\n    /// <summary>Represents a user session based on IL (intermediate language) parser.</summary>\r\n    public interface IILSession {\r\n        /// <summary>Gets or sets the <see cref=\"Driver.Target\" /> associated with this session.</summary>\r\n        Driver.Target Target { get; set; }\r\n    }\r\n}\r\n"
  },
  {
    "path": "IL/Advanced/WorkSessionExtensions.cs",
    "content": "using MirrorSharp.Advanced;\r\nusing MirrorSharp.Internal;\r\n\r\nnamespace MirrorSharp.IL.Advanced {\r\n    /// <summary>Provides IL-related extensions to the <see cref=\"IWorkSession\" />.</summary>\r\n    public static class WorkSessionExtensions {\r\n        /// <summary>Specifies whether the <see cref=\"IWorkSession\" /> is using IL.</summary>\r\n        /// <param name=\"session\">The session</param>\r\n        /// <returns><c>true</c> if the session is using IL; otherwise, <c>false</c></returns>\r\n        // ReSharper disable once InconsistentNaming\r\n        public static bool IsIL(this IWorkSession session) {\r\n            Argument.NotNull(nameof(session), session);\r\n            return session is WorkSession { LanguageSession: IILSession };\r\n        }\r\n\r\n        /// <summary>Returns IL session associated with the <see cref=\"IWorkSession\" />, if any; throws otherwise.</summary>\r\n        /// <param name=\"session\">The session</param>\r\n        /// <returns><see cref=\"IILSession\" /> if the session is using IL</returns>\r\n        // ReSharper disable once InconsistentNaming\r\n        public static IILSession IL(this IWorkSession session) {\r\n            Argument.NotNull(nameof(session), session);\r\n            return (IILSession)((WorkSession)session).LanguageSession;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "IL/CHANGELOG.md",
    "content": "# Changelog\r\n\r\n## [0.3] - 2024-11-19\r\n\r\n### Fixed\r\n- Added explicit dependency on safe version of System.Drawing.Common to resolve security audit warnings\r\n\r\n## [0.2] - 2022-04-04\r\n## [0.2-test-2021-04-02-1] - 2021-04-02\r\n## [0.2-test-2021-04-01-1] - 2021-04-01\r\n\r\n### Added\r\n- Target setting on IILSession\r\n\r\n### Changed\r\n- Updated to support MirrorSharp.Common 3.0.0\r\n\r\n### Fixed\r\n- WorkSession.IsIL() check failing if WorkSession is a mock\r\n\r\n## [0.1] - 2021-08-31\r\n\r\n### Added\r\n- Initial version: minimal set of code to support IL as input"
  },
  {
    "path": "IL/IL.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n  <Import Project=\"../NuGet.Common.props\" />\n  \n  <PropertyGroup>\n    <AssemblyName>MirrorSharp.IL</AssemblyName>\n    <RootNamespace>MirrorSharp.IL</RootNamespace>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <VersionPrefix>0.3</VersionPrefix>\n    <Description>MirrorSharp IL support library. $(DescriptionSuffix)</Description>\n    <PackageTags>IL;CodeMirror</PackageTags>\n  </PropertyGroup>\n\n  <PropertyGroup>\n    <UseLocalILAsm Condition=\"Exists('..\\..\\Mobius.ILasm\\Mobius.ILASM\\Mobius.ILasm.csproj')\">True</UseLocalILAsm>\n  </PropertyGroup>\n\n  <PropertyGroup>\n    <RestorePackagesWithLockFile Condition=\"'$(UseLocalILAsm)' == 'True'\">false</RestorePackagesWithLockFile>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <PackageReference Condition=\"'$(UseLocalILAsm)' != 'True'\" Include=\"Mobius.ILasm\" Version=\"0.1.0\" />\n    <!--\n      Avoids vulnerability in version referenced by Mobius.ILasm.\n      TOOD: Upgrade dependencies of Mobius.ILasm.\n    -->\n    <PackageReference Include=\"System.Drawing.Common\" Version=\"9.0.0\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Condition=\"'$(UseLocalILAsm)' == 'True'\" Include=\"..\\..\\Mobius.ILasm\\Mobius.ILASM\\Mobius.ILasm.csproj\" />\n    <ProjectReference Include=\"..\\Common\\Common.csproj\" />\n  </ItemGroup>\n</Project>\n"
  },
  {
    "path": "IL/Internal/IILSessionInternal.cs",
    "content": "using System.Text;\r\nusing MirrorSharp.IL.Advanced;\r\nusing MirrorSharp.Internal.Abstraction;\r\n\r\nnamespace MirrorSharp.IL.Internal {\r\n    internal interface IILSessionInternal : IILSession, ILanguageSessionInternal {\r\n        int TextLength { get; }\r\n        StringBuilder GetTextBuilderForReadsOnly();\r\n    }\r\n}\r\n"
  },
  {
    "path": "IL/Internal/ILLanguage.cs",
    "content": "using MirrorSharp.Internal;\r\nusing MirrorSharp.Internal.Abstraction;\r\n\r\nnamespace MirrorSharp.IL.Internal {\r\n    // ReSharper disable once InconsistentNaming\r\n    internal class ILLanguage : ILanguage {\r\n        public static string Name = \"IL\";\r\n\r\n        string ILanguage.Name => Name;\r\n\r\n        public ILanguageSessionInternal CreateSession(string text, ILanguageSessionExtensions services)\r\n            => new ILSession(text);\r\n    }\r\n}\r\n"
  },
  {
    "path": "IL/Internal/ILSession.cs",
    "content": "using System;\r\nusing System.Collections.Immutable;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.Completion;\r\nusing Microsoft.CodeAnalysis.Text;\r\nusing MirrorSharp.IL.Advanced;\r\nusing MirrorSharp.Internal.Abstraction;\r\nusing Mobius.ILasm.Core;\r\n\r\nnamespace MirrorSharp.IL.Internal {\r\n    // ReSharper disable once InconsistentNaming\r\n    internal class ILSession : ILanguageSessionInternal, IILSession, IILSessionInternal {\r\n        private readonly StringBuilder _textBuilder;\r\n        private string? _text;\r\n\r\n        public ILSession(string text) {\r\n            _textBuilder = new StringBuilder(text);\r\n            _text = text;\r\n        }\r\n\r\n        public Driver.Target Target { get; set; }\r\n\r\n        public int TextLength => _textBuilder.Length;\r\n\r\n        public string GetText() {\r\n            _text ??= _textBuilder.ToString();\r\n            return _text;\r\n        }\r\n\r\n        public StringBuilder GetTextBuilderForReadsOnly() {\r\n            return _textBuilder;\r\n        }\r\n\r\n        public void ReplaceText(string? newText, int start = 0, int? length = null) {\r\n            if (length > 0)\r\n                _textBuilder.Remove(start, length.Value);\r\n            if (newText?.Length > 0)\r\n                _textBuilder.Insert(start, newText);\r\n            _text = null;\r\n        }\r\n\r\n        public Task<ImmutableArray<Diagnostic>> GetDiagnosticsAsync(CancellationToken cancellationToken) {\r\n            // TODO: Implement parsing and returning errors\r\n            return Task.FromResult(ImmutableArray<Diagnostic>.Empty);\r\n        }\r\n\r\n        public bool ShouldTriggerCompletion(int cursorPosition, CompletionTrigger trigger)\r\n            => false; // not supported yet\r\n\r\n        public Task<CompletionList?> GetCompletionsAsync(int cursorPosition, CompletionTrigger trigger, CancellationToken cancellationToken)\r\n            => Task.FromResult<CompletionList?>(CompletionList.Empty); // not supported yet\r\n\r\n        public Task<CompletionDescription?> GetCompletionDescriptionAsync(CompletionItem item, CancellationToken cancellationToken)\r\n            => throw new NotSupportedException(); // not supported yet\r\n\r\n        public Task<CompletionChange> GetCompletionChangeAsync(TextSpan completionSpan, CompletionItem item, CancellationToken cancellationToken)\r\n            => throw new NotSupportedException(); // not supported yet\r\n\r\n        public void Dispose() { }\r\n    }\r\n}\r\n"
  },
  {
    "path": "IL/MirrorSharpILOptions.cs",
    "content": "namespace MirrorSharp.IL {\r\n    /// <summary>MirrorSharp options for IL</summary>\r\n    // ReSharper disable once InconsistentNaming\r\n    public class MirrorSharpILOptions {\r\n\r\n        internal MirrorSharpILOptions() { }\r\n    }\r\n}\r\n"
  },
  {
    "path": "IL/MirrorSharpOptionsExtensions.cs",
    "content": "using System;\r\nusing MirrorSharp.IL;\r\nusing MirrorSharp.IL.Internal;\r\nusing MirrorSharp.Internal;\r\n\r\n// ReSharper disable once CheckNamespace\r\nnamespace MirrorSharp {\r\n    /// <summary>Extensions to <see cref=\"MirrorSharpOptions\" /> related to IL.</summary>\r\n    public static class MirrorSharpOptionsExtensions\r\n    {\r\n        /// <summary>Enables and configures IL support in the <see cref=\"MirrorSharpOptions\" />.</summary>\r\n        /// <param name=\"options\">Options to configure</param>\r\n        /// <param name=\"setup\">Setup delegate used to configure <see cref=\"MirrorSharpILOptions\" /></param>\r\n        /// <returns>Value of <paramref name=\"options\" />, for convenience.</returns>\r\n        // ReSharper disable once InconsistentNaming\r\n        public static MirrorSharpOptions EnableIL(this MirrorSharpOptions options, Action<MirrorSharpILOptions>? setup = null) {\r\n            Argument.NotNull(nameof(options), options);\r\n            options.Languages.Add(ILLanguage.Name, () => {\r\n                var ilOptions = new MirrorSharpILOptions();\r\n                setup?.Invoke(ilOptions);\r\n                return new ILLanguage();\r\n            });\r\n            return options;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "IL/Properties/AssemblyInfo.cs",
    "content": "using System.Runtime.CompilerServices;\r\n\r\n[assembly: InternalsVisibleTo(\"MirrorSharp.Tests\")]\r\n[assembly: InternalsVisibleTo(\"MirrorSharp.Tests.RoslynLatest\")]\r\n[assembly: InternalsVisibleTo(\"SharpLab.Server\")]"
  },
  {
    "path": "IL/PublicAPI.Shipped.txt",
    "content": "#nullable enable\r\nMirrorSharp.IL.Advanced.IILSession\r\nMirrorSharp.IL.Advanced.WorkSessionExtensions\r\nMirrorSharp.IL.MirrorSharpILOptions\r\nMirrorSharp.MirrorSharpOptionsExtensions\r\nstatic MirrorSharp.MirrorSharpOptionsExtensions.EnableIL(this MirrorSharp.MirrorSharpOptions! options, System.Action<MirrorSharp.IL.MirrorSharpILOptions!>? setup = null) -> MirrorSharp.MirrorSharpOptions!\r\nstatic MirrorSharp.IL.Advanced.WorkSessionExtensions.IL(this MirrorSharp.Advanced.IWorkSession! session) -> MirrorSharp.IL.Advanced.IILSession!\r\nstatic MirrorSharp.IL.Advanced.WorkSessionExtensions.IsIL(this MirrorSharp.Advanced.IWorkSession! session) -> bool"
  },
  {
    "path": "IL/PublicAPI.Unshipped.txt",
    "content": "MirrorSharp.IL.Advanced.IILSession.Target.get -> Mobius.ILasm.Core.Driver.Target\r\nMirrorSharp.IL.Advanced.IILSession.Target.set -> void"
  },
  {
    "path": "IL/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETStandard,Version=v2.0\": {\r\n      \"Microsoft.CodeAnalysis.PublicApiAnalyzers\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.0, )\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"upaG6u/PxjkOj39Kk0DLmmA75acYChmv6/HnOUxvSgGWul53uPcVaPxBWCzkHDfIljyiq5qeIG+CatT8x8FAEA==\"\r\n      },\r\n      \"Mobius.ILasm\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.1.0, )\",\r\n        \"resolved\": \"0.1.0\",\r\n        \"contentHash\": \"0uB5lko7fQZ4eOqkEyApSwxSwdMqdrduTpi6aAvr1nr03Lw+muS6UaAYCvk2ICN+AR94lPelvSx1+HCCwBMhTQ==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection.Emit\": \"4.7.0\",\r\n          \"System.Security.Permissions\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.0.3, )\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Drawing.Common\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[9.0.0, )\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"uoozjI3+dlgKh2onFJcz8aNLh6TRCPlLSh8Dbuljc8CdvqXrxHOVysJlrHvlsOCqceqGBR1wrMPxlnzzhynktw==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.4\",\r\n        \"contentHash\": \"alIJhS0VUg/7x5AsHEoovh/wRZ0RfCSS7k5pDSqpRLTyuMTtRgj6OJJPRApRhJHOGYYsLakf1hKeXFoDwKwNkg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"N5yQdGy+M4kimVG7hwCeGTCfgYjK2o5b/Shumkb/rCC+/SAkvP1HUAYK+vxPFS7dLJNtXLRsmPHKj3fnyNWnrw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"2.9.4\",\r\n          \"System.Collections.Immutable\": \"1.5.0\",\r\n          \"System.Memory\": \"4.5.3\",\r\n          \"System.Reflection.Metadata\": \"1.6.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\",\r\n          \"System.Text.Encoding.CodePages\": \"4.5.1\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"WDUIhTHem38H6VJ98x2Ssq0fweakJHnHYl7vbG8ARnsAwLoJKCQCy78EeY1oRrCKG42j0v6JVljKkeqSDA28UA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"t9uIwsLzT5zQ1Q3ZIpwE4EOnAf/lGdbQwyeqhyO/BJ+AWDt267Hxlz5k6ypPy14Z6+PW6pTggAGz6MwN31RElQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"dHs/UyfLgzsVC4FjTi/x+H+yQifgOnpe3rSN8GwkHWjnidePZ3kSqr1JHmFDf5HTQEydYwrwCAfQ0JSzhsEqDA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"lvMC69ABN/YEaw3ke4cQRqBYZ2V7DJTOT8QXIeAJGJUfwVHTBN0iq2O5zZQrYnnUN2wmeCzCoAg59PKBosVO7g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": \"2.9.5\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\",\r\n          \"Microsoft.DiaSymReader\": \"1.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.5\",\r\n        \"contentHash\": \"SqwdTocsxU7u0Y8am67BY7KSLAhrtDXdBBwt0Nv9TxLVzPBPtPPFS2bHUsxucpOBMBmc10rWE1eJ+IDrr/0/nQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"NfBz3b5hFSbO+7xsCNryD+p8axsIJFTG7qM3jvMTC/MqYrU6b8E1b6JoRj5rJSOBB+pSunk+CMqyGQTOWHeDUg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"System.Composition\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.3.0\",\r\n        \"contentHash\": \"/fn1Tfo7j7k/slViPlM8azJuxQmri7FZ8dQ+gTeLbI29leN/1VK0U/BFcRdJNctsRCUgyKJ2q+I0Tjq07Rc1/Q==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.1\",\r\n        \"contentHash\": \"TMBuzAHpTenGbGgk0SMTwyEkyijY/Eae4ZGsFNYJvAr/LDn1ku3Etp3FPxChmDp5HHF3kzJuoaa08N0xjqAJfQ==\"\r\n      },\r\n      \"Microsoft.NETCore.Targets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.3\",\r\n        \"contentHash\": \"3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==\"\r\n      },\r\n      \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==\"\r\n      },\r\n      \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==\"\r\n      },\r\n      \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==\"\r\n      },\r\n      \"runtime.native.System\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==\",\r\n        \"dependencies\": {\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==\",\r\n        \"dependencies\": {\r\n          \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==\"\r\n      },\r\n      \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==\"\r\n      },\r\n      \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==\"\r\n      },\r\n      \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==\"\r\n      },\r\n      \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==\"\r\n      },\r\n      \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==\"\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Concurrent\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.5.0\",\r\n        \"contentHash\": \"EXKiDFsChZW0RjrZ4FYHu9aW6+P4MCgEDCklsVseRfhoO0F+dXeMSsMRAlVXIo06kGJ/zv+2w1a2uc2+kxxSaQ==\"\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"I+D26qpYdoklyAVUdqwUBrEIckMNjAYnuPJy/h9dsQItpQwVREkDFs4b4tkBza0kT2Yk48Lcfsv2QQ9hWsh9Iw==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Convention\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Composition.TypedParts\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"NHWhkM3ZkspmA0XJEsKdtTt1ViDYuojgSND3yHhTzwxepiwqZf+BCWuvCbjUt4fe0NxxQhUDGJ5km6sLjo9qnQ==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"GLjh2Ju71k6C0qxMMtl4efHa68NmWeIUYh4fkUI8xbjQrEBvFmRwMDFcylT8/PR9SQbeeL48IkFxU/+gd0nYEQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"fN1bT4RX4vUqjbgoyuJFVUizAl2mYF5VAb+bVIxIYZSSc0BdnX+yGAxcavxJuDDCQ1K+/mdpgyEFc8e9ikjvrg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0LEJN+2NVM89CE4SekDrrk5tHV5LeATltkp+9WNYrR+Huiyt0vaCqHbbHtVAjPyeLWIc8dOz/3kthRBj32wGQg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0Zae/FtzeFgDBBuILeIbC/T9HMYbW4olAmi8XqqAGosSOWvXfiQLfARZEhiGd0LVXaYgXr0NhxiU1LldRP1fpQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Debug\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.DiagnosticSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"tD6kosZnTAGdrEa0tZSuFyunMbt/5KYDnHdndJYGqZoNy00XVXyACd5d6KnE1YgYv3ne2CjtAfNXo/fwEhnKUA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tracing\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Calendars\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq.Expressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Numerics.Vectors\": \"4.4.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.4\",\r\n        \"contentHash\": \"aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Extensions\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"System.Net.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Numerics.Vectors\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"UiLzLW+Lw6HLed1Hcg+8jSRttrbuXv7DANVj0DkL9g6EnnzbL75EB7EWsw5uRbhxd/4YdG8li5XizGWepmG3PQ==\"\r\n      },\r\n      \"System.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"VR4kk8XLKebQ4MZuKuIni/7oh+QGFmZW3qORd1GvBq/8026OpW501SzT/oypwiQl4TvT8ErnReh/NzY9u+C6wQ==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.7.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.ILGeneration\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"AucBYo3DSI0IDxdUjKksBcQJXPHyoPyrCXYURW1WDsLI4M65Ar/goSHjdnHOAY9MiYDNKqDlIgaYm+zL2hA1KA==\"\r\n      },\r\n      \"System.Reflection.Emit.Lightweight\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.0\",\r\n        \"contentHash\": \"COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"1.5.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.TypeExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Resources.ResourceManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.3\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.3\",\r\n        \"contentHash\": \"3TIsJhD1EiiT0w2CcDMN/iSSwnNnsrnbzeVHSKkaEgV85txMprmuO+Yq2AdSbeVGcg28pdNDTPK87tJhX7VFHw==\"\r\n      },\r\n      \"System.Runtime.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"qAtKMcHOAq9/zKkl0dwvF0T0pmgCQxX1rC49rJXoU8jq+lw6MC3uXy7nLFmjEI20T3Aq069eWz4LcYR64vEmJw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.3\",\r\n          \"System.Runtime\": \"4.3.1\"\r\n        }\r\n      },\r\n      \"System.Runtime.Handles\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Numerics\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==\",\r\n        \"dependencies\": {\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Algorithms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Cng\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Csp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.X509Certificates\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Cng\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Csp\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Permissions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"uE8juAhEkp7KDBCdjDIE3H9R1HJuEHqeqX8nLX9gmYKWwsqk3T5qZlPx8qle5DPKimC/Fy3AFTdV7HamgCh9qQ==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Security.Principal.Windows\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==\"\r\n      },\r\n      \"System.Text.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"4J2JQXbftjPMppIHJ7IC+VXQ9XfEagN92vZZNoG12i+zReYlim5dMoXFC1Zzg7tsnKDM7JPo5bYfFK4Jheq44w==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      },\r\n      \"System.Text.RegularExpressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"N0kNRrWe4+nXOWlpLT4LAY5brb8caNFlUuIRpraCVMDLYutKkol1aV079rQjLuSxKMJT2SpBQsYX9xbcTMmzwg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.1\",\r\n          \"System.Runtime.Extensions\": \"4.3.1\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.3\",\r\n        \"contentHash\": \"+MvhNtcvIbqmhANyKu91jQnvIRVSTiaOiFNfKWwXGHG48YAb4I/TyH8spsySiPYla7gKal5ZnF3teJqZAximyQ==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Features\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1, )\",\r\n          \"System.Memory\": \"[4.5.5, )\",\r\n          \"System.Net.Http\": \"[4.3.4, )\",\r\n          \"System.Text.RegularExpressions\": \"[4.3.1, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Internal.Roslyn33/CodeActionInternals.cs",
    "content": "using System.Collections.Immutable;\r\nusing System.Composition;\r\nusing Microsoft.CodeAnalysis.CodeActions;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn33 {\r\n    [Shared]\r\n    [Export(typeof(ICodeActionInternals))]\r\n    internal class CodeActionInternals : ICodeActionInternals {\r\n        public bool IsInlinable(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return action.IsInlinable;\r\n        }\r\n\r\n        public Roslyn.Internals.CodeActionPriority GetPriority(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return (Roslyn.Internals.CodeActionPriority)(int)action.Priority;\r\n        }\r\n\r\n        public ImmutableArray<CodeAction> GetNestedCodeActions(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return action.NestedCodeActions;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn33/Internal.Roslyn33.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\r\n  <PropertyGroup>\r\n    <TargetFramework>netstandard2.0</TargetFramework>\r\n    <AssemblyName>MirrorSharp.Internal.Roslyn33</AssemblyName>\r\n    <RootNamespace>MirrorSharp.Internal.Roslyn33</RootNamespace>\r\n    <IsPackable>false</IsPackable>\r\n  </PropertyGroup>\r\n\r\n  <PropertyGroup>\r\n    <InternalsAssemblyNames>Microsoft.CodeAnalysis.Features;Microsoft.CodeAnalysis.Workspaces</InternalsAssemblyNames>\r\n  </PropertyGroup>\r\n\r\n  <ItemGroup>\r\n    <PackageReference Include=\"IgnoresAccessChecksToGenerator\" Version=\"0.5.0\" PrivateAssets=\"All\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis\" Version=\"3.3.1\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Features\" Version=\"3.3.1\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Workspaces.Common\" Version=\"3.3.1\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <ProjectReference Include=\"..\\Internal.RoslynInternals\\Internal.RoslynInternals.csproj\" />\r\n  </ItemGroup>\r\n</Project>\r\n"
  },
  {
    "path": "Internal.Roslyn33/PublicAPI.Shipped.txt",
    "content": "#nullable enable"
  },
  {
    "path": "Internal.Roslyn33/PublicAPI.Unshipped.txt",
    "content": ""
  },
  {
    "path": "Internal.Roslyn33/SignatureHelpProviderWrapper.cs",
    "content": "using System.Linq;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.SignatureHelp;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\nusing SignatureHelpTriggerReason = Microsoft.CodeAnalysis.SignatureHelp.SignatureHelpTriggerReason;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn33 {\r\n    internal class SignatureHelpProviderWrapper : ISignatureHelpProviderWrapper {\r\n        private readonly ISignatureHelpProvider _provider;\r\n\r\n        public SignatureHelpProviderWrapper(ISignatureHelpProvider provider) {\r\n            _provider = provider;\r\n        }\r\n\r\n        public async Task<SignatureHelpItemsData?> GetItemsAsync(Document document, int position, SignatureHelpTriggerInfoData triggerInfo, SignatureHelpOptionsData options, CancellationToken cancellationToken) {\r\n            var mappedTriggerInfo = new SignatureHelpTriggerInfo(\r\n                (SignatureHelpTriggerReason)(int)triggerInfo.TriggerReason,\r\n                triggerInfo.TriggerCharacter\r\n            );\r\n\r\n            var items = await _provider.GetItemsAsync(\r\n                document, position,\r\n                mappedTriggerInfo,\r\n                cancellationToken\r\n            ).ConfigureAwait(false);\r\n\r\n            if (items == null)\r\n                return null;\r\n\r\n            return new SignatureHelpItemsData(\r\n                items.Items.Select(i => new SignatureHelpItemData(\r\n                    i.DocumentationFactory,\r\n                    prefixDisplayParts: i.PrefixDisplayParts,\r\n                    separatorDisplayParts: i.SeparatorDisplayParts,\r\n                    suffixDisplayParts: i.SuffixDisplayParts,\r\n                    parameters: i.Parameters.Select(p => new SignatureHelpParameterData(\r\n                        p.Name,\r\n                        p.DocumentationFactory,\r\n                        displayParts: p.DisplayParts,\r\n                        prefixDisplayParts: p.PrefixDisplayParts,\r\n                        suffixDisplayParts: p.SuffixDisplayParts\r\n                    )),\r\n                    i.Parameters.Length\r\n                )),\r\n                applicableSpan: items.ApplicableSpan,\r\n                argumentIndex: items.ArgumentIndex,\r\n                argumentCount: items.ArgumentCount,\r\n                selectedItemIndex: items.SelectedItemIndex\r\n            );\r\n        }\r\n\r\n        public bool IsRetriggerCharacter(char ch) => _provider.IsRetriggerCharacter(ch);\r\n        public bool IsTriggerCharacter(char ch) => _provider.IsTriggerCharacter(ch);\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn33/SignatureHelpProviderWrapperResolver.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Composition;\r\nusing System.Linq;\r\nusing Microsoft.CodeAnalysis.Host.Mef;\r\nusing Microsoft.CodeAnalysis.Shared.Utilities;\r\nusing Microsoft.CodeAnalysis.SignatureHelp;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn33 {\r\n    [Export(typeof(ISignatureHelpProviderWrapperResolver))]\r\n    internal class SignatureHelpProviderWrapperResolver : ISignatureHelpProviderWrapperResolver {\r\n        private readonly IList<Lazy<ISignatureHelpProvider, OrderableLanguageMetadata>> _allProviders;\r\n\r\n        [ImportingConstructor]\r\n        public SignatureHelpProviderWrapperResolver(\r\n            [ImportMany] IEnumerable<Lazy<ISignatureHelpProvider, OrderableLanguageMetadata>> allProviders\r\n        ) {\r\n            _allProviders = ExtensionOrderer.Order(allProviders);\r\n        }\r\n\r\n        public IEnumerable<ISignatureHelpProviderWrapper> GetAllSlow(string languageName) {\r\n            if (languageName == null)\r\n                throw new ArgumentNullException(nameof(languageName));\r\n\r\n            return _allProviders\r\n                .Where(l => l.Metadata.Language == languageName)\r\n                .Select(l => new SignatureHelpProviderWrapper(l.Value));\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn33/WorkspaceAnalyzerOptionsInternals.cs",
    "content": "using System.Composition;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.Diagnostics;\r\nusing Microsoft.CodeAnalysis.Options;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn33 {\r\n    [Shared]\r\n    [Export(typeof(IWorkspaceAnalyzerOptionsInternals))]\r\n    internal class WorkspaceAnalyzerOptionsInternals : IWorkspaceAnalyzerOptionsInternals {\r\n        public AnalyzerOptions New(AnalyzerOptions options, Project project) {\r\n            Argument.NotNull(nameof(options), options);\r\n            Argument.NotNull(nameof(project), project);\r\n            return new WorkspaceAnalyzerOptions(options, new WorkspaceOptionSet(null), project.Solution);\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn33/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETStandard,Version=v2.0\": {\r\n      \"IgnoresAccessChecksToGenerator\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.5.0, )\",\r\n        \"resolved\": \"0.5.0\",\r\n        \"contentHash\": \"p0ZdbdGRAmRAhSm1HWZ4luy/RjLZlhGPmg9OWmVFYhrq526AtxmL5Pik7uZWf3Hr3PQRR8iTH+Kyf3eHyLAGCQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.1, )\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"BoPeZD+BFE5x/qu28RnelX7hoCnPDbOZkwymrUnslrZjzj8B155gP/GjrI6m66oUOk2Yh1lxlUs+BRFZOPMBnQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.1, )\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"lvMC69ABN/YEaw3ke4cQRqBYZ2V7DJTOT8QXIeAJGJUfwVHTBN0iq2O5zZQrYnnUN2wmeCzCoAg59PKBosVO7g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": \"2.9.5\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\",\r\n          \"Microsoft.DiaSymReader\": \"1.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.PublicApiAnalyzers\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.0, )\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"upaG6u/PxjkOj39Kk0DLmmA75acYChmv6/HnOUxvSgGWul53uPcVaPxBWCzkHDfIljyiq5qeIG+CatT8x8FAEA==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.1, )\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"NfBz3b5hFSbO+7xsCNryD+p8axsIJFTG7qM3jvMTC/MqYrU6b8E1b6JoRj5rJSOBB+pSunk+CMqyGQTOWHeDUg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"System.Composition\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.0.3, )\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.4\",\r\n        \"contentHash\": \"alIJhS0VUg/7x5AsHEoovh/wRZ0RfCSS7k5pDSqpRLTyuMTtRgj6OJJPRApRhJHOGYYsLakf1hKeXFoDwKwNkg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"N5yQdGy+M4kimVG7hwCeGTCfgYjK2o5b/Shumkb/rCC+/SAkvP1HUAYK+vxPFS7dLJNtXLRsmPHKj3fnyNWnrw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"2.9.4\",\r\n          \"System.Collections.Immutable\": \"1.5.0\",\r\n          \"System.Memory\": \"4.5.3\",\r\n          \"System.Reflection.Metadata\": \"1.6.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\",\r\n          \"System.Text.Encoding.CodePages\": \"4.5.1\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"WDUIhTHem38H6VJ98x2Ssq0fweakJHnHYl7vbG8ARnsAwLoJKCQCy78EeY1oRrCKG42j0v6JVljKkeqSDA28UA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"dHs/UyfLgzsVC4FjTi/x+H+yQifgOnpe3rSN8GwkHWjnidePZ3kSqr1JHmFDf5HTQEydYwrwCAfQ0JSzhsEqDA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.5\",\r\n        \"contentHash\": \"SqwdTocsxU7u0Y8am67BY7KSLAhrtDXdBBwt0Nv9TxLVzPBPtPPFS2bHUsxucpOBMBmc10rWE1eJ+IDrr/0/nQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"F7fc/G+0ocOYkKSCJ7Y8Q7eAEkAdG5RYODI9FtSl2Hm8zIDBVA3NccCm98gaOvCamLfMHYqeOjpb3yJnnw3m/w==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"Oi4AUxMKAYpx7nHNh7jUO8X18JFCzwtIfu/yDzGzOBpo50591AF7EEdv99geAEidGtmJqbzQ6uRk5dEOL+7F/Q==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.3.0\",\r\n        \"contentHash\": \"/fn1Tfo7j7k/slViPlM8azJuxQmri7FZ8dQ+gTeLbI29leN/1VK0U/BFcRdJNctsRCUgyKJ2q+I0Tjq07Rc1/Q==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==\"\r\n      },\r\n      \"Microsoft.NETCore.Targets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==\"\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"AwarXzzoDwX6BgrhjoJsk6tUezZEozOT5Y9QKF94Gl4JK91I4PIIBkBco9068Y9/Dra8Dkbie99kXB8+1BaYKw==\"\r\n      },\r\n      \"System.Collections\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.5.0\",\r\n        \"contentHash\": \"EXKiDFsChZW0RjrZ4FYHu9aW6+P4MCgEDCklsVseRfhoO0F+dXeMSsMRAlVXIo06kGJ/zv+2w1a2uc2+kxxSaQ==\"\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"I+D26qpYdoklyAVUdqwUBrEIckMNjAYnuPJy/h9dsQItpQwVREkDFs4b4tkBza0kT2Yk48Lcfsv2QQ9hWsh9Iw==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Convention\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Composition.TypedParts\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"NHWhkM3ZkspmA0XJEsKdtTt1ViDYuojgSND3yHhTzwxepiwqZf+BCWuvCbjUt4fe0NxxQhUDGJ5km6sLjo9qnQ==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"GLjh2Ju71k6C0qxMMtl4efHa68NmWeIUYh4fkUI8xbjQrEBvFmRwMDFcylT8/PR9SQbeeL48IkFxU/+gd0nYEQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"fN1bT4RX4vUqjbgoyuJFVUizAl2mYF5VAb+bVIxIYZSSc0BdnX+yGAxcavxJuDDCQ1K+/mdpgyEFc8e9ikjvrg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0LEJN+2NVM89CE4SekDrrk5tHV5LeATltkp+9WNYrR+Huiyt0vaCqHbbHtVAjPyeLWIc8dOz/3kthRBj32wGQg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0Zae/FtzeFgDBBuILeIbC/T9HMYbW4olAmi8XqqAGosSOWvXfiQLfARZEhiGd0LVXaYgXr0NhxiU1LldRP1fpQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Debug\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq.Expressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.3\",\r\n        \"contentHash\": \"3oDzvc/zzetpTKWMShs1AADwZjQ/36HnsufHRPcOjyRAAMLDlu2iD33MBI2opxnezcVUtXyqDXXjoFMOU9c7SA==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.4.0\",\r\n          \"System.Numerics.Vectors\": \"4.4.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      },\r\n      \"System.Numerics.Vectors\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"UiLzLW+Lw6HLed1Hcg+8jSRttrbuXv7DANVj0DkL9g6EnnzbL75EB7EWsw5uRbhxd/4YdG8li5XizGWepmG3PQ==\"\r\n      },\r\n      \"System.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.ILGeneration\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.Lightweight\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.0\",\r\n        \"contentHash\": \"COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"1.5.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.TypeExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Resources.ResourceManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.2\",\r\n        \"contentHash\": \"wprSFgext8cwqymChhrBLu62LMg/1u92bU+VOwyfBimSPVFXtsNqEWC92Pf9ofzJFlk4IHmJA75EDJn1b2goAQ==\"\r\n      },\r\n      \"System.Runtime.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"4J2JQXbftjPMppIHJ7IC+VXQ9XfEagN92vZZNoG12i+zReYlim5dMoXFC1Zzg7tsnKDM7JPo5bYfFK4Jheq44w==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      },\r\n      \"System.Threading\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.3\",\r\n        \"contentHash\": \"+MvhNtcvIbqmhANyKu91jQnvIRVSTiaOiFNfKWwXGHG48YAb4I/TyH8spsySiPYla7gKal5ZnF3teJqZAximyQ==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Internal.Roslyn36/CodeActionInternals.cs",
    "content": "using System.Collections.Immutable;\r\nusing System.Composition;\r\nusing Microsoft.CodeAnalysis.CodeActions;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn36 {\r\n    [Shared]\r\n    [Export(typeof(ICodeActionInternals))]\r\n    internal class CodeActionInternals : ICodeActionInternals {\r\n        public bool IsInlinable(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return action.IsInlinable;\r\n        }\r\n\r\n        public Roslyn.Internals.CodeActionPriority GetPriority(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return (Roslyn.Internals.CodeActionPriority)(int)action.Priority;\r\n        }\r\n\r\n        public ImmutableArray<CodeAction> GetNestedCodeActions(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return action.NestedCodeActions;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn36/Internal.Roslyn36.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\r\n  <PropertyGroup>\r\n    <TargetFramework>netstandard2.0</TargetFramework>\r\n    <AssemblyName>MirrorSharp.Internal.Roslyn36</AssemblyName>\r\n    <RootNamespace>MirrorSharp.Internal.Roslyn36</RootNamespace>\r\n    <IsPackable>false</IsPackable>\r\n  </PropertyGroup>\r\n\r\n  <PropertyGroup>\r\n    <InternalsAssemblyNames>Microsoft.CodeAnalysis.Features;Microsoft.CodeAnalysis.Workspaces</InternalsAssemblyNames>\r\n  </PropertyGroup>\r\n\r\n  <ItemGroup>\r\n    <PackageReference Include=\"IgnoresAccessChecksToGenerator\" Version=\"0.5.0\" PrivateAssets=\"All\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis\" Version=\"3.6.0\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Features\" Version=\"3.6.0\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Workspaces.Common\" Version=\"3.6.0\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <ProjectReference Include=\"..\\Internal.RoslynInternals\\Internal.RoslynInternals.csproj\" />\r\n  </ItemGroup>\r\n</Project>\r\n"
  },
  {
    "path": "Internal.Roslyn36/PublicAPI.Shipped.txt",
    "content": "#nullable enable"
  },
  {
    "path": "Internal.Roslyn36/PublicAPI.Unshipped.txt",
    "content": ""
  },
  {
    "path": "Internal.Roslyn36/SignatureHelpProviderWrapper.cs",
    "content": "using System.Linq;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.SignatureHelp;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\nusing SignatureHelpTriggerReason = Microsoft.CodeAnalysis.SignatureHelp.SignatureHelpTriggerReason;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn36 {\r\n    internal class SignatureHelpProviderWrapper : ISignatureHelpProviderWrapper {\r\n        private readonly ISignatureHelpProvider _provider;\r\n\r\n        public SignatureHelpProviderWrapper(ISignatureHelpProvider provider) {\r\n            _provider = provider;\r\n        }\r\n\r\n        public async Task<SignatureHelpItemsData?> GetItemsAsync(Document document, int position, SignatureHelpTriggerInfoData triggerInfo, SignatureHelpOptionsData options, CancellationToken cancellationToken) {\r\n            var mappedTriggerInfo = new SignatureHelpTriggerInfo(\r\n                (SignatureHelpTriggerReason)(int)triggerInfo.TriggerReason,\r\n                triggerInfo.TriggerCharacter\r\n            );\r\n\r\n            var items = await _provider.GetItemsAsync(\r\n                document, position,\r\n                mappedTriggerInfo,\r\n                cancellationToken\r\n            ).ConfigureAwait(false);\r\n\r\n            if (items == null)\r\n                return null;\r\n\r\n            return new SignatureHelpItemsData(\r\n                items.Items.Select(i => new SignatureHelpItemData(\r\n                    i.DocumentationFactory,\r\n                    prefixDisplayParts: i.PrefixDisplayParts,\r\n                    separatorDisplayParts: i.SeparatorDisplayParts,\r\n                    suffixDisplayParts: i.SuffixDisplayParts,\r\n                    parameters: i.Parameters.Select(p => new SignatureHelpParameterData(\r\n                        p.Name,\r\n                        p.DocumentationFactory,\r\n                        displayParts: p.DisplayParts,\r\n                        prefixDisplayParts: p.PrefixDisplayParts,\r\n                        suffixDisplayParts: p.SuffixDisplayParts\r\n                    )),\r\n                    i.Parameters.Length\r\n                )),\r\n                applicableSpan: items.ApplicableSpan,\r\n                argumentIndex: items.ArgumentIndex,\r\n                argumentCount: items.ArgumentCount,\r\n                selectedItemIndex: items.SelectedItemIndex\r\n            );\r\n        }\r\n\r\n        public bool IsRetriggerCharacter(char ch) => _provider.IsRetriggerCharacter(ch);\r\n        public bool IsTriggerCharacter(char ch) => _provider.IsTriggerCharacter(ch);\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn36/SignatureHelpProviderWrapperResolver.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Composition;\r\nusing System.Linq;\r\nusing Microsoft.CodeAnalysis.Host.Mef;\r\nusing Microsoft.CodeAnalysis.Shared.Utilities;\r\nusing Microsoft.CodeAnalysis.SignatureHelp;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn36 {\r\n    [Export(typeof(ISignatureHelpProviderWrapperResolver))]\r\n    internal class SignatureHelpProviderWrapperResolver : ISignatureHelpProviderWrapperResolver {\r\n        private readonly IList<Lazy<ISignatureHelpProvider, OrderableLanguageMetadata>> _allProviders;\r\n\r\n        [ImportingConstructor]\r\n        public SignatureHelpProviderWrapperResolver(\r\n            [ImportMany] IEnumerable<Lazy<ISignatureHelpProvider, OrderableLanguageMetadata>> allProviders\r\n        ) {\r\n            _allProviders = ExtensionOrderer.Order(allProviders);\r\n        }\r\n\r\n        public IEnumerable<ISignatureHelpProviderWrapper> GetAllSlow(string languageName) {\r\n            if (languageName == null)\r\n                throw new ArgumentNullException(nameof(languageName));\r\n\r\n            return _allProviders\r\n                .Where(l => l.Metadata.Language == languageName)\r\n                .Select(l => new SignatureHelpProviderWrapper(l.Value));\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn36/WorkspaceAnalyzerOptionsInternals.cs",
    "content": "using System.Composition;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.Diagnostics;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn36 {\r\n    [Shared]\r\n    [Export(typeof(IWorkspaceAnalyzerOptionsInternals))]\r\n    internal class WorkspaceAnalyzerOptionsInternals : IWorkspaceAnalyzerOptionsInternals {\r\n        public AnalyzerOptions New(AnalyzerOptions options, Project project) {\r\n            Argument.NotNull(nameof(options), options);\r\n            Argument.NotNull(nameof(project), project);\r\n            return new WorkspaceAnalyzerOptions(options, project.Solution);\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn36/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETStandard,Version=v2.0\": {\r\n      \"IgnoresAccessChecksToGenerator\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.5.0, )\",\r\n        \"resolved\": \"0.5.0\",\r\n        \"contentHash\": \"p0ZdbdGRAmRAhSm1HWZ4luy/RjLZlhGPmg9OWmVFYhrq526AtxmL5Pik7uZWf3Hr3PQRR8iTH+Kyf3eHyLAGCQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.6.0, )\",\r\n        \"resolved\": \"3.6.0\",\r\n        \"contentHash\": \"SZos6yDzFdsyMLY+7yMw1vmm7as3D6ocUJDRneSEg6LMQ8GY4UGNlcAEHLuJsgt5AwCqIMKvlU7TPm8RUcRl+Q==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[3.6.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[3.6.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.6.0, )\",\r\n        \"resolved\": \"3.6.0\",\r\n        \"contentHash\": \"iDshCqdpu/oHmG0uG7RsqiLr6/+C3rm0kG4GJFKM3Ap9YlfVh5ucOTY1MpTSH1lKUVLtFrcUyw4m4u4/3O9Fcg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.0.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.6.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.6.0]\",\r\n          \"Microsoft.DiaSymReader\": \"1.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.PublicApiAnalyzers\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.0, )\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"upaG6u/PxjkOj39Kk0DLmmA75acYChmv6/HnOUxvSgGWul53uPcVaPxBWCzkHDfIljyiq5qeIG+CatT8x8FAEA==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.6.0, )\",\r\n        \"resolved\": \"3.6.0\",\r\n        \"contentHash\": \"DmaIzcx9cpZMY97SH0IDfEsq/QujuvnC0nNDAskOO8zFKxKTaZJw8/jKV/nPUk3OgpOAP1ypaz9VborDfnSf+g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"1.1.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.6.0]\",\r\n          \"System.Composition\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.0.3, )\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"Humanizer.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.2.0\",\r\n        \"contentHash\": \"rsYXB7+iUPP8AHgQ8JP2UZI2xK2KhjcdGr9E6zX3CsZaTLCaw8M35vaAJRo1rfxeaZEVMuXeaquLVCkZ7JcZ5Q==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"Microsoft.Bcl.AsyncInterfaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"1Am6l4Vpn3/K32daEqZI+FFr96OlZkgwK2LcT3pZ2zWubR5zTPW3/FkO1Rat9kb7oQOa4rxgl9LJHc5tspCWfg==\",\r\n        \"dependencies\": {\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.2\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.0.0\",\r\n        \"contentHash\": \"ojG5pGAhTPmjxRGTNvuszO3H8XPZqksDwr9xLd4Ae/JBjZZdl6GuoLk7uLMf+o7yl5wO0TAqoWcEKkEWqrZE5g==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.AnalyzerUtilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.0.0\",\r\n        \"contentHash\": \"z8rVA1LC8kQv6ZFOSWn5TZhHx7lwdGF/cMcjTXi0h1itV10LEtC5Lm2yZCw0Uz2uyKWXYE0TsBfo+0xQqKHV2Q==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.6.0\",\r\n        \"contentHash\": \"jQxDeYyQbNZwx/9O8hiyApTqZ7+KR3xVA6Ogbb50qsODfjAKRWuH7z3lGkU/62PYUz4yiDtgXlRtntWNdhFPfQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.0.0\",\r\n          \"System.Collections.Immutable\": \"1.5.0\",\r\n          \"System.Memory\": \"4.5.3\",\r\n          \"System.Reflection.Metadata\": \"1.6.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.7.0\",\r\n          \"System.Text.Encoding.CodePages\": \"4.5.1\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.6.0\",\r\n        \"contentHash\": \"kflVAdezWxqIfKNvEi4cmWZchX0Cgm3bRk1asYSnAQWQPTMddecrHzb9D8+ZDfYUeyYKkF4DETwjmONeSChCqA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.6.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.6.0\",\r\n        \"contentHash\": \"HpMIxUIaHOJ5Vmy5RFnq/itS563FXZdXlsSf8bHU3urrKnOdVkQZ5fktCIxGD5RG6kG/WbPEi0eW18jE2J5/zw==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.2.0\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.6.0]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.6.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.6.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.6.0\",\r\n        \"contentHash\": \"ZS9FhxIut643uKyf9gOjTdwJNENa4pqcbUSS4herYjp8lvYsXOa7QgazySHcNCAut4/SlYgvydpGZgwoasD7vw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.6.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.6.0\",\r\n        \"contentHash\": \"Evddkuon+vbcjApMg8+xt96/67nw/YSwg4c1tx4r7YYWzthz+IfgIamSdRi4P+3Du3LnIlsGo2MFxo36hIWFhg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.6.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[3.6.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.6.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.3.0\",\r\n        \"contentHash\": \"/fn1Tfo7j7k/slViPlM8azJuxQmri7FZ8dQ+gTeLbI29leN/1VK0U/BFcRdJNctsRCUgyKJ2q+I0Tjq07Rc1/Q==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==\"\r\n      },\r\n      \"Microsoft.NETCore.Targets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==\"\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"AwarXzzoDwX6BgrhjoJsk6tUezZEozOT5Y9QKF94Gl4JK91I4PIIBkBco9068Y9/Dra8Dkbie99kXB8+1BaYKw==\"\r\n      },\r\n      \"System.Collections\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.5.0\",\r\n        \"contentHash\": \"EXKiDFsChZW0RjrZ4FYHu9aW6+P4MCgEDCklsVseRfhoO0F+dXeMSsMRAlVXIo06kGJ/zv+2w1a2uc2+kxxSaQ==\"\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"I+D26qpYdoklyAVUdqwUBrEIckMNjAYnuPJy/h9dsQItpQwVREkDFs4b4tkBza0kT2Yk48Lcfsv2QQ9hWsh9Iw==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Convention\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Composition.TypedParts\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"NHWhkM3ZkspmA0XJEsKdtTt1ViDYuojgSND3yHhTzwxepiwqZf+BCWuvCbjUt4fe0NxxQhUDGJ5km6sLjo9qnQ==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"GLjh2Ju71k6C0qxMMtl4efHa68NmWeIUYh4fkUI8xbjQrEBvFmRwMDFcylT8/PR9SQbeeL48IkFxU/+gd0nYEQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"fN1bT4RX4vUqjbgoyuJFVUizAl2mYF5VAb+bVIxIYZSSc0BdnX+yGAxcavxJuDDCQ1K+/mdpgyEFc8e9ikjvrg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0LEJN+2NVM89CE4SekDrrk5tHV5LeATltkp+9WNYrR+Huiyt0vaCqHbbHtVAjPyeLWIc8dOz/3kthRBj32wGQg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0Zae/FtzeFgDBBuILeIbC/T9HMYbW4olAmi8XqqAGosSOWvXfiQLfARZEhiGd0LVXaYgXr0NhxiU1LldRP1fpQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Debug\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq.Expressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.3\",\r\n        \"contentHash\": \"3oDzvc/zzetpTKWMShs1AADwZjQ/36HnsufHRPcOjyRAAMLDlu2iD33MBI2opxnezcVUtXyqDXXjoFMOU9c7SA==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.4.0\",\r\n          \"System.Numerics.Vectors\": \"4.4.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      },\r\n      \"System.Numerics.Vectors\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"UiLzLW+Lw6HLed1Hcg+8jSRttrbuXv7DANVj0DkL9g6EnnzbL75EB7EWsw5uRbhxd/4YdG8li5XizGWepmG3PQ==\"\r\n      },\r\n      \"System.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.ILGeneration\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.Lightweight\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.0\",\r\n        \"contentHash\": \"COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"1.5.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.TypeExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Resources.ResourceManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"IpU1lcHz8/09yDr9N+Juc7SCgNUz+RohkCQI+KsWKR67XxpFr8Z6c8t1iENCXZuRuNCc4HBwme/MDHNVCwyAKg==\"\r\n      },\r\n      \"System.Runtime.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"4J2JQXbftjPMppIHJ7IC+VXQ9XfEagN92vZZNoG12i+zReYlim5dMoXFC1Zzg7tsnKDM7JPo5bYfFK4Jheq44w==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      },\r\n      \"System.Threading\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.3\",\r\n        \"contentHash\": \"+MvhNtcvIbqmhANyKu91jQnvIRVSTiaOiFNfKWwXGHG48YAb4I/TyH8spsySiPYla7gKal5ZnF3teJqZAximyQ==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Internal.Roslyn41/CodeActionInternals.cs",
    "content": "using System.Collections.Immutable;\r\nusing System.Composition;\r\nusing Microsoft.CodeAnalysis.CodeActions;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn41 {\r\n    [Shared]\r\n    [Export(typeof(ICodeActionInternals))]\r\n    internal class CodeActionInternals : ICodeActionInternals {\r\n        public bool IsInlinable(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return action.IsInlinable;\r\n        }\r\n\r\n        public Roslyn.Internals.CodeActionPriority GetPriority(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return (Roslyn.Internals.CodeActionPriority)(int)action.Priority;\r\n        }\r\n\r\n        public ImmutableArray<CodeAction> GetNestedCodeActions(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return action.NestedCodeActions;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn41/Internal.Roslyn41.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\r\n  <PropertyGroup>\r\n    <TargetFramework>netstandard2.0</TargetFramework>\r\n    <AssemblyName>MirrorSharp.Internal.Roslyn41</AssemblyName>\r\n    <RootNamespace>MirrorSharp.Internal.Roslyn41</RootNamespace>\r\n    <IsPackable>false</IsPackable>\r\n  </PropertyGroup>\r\n\r\n  <PropertyGroup>\r\n    <InternalsAssemblyNames>Microsoft.CodeAnalysis.Features;Microsoft.CodeAnalysis.Workspaces</InternalsAssemblyNames>\r\n  </PropertyGroup>\r\n\r\n  <ItemGroup>\r\n    <PackageReference Include=\"IgnoresAccessChecksToGenerator\" Version=\"0.5.0\" PrivateAssets=\"All\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis\" Version=\"4.1.0\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Features\" Version=\"4.1.0\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Workspaces.Common\" Version=\"4.1.0\" />\r\n    <!-- Avoids vulnerability in version referenced by Microsoft.CodeAnalysis.Features -->\r\n    <PackageReference Include=\"System.Text.Json\" Version=\"9.0.0\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <ProjectReference Include=\"..\\Internal.RoslynInternals\\Internal.RoslynInternals.csproj\" />\r\n  </ItemGroup>\r\n</Project>\r\n"
  },
  {
    "path": "Internal.Roslyn41/PublicAPI.Shipped.txt",
    "content": "#nullable enable"
  },
  {
    "path": "Internal.Roslyn41/PublicAPI.Unshipped.txt",
    "content": ""
  },
  {
    "path": "Internal.Roslyn41/SignatureHelpProviderWrapper.cs",
    "content": "using System.Linq;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.SignatureHelp;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\nusing SignatureHelpTriggerReason = Microsoft.CodeAnalysis.SignatureHelp.SignatureHelpTriggerReason;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn41 {\r\n    internal class SignatureHelpProviderWrapper : ISignatureHelpProviderWrapper {\r\n        private readonly ISignatureHelpProvider _provider;\r\n\r\n        public SignatureHelpProviderWrapper(ISignatureHelpProvider provider) {\r\n            _provider = provider;\r\n        }\r\n\r\n        public async Task<SignatureHelpItemsData?> GetItemsAsync(Document document, int position, SignatureHelpTriggerInfoData triggerInfo, SignatureHelpOptionsData options, CancellationToken cancellationToken) {\r\n            var mappedOptions = SignatureHelpOptions.From(options.Project);\r\n            var mappedTriggerInfo = new SignatureHelpTriggerInfo(\r\n                (SignatureHelpTriggerReason)(int)triggerInfo.TriggerReason,\r\n                triggerInfo.TriggerCharacter\r\n            );\r\n\r\n            var items = await _provider.GetItemsAsync(\r\n                document, position,\r\n                mappedTriggerInfo,\r\n                mappedOptions, cancellationToken\r\n            ).ConfigureAwait(false);\r\n\r\n            if (items == null)\r\n                return null;\r\n\r\n            return new SignatureHelpItemsData(\r\n                items.Items.Select(i => new SignatureHelpItemData(\r\n                    i.DocumentationFactory,\r\n                    prefixDisplayParts: i.PrefixDisplayParts,\r\n                    separatorDisplayParts: i.SeparatorDisplayParts,\r\n                    suffixDisplayParts: i.SuffixDisplayParts,\r\n                    parameters: i.Parameters.Select(p => new SignatureHelpParameterData(\r\n                        p.Name,\r\n                        p.DocumentationFactory,\r\n                        displayParts: p.DisplayParts,\r\n                        prefixDisplayParts: p.PrefixDisplayParts,\r\n                        suffixDisplayParts: p.SuffixDisplayParts\r\n                    )),\r\n                    i.Parameters.Length\r\n                )),\r\n                applicableSpan: items.ApplicableSpan,\r\n                argumentIndex: items.ArgumentIndex,\r\n                argumentCount: items.ArgumentCount,\r\n                selectedItemIndex: items.SelectedItemIndex\r\n            );\r\n        }\r\n\r\n        public bool IsRetriggerCharacter(char ch) => _provider.IsRetriggerCharacter(ch);\r\n        public bool IsTriggerCharacter(char ch) => _provider.IsTriggerCharacter(ch);\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn41/SignatureHelpProviderWrapperResolver.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Composition;\r\nusing System.Linq;\r\nusing Microsoft.CodeAnalysis.Host.Mef;\r\nusing Microsoft.CodeAnalysis.Shared.Utilities;\r\nusing Microsoft.CodeAnalysis.SignatureHelp;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn41 {\r\n    [Export(typeof(ISignatureHelpProviderWrapperResolver))]\r\n    internal class SignatureHelpProviderWrapperResolver : ISignatureHelpProviderWrapperResolver {\r\n        private readonly IList<Lazy<ISignatureHelpProvider, OrderableLanguageMetadata>> _allProviders;\r\n\r\n        [ImportingConstructor]\r\n        public SignatureHelpProviderWrapperResolver(\r\n            [ImportMany] IEnumerable<Lazy<ISignatureHelpProvider, OrderableLanguageMetadata>> allProviders\r\n        ) {\r\n            _allProviders = ExtensionOrderer.Order(allProviders);\r\n        }\r\n\r\n        public IEnumerable<ISignatureHelpProviderWrapper> GetAllSlow(string languageName) {\r\n            if (languageName == null)\r\n                throw new ArgumentNullException(nameof(languageName));\r\n\r\n            return _allProviders\r\n                .Where(l => l.Metadata.Language == languageName)\r\n                .Select(l => new SignatureHelpProviderWrapper(l.Value));\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn41/WorkspaceAnalyzerOptionsInternals.cs",
    "content": "using System.Composition;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.Diagnostics;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn41 {\r\n    [Shared]\r\n    [Export(typeof(IWorkspaceAnalyzerOptionsInternals))]\r\n    internal class WorkspaceAnalyzerOptionsInternals : IWorkspaceAnalyzerOptionsInternals {\r\n        public AnalyzerOptions New(AnalyzerOptions options, Project project) {\r\n            Argument.NotNull(nameof(options), options);\r\n            Argument.NotNull(nameof(project), project);\r\n            return new WorkspaceAnalyzerOptions(options, project.Solution);\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn41/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETStandard,Version=v2.0\": {\r\n      \"IgnoresAccessChecksToGenerator\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.5.0, )\",\r\n        \"resolved\": \"0.5.0\",\r\n        \"contentHash\": \"p0ZdbdGRAmRAhSm1HWZ4luy/RjLZlhGPmg9OWmVFYhrq526AtxmL5Pik7uZWf3Hr3PQRR8iTH+Kyf3eHyLAGCQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.1.0, )\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"kMackQJPbJOee86dAt+4xZEBMW8gJ2KLFu2JXOqXAO9Hiy4gini7Gz+spg7viGNMFuNVt423MUrfdnDngo93CA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.1.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.1.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.1.0, )\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"hssPMMM7vkcYUh8hYzUuIY0E+nMNeggh8J9RMGGOodXeiTk4mJBzaEqHBRVeS2EyCFdXDivNuhqMxe/mOV7AQg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.3.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.1.0]\",\r\n          \"Microsoft.CodeAnalysis.Scripting.Common\": \"[4.1.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.1.0]\",\r\n          \"Microsoft.DiaSymReader\": \"1.4.0\",\r\n          \"System.Text.Json\": \"4.7.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.PublicApiAnalyzers\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.0, )\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"upaG6u/PxjkOj39Kk0DLmmA75acYChmv6/HnOUxvSgGWul53uPcVaPxBWCzkHDfIljyiq5qeIG+CatT8x8FAEA==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.1.0, )\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"Xzb15T20r9qDN0REgTZLdKTzXsZr/zxAy8Jq/w00y32wrJGBZLPz8mR2KLZ1f1ujv5jaQZ040GPmmFVYz8c2ag==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.2.0\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"5.0.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.1.0]\",\r\n          \"System.Composition\": \"1.0.31\",\r\n          \"System.IO.Pipelines\": \"5.0.1\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.0.3, )\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Text.Json\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[9.0.0, )\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"js7+qAu/9mQvnhA4EfGMZNEzXtJCDxgkgj8ohuxq/Qxv+R56G+ljefhiJHOxTNiw54q8vmABCWUwkMulNdlZ4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"9.0.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.IO.Pipelines\": \"9.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encodings.Web\": \"9.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Humanizer.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.2.0\",\r\n        \"contentHash\": \"rsYXB7+iUPP8AHgQ8JP2UZI2xK2KhjcdGr9E6zX3CsZaTLCaw8M35vaAJRo1rfxeaZEVMuXeaquLVCkZ7JcZ5Q==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"Microsoft.Bcl.AsyncInterfaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"owmu2Cr3IQ8yQiBleBHlGk8dSQ12oaF2e7TpzwJKEl4m84kkZJjEY1n33L67Y3zM5jPOjmmbdHjbfiL0RqcMRQ==\",\r\n        \"dependencies\": {\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.3\",\r\n        \"contentHash\": \"j/rOZtLMVJjrfLRlAMckJLPW/1rze9MT1yfWqSIbUPGRu1m1P0fuo9PmqapwsmePfGB5PJrudQLvmUOAMF0DqQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.AnalyzerUtilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"gyQ70pJ4T7hu/s0+QnEaXtYfeG/JrttGnxHJlrhpxsQjRIUGuRhVwNBtkHHYOrUAZ/l47L98/NiJX6QmTwAyrg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"bNzTyxP3iD5FPFHfVDl15Y6/wSoI7e3MeV0lOaj9igbIKTjgrmuw6LoVJ06jUNFA7+KaDC/OIsStWl/FQJz6sQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.3\",\r\n          \"System.Collections.Immutable\": \"5.0.0\",\r\n          \"System.Memory\": \"4.5.4\",\r\n          \"System.Reflection.Metadata\": \"5.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"5.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"4.5.1\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"sbu6kDGzo9bfQxuqWpeEE7I9P30bSuZEnpDz9/qz20OU6pm79Z63+/BsAzO2e/R/Q97kBrpj647wokZnEVr97w==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.1.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"VXAz9xHBcgAXr5+WD9tT4S/bfW0x7raIUB5DPsnXpOrlOcN1RuDBq2UYofK8L693u63FNuRWI3BcFjFdprMhIg==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.2.0\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.1.0]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.1.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.1.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Scripting.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"lRjDlFhq4HllCNFaWvfSRGr9JYyFlkR0fW7a8+7bBjybBTi2WqTZr4/pJCd4iPrSS+zSI6EdgnrEF+xNEsZHrQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.1.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"7520vJ+7SmwnVxD/aHZpVfEvSRN4Lf8sG1Brwq0wyqV6kA/kwOVAF9Ijr/ZFnOYuxA/DTf2qzXIyBG1YS8F+dw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.1.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"t6xfuVqzXES3CDoSpLLMFuHupWmLNlUOIDPomot7UbGjkKB1YpzNQsQgDh6tsxiTONhIYx3leJp36HN6rWatOA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.1.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[4.1.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.1.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.4.0\",\r\n        \"contentHash\": \"iLtWq5/W5ePzSraavAFeXAbasE6REDByizTz6M8yQO3e4jf+6pRqPLdNCSvnSfKRVqsF7y/lTVWhqlf89ttweg==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==\"\r\n      },\r\n      \"Microsoft.NETCore.Targets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==\"\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"FXkLXiK0sVVewcso0imKQoOxjoPAj42R8HtjjbSjVPAzwDfzoyoznWxgA3c38LDbN9SJux1xXoXYAhz98j7r2g==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"I+D26qpYdoklyAVUdqwUBrEIckMNjAYnuPJy/h9dsQItpQwVREkDFs4b4tkBza0kT2Yk48Lcfsv2QQ9hWsh9Iw==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Convention\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Composition.TypedParts\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"NHWhkM3ZkspmA0XJEsKdtTt1ViDYuojgSND3yHhTzwxepiwqZf+BCWuvCbjUt4fe0NxxQhUDGJ5km6sLjo9qnQ==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"GLjh2Ju71k6C0qxMMtl4efHa68NmWeIUYh4fkUI8xbjQrEBvFmRwMDFcylT8/PR9SQbeeL48IkFxU/+gd0nYEQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"fN1bT4RX4vUqjbgoyuJFVUizAl2mYF5VAb+bVIxIYZSSc0BdnX+yGAxcavxJuDDCQ1K+/mdpgyEFc8e9ikjvrg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0LEJN+2NVM89CE4SekDrrk5tHV5LeATltkp+9WNYrR+Huiyt0vaCqHbbHtVAjPyeLWIc8dOz/3kthRBj32wGQg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0Zae/FtzeFgDBBuILeIbC/T9HMYbW4olAmi8XqqAGosSOWvXfiQLfARZEhiGd0LVXaYgXr0NhxiU1LldRP1fpQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Debug\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Pipelines\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"eA3cinogwaNB4jdjQHOP3Z3EuyiDII7MT35jgtnsA4vkn0LUrrSHsU0nzHTzFzmaFYeKV7MYyMxOocFzsBHpTw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Linq\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq.Expressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Numerics.Vectors\": \"4.4.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"System.Numerics.Vectors\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"UiLzLW+Lw6HLed1Hcg+8jSRttrbuXv7DANVj0DkL9g6EnnzbL75EB7EWsw5uRbhxd/4YdG8li5XizGWepmG3PQ==\"\r\n      },\r\n      \"System.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.ILGeneration\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.Lightweight\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"5NecZgXktdGg34rh1OenY1rFNDCI8xSjFr+Z4OU4cU06AQHUdRnIIEeWENu3Wl4YowbzkymAIMvi3WyK9U53pQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.TypeExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Resources.ResourceManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==\"\r\n      },\r\n      \"System.Runtime.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"4J2JQXbftjPMppIHJ7IC+VXQ9XfEagN92vZZNoG12i+zReYlim5dMoXFC1Zzg7tsnKDM7JPo5bYfFK4Jheq44w==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      },\r\n      \"System.Text.Encodings.Web\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"e2hMgAErLbKyUUwt18qSBf9T5Y+SFAL3ZedM8fLupkVj8Rj2PZ9oxQ37XX2LF8fTO1wNIxvKpihD7Of7D/NxZw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Threading\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.4\",\r\n        \"contentHash\": \"zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Internal.Roslyn410/CodeActionInternals.cs",
    "content": "using System.Collections.Immutable;\r\nusing System.Composition;\r\nusing Microsoft.CodeAnalysis.CodeActions;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn410 {\r\n    [Shared]\r\n    [Export(typeof(ICodeActionInternals))]\r\n    internal class CodeActionInternals : ICodeActionInternals {\r\n        public bool IsInlinable(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return action.IsInlinable;\r\n        }\r\n\r\n        public Roslyn.Internals.CodeActionPriority GetPriority(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return (Roslyn.Internals.CodeActionPriority)(int)action.Priority;\r\n        }\r\n\r\n        public ImmutableArray<CodeAction> GetNestedCodeActions(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return action.NestedCodeActions;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn410/Internal.Roslyn410.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <AssemblyName>MirrorSharp.Internal.Roslyn410</AssemblyName>\n    <RootNamespace>MirrorSharp.Internal.Roslyn410</RootNamespace>\n    <IsPackable>false</IsPackable>\n  </PropertyGroup>\n\n  <PropertyGroup>\n    <InternalsAssemblyNames>Microsoft.CodeAnalysis.Features;Microsoft.CodeAnalysis.Workspaces</InternalsAssemblyNames>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"IgnoresAccessChecksToGenerator\" Version=\"0.5.0\" PrivateAssets=\"All\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis\" Version=\"4.10.0\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Features\" Version=\"4.10.0\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Workspaces.Common\" Version=\"4.10.0\" />\n    <!-- Avoids vulnerability in version referenced by Microsoft.CodeAnalysis.Features -->\n    <PackageReference Include=\"System.Text.Json\" Version=\"9.0.0\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\Internal.RoslynInternals\\Internal.RoslynInternals.csproj\" />\n  </ItemGroup>\n</Project>\n"
  },
  {
    "path": "Internal.Roslyn410/MirrorSharpDiagnosticAnalyzerService.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.Immutable;\r\nusing System.Composition;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.CodeActions;\r\nusing Microsoft.CodeAnalysis.Diagnostics;\r\nusing Microsoft.CodeAnalysis.Options;\r\nusing Microsoft.CodeAnalysis.Text;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn47 {\r\n    [Shared]\r\n    [Export(typeof(IDiagnosticAnalyzerService))]\r\n    internal class MirrorSharpDiagnosticAnalyzerService : IDiagnosticAnalyzerService {\r\n        DiagnosticAnalyzerInfoCache IDiagnosticAnalyzerService.AnalyzerInfoCache { get; } = new();\r\n        IGlobalOptionService IDiagnosticAnalyzerService.GlobalOptions => throw new NotSupportedException();\r\n        Task IDiagnosticAnalyzerService.ForceAnalyzeProjectAsync(Project project, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetCachedDiagnosticsAsync(Workspace workspace, ProjectId? projectId, DocumentId? documentId, bool includeSuppressedDiagnostics, bool includeLocalDocumentDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsAsync(Solution solution, ProjectId? projectId, DocumentId? documentId, bool includeSuppressedDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsForIdsAsync(Solution solution, ProjectId? projectId, DocumentId? documentId, ImmutableHashSet<string>? diagnosticIds, Func<DiagnosticAnalyzer, bool>? shouldIncludeAnalyzer, Func<Project, DocumentId?, IReadOnlyList<DocumentId>>? getDocumentIds, bool includeSuppressedDiagnostics, bool includeLocalDocumentDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsForSpanAsync(TextDocument document, TextSpan? range, Func<string, bool>? shouldIncludeDiagnostic, bool includeCompilerDiagnostics, bool includeSuppressedDiagnostics, ICodeActionRequestPriorityProvider priorityProvider, Func<string, IDisposable?>? addOperationScope, DiagnosticKind diagnosticKind, bool isExplicit, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetProjectDiagnosticsForIdsAsync(Solution solution, ProjectId? projectId, ImmutableHashSet<string>? diagnosticIds, Func<DiagnosticAnalyzer, bool>? shouldIncludeAnalyzer, bool includeSuppressedDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        void IDiagnosticAnalyzerService.RequestDiagnosticRefresh() => throw new NotSupportedException();\r\n        Task<(ImmutableArray<DiagnosticData> diagnostics, bool upToDate)> IDiagnosticAnalyzerService.TryGetDiagnosticsForSpanAsync(TextDocument document, TextSpan range, Func<string, bool>? shouldIncludeDiagnostic, bool includeSuppressedDiagnostics, ICodeActionRequestPriorityProvider priorityProvider, DiagnosticKind diagnosticKind, bool isExplicit, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn410/PublicAPI.Shipped.txt",
    "content": "#nullable enable"
  },
  {
    "path": "Internal.Roslyn410/PublicAPI.Unshipped.txt",
    "content": ""
  },
  {
    "path": "Internal.Roslyn410/SignatureHelpProviderWrapper.cs",
    "content": "using System.Linq;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Microsoft.CodeAnalysis;\nusing Microsoft.CodeAnalysis.SignatureHelp;\nusing MirrorSharp.Internal.Roslyn.Internals;\nusing SignatureHelpTriggerReason = Microsoft.CodeAnalysis.SignatureHelp.SignatureHelpTriggerReason;\n\nnamespace MirrorSharp.Internal.Roslyn410 {\n    internal class SignatureHelpProviderWrapper : ISignatureHelpProviderWrapper {\n        private readonly ISignatureHelpProvider _provider;\n\n        public SignatureHelpProviderWrapper(ISignatureHelpProvider provider) {\n            _provider = provider;\n        }\n\n        public async Task<SignatureHelpItemsData?> GetItemsAsync(Document document, int position, SignatureHelpTriggerInfoData triggerInfo, SignatureHelpOptionsData options, CancellationToken cancellationToken) {\n            // This is quite complicated to implement correctly and is still shifting around.\n            // For now we will only allow default options. There is no way to check if user\n            // intended something different, but that can be implemented later.\n            var mappedOptions = SignatureHelpOptions.Default;\n            var mappedTriggerInfo = new SignatureHelpTriggerInfo(\n                (SignatureHelpTriggerReason)(int)triggerInfo.TriggerReason,\n                triggerInfo.TriggerCharacter\n            );\n\n            var items = await _provider.GetItemsAsync(\n                document, position,\n                mappedTriggerInfo,\n                mappedOptions, cancellationToken\n            ).ConfigureAwait(false);\n\n            if (items == null)\n                return null;\n\n            return new SignatureHelpItemsData(\n                items.Items.Select(i => new SignatureHelpItemData(\n                    i.DocumentationFactory,\n                    prefixDisplayParts: i.PrefixDisplayParts,\n                    separatorDisplayParts: i.SeparatorDisplayParts,\n                    suffixDisplayParts: i.SuffixDisplayParts,\n                    parameters: i.Parameters.Select(p => new SignatureHelpParameterData(\n                        p.Name,\n                        p.DocumentationFactory,\n                        displayParts: p.DisplayParts,\n                        prefixDisplayParts: p.PrefixDisplayParts,\n                        suffixDisplayParts: p.SuffixDisplayParts\n                    )),\n                    i.Parameters.Length\n                )),\n                applicableSpan: items.ApplicableSpan,\n                argumentIndex: items.ArgumentIndex,\n                argumentCount: items.ArgumentCount,\n                selectedItemIndex: items.SelectedItemIndex\n            );\n        }\n\n        public bool IsRetriggerCharacter(char ch) => _provider.IsRetriggerCharacter(ch);\n        public bool IsTriggerCharacter(char ch) => _provider.IsTriggerCharacter(ch);\n    }\n}\n"
  },
  {
    "path": "Internal.Roslyn410/SignatureHelpProviderWrapperResolver.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing System.Composition;\nusing System.Linq;\nusing Microsoft.CodeAnalysis.Host.Mef;\nusing Microsoft.CodeAnalysis.Shared.Utilities;\nusing Microsoft.CodeAnalysis.SignatureHelp;\nusing MirrorSharp.Internal.Roslyn.Internals;\n\nnamespace MirrorSharp.Internal.Roslyn410 {\n    [Export(typeof(ISignatureHelpProviderWrapperResolver))]\n    internal class SignatureHelpProviderWrapperResolver : ISignatureHelpProviderWrapperResolver {\n        private readonly IList<Lazy<ISignatureHelpProvider, OrderableLanguageMetadata>> _allProviders;\n\n        [ImportingConstructor]\n        public SignatureHelpProviderWrapperResolver(\n            [ImportMany] IEnumerable<Lazy<ISignatureHelpProvider, OrderableLanguageMetadata>> allProviders\n        ) {\n            _allProviders = ExtensionOrderer.Order(allProviders);\n        }\n\n        public IEnumerable<ISignatureHelpProviderWrapper> GetAllSlow(string languageName) {\n            if (languageName == null)\n                throw new ArgumentNullException(nameof(languageName));\n\n            return _allProviders\n                .Where(l => l.Metadata.Language == languageName)\n                .Select(l => new SignatureHelpProviderWrapper(l.Value));\n        }\n    }\n}\n"
  },
  {
    "path": "Internal.Roslyn410/WorkspaceAnalyzerOptionsInternals.cs",
    "content": "using System.Composition;\nusing Microsoft.CodeAnalysis;\nusing Microsoft.CodeAnalysis.Diagnostics;\nusing MirrorSharp.Internal.Roslyn.Internals;\n\nnamespace MirrorSharp.Internal.Roslyn410 {\n    [Shared]\n    [Export(typeof(IWorkspaceAnalyzerOptionsInternals))]\n    internal class WorkspaceAnalyzerOptionsInternals : IWorkspaceAnalyzerOptionsInternals {\n        public AnalyzerOptions New(AnalyzerOptions options, Project project) {\n            Argument.NotNull(nameof(options), options);\n            Argument.NotNull(nameof(project), project);\n            return new WorkspaceAnalyzerOptions(\n                options, IdeAnalyzerOptions.GetDefault(project.Services)\n            );\n        }\n    }\n}\n"
  },
  {
    "path": "Internal.Roslyn410/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETStandard,Version=v2.0\": {\r\n      \"IgnoresAccessChecksToGenerator\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.5.0, )\",\r\n        \"resolved\": \"0.5.0\",\r\n        \"contentHash\": \"p0ZdbdGRAmRAhSm1HWZ4luy/RjLZlhGPmg9OWmVFYhrq526AtxmL5Pik7uZWf3Hr3PQRR8iTH+Kyf3eHyLAGCQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.10.0, )\",\r\n        \"resolved\": \"4.10.0\",\r\n        \"contentHash\": \"UcAcN8FmV9Xesj9XQKqpeJxyOqofb0fsgMn97gnTeSQINrmbxMe5j2NlhHGkVl2qEZ/rXQcRcGth8K4AXdbprQ==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"8.0.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.10.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.10.0]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.10.0, )\",\r\n        \"resolved\": \"4.10.0\",\r\n        \"contentHash\": \"me9ngfonU2Kkx+uMM2IC7HLQUaC8pDnQa5LW3GRlk5mcGJ1KLWeab+2+qgr1ltScAzh41vXkkwf8RbXiWBBR1g==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"8.0.0\",\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.3.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.10.0]\",\r\n          \"Microsoft.CodeAnalysis.Elfie\": \"1.0.0\",\r\n          \"Microsoft.CodeAnalysis.Scripting.Common\": \"[4.10.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.10.0]\",\r\n          \"Microsoft.DiaSymReader\": \"2.0.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.Configuration.ConfigurationManager\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Text.Encodings.Web\": \"8.0.0\",\r\n          \"System.Text.Json\": \"8.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.PublicApiAnalyzers\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.0, )\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"upaG6u/PxjkOj39Kk0DLmmA75acYChmv6/HnOUxvSgGWul53uPcVaPxBWCzkHDfIljyiq5qeIG+CatT8x8FAEA==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.10.0, )\",\r\n        \"resolved\": \"4.10.0\",\r\n        \"contentHash\": \"lSMNGNeROSbxvbgzJyQfJpLJM0BFRrSgxYs4BZuZvpL8TuyUorEYa/HCJDcclhSRhr76LGiTT5lfLu5QFoFF6A==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"8.0.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.10.0]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.0.3, )\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Text.Json\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[9.0.0, )\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"js7+qAu/9mQvnhA4EfGMZNEzXtJCDxgkgj8ohuxq/Qxv+R56G+ljefhiJHOxTNiw54q8vmABCWUwkMulNdlZ4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"9.0.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.IO.Pipelines\": \"9.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encodings.Web\": \"9.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Humanizer.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.14.1\",\r\n        \"contentHash\": \"lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==\"\r\n      },\r\n      \"Microsoft.Bcl.AsyncInterfaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"owmu2Cr3IQ8yQiBleBHlGk8dSQ12oaF2e7TpzwJKEl4m84kkZJjEY1n33L67Y3zM5jPOjmmbdHjbfiL0RqcMRQ==\",\r\n        \"dependencies\": {\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.4\",\r\n        \"contentHash\": \"AxkxcPR+rheX0SmvpLVIGLhOUXAKG56a64kV9VQZ4y9gR9ZmPXnqZvHJnmwLSwzrEP6junUF11vuc+aqo5r68g==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.AnalyzerUtilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"gyQ70pJ4T7hu/s0+QnEaXtYfeG/JrttGnxHJlrhpxsQjRIUGuRhVwNBtkHHYOrUAZ/l47L98/NiJX6QmTwAyrg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.10.0\",\r\n        \"contentHash\": \"7O4+dn0fNKykPpEB1i8/5EKzwD3fuu/shdbbnnsBmdiHMaBz6telOubDFwPwLQQ/PvOAWTFIWWTyAOmWvXRD2g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.10.0\",\r\n        \"contentHash\": \"iifqKy3KvCgPABHFbFlSxjEoE+OItZGuZ191NM/TWV750m1jMypr7BtrP65ET+OK2KNVupO8S8xCtxbNqw056A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.10.0]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.10.0\",\r\n        \"contentHash\": \"s8qbD2i3zdol8QNcrCVw9URW71DUdg1UF0XCxxIaQoYbdpcKVy2DG127560psiqLEKxAEWA/DOFwL9CY2qGq1g==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"8.0.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.10.0]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.10.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.10.0]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Elfie\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.0\",\r\n        \"contentHash\": \"r12elUp4MRjdnRfxEP+xqVSUUfG3yIJTBEJGwbfvF5oU4m0jb9HC0gFG28V/dAkYGMkRmHVi3qvrnBLQSw9X3Q==\",\r\n        \"dependencies\": {\r\n          \"System.Configuration.ConfigurationManager\": \"4.5.0\",\r\n          \"System.Data.DataSetExtensions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Scripting.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.10.0\",\r\n        \"contentHash\": \"L+IbItJyxtLcbSxRXvdJRCGMW9IgHXZvNl5VcuFMcb49nFnhqrm79y50GOukSyBccF0WlnalbjRK/Beb2aKJbw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.10.0]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.10.0\",\r\n        \"contentHash\": \"rqdpLqrACQwhr7pr21OCEpmSZthdWF7TfimCH9IUt+FCXLfpqNTkgB7qAF2ypVJTT5sc+hY1IQWeDPjSyJ3REg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.10.0]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.10.0\",\r\n        \"contentHash\": \"i0dtZ531kx7DiCBAzyrvEcYpK/tZQAJDmSKIQW3kENl5wPenOkQePvYNFZRrvOGzSgK5uZVs0Y3xW/B1ZCcQFA==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"8.0.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.10.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[4.10.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.10.0]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.0\",\r\n        \"contentHash\": \"QcZrCETsBJqy/vQpFtJc+jSXQ0K5sucQ6NUFbTNVHD4vfZZOwjZ/3sBzczkC4DityhD3AVO/+K/+9ioLs1AgRA==\"\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==\"\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"E9oO9olNNxA39J8CxQwf7ceIPm+j/B/PhYpyK9M4LhN/OLLRw6u5fNInkhVqaWueMB9iXxYqnwqwgz+W91loIA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"8.0.0\",\r\n          \"System.Composition.Convention\": \"8.0.0\",\r\n          \"System.Composition.Hosting\": \"8.0.0\",\r\n          \"System.Composition.Runtime\": \"8.0.0\",\r\n          \"System.Composition.TypedParts\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"NyElSuvmBMYdn2iPG0n29i7Igu0bq99izOP3MAtEwskY3OP9jqsavvVmPn9lesVaj/KT/o/QkNjA43dOJTsDQw==\"\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"UuVkc1B3vQU/LzEbWLMZ1aYVssv4rpShzf8wPEyrUqoGNqdYKREmB8bXR73heOMKkwS6ZnPz3PjGODT2MenukQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"qwbONqoxlazxcbiohvb3t1JWZgKIKcRdXS5uEeLbo5wtuBupIbAvdC3PYTAeBCZrZeERvrtAbhYHuuS43Zr1bQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.Runtime\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"G+kRyB5/6+3ucRRQz+DF4uSHGqpkK8Q4ilVdbt4zvxpmvLVZNmSkyFAQpJLcbOyVF85aomJx0m+TGMDVlwx7ZQ==\"\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"DsSklhuA+Dsgo3ZZrar8hjBFvq1wa1grrkNCTt+6SoX3vq0Vy+HXJnVXrU/nNH1BjlGH684A7h4hJQHZd/u5mA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"8.0.0\",\r\n          \"System.Composition.Hosting\": \"8.0.0\",\r\n          \"System.Composition.Runtime\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Configuration.ConfigurationManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Data.DataSetExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"221clPs1445HkTBZPL+K9sDBdJRB8UN8rgjO3ztB0CQ26z//fmJXtlsr6whGatscsKGBrhJl5bwJuKSA8mwFOw==\"\r\n      },\r\n      \"System.IO.Pipelines\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"eA3cinogwaNB4jdjQHOP3Z3EuyiDII7MT35jgtnsA4vkn0LUrrSHsU0nzHTzFzmaFYeKV7MYyMxOocFzsBHpTw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Numerics.Vectors\": \"4.4.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"System.Numerics.Vectors\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==\"\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"ptvgrFh7PvWI8bcVqG5rsA/weWM09EnthFHR5SCnS6IN+P4mj6rE1lBDC4U8HL9/57htKAqy4KQ3bBj84cfYyQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==\"\r\n      },\r\n      \"System.Security.Cryptography.ProtectedData\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"LSyCblMpvOe0N3E+8e0skHcrIhgV2huaNcjUUEa8hRtgEAm36aGkRoC8Jxlb6Ra6GSfF29ftduPNywin8XolzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encodings.Web\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"e2hMgAErLbKyUUwt18qSBf9T5Y+SFAL3ZedM8fLupkVj8Rj2PZ9oxQ37XX2LF8fTO1wNIxvKpihD7Of7D/NxZw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Channels\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"qmeeYNROMsONF6ndEZcIQ+VxR4Q/TX/7uIVLJqtwIWL7dDWeh0l1UIqgo4wYyjG//5lUNhwkLDSFl+pAWO6oiA==\",\r\n        \"dependencies\": {\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.4\",\r\n        \"contentHash\": \"zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Internal.Roslyn411/CodeActionInternals.cs",
    "content": "using System.Collections.Immutable;\r\nusing System.Composition;\r\nusing Microsoft.CodeAnalysis.CodeActions;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn411;\r\n\r\n[Shared]\r\n[Export(typeof(ICodeActionInternals))]\r\ninternal class CodeActionInternals : ICodeActionInternals {\r\n    public bool IsInlinable(CodeAction action) {\r\n        Argument.NotNull(nameof(action), action);\r\n        return action.IsInlinable;\r\n    }\r\n\r\n    public Roslyn.Internals.CodeActionPriority GetPriority(CodeAction action) {\r\n        Argument.NotNull(nameof(action), action);\r\n        return (Roslyn.Internals.CodeActionPriority)(int)action.Priority;\r\n    }\r\n\r\n    public ImmutableArray<CodeAction> GetNestedCodeActions(CodeAction action) {\r\n        Argument.NotNull(nameof(action), action);\r\n        return action.NestedCodeActions;\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn411/Internal.Roslyn411.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <AssemblyName>MirrorSharp.Internal.Roslyn411</AssemblyName>\n    <RootNamespace>MirrorSharp.Internal.Roslyn411</RootNamespace>\n    <IsPackable>false</IsPackable>\n  </PropertyGroup>\n\n  <PropertyGroup>\n    <InternalsAssemblyNames>Microsoft.CodeAnalysis.Features;Microsoft.CodeAnalysis.Workspaces</InternalsAssemblyNames>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"IgnoresAccessChecksToGenerator\" Version=\"0.5.0\" PrivateAssets=\"All\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis\" Version=\"4.11.0\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Features\" Version=\"4.11.0\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Workspaces.Common\" Version=\"4.11.0\" />\n    <!-- Avoids vulnerability in version referenced by Microsoft.CodeAnalysis.Features -->\n    <PackageReference Include=\"System.Text.Json\" Version=\"9.0.0\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\Internal.RoslynInternals\\Internal.RoslynInternals.csproj\" />\n  </ItemGroup>\n</Project>\n"
  },
  {
    "path": "Internal.Roslyn411/MirrorSharpDiagnosticAnalyzerService.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.Immutable;\r\nusing System.Composition;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.CodeActions;\r\nusing Microsoft.CodeAnalysis.Diagnostics;\r\nusing Microsoft.CodeAnalysis.Options;\r\nusing Microsoft.CodeAnalysis.Text;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn411;\r\n\r\n[Shared]\r\n[Export(typeof(IDiagnosticAnalyzerService))]\r\ninternal class MirrorSharpDiagnosticAnalyzerService : IDiagnosticAnalyzerService {\r\n    DiagnosticAnalyzerInfoCache IDiagnosticAnalyzerService.AnalyzerInfoCache { get; } = new();\r\n    IGlobalOptionService IDiagnosticAnalyzerService.GlobalOptions => throw new NotSupportedException();\r\n    Task IDiagnosticAnalyzerService.ForceAnalyzeProjectAsync(Project project, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n    Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetCachedDiagnosticsAsync(Workspace workspace, ProjectId? projectId, DocumentId? documentId, bool includeSuppressedDiagnostics, bool includeLocalDocumentDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n    Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsForIdsAsync(Solution solution, ProjectId? projectId, DocumentId? documentId, ImmutableHashSet<string>? diagnosticIds, Func<DiagnosticAnalyzer, bool>? shouldIncludeAnalyzer, Func<Project, DocumentId?, IReadOnlyList<DocumentId>>? getDocumentIds, bool includeSuppressedDiagnostics, bool includeLocalDocumentDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n    Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsForSpanAsync(TextDocument document, TextSpan? range, Func<string, bool>? shouldIncludeDiagnostic, bool includeCompilerDiagnostics, bool includeSuppressedDiagnostics, ICodeActionRequestPriorityProvider priorityProvider, DiagnosticKind diagnosticKind, bool isExplicit, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n    Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetProjectDiagnosticsForIdsAsync(Solution solution, ProjectId? projectId, ImmutableHashSet<string>? diagnosticIds, Func<DiagnosticAnalyzer, bool>? shouldIncludeAnalyzer, bool includeSuppressedDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n    void IDiagnosticAnalyzerService.RequestDiagnosticRefresh() => throw new NotImplementedException();\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn411/PublicAPI.Shipped.txt",
    "content": "#nullable enable"
  },
  {
    "path": "Internal.Roslyn411/PublicAPI.Unshipped.txt",
    "content": ""
  },
  {
    "path": "Internal.Roslyn411/SignatureHelpProviderWrapper.cs",
    "content": "using System.Linq;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Microsoft.CodeAnalysis;\nusing Microsoft.CodeAnalysis.SignatureHelp;\nusing MirrorSharp.Internal.Roslyn.Internals;\nusing SignatureHelpTriggerReason = Microsoft.CodeAnalysis.SignatureHelp.SignatureHelpTriggerReason;\n\nnamespace MirrorSharp.Internal.Roslyn411;\n\ninternal class SignatureHelpProviderWrapper : ISignatureHelpProviderWrapper {\n    private readonly ISignatureHelpProvider _provider;\n\n    public SignatureHelpProviderWrapper(ISignatureHelpProvider provider) {\n        _provider = provider;\n    }\n\n    public async Task<SignatureHelpItemsData?> GetItemsAsync(Document document, int position, SignatureHelpTriggerInfoData triggerInfo, SignatureHelpOptionsData options, CancellationToken cancellationToken) {\n        // This is quite complicated to implement correctly and is still shifting around.\n        // For now we will only allow default options. There is no way to check if user\n        // intended something different, but that can be implemented later.\n        var mappedOptions = SignatureHelpOptions.Default;\n        var mappedTriggerInfo = new SignatureHelpTriggerInfo(\n            (SignatureHelpTriggerReason)(int)triggerInfo.TriggerReason,\n            triggerInfo.TriggerCharacter\n        );\n\n        var items = await _provider.GetItemsAsync(\n            document, position,\n            mappedTriggerInfo,\n            mappedOptions, cancellationToken\n        ).ConfigureAwait(false);\n\n        if (items == null)\n            return null;\n\n        return new SignatureHelpItemsData(\n            items.Items.Select(i => new SignatureHelpItemData(\n                i.DocumentationFactory,\n                prefixDisplayParts: i.PrefixDisplayParts,\n                separatorDisplayParts: i.SeparatorDisplayParts,\n                suffixDisplayParts: i.SuffixDisplayParts,\n                parameters: i.Parameters.Select(p => new SignatureHelpParameterData(\n                    p.Name,\n                    p.DocumentationFactory,\n                    displayParts: p.DisplayParts,\n                    prefixDisplayParts: p.PrefixDisplayParts,\n                    suffixDisplayParts: p.SuffixDisplayParts\n                )),\n                i.Parameters.Length\n            )),\n            applicableSpan: items.ApplicableSpan,\n            argumentIndex: items.ArgumentIndex,\n            argumentCount: items.ArgumentCount,\n            selectedItemIndex: items.SelectedItemIndex\n        );\n    }\n\n    public bool IsRetriggerCharacter(char ch) => _provider.IsRetriggerCharacter(ch);\n    public bool IsTriggerCharacter(char ch) => _provider.IsTriggerCharacter(ch);\n}\n"
  },
  {
    "path": "Internal.Roslyn411/SignatureHelpProviderWrapperResolver.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing System.Composition;\nusing System.Linq;\nusing Microsoft.CodeAnalysis.Host.Mef;\nusing Microsoft.CodeAnalysis.Shared.Utilities;\nusing Microsoft.CodeAnalysis.SignatureHelp;\nusing MirrorSharp.Internal.Roslyn.Internals;\n\nnamespace MirrorSharp.Internal.Roslyn411;\n\n[Export(typeof(ISignatureHelpProviderWrapperResolver))]\ninternal class SignatureHelpProviderWrapperResolver : ISignatureHelpProviderWrapperResolver {\n    private readonly IList<Lazy<ISignatureHelpProvider, OrderableLanguageMetadata>> _allProviders;\n\n    [ImportingConstructor]\n    public SignatureHelpProviderWrapperResolver(\n        [ImportMany] IEnumerable<Lazy<ISignatureHelpProvider, OrderableLanguageMetadata>> allProviders\n    ) {\n        _allProviders = ExtensionOrderer.Order(allProviders);\n    }\n\n    public IEnumerable<ISignatureHelpProviderWrapper> GetAllSlow(string languageName) {\n        if (languageName == null)\n            throw new ArgumentNullException(nameof(languageName));\n\n        return _allProviders\n            .Where(l => l.Metadata.Language == languageName)\n            .Select(l => new SignatureHelpProviderWrapper(l.Value));\n    }\n}\n"
  },
  {
    "path": "Internal.Roslyn411/WorkspaceAnalyzerOptionsInternals.cs",
    "content": "using System.Composition;\nusing Microsoft.CodeAnalysis;\nusing Microsoft.CodeAnalysis.Diagnostics;\nusing MirrorSharp.Internal.Roslyn.Internals;\n\nnamespace MirrorSharp.Internal.Roslyn411;\n\n[Shared]\n[Export(typeof(IWorkspaceAnalyzerOptionsInternals))]\ninternal class WorkspaceAnalyzerOptionsInternals : IWorkspaceAnalyzerOptionsInternals {\n    public AnalyzerOptions New(AnalyzerOptions options, Project project) {\n        Argument.NotNull(nameof(options), options);\n        Argument.NotNull(nameof(project), project);\n        return new WorkspaceAnalyzerOptions(\n            options, IdeAnalyzerOptions.GetDefault(project.Services)\n        );\n    }\n}\n"
  },
  {
    "path": "Internal.Roslyn411/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETStandard,Version=v2.0\": {\r\n      \"IgnoresAccessChecksToGenerator\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.5.0, )\",\r\n        \"resolved\": \"0.5.0\",\r\n        \"contentHash\": \"p0ZdbdGRAmRAhSm1HWZ4luy/RjLZlhGPmg9OWmVFYhrq526AtxmL5Pik7uZWf3Hr3PQRR8iTH+Kyf3eHyLAGCQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.11.0, )\",\r\n        \"resolved\": \"4.11.0\",\r\n        \"contentHash\": \"liYhSvQO+cFgshRdrL1CVXwrTd7oP5PnYyE6hfwosv9zmnxszFIgI3ysWG9wXt3iLL1mvdWhtciuiQqZAgTbZQ==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"8.0.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.11.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.11.0]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.11.0, )\",\r\n        \"resolved\": \"4.11.0\",\r\n        \"contentHash\": \"9NHLy1xke8/HvxupBJlvZB0PT8TYQA1jp7SlwO9I8a3L3pt/FUsziR6ePCe7W0T5A10j/C4WmS+GQJytuCgU4g==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"8.0.0\",\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.3.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.11.0]\",\r\n          \"Microsoft.CodeAnalysis.Elfie\": \"1.0.0\",\r\n          \"Microsoft.CodeAnalysis.Scripting.Common\": \"[4.11.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.11.0]\",\r\n          \"Microsoft.DiaSymReader\": \"2.0.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.Configuration.ConfigurationManager\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Text.Encodings.Web\": \"8.0.0\",\r\n          \"System.Text.Json\": \"8.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.PublicApiAnalyzers\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.0, )\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"upaG6u/PxjkOj39Kk0DLmmA75acYChmv6/HnOUxvSgGWul53uPcVaPxBWCzkHDfIljyiq5qeIG+CatT8x8FAEA==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.11.0, )\",\r\n        \"resolved\": \"4.11.0\",\r\n        \"contentHash\": \"UtwEt42V7/LnvAcschSlmUXRLEj0poX1H7QeFbY5bezcS+tJBCssAq8C7GfisgIA0qZPo2xzOrwKGBbg51CetA==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"8.0.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.11.0]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.0.3, )\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Text.Json\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[9.0.0, )\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"js7+qAu/9mQvnhA4EfGMZNEzXtJCDxgkgj8ohuxq/Qxv+R56G+ljefhiJHOxTNiw54q8vmABCWUwkMulNdlZ4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"9.0.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.IO.Pipelines\": \"9.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encodings.Web\": \"9.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Humanizer.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.14.1\",\r\n        \"contentHash\": \"lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==\"\r\n      },\r\n      \"Microsoft.Bcl.AsyncInterfaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"owmu2Cr3IQ8yQiBleBHlGk8dSQ12oaF2e7TpzwJKEl4m84kkZJjEY1n33L67Y3zM5jPOjmmbdHjbfiL0RqcMRQ==\",\r\n        \"dependencies\": {\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.4\",\r\n        \"contentHash\": \"AxkxcPR+rheX0SmvpLVIGLhOUXAKG56a64kV9VQZ4y9gR9ZmPXnqZvHJnmwLSwzrEP6junUF11vuc+aqo5r68g==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.AnalyzerUtilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"gyQ70pJ4T7hu/s0+QnEaXtYfeG/JrttGnxHJlrhpxsQjRIUGuRhVwNBtkHHYOrUAZ/l47L98/NiJX6QmTwAyrg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.11.0\",\r\n        \"contentHash\": \"djf8ujmqYImFgB04UGtcsEhHrzVqzHowS+EEl/Yunc5LdrYrZhGBWUTXoCF0NzYXJxtfuD+UVQarWpvrNc94Qg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.11.0\",\r\n        \"contentHash\": \"6XYi2EusI8JT4y2l/F3VVVS+ISoIX9nqHsZRaG6W5aFeJ5BEuBosHfT/ABb73FN0RZ1Z3cj2j7cL28SToJPXOw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.11.0]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.11.0\",\r\n        \"contentHash\": \"/oRJPIMvzOfiunIegSF6FEa4VvBAUSXlbLDKxyzXuOZN9nLHg3fHuX6Mr9JZLNIupbe2xqQZEmfsPxgB01vCmg==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"8.0.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.11.0]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.11.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.11.0]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Elfie\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.0\",\r\n        \"contentHash\": \"r12elUp4MRjdnRfxEP+xqVSUUfG3yIJTBEJGwbfvF5oU4m0jb9HC0gFG28V/dAkYGMkRmHVi3qvrnBLQSw9X3Q==\",\r\n        \"dependencies\": {\r\n          \"System.Configuration.ConfigurationManager\": \"4.5.0\",\r\n          \"System.Data.DataSetExtensions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Scripting.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.11.0\",\r\n        \"contentHash\": \"UHZIAKQcLB00N7AvMoyEYLw8qvFmGcKffEm/M2dEqYz2TWUtQW2j0+nGglbt9VwOId6TrDZGQlGjX90VNFak/w==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.11.0]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.11.0\",\r\n        \"contentHash\": \"1ypssIzZvsDtzyN8tFqZdKS8cl7MAQQ6eBjHGCJ9paLNlmnBd2kCo1GRr8kO0yWaFN/Io2JXaTeeHRDZLiKKyw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.11.0]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.11.0\",\r\n        \"contentHash\": \"mXpuVE6TW+YbXbErkNFCy0iH5OY3HOva+CUpGxOJcLXol9/vevigR1FtC9lOl7fFB55r+T+lG/WAXd5nLsiDGg==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"8.0.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.11.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[4.11.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.11.0]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.0\",\r\n        \"contentHash\": \"QcZrCETsBJqy/vQpFtJc+jSXQ0K5sucQ6NUFbTNVHD4vfZZOwjZ/3sBzczkC4DityhD3AVO/+K/+9ioLs1AgRA==\"\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==\"\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"E9oO9olNNxA39J8CxQwf7ceIPm+j/B/PhYpyK9M4LhN/OLLRw6u5fNInkhVqaWueMB9iXxYqnwqwgz+W91loIA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"8.0.0\",\r\n          \"System.Composition.Convention\": \"8.0.0\",\r\n          \"System.Composition.Hosting\": \"8.0.0\",\r\n          \"System.Composition.Runtime\": \"8.0.0\",\r\n          \"System.Composition.TypedParts\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"NyElSuvmBMYdn2iPG0n29i7Igu0bq99izOP3MAtEwskY3OP9jqsavvVmPn9lesVaj/KT/o/QkNjA43dOJTsDQw==\"\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"UuVkc1B3vQU/LzEbWLMZ1aYVssv4rpShzf8wPEyrUqoGNqdYKREmB8bXR73heOMKkwS6ZnPz3PjGODT2MenukQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"qwbONqoxlazxcbiohvb3t1JWZgKIKcRdXS5uEeLbo5wtuBupIbAvdC3PYTAeBCZrZeERvrtAbhYHuuS43Zr1bQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.Runtime\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"G+kRyB5/6+3ucRRQz+DF4uSHGqpkK8Q4ilVdbt4zvxpmvLVZNmSkyFAQpJLcbOyVF85aomJx0m+TGMDVlwx7ZQ==\"\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"DsSklhuA+Dsgo3ZZrar8hjBFvq1wa1grrkNCTt+6SoX3vq0Vy+HXJnVXrU/nNH1BjlGH684A7h4hJQHZd/u5mA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"8.0.0\",\r\n          \"System.Composition.Hosting\": \"8.0.0\",\r\n          \"System.Composition.Runtime\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Configuration.ConfigurationManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Data.DataSetExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"221clPs1445HkTBZPL+K9sDBdJRB8UN8rgjO3ztB0CQ26z//fmJXtlsr6whGatscsKGBrhJl5bwJuKSA8mwFOw==\"\r\n      },\r\n      \"System.IO.Pipelines\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"eA3cinogwaNB4jdjQHOP3Z3EuyiDII7MT35jgtnsA4vkn0LUrrSHsU0nzHTzFzmaFYeKV7MYyMxOocFzsBHpTw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Numerics.Vectors\": \"4.4.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"System.Numerics.Vectors\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==\"\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"ptvgrFh7PvWI8bcVqG5rsA/weWM09EnthFHR5SCnS6IN+P4mj6rE1lBDC4U8HL9/57htKAqy4KQ3bBj84cfYyQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==\"\r\n      },\r\n      \"System.Security.Cryptography.ProtectedData\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"LSyCblMpvOe0N3E+8e0skHcrIhgV2huaNcjUUEa8hRtgEAm36aGkRoC8Jxlb6Ra6GSfF29ftduPNywin8XolzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encodings.Web\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"e2hMgAErLbKyUUwt18qSBf9T5Y+SFAL3ZedM8fLupkVj8Rj2PZ9oxQ37XX2LF8fTO1wNIxvKpihD7Of7D/NxZw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Channels\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"qmeeYNROMsONF6ndEZcIQ+VxR4Q/TX/7uIVLJqtwIWL7dDWeh0l1UIqgo4wYyjG//5lUNhwkLDSFl+pAWO6oiA==\",\r\n        \"dependencies\": {\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.4\",\r\n        \"contentHash\": \"zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Internal.Roslyn412/CodeActionInternals.cs",
    "content": "using System.Collections.Immutable;\r\nusing System.Composition;\r\nusing Microsoft.CodeAnalysis.CodeActions;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn412;\r\n\r\n[Shared]\r\n[Export(typeof(ICodeActionInternals))]\r\ninternal class CodeActionInternals : ICodeActionInternals {\r\n    public bool IsInlinable(CodeAction action) {\r\n        Argument.NotNull(nameof(action), action);\r\n        return action.IsInlinable;\r\n    }\r\n\r\n    public Roslyn.Internals.CodeActionPriority GetPriority(CodeAction action) {\r\n        Argument.NotNull(nameof(action), action);\r\n        return (Roslyn.Internals.CodeActionPriority)(int)action.Priority;\r\n    }\r\n\r\n    public ImmutableArray<CodeAction> GetNestedCodeActions(CodeAction action) {\r\n        Argument.NotNull(nameof(action), action);\r\n        return action.NestedCodeActions;\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn412/Internal.Roslyn412.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <AssemblyName>MirrorSharp.Internal.Roslyn412</AssemblyName>\n    <RootNamespace>MirrorSharp.Internal.Roslyn412</RootNamespace>\n    <IsPackable>false</IsPackable>\n  </PropertyGroup>\n\n  <PropertyGroup>\n    <InternalsAssemblyNames>Microsoft.CodeAnalysis.Features;Microsoft.CodeAnalysis.Workspaces</InternalsAssemblyNames>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"IgnoresAccessChecksToGenerator\" Version=\"0.5.0\" PrivateAssets=\"All\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis\" Version=\"4.12.0-3.final\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Features\" Version=\"4.12.0-3.final\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Workspaces.Common\" Version=\"4.12.0-3.final\" />\n    <!-- Avoids vulnerability in version referenced by Microsoft.CodeAnalysis.Features -->\n    <PackageReference Include=\"System.Text.Json\" Version=\"9.0.0\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\Internal.RoslynInternals\\Internal.RoslynInternals.csproj\" />\n  </ItemGroup>\n</Project>\n"
  },
  {
    "path": "Internal.Roslyn412/MirrorSharpDiagnosticAnalyzerService.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.Immutable;\r\nusing System.Composition;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.CodeActions;\r\nusing Microsoft.CodeAnalysis.Diagnostics;\r\nusing Microsoft.CodeAnalysis.Options;\r\nusing Microsoft.CodeAnalysis.Text;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn412;\r\n\r\n[Shared]\r\n[Export(typeof(IDiagnosticAnalyzerService))]\r\ninternal class MirrorSharpDiagnosticAnalyzerService : IDiagnosticAnalyzerService {\r\n    DiagnosticAnalyzerInfoCache IDiagnosticAnalyzerService.AnalyzerInfoCache { get; } = new();\r\n    IGlobalOptionService IDiagnosticAnalyzerService.GlobalOptions => throw new NotSupportedException();\r\n    Task IDiagnosticAnalyzerService.ForceAnalyzeProjectAsync(Project project, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n    Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetCachedDiagnosticsAsync(Workspace workspace, ProjectId? projectId, DocumentId? documentId, bool includeSuppressedDiagnostics, bool includeLocalDocumentDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n    Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsForIdsAsync(Solution solution, ProjectId? projectId, DocumentId? documentId, ImmutableHashSet<string>? diagnosticIds, Func<DiagnosticAnalyzer, bool>? shouldIncludeAnalyzer, Func<Project, DocumentId?, IReadOnlyList<DocumentId>>? getDocumentIds, bool includeSuppressedDiagnostics, bool includeLocalDocumentDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n    Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsForSpanAsync(TextDocument document, TextSpan? range, Func<string, bool>? shouldIncludeDiagnostic, bool includeCompilerDiagnostics, bool includeSuppressedDiagnostics, ICodeActionRequestPriorityProvider priorityProvider, DiagnosticKind diagnosticKind, bool isExplicit, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n    Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetProjectDiagnosticsForIdsAsync(Solution solution, ProjectId? projectId, ImmutableHashSet<string>? diagnosticIds, Func<DiagnosticAnalyzer, bool>? shouldIncludeAnalyzer, bool includeSuppressedDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n    void IDiagnosticAnalyzerService.RequestDiagnosticRefresh() => throw new NotImplementedException();\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn412/PublicAPI.Shipped.txt",
    "content": "#nullable enable"
  },
  {
    "path": "Internal.Roslyn412/PublicAPI.Unshipped.txt",
    "content": ""
  },
  {
    "path": "Internal.Roslyn412/SignatureHelpProviderWrapper.cs",
    "content": "using System.Linq;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Microsoft.CodeAnalysis;\nusing Microsoft.CodeAnalysis.SignatureHelp;\nusing MirrorSharp.Internal.Roslyn.Internals;\nusing SignatureHelpTriggerReason = Microsoft.CodeAnalysis.SignatureHelp.SignatureHelpTriggerReason;\n\nnamespace MirrorSharp.Internal.Roslyn412;\n\ninternal class SignatureHelpProviderWrapper : ISignatureHelpProviderWrapper {\n    private readonly ISignatureHelpProvider _provider;\n\n    public SignatureHelpProviderWrapper(ISignatureHelpProvider provider) {\n        _provider = provider;\n    }\n\n    public async Task<SignatureHelpItemsData?> GetItemsAsync(Document document, int position, SignatureHelpTriggerInfoData triggerInfo, SignatureHelpOptionsData options, CancellationToken cancellationToken) {\n        // This is quite complicated to implement correctly and is still shifting around.\n        // For now we will only allow default options. There is no way to check if user\n        // intended something different, but that can be implemented later.\n        var mappedOptions = MemberDisplayOptions.Default;\n        var mappedTriggerInfo = new SignatureHelpTriggerInfo(\n            (SignatureHelpTriggerReason)(int)triggerInfo.TriggerReason,\n            triggerInfo.TriggerCharacter\n        );\n\n        var items = await _provider.GetItemsAsync(\n            document, position,\n            mappedTriggerInfo,\n            mappedOptions, cancellationToken\n        ).ConfigureAwait(false);\n\n        if (items == null)\n            return null;\n\n        return new SignatureHelpItemsData(\n            items.Items.Select(i => new SignatureHelpItemData(\n                i.DocumentationFactory,\n                prefixDisplayParts: i.PrefixDisplayParts,\n                separatorDisplayParts: i.SeparatorDisplayParts,\n                suffixDisplayParts: i.SuffixDisplayParts,\n                parameters: i.Parameters.Select(p => new SignatureHelpParameterData(\n                    p.Name,\n                    p.DocumentationFactory,\n                    displayParts: p.DisplayParts,\n                    prefixDisplayParts: p.PrefixDisplayParts,\n                    suffixDisplayParts: p.SuffixDisplayParts\n                )),\n                i.Parameters.Length\n            )),\n            applicableSpan: items.ApplicableSpan,\n            argumentIndex: items.SemanticParameterIndex,\n            argumentCount: items.SyntacticArgumentCount,\n            selectedItemIndex: items.SelectedItemIndex\n        );\n    }\n\n    public bool IsRetriggerCharacter(char ch) => _provider.IsRetriggerCharacter(ch);\n    public bool IsTriggerCharacter(char ch) => _provider.IsTriggerCharacter(ch);\n}\n"
  },
  {
    "path": "Internal.Roslyn412/SignatureHelpProviderWrapperResolver.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing System.Composition;\nusing System.Linq;\nusing Microsoft.CodeAnalysis.Host.Mef;\nusing Microsoft.CodeAnalysis.Shared.Utilities;\nusing Microsoft.CodeAnalysis.SignatureHelp;\nusing MirrorSharp.Internal.Roslyn.Internals;\n\nnamespace MirrorSharp.Internal.Roslyn412;\n\n[Export(typeof(ISignatureHelpProviderWrapperResolver))]\ninternal class SignatureHelpProviderWrapperResolver : ISignatureHelpProviderWrapperResolver {\n    private readonly IList<Lazy<ISignatureHelpProvider, OrderableLanguageMetadata>> _allProviders;\n\n    [ImportingConstructor]\n    public SignatureHelpProviderWrapperResolver(\n        [ImportMany] IEnumerable<Lazy<ISignatureHelpProvider, OrderableLanguageMetadata>> allProviders\n    ) {\n        _allProviders = ExtensionOrderer.Order(allProviders);\n    }\n\n    public IEnumerable<ISignatureHelpProviderWrapper> GetAllSlow(string languageName) {\n        if (languageName == null)\n            throw new ArgumentNullException(nameof(languageName));\n\n        return _allProviders\n            .Where(l => l.Metadata.Language == languageName)\n            .Select(l => new SignatureHelpProviderWrapper(l.Value));\n    }\n}\n"
  },
  {
    "path": "Internal.Roslyn412/WorkspaceAnalyzerOptionsInternals.cs",
    "content": "using System.Composition;\nusing Microsoft.CodeAnalysis;\nusing Microsoft.CodeAnalysis.Diagnostics;\nusing MirrorSharp.Internal.Roslyn.Internals;\n\nnamespace MirrorSharp.Internal.Roslyn412;\n\n[Shared]\n[Export(typeof(IWorkspaceAnalyzerOptionsInternals))]\ninternal class WorkspaceAnalyzerOptionsInternals : IWorkspaceAnalyzerOptionsInternals {\n    public AnalyzerOptions New(AnalyzerOptions options, Project project) {\n        Argument.NotNull(nameof(options), options);\n        Argument.NotNull(nameof(project), project);\n        return options;\n    }\n}\n"
  },
  {
    "path": "Internal.Roslyn412/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETStandard,Version=v2.0\": {\r\n      \"IgnoresAccessChecksToGenerator\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.5.0, )\",\r\n        \"resolved\": \"0.5.0\",\r\n        \"contentHash\": \"p0ZdbdGRAmRAhSm1HWZ4luy/RjLZlhGPmg9OWmVFYhrq526AtxmL5Pik7uZWf3Hr3PQRR8iTH+Kyf3eHyLAGCQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.12.0-3.final, )\",\r\n        \"resolved\": \"4.12.0-3.final\",\r\n        \"contentHash\": \"D24ZMvgrLVTeiRucIxlwwIcnpEutFGjwcQxyWnNsFGoVON0GCiOo/g9NaIbZ5vaWJmSk36AfjBrKQzBL9EohTA==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"8.0.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.12.0-3.final]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.12.0-3.final]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.12.0-3.final, )\",\r\n        \"resolved\": \"4.12.0-3.final\",\r\n        \"contentHash\": \"Xd89ReSSnTtr4vwyFXuqqxz23cpENTBB7x2tsVicqpgOYWmVTjDaAT1jAPlQtnrs2eQu6TKiN65jkm+lrju1mw==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"8.0.0\",\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.3.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.12.0-3.final]\",\r\n          \"Microsoft.CodeAnalysis.Elfie\": \"1.0.0\",\r\n          \"Microsoft.CodeAnalysis.Scripting.Common\": \"[4.12.0-3.final]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.12.0-3.final]\",\r\n          \"Microsoft.DiaSymReader\": \"2.0.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.Configuration.ConfigurationManager\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Text.Encodings.Web\": \"8.0.0\",\r\n          \"System.Text.Json\": \"8.0.4\",\r\n          \"System.Threading.Channels\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.PublicApiAnalyzers\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.0, )\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"upaG6u/PxjkOj39Kk0DLmmA75acYChmv6/HnOUxvSgGWul53uPcVaPxBWCzkHDfIljyiq5qeIG+CatT8x8FAEA==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.12.0-3.final, )\",\r\n        \"resolved\": \"4.12.0-3.final\",\r\n        \"contentHash\": \"cwLQzgpZwS0UhLjtZkUjS3pUd1lA4+QjV3Y+a7KIlS+wEOG5CSHZ7hryT5NKhANZRO/wwn3JfdNmugtU0BN7Lg==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"8.0.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.12.0-3.final]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.0.3, )\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Text.Json\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[9.0.0, )\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"js7+qAu/9mQvnhA4EfGMZNEzXtJCDxgkgj8ohuxq/Qxv+R56G+ljefhiJHOxTNiw54q8vmABCWUwkMulNdlZ4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"9.0.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.IO.Pipelines\": \"9.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encodings.Web\": \"9.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Humanizer.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.14.1\",\r\n        \"contentHash\": \"lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==\"\r\n      },\r\n      \"Microsoft.Bcl.AsyncInterfaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"owmu2Cr3IQ8yQiBleBHlGk8dSQ12oaF2e7TpzwJKEl4m84kkZJjEY1n33L67Y3zM5jPOjmmbdHjbfiL0RqcMRQ==\",\r\n        \"dependencies\": {\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.4\",\r\n        \"contentHash\": \"AxkxcPR+rheX0SmvpLVIGLhOUXAKG56a64kV9VQZ4y9gR9ZmPXnqZvHJnmwLSwzrEP6junUF11vuc+aqo5r68g==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.AnalyzerUtilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"gyQ70pJ4T7hu/s0+QnEaXtYfeG/JrttGnxHJlrhpxsQjRIUGuRhVwNBtkHHYOrUAZ/l47L98/NiJX6QmTwAyrg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.12.0-3.final\",\r\n        \"contentHash\": \"xpjs0UznfwHfX61x8RbYbNUrT4kWxzRMRFYXDmghN6G9HUISuZpyHlVfPMDrV3JFXF7JouJ8duZeNITCL9xtfQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.12.0-3.final\",\r\n        \"contentHash\": \"YcUotVF8uosfY5r0b39AwYcynUQkUeBA8RjHqITGWpsM3Uvi1kbqUR9MIcP6c5yuyd6j5oJ/e4LQDBd501lBKQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.12.0-3.final]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.12.0-3.final\",\r\n        \"contentHash\": \"FVib+H77xYzFukSRUJqAWSXM5bMT2Dmb13DYXi3rt1Fiy69sFLmgQz+H053OS8GCYrwUDBJzcCIvSOvTw7Fiig==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"8.0.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.12.0-3.final]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.12.0-3.final]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.12.0-3.final]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Elfie\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.0\",\r\n        \"contentHash\": \"r12elUp4MRjdnRfxEP+xqVSUUfG3yIJTBEJGwbfvF5oU4m0jb9HC0gFG28V/dAkYGMkRmHVi3qvrnBLQSw9X3Q==\",\r\n        \"dependencies\": {\r\n          \"System.Configuration.ConfigurationManager\": \"4.5.0\",\r\n          \"System.Data.DataSetExtensions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Scripting.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.12.0-3.final\",\r\n        \"contentHash\": \"yebyD/PXONXgnTmfVMIp0COubkihCu2IMHUKg6h5kPF0f8/b2GibLNIXa9muW5UsJ2W81ZG12XaPJzWYtA+WGA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.12.0-3.final]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.12.0-3.final\",\r\n        \"contentHash\": \"2nGya6EPgETQJa6duoCXIhqnSFgU64vHzUYsDFAGjcoS9q06UVNekc/Ii7z1YsCZceJa15L2M1IRPbdgk8UZyw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.12.0-3.final]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.12.0-3.final\",\r\n        \"contentHash\": \"cj6UNGqI3dbYXDPBjw/cfVyP8RI8OTjJlPZ2+zGLNX89UVEA4xhy89veg428lw5cVYHYI3No4p5Z1cVJmO5c3A==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"8.0.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.12.0-3.final]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[4.12.0-3.final]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.12.0-3.final]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.0\",\r\n        \"contentHash\": \"QcZrCETsBJqy/vQpFtJc+jSXQ0K5sucQ6NUFbTNVHD4vfZZOwjZ/3sBzczkC4DityhD3AVO/+K/+9ioLs1AgRA==\"\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==\"\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"E9oO9olNNxA39J8CxQwf7ceIPm+j/B/PhYpyK9M4LhN/OLLRw6u5fNInkhVqaWueMB9iXxYqnwqwgz+W91loIA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"8.0.0\",\r\n          \"System.Composition.Convention\": \"8.0.0\",\r\n          \"System.Composition.Hosting\": \"8.0.0\",\r\n          \"System.Composition.Runtime\": \"8.0.0\",\r\n          \"System.Composition.TypedParts\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"NyElSuvmBMYdn2iPG0n29i7Igu0bq99izOP3MAtEwskY3OP9jqsavvVmPn9lesVaj/KT/o/QkNjA43dOJTsDQw==\"\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"UuVkc1B3vQU/LzEbWLMZ1aYVssv4rpShzf8wPEyrUqoGNqdYKREmB8bXR73heOMKkwS6ZnPz3PjGODT2MenukQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"qwbONqoxlazxcbiohvb3t1JWZgKIKcRdXS5uEeLbo5wtuBupIbAvdC3PYTAeBCZrZeERvrtAbhYHuuS43Zr1bQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.Runtime\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"G+kRyB5/6+3ucRRQz+DF4uSHGqpkK8Q4ilVdbt4zvxpmvLVZNmSkyFAQpJLcbOyVF85aomJx0m+TGMDVlwx7ZQ==\"\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"DsSklhuA+Dsgo3ZZrar8hjBFvq1wa1grrkNCTt+6SoX3vq0Vy+HXJnVXrU/nNH1BjlGH684A7h4hJQHZd/u5mA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"8.0.0\",\r\n          \"System.Composition.Hosting\": \"8.0.0\",\r\n          \"System.Composition.Runtime\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Configuration.ConfigurationManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Data.DataSetExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"221clPs1445HkTBZPL+K9sDBdJRB8UN8rgjO3ztB0CQ26z//fmJXtlsr6whGatscsKGBrhJl5bwJuKSA8mwFOw==\"\r\n      },\r\n      \"System.IO.Pipelines\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"eA3cinogwaNB4jdjQHOP3Z3EuyiDII7MT35jgtnsA4vkn0LUrrSHsU0nzHTzFzmaFYeKV7MYyMxOocFzsBHpTw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Numerics.Vectors\": \"4.4.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"System.Numerics.Vectors\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==\"\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"ptvgrFh7PvWI8bcVqG5rsA/weWM09EnthFHR5SCnS6IN+P4mj6rE1lBDC4U8HL9/57htKAqy4KQ3bBj84cfYyQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==\"\r\n      },\r\n      \"System.Security.Cryptography.ProtectedData\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"LSyCblMpvOe0N3E+8e0skHcrIhgV2huaNcjUUEa8hRtgEAm36aGkRoC8Jxlb6Ra6GSfF29ftduPNywin8XolzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encodings.Web\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"e2hMgAErLbKyUUwt18qSBf9T5Y+SFAL3ZedM8fLupkVj8Rj2PZ9oxQ37XX2LF8fTO1wNIxvKpihD7Of7D/NxZw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Channels\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"qmeeYNROMsONF6ndEZcIQ+VxR4Q/TX/7uIVLJqtwIWL7dDWeh0l1UIqgo4wYyjG//5lUNhwkLDSFl+pAWO6oiA==\",\r\n        \"dependencies\": {\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.4\",\r\n        \"contentHash\": \"zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Internal.Roslyn42/CodeActionInternals.cs",
    "content": "using System.Collections.Immutable;\r\nusing System.Composition;\r\nusing Microsoft.CodeAnalysis.CodeActions;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn42 {\r\n    [Shared]\r\n    [Export(typeof(ICodeActionInternals))]\r\n    internal class CodeActionInternals : ICodeActionInternals {\r\n        public bool IsInlinable(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return action.IsInlinable;\r\n        }\r\n\r\n        public Roslyn.Internals.CodeActionPriority GetPriority(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return (Roslyn.Internals.CodeActionPriority)(int)action.Priority;\r\n        }\r\n\r\n        public ImmutableArray<CodeAction> GetNestedCodeActions(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return action.NestedCodeActions;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn42/Internal.Roslyn42.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\r\n  <PropertyGroup>\r\n    <TargetFramework>netstandard2.0</TargetFramework>\r\n    <AssemblyName>MirrorSharp.Internal.Roslyn42</AssemblyName>\r\n    <RootNamespace>MirrorSharp.Internal.Roslyn42</RootNamespace>\r\n    <IsPackable>false</IsPackable>\r\n  </PropertyGroup>\r\n\r\n  <PropertyGroup>\r\n    <InternalsAssemblyNames>Microsoft.CodeAnalysis.Features;Microsoft.CodeAnalysis.Workspaces</InternalsAssemblyNames>\r\n  </PropertyGroup>\r\n\r\n  <ItemGroup>\r\n    <PackageReference Include=\"IgnoresAccessChecksToGenerator\" Version=\"0.5.0\" PrivateAssets=\"All\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis\" Version=\"4.2.0\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Features\" Version=\"4.2.0\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Workspaces.Common\" Version=\"4.2.0\" />\r\n    <!-- Avoids vulnerability in version referenced by Microsoft.CodeAnalysis.Features -->\r\n    <PackageReference Include=\"System.Text.Json\" Version=\"9.0.0\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <ProjectReference Include=\"..\\Internal.RoslynInternals\\Internal.RoslynInternals.csproj\" />\r\n  </ItemGroup>\r\n</Project>\r\n"
  },
  {
    "path": "Internal.Roslyn42/MirrorSharpDiagnosticAnalyzerService.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.Immutable;\r\nusing System.Composition;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.CodeActions;\r\nusing Microsoft.CodeAnalysis.Diagnostics;\r\nusing Microsoft.CodeAnalysis.Options;\r\nusing Microsoft.CodeAnalysis.PooledObjects;\r\nusing Microsoft.CodeAnalysis.Text;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn42 {\r\n    [Shared]\r\n    [Export(typeof(IDiagnosticAnalyzerService))]\r\n    internal class MirrorSharpDiagnosticAnalyzerService : IDiagnosticAnalyzerService {\r\n        public DiagnosticAnalyzerInfoCache AnalyzerInfoCache { get; } = new();\r\n\r\n        IGlobalOptionService IDiagnosticAnalyzerService.GlobalOptions => throw new NotSupportedException();\r\n        bool IDiagnosticAnalyzerService.ContainsDiagnostics(Workspace workspace, ProjectId projectId) => throw new NotSupportedException();\r\n        Task IDiagnosticAnalyzerService.ForceAnalyzeAsync(Solution solution, Action<Project> onProjectAnalyzed, ProjectId? projectId, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetCachedDiagnosticsAsync(Workspace workspace, ProjectId? projectId, DocumentId? documentId, bool includeSuppressedDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsAsync(Solution solution, ProjectId? projectId, DocumentId? documentId, bool includeSuppressedDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsForIdsAsync(Solution solution, ProjectId? projectId, DocumentId? documentId, ImmutableHashSet<string>? diagnosticIds, bool includeSuppressedDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsForSpanAsync(Document document, TextSpan? range, Func<string, bool>? shouldIncludeDiagnostic, bool includeSuppressedDiagnostics, CodeActionRequestPriority priority, Func<string, IDisposable?>? addOperationScope, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetProjectDiagnosticsForIdsAsync(Solution solution, ProjectId? projectId, ImmutableHashSet<string>? diagnosticIds, bool includeSuppressedDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetSpecificCachedDiagnosticsAsync(Workspace workspace, object id, bool includeSuppressedDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        void IDiagnosticAnalyzerService.Reanalyze(Workspace workspace, IEnumerable<ProjectId>? projectIds, IEnumerable<DocumentId>? documentIds, bool highPriority) => throw new NotSupportedException();\r\n        Task<bool> IDiagnosticAnalyzerService.TryAppendDiagnosticsForSpanAsync(Document document, TextSpan range, ArrayBuilder<DiagnosticData> diagnostics, bool includeSuppressedDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn42/PublicAPI.Shipped.txt",
    "content": "#nullable enable"
  },
  {
    "path": "Internal.Roslyn42/PublicAPI.Unshipped.txt",
    "content": ""
  },
  {
    "path": "Internal.Roslyn42/SignatureHelpProviderWrapper.cs",
    "content": "using System.Linq;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.SignatureHelp;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\nusing SignatureHelpTriggerReason = Microsoft.CodeAnalysis.SignatureHelp.SignatureHelpTriggerReason;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn42 {\r\n    internal class SignatureHelpProviderWrapper : ISignatureHelpProviderWrapper {\r\n        private readonly ISignatureHelpProvider _provider;\r\n\r\n        public SignatureHelpProviderWrapper(ISignatureHelpProvider provider) {\r\n            _provider = provider;\r\n        }\r\n\r\n        public async Task<SignatureHelpItemsData?> GetItemsAsync(Document document, int position, SignatureHelpTriggerInfoData triggerInfo, SignatureHelpOptionsData options, CancellationToken cancellationToken) {\r\n            // This is quite complicated to implement correctly and is still shifting around.\r\n            // For now we will only allow default options. There is no way to check if user\r\n            // intended something different, but that can be implemented later.\r\n            var mappedOptions = SignatureHelpOptions.Default;\r\n            var mappedTriggerInfo = new SignatureHelpTriggerInfo(\r\n                (SignatureHelpTriggerReason)(int)triggerInfo.TriggerReason,\r\n                triggerInfo.TriggerCharacter\r\n            );\r\n\r\n            var items = await _provider.GetItemsAsync(\r\n                document, position,\r\n                mappedTriggerInfo,\r\n                mappedOptions, cancellationToken\r\n            ).ConfigureAwait(false);\r\n\r\n            if (items == null)\r\n                return null;\r\n\r\n            return new SignatureHelpItemsData(\r\n                items.Items.Select(i => new SignatureHelpItemData(\r\n                    i.DocumentationFactory,\r\n                    prefixDisplayParts: i.PrefixDisplayParts,\r\n                    separatorDisplayParts: i.SeparatorDisplayParts,\r\n                    suffixDisplayParts: i.SuffixDisplayParts,\r\n                    parameters: i.Parameters.Select(p => new SignatureHelpParameterData(\r\n                        p.Name,\r\n                        p.DocumentationFactory,\r\n                        displayParts: p.DisplayParts,\r\n                        prefixDisplayParts: p.PrefixDisplayParts,\r\n                        suffixDisplayParts: p.SuffixDisplayParts\r\n                    )),\r\n                    i.Parameters.Length\r\n                )),\r\n                applicableSpan: items.ApplicableSpan,\r\n                argumentIndex: items.ArgumentIndex,\r\n                argumentCount: items.ArgumentCount,\r\n                selectedItemIndex: items.SelectedItemIndex\r\n            );\r\n        }\r\n\r\n        public bool IsRetriggerCharacter(char ch) => _provider.IsRetriggerCharacter(ch);\r\n        public bool IsTriggerCharacter(char ch) => _provider.IsTriggerCharacter(ch);\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn42/SignatureHelpProviderWrapperResolver.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Composition;\r\nusing System.Linq;\r\nusing Microsoft.CodeAnalysis.Host.Mef;\r\nusing Microsoft.CodeAnalysis.Shared.Utilities;\r\nusing Microsoft.CodeAnalysis.SignatureHelp;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn42 {\r\n    [Export(typeof(ISignatureHelpProviderWrapperResolver))]\r\n    internal class SignatureHelpProviderWrapperResolver : ISignatureHelpProviderWrapperResolver {\r\n        private readonly IList<Lazy<ISignatureHelpProvider, OrderableLanguageMetadata>> _allProviders;\r\n\r\n        [ImportingConstructor]\r\n        public SignatureHelpProviderWrapperResolver(\r\n            [ImportMany] IEnumerable<Lazy<ISignatureHelpProvider, OrderableLanguageMetadata>> allProviders\r\n        ) {\r\n            _allProviders = ExtensionOrderer.Order(allProviders);\r\n        }\r\n\r\n        public IEnumerable<ISignatureHelpProviderWrapper> GetAllSlow(string languageName) {\r\n            if (languageName == null)\r\n                throw new ArgumentNullException(nameof(languageName));\r\n\r\n            return _allProviders\r\n                .Where(l => l.Metadata.Language == languageName)\r\n                .Select(l => new SignatureHelpProviderWrapper(l.Value));\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn42/WorkspaceAnalyzerOptionsInternals.cs",
    "content": "using System.Composition;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.Diagnostics;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn42 {\r\n    [Shared]\r\n    [Export(typeof(IWorkspaceAnalyzerOptionsInternals))]\r\n    internal class WorkspaceAnalyzerOptionsInternals : IWorkspaceAnalyzerOptionsInternals {\r\n        public AnalyzerOptions New(AnalyzerOptions options, Project project) {\r\n            Argument.NotNull(nameof(options), options);\r\n            Argument.NotNull(nameof(project), project);\r\n            return new WorkspaceAnalyzerOptions(options, project.Solution, IdeAnalyzerOptions.Default);\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn42/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETStandard,Version=v2.0\": {\r\n      \"IgnoresAccessChecksToGenerator\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.5.0, )\",\r\n        \"resolved\": \"0.5.0\",\r\n        \"contentHash\": \"p0ZdbdGRAmRAhSm1HWZ4luy/RjLZlhGPmg9OWmVFYhrq526AtxmL5Pik7uZWf3Hr3PQRR8iTH+Kyf3eHyLAGCQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.2.0, )\",\r\n        \"resolved\": \"4.2.0\",\r\n        \"contentHash\": \"8Rejln3I5zLRdd+y0XN16QsBjtBmOwPyH0prV45LxAmDrJl21oJQn9+8wflMTKW07mGIhsMv8Gz0RYEGHKLdZg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.2.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.2.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.2.0, )\",\r\n        \"resolved\": \"4.2.0\",\r\n        \"contentHash\": \"nqkbzGhvwKyU6sT+H06dYDSXWRXFCQeXqnyP8qN91fXMDUD0bH3FV/mkIvsayWFS3vqgGR9U0h7fwNZ/GdXoSw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.3.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.2.0]\",\r\n          \"Microsoft.CodeAnalysis.Elfie\": \"1.0.0\",\r\n          \"Microsoft.CodeAnalysis.Scripting.Common\": \"[4.2.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.2.0]\",\r\n          \"Microsoft.DiaSymReader\": \"1.4.0\",\r\n          \"Microsoft.VisualStudio.RemoteControl\": \"16.3.44\",\r\n          \"System.Text.Json\": \"6.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.PublicApiAnalyzers\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.0, )\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"upaG6u/PxjkOj39Kk0DLmmA75acYChmv6/HnOUxvSgGWul53uPcVaPxBWCzkHDfIljyiq5qeIG+CatT8x8FAEA==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.2.0, )\",\r\n        \"resolved\": \"4.2.0\",\r\n        \"contentHash\": \"g4lcikPjFtG7c4DPKVqeVSOqGVTqzkMn2s+ORjuuYNOnZQu8p4lbYLMbzrBv/h+n9AfEiHqNIywA0yMTvHAqYw==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.2.0\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"6.0.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.2.0]\",\r\n          \"System.Composition\": \"6.0.0\",\r\n          \"System.IO.Pipelines\": \"6.0.1\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.0.3, )\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Text.Json\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[9.0.0, )\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"js7+qAu/9mQvnhA4EfGMZNEzXtJCDxgkgj8ohuxq/Qxv+R56G+ljefhiJHOxTNiw54q8vmABCWUwkMulNdlZ4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"9.0.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.IO.Pipelines\": \"9.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encodings.Web\": \"9.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Humanizer.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.2.0\",\r\n        \"contentHash\": \"rsYXB7+iUPP8AHgQ8JP2UZI2xK2KhjcdGr9E6zX3CsZaTLCaw8M35vaAJRo1rfxeaZEVMuXeaquLVCkZ7JcZ5Q==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"Microsoft.Bcl.AsyncInterfaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"owmu2Cr3IQ8yQiBleBHlGk8dSQ12oaF2e7TpzwJKEl4m84kkZJjEY1n33L67Y3zM5jPOjmmbdHjbfiL0RqcMRQ==\",\r\n        \"dependencies\": {\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.3\",\r\n        \"contentHash\": \"j/rOZtLMVJjrfLRlAMckJLPW/1rze9MT1yfWqSIbUPGRu1m1P0fuo9PmqapwsmePfGB5PJrudQLvmUOAMF0DqQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.AnalyzerUtilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"gyQ70pJ4T7hu/s0+QnEaXtYfeG/JrttGnxHJlrhpxsQjRIUGuRhVwNBtkHHYOrUAZ/l47L98/NiJX6QmTwAyrg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.2.0\",\r\n        \"contentHash\": \"lbusGcuE7D8FtZawQ4G++UFsRQArPzZN1GGXjPQwu3gvCbw7FXDcBq1zDZrZN1vRzPTVe1qyZMvfGhVUzs1TDg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.3\",\r\n          \"System.Collections.Immutable\": \"5.0.0\",\r\n          \"System.Memory\": \"4.5.4\",\r\n          \"System.Reflection.Metadata\": \"5.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"6.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.2.0\",\r\n        \"contentHash\": \"5IDwr8zGNBmDpxtzxxZj9IHwoA6HJ1/WWT/JacqPQJ4Vz/oZXaHNlzcBPVCZRGWUw+QvVdAhCKwEyJyuAuH/wg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.2.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.2.0\",\r\n        \"contentHash\": \"tnrfcePE6cEybYeV3MNxZPs87ZtllKYnP9ODglJlJy5hQk4r/1OFUwCTeKtofckoSogfDHS7keU0KtwgnNGIDg==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.2.0\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.2.0]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.2.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.2.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Elfie\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.0\",\r\n        \"contentHash\": \"r12elUp4MRjdnRfxEP+xqVSUUfG3yIJTBEJGwbfvF5oU4m0jb9HC0gFG28V/dAkYGMkRmHVi3qvrnBLQSw9X3Q==\",\r\n        \"dependencies\": {\r\n          \"System.Configuration.ConfigurationManager\": \"4.5.0\",\r\n          \"System.Data.DataSetExtensions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Scripting.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.2.0\",\r\n        \"contentHash\": \"j+zntafxJJyTHnrvZ7xdq4if3XoK2z8xYFTUzuEf4n0++YzTlvaOfuHHQ/nktC/HNzOsZQyzCOHhAlj2ERhgLA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.2.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.2.0\",\r\n        \"contentHash\": \"4XDOCHV0yxsbJZ4T++0sp9nmY76gUBi0o5YEkrA/VW/ab1ijAPCD4U0EGyn3fi9bZo4PUK/I6qKO1WEbESGobA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.2.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.2.0\",\r\n        \"contentHash\": \"iDgn0+FkUo6P39Nhd1mPub9iAICWD+fLEYCKUjcXfwM1GtzJNf5DDROHc6b48gJ/HlOh9KaokowmzUYZJErFWw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.2.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[4.2.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.2.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.4.0\",\r\n        \"contentHash\": \"iLtWq5/W5ePzSraavAFeXAbasE6REDByizTz6M8yQO3e4jf+6pRqPLdNCSvnSfKRVqsF7y/lTVWhqlf89ttweg==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==\"\r\n      },\r\n      \"Microsoft.VisualStudio.RemoteControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.3.44\",\r\n        \"contentHash\": \"hbc2FxReEyotRXM1dtQSZxt2ccNMBgPbcX6MylKp9UDbHsTPJ0dk5CEuZAqoqOFKUzFtorZL6A7BcRAjP9HU1g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.VisualStudio.Utilities.Internal\": \"16.3.36\",\r\n          \"System.Configuration.ConfigurationManager\": \"4.5.0\",\r\n          \"System.IO.FileSystem.AccessControl\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"Microsoft.VisualStudio.Utilities.Internal\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.3.36\",\r\n        \"contentHash\": \"tVOE9DJbd4PETSgBW+9448jvRdhm/hNHJFaGyCq6Gtlg+ElELBmfMFxgp2rsrqzUkLjehwnrw6uX4Yj9krOfJQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Win32.Registry\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Win32.Registry\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"+FWlwd//+Tt56316p00hVePBCouXyEzT86Jb3+AuRotTND0IYn0OO3obs1gnQEs/txEnt+rF2JBGLItTG+Be6A==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.4.0\",\r\n          \"System.Memory\": \"4.5.0\",\r\n          \"System.Security.AccessControl\": \"4.5.0\",\r\n          \"System.Security.Principal.Windows\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"FXkLXiK0sVVewcso0imKQoOxjoPAj42R8HtjjbSjVPAzwDfzoyoznWxgA3c38LDbN9SJux1xXoXYAhz98j7r2g==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"d7wMuKQtfsxUa7S13tITC8n1cQzewuhD5iDjZtK2prwFfKVzdYtgrTHgjaV03Zq7feGQ5gkP85tJJntXwInsJA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"6.0.0\",\r\n          \"System.Composition.Convention\": \"6.0.0\",\r\n          \"System.Composition.Hosting\": \"6.0.0\",\r\n          \"System.Composition.Runtime\": \"6.0.0\",\r\n          \"System.Composition.TypedParts\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"WK1nSDLByK/4VoC7fkNiFuTVEiperuCN/Hyn+VN30R+W2ijO1d0Z2Qm0ScEl9xkSn1G2MyapJi8xpf4R8WRa/w==\"\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"XYi4lPRdu5bM4JVJ3/UIHAiG6V6lWWUlkhB9ab4IOq0FrRsp0F4wTyV4Dj+Ds+efoXJ3qbLqlvaUozDO7OLeXA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"w/wXjj7kvxuHPLdzZ0PAUt++qJl03t7lENmb2Oev0n3zbxyNULbWBlnd5J5WUMMv15kg5o+/TCZFb6lSwfaUUQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.Runtime\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"qkRH/YBaMPTnzxrS5RDk1juvqed4A6HOD/CwRcDGyPpYps1J27waBddiiq1y93jk2ZZ9wuA/kynM+NO0kb3PKg==\"\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"iUR1eHrL8Cwd82neQCJ00MpwNIBs4NZgXzrPqx8NJf/k4+mwBO0XCRmHYJT4OLSwDDqh5nBLJWkz5cROnrGhRA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"6.0.0\",\r\n          \"System.Composition.Hosting\": \"6.0.0\",\r\n          \"System.Composition.Runtime\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Configuration.ConfigurationManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"UIFvaFfuKhLr9u5tWMxmVoDPkFeD+Qv8gUuap4aZgVGYSYMdERck4OhLN/2gulAc0nYTEigWXSJNNWshrmxnng==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.ProtectedData\": \"4.5.0\",\r\n          \"System.Security.Permissions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Data.DataSetExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"221clPs1445HkTBZPL+K9sDBdJRB8UN8rgjO3ztB0CQ26z//fmJXtlsr6whGatscsKGBrhJl5bwJuKSA8mwFOw==\"\r\n      },\r\n      \"System.IO.FileSystem.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"TYe6xstoqT5MlTly0OtPU6u9zWuNScLVMEx6sTCjjx+Hqdp0wCXoG6fnzMpTPMQACXQzi9pd2N5Tloow+5jQdQ==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"4.5.0\",\r\n          \"System.Security.Principal.Windows\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.IO.Pipelines\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"eA3cinogwaNB4jdjQHOP3Z3EuyiDII7MT35jgtnsA4vkn0LUrrSHsU0nzHTzFzmaFYeKV7MYyMxOocFzsBHpTw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Numerics.Vectors\": \"4.4.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"System.Numerics.Vectors\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"UiLzLW+Lw6HLed1Hcg+8jSRttrbuXv7DANVj0DkL9g6EnnzbL75EB7EWsw5uRbhxd/4YdG8li5XizGWepmG3PQ==\"\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"5NecZgXktdGg34rh1OenY1rFNDCI8xSjFr+Z4OU4cU06AQHUdRnIIEeWENu3Wl4YowbzkymAIMvi3WyK9U53pQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==\"\r\n      },\r\n      \"System.Security.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"vW8Eoq0TMyz5vAG/6ce483x/CP83fgm4SJe5P8Tb1tZaobcvPrbMEL7rhH1DRdrYbbb6F0vq3OlzmK0Pkwks5A==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Principal.Windows\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.ProtectedData\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Security.Permissions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"9gdyuARhUR7H+p5CjyUB/zPk7/Xut3wUSP8NJQB6iZr8L3XUXTMdoLeVAg9N4rqF8oIpE7MpdqHdDHQ7XgJe0g==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Security.Principal.Windows\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"U77HfRXlZlOeIXd//Yoj6Jnk8AXlbeisf1oq1os+hxOGVnuG+lGSfGqTwTZBoORFF6j/0q7HXIl8cqwQ9aUGqQ==\"\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"ZFCILZuOvtKPauZ/j/swhvw68ZRi9ATCfvGbk1QfydmcXBkIWecWKn/250UH7rahZ5OoDBaiAudJtPvLwzw85A==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.4\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encodings.Web\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"e2hMgAErLbKyUUwt18qSBf9T5Y+SFAL3ZedM8fLupkVj8Rj2PZ9oxQ37XX2LF8fTO1wNIxvKpihD7Of7D/NxZw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.4\",\r\n        \"contentHash\": \"zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Internal.Roslyn43/CodeActionInternals.cs",
    "content": "using System.Collections.Immutable;\r\nusing System.Composition;\r\nusing Microsoft.CodeAnalysis.CodeActions;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn43 {\r\n    [Shared]\r\n    [Export(typeof(ICodeActionInternals))]\r\n    internal class CodeActionInternals : ICodeActionInternals {\r\n        public bool IsInlinable(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return action.IsInlinable;\r\n        }\r\n\r\n        public Roslyn.Internals.CodeActionPriority GetPriority(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return (Roslyn.Internals.CodeActionPriority)(int)action.Priority;\r\n        }\r\n\r\n        public ImmutableArray<CodeAction> GetNestedCodeActions(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return action.NestedCodeActions;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn43/Internal.Roslyn43.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\r\n  <PropertyGroup>\r\n    <TargetFramework>netstandard2.0</TargetFramework>\r\n    <AssemblyName>MirrorSharp.Internal.Roslyn43</AssemblyName>\r\n    <RootNamespace>MirrorSharp.Internal.Roslyn43</RootNamespace>\r\n    <IsPackable>false</IsPackable>\r\n  </PropertyGroup>\r\n\r\n  <PropertyGroup>\r\n    <InternalsAssemblyNames>Microsoft.CodeAnalysis.Features;Microsoft.CodeAnalysis.Workspaces</InternalsAssemblyNames>\r\n  </PropertyGroup>\r\n\r\n  <ItemGroup>\r\n    <PackageReference Include=\"IgnoresAccessChecksToGenerator\" Version=\"0.5.0\" PrivateAssets=\"All\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis\" Version=\"4.3.1\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Features\" Version=\"4.3.1\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Workspaces.Common\" Version=\"4.3.1\" />\r\n    <!-- Avoids vulnerability in version referenced by Microsoft.CodeAnalysis.Features -->\r\n    <PackageReference Include=\"System.Text.Json\" Version=\"9.0.0\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <ProjectReference Include=\"..\\Internal.RoslynInternals\\Internal.RoslynInternals.csproj\" />\r\n  </ItemGroup>\r\n</Project>\r\n"
  },
  {
    "path": "Internal.Roslyn43/MirrorSharpDiagnosticAnalyzerService.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.Immutable;\r\nusing System.Composition;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.CodeActions;\r\nusing Microsoft.CodeAnalysis.Diagnostics;\r\nusing Microsoft.CodeAnalysis.Options;\r\nusing Microsoft.CodeAnalysis.Text;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn43 {\r\n    [Shared]\r\n    [Export(typeof(IDiagnosticAnalyzerService))]\r\n    internal class MirrorSharpDiagnosticAnalyzerService : IDiagnosticAnalyzerService {\r\n        DiagnosticAnalyzerInfoCache IDiagnosticAnalyzerService.AnalyzerInfoCache { get; } = new();\r\n\r\n        IGlobalOptionService IDiagnosticAnalyzerService.GlobalOptions => throw new NotSupportedException();\r\n        bool IDiagnosticAnalyzerService.ContainsDiagnostics(Workspace workspace, ProjectId projectId) => throw new NotSupportedException();\r\n        Task IDiagnosticAnalyzerService.ForceAnalyzeAsync(Solution solution, Action<Project> onProjectAnalyzed, ProjectId? projectId, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetCachedDiagnosticsAsync(Workspace workspace, ProjectId? projectId, DocumentId? documentId, bool includeSuppressedDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsAsync(Solution solution, ProjectId? projectId, DocumentId? documentId, bool includeSuppressedDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsForIdsAsync(Solution solution, ProjectId? projectId, DocumentId? documentId, ImmutableHashSet<string>? diagnosticIds, bool includeSuppressedDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsForSpanAsync(Document document, TextSpan? range, Func<string, bool>? shouldIncludeDiagnostic, bool includeCompilerDiagnostics, bool includeSuppressedDiagnostics, CodeActionRequestPriority priority, Func<string, IDisposable?>? addOperationScope, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetProjectDiagnosticsForIdsAsync(Solution solution, ProjectId? projectId, ImmutableHashSet<string>? diagnosticIds, bool includeSuppressedDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetSpecificCachedDiagnosticsAsync(Workspace workspace, object id, bool includeSuppressedDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        void IDiagnosticAnalyzerService.Reanalyze(Workspace workspace, IEnumerable<ProjectId>? projectIds, IEnumerable<DocumentId>? documentIds, bool highPriority) => throw new NotSupportedException();\r\n        Task<(ImmutableArray<DiagnosticData> diagnostics, bool upToDate)> IDiagnosticAnalyzerService.TryGetDiagnosticsForSpanAsync(Document document, TextSpan range, Func<string, bool>? shouldIncludeDiagnostic, bool includeSuppressedDiagnostics, CodeActionRequestPriority priority, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn43/PublicAPI.Shipped.txt",
    "content": "#nullable enable"
  },
  {
    "path": "Internal.Roslyn43/PublicAPI.Unshipped.txt",
    "content": ""
  },
  {
    "path": "Internal.Roslyn43/SignatureHelpProviderWrapper.cs",
    "content": "using System.Linq;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.SignatureHelp;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\nusing SignatureHelpTriggerReason = Microsoft.CodeAnalysis.SignatureHelp.SignatureHelpTriggerReason;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn43 {\r\n    internal class SignatureHelpProviderWrapper : ISignatureHelpProviderWrapper {\r\n        private readonly ISignatureHelpProvider _provider;\r\n\r\n        public SignatureHelpProviderWrapper(ISignatureHelpProvider provider) {\r\n            _provider = provider;\r\n        }\r\n\r\n        public async Task<SignatureHelpItemsData?> GetItemsAsync(Document document, int position, SignatureHelpTriggerInfoData triggerInfo, SignatureHelpOptionsData options, CancellationToken cancellationToken) {\r\n            // This is quite complicated to implement correctly and is still shifting around.\r\n            // For now we will only allow default options. There is no way to check if user\r\n            // intended something different, but that can be implemented later.\r\n            var mappedOptions = SignatureHelpOptions.Default;\r\n            var mappedTriggerInfo = new SignatureHelpTriggerInfo(\r\n                (SignatureHelpTriggerReason)(int)triggerInfo.TriggerReason,\r\n                triggerInfo.TriggerCharacter\r\n            );\r\n\r\n            var items = await _provider.GetItemsAsync(\r\n                document, position,\r\n                mappedTriggerInfo,\r\n                mappedOptions, cancellationToken\r\n            ).ConfigureAwait(false);\r\n\r\n            if (items == null)\r\n                return null;\r\n\r\n            return new SignatureHelpItemsData(\r\n                items.Items.Select(i => new SignatureHelpItemData(\r\n                    i.DocumentationFactory,\r\n                    prefixDisplayParts: i.PrefixDisplayParts,\r\n                    separatorDisplayParts: i.SeparatorDisplayParts,\r\n                    suffixDisplayParts: i.SuffixDisplayParts,\r\n                    parameters: i.Parameters.Select(p => new SignatureHelpParameterData(\r\n                        p.Name,\r\n                        p.DocumentationFactory,\r\n                        displayParts: p.DisplayParts,\r\n                        prefixDisplayParts: p.PrefixDisplayParts,\r\n                        suffixDisplayParts: p.SuffixDisplayParts\r\n                    )),\r\n                    i.Parameters.Length\r\n                )),\r\n                applicableSpan: items.ApplicableSpan,\r\n                argumentIndex: items.ArgumentIndex,\r\n                argumentCount: items.ArgumentCount,\r\n                selectedItemIndex: items.SelectedItemIndex\r\n            );\r\n        }\r\n\r\n        public bool IsRetriggerCharacter(char ch) => _provider.IsRetriggerCharacter(ch);\r\n        public bool IsTriggerCharacter(char ch) => _provider.IsTriggerCharacter(ch);\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn43/SignatureHelpProviderWrapperResolver.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Composition;\r\nusing System.Linq;\r\nusing Microsoft.CodeAnalysis.Host.Mef;\r\nusing Microsoft.CodeAnalysis.Shared.Utilities;\r\nusing Microsoft.CodeAnalysis.SignatureHelp;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn43 {\r\n    [Export(typeof(ISignatureHelpProviderWrapperResolver))]\r\n    internal class SignatureHelpProviderWrapperResolver : ISignatureHelpProviderWrapperResolver {\r\n        private readonly IList<Lazy<ISignatureHelpProvider, OrderableLanguageMetadata>> _allProviders;\r\n\r\n        [ImportingConstructor]\r\n        public SignatureHelpProviderWrapperResolver(\r\n            [ImportMany] IEnumerable<Lazy<ISignatureHelpProvider, OrderableLanguageMetadata>> allProviders\r\n        ) {\r\n            _allProviders = ExtensionOrderer.Order(allProviders);\r\n        }\r\n\r\n        public IEnumerable<ISignatureHelpProviderWrapper> GetAllSlow(string languageName) {\r\n            if (languageName == null)\r\n                throw new ArgumentNullException(nameof(languageName));\r\n\r\n            return _allProviders\r\n                .Where(l => l.Metadata.Language == languageName)\r\n                .Select(l => new SignatureHelpProviderWrapper(l.Value));\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn43/WorkspaceAnalyzerOptionsInternals.cs",
    "content": "using System.Composition;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.Diagnostics;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn43 {\r\n    [Shared]\r\n    [Export(typeof(IWorkspaceAnalyzerOptionsInternals))]\r\n    internal class WorkspaceAnalyzerOptionsInternals : IWorkspaceAnalyzerOptionsInternals {\r\n        public AnalyzerOptions New(AnalyzerOptions options, Project project) {\r\n            Argument.NotNull(nameof(options), options);\r\n            Argument.NotNull(nameof(project), project);\r\n            return new WorkspaceAnalyzerOptions(\r\n                options, project.Solution,\r\n                IdeAnalyzerOptions.GetDefault(project.LanguageServices)\r\n            );\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn43/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETStandard,Version=v2.0\": {\r\n      \"IgnoresAccessChecksToGenerator\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.5.0, )\",\r\n        \"resolved\": \"0.5.0\",\r\n        \"contentHash\": \"p0ZdbdGRAmRAhSm1HWZ4luy/RjLZlhGPmg9OWmVFYhrq526AtxmL5Pik7uZWf3Hr3PQRR8iTH+Kyf3eHyLAGCQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.3.1, )\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"Qbi3OxVMnP7igt5iTaSNDFELvNSfDSQBGL+ViOyR2OWhrfLx4pEeGyh9MlE2N3fcEGo6BcEikJBS3TF8n8s5jQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.3.1]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.3.1, )\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"cYxnDj4Qaflc4GAG7GY1UAeI/N8oPcdsncz/2H/w9lXHPjvrjG5cskr4vgLAiusI83cllz01hy/W2wgHc70L9g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.3.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Elfie\": \"1.0.0\",\r\n          \"Microsoft.CodeAnalysis.Scripting.Common\": \"[4.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.3.1]\",\r\n          \"Microsoft.DiaSymReader\": \"1.4.0\",\r\n          \"Microsoft.VisualStudio.RemoteControl\": \"16.3.44\",\r\n          \"System.Text.Json\": \"6.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.PublicApiAnalyzers\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.0, )\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"upaG6u/PxjkOj39Kk0DLmmA75acYChmv6/HnOUxvSgGWul53uPcVaPxBWCzkHDfIljyiq5qeIG+CatT8x8FAEA==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.3.1, )\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"PtkBobNNtAJ6teR/tzuDGf4829DcIUJJqN4wRtshRG28Xs+DRvnE4znFvZWJ8hsnBWGsywqjpRYjvoAdIYi3NA==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"6.0.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.3.1]\",\r\n          \"System.Composition\": \"6.0.0\",\r\n          \"System.IO.Pipelines\": \"6.0.3\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.0.3, )\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Text.Json\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[9.0.0, )\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"js7+qAu/9mQvnhA4EfGMZNEzXtJCDxgkgj8ohuxq/Qxv+R56G+ljefhiJHOxTNiw54q8vmABCWUwkMulNdlZ4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"9.0.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.IO.Pipelines\": \"9.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encodings.Web\": \"9.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Humanizer.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.14.1\",\r\n        \"contentHash\": \"lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==\"\r\n      },\r\n      \"Microsoft.Bcl.AsyncInterfaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"owmu2Cr3IQ8yQiBleBHlGk8dSQ12oaF2e7TpzwJKEl4m84kkZJjEY1n33L67Y3zM5jPOjmmbdHjbfiL0RqcMRQ==\",\r\n        \"dependencies\": {\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.3\",\r\n        \"contentHash\": \"j/rOZtLMVJjrfLRlAMckJLPW/1rze9MT1yfWqSIbUPGRu1m1P0fuo9PmqapwsmePfGB5PJrudQLvmUOAMF0DqQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.AnalyzerUtilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"gyQ70pJ4T7hu/s0+QnEaXtYfeG/JrttGnxHJlrhpxsQjRIUGuRhVwNBtkHHYOrUAZ/l47L98/NiJX6QmTwAyrg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"wexpJffSEEwptwe6UTMxRDZCCtz+XubI4Qewl4JECnNhcQrtb0anhSUEV9Nz7WkoNfWkx1fptR8xh1egoxYrqw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.3\",\r\n          \"System.Collections.Immutable\": \"6.0.0\",\r\n          \"System.Memory\": \"4.5.4\",\r\n          \"System.Reflection.Metadata\": \"5.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"6.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"5C9VHvahL98tumlyaT/loB5rW+K/6q0UU7uLyT1Dv15YjZraRkqML9u2t2e8GaO7XqEOtBVqK/SlxXOPqwzxog==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"mRTePOunrPzWkUT7I/FUQF6EFopAuYt0EiYbznkULOyHFT9eHDtN+gaHxqx9or/edAXgpm0KVeybQ83ri/M9Ww==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Elfie\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.0\",\r\n        \"contentHash\": \"r12elUp4MRjdnRfxEP+xqVSUUfG3yIJTBEJGwbfvF5oU4m0jb9HC0gFG28V/dAkYGMkRmHVi3qvrnBLQSw9X3Q==\",\r\n        \"dependencies\": {\r\n          \"System.Configuration.ConfigurationManager\": \"4.5.0\",\r\n          \"System.Data.DataSetExtensions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Scripting.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"WRX2GecORKhED3VoyYsbjFFBvV3D41BF3N4SDpbdM02Hm3rPdPqsxIQaF6xxHZ9iX0+m/YgT9mV6TiHjQL3qOw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"V3yW779IRoi8skcbLYBhryviGgIgtKfkQ4EQKSLHUe6++olAT1pCuE+kbgwXxTpoHqhI4Wc1gEkjNNmgQ3MKgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"pnN5bSd/jdf2Qw6pT6X/lFf0oIeDoMyYXEQ+FfPPh/2lOpH+irNNSr1+RMbwCCCo+f6ToI3+NL6lI/aL+Z9THg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.3.1]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[4.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.4.0\",\r\n        \"contentHash\": \"iLtWq5/W5ePzSraavAFeXAbasE6REDByizTz6M8yQO3e4jf+6pRqPLdNCSvnSfKRVqsF7y/lTVWhqlf89ttweg==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==\"\r\n      },\r\n      \"Microsoft.VisualStudio.RemoteControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.3.44\",\r\n        \"contentHash\": \"hbc2FxReEyotRXM1dtQSZxt2ccNMBgPbcX6MylKp9UDbHsTPJ0dk5CEuZAqoqOFKUzFtorZL6A7BcRAjP9HU1g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.VisualStudio.Utilities.Internal\": \"16.3.36\",\r\n          \"System.Configuration.ConfigurationManager\": \"4.5.0\",\r\n          \"System.IO.FileSystem.AccessControl\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"Microsoft.VisualStudio.Utilities.Internal\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.3.36\",\r\n        \"contentHash\": \"tVOE9DJbd4PETSgBW+9448jvRdhm/hNHJFaGyCq6Gtlg+ElELBmfMFxgp2rsrqzUkLjehwnrw6uX4Yj9krOfJQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Win32.Registry\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Win32.Registry\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"+FWlwd//+Tt56316p00hVePBCouXyEzT86Jb3+AuRotTND0IYn0OO3obs1gnQEs/txEnt+rF2JBGLItTG+Be6A==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.4.0\",\r\n          \"System.Memory\": \"4.5.0\",\r\n          \"System.Security.AccessControl\": \"4.5.0\",\r\n          \"System.Security.Principal.Windows\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.4\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"d7wMuKQtfsxUa7S13tITC8n1cQzewuhD5iDjZtK2prwFfKVzdYtgrTHgjaV03Zq7feGQ5gkP85tJJntXwInsJA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"6.0.0\",\r\n          \"System.Composition.Convention\": \"6.0.0\",\r\n          \"System.Composition.Hosting\": \"6.0.0\",\r\n          \"System.Composition.Runtime\": \"6.0.0\",\r\n          \"System.Composition.TypedParts\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"WK1nSDLByK/4VoC7fkNiFuTVEiperuCN/Hyn+VN30R+W2ijO1d0Z2Qm0ScEl9xkSn1G2MyapJi8xpf4R8WRa/w==\"\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"XYi4lPRdu5bM4JVJ3/UIHAiG6V6lWWUlkhB9ab4IOq0FrRsp0F4wTyV4Dj+Ds+efoXJ3qbLqlvaUozDO7OLeXA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"w/wXjj7kvxuHPLdzZ0PAUt++qJl03t7lENmb2Oev0n3zbxyNULbWBlnd5J5WUMMv15kg5o+/TCZFb6lSwfaUUQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.Runtime\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"qkRH/YBaMPTnzxrS5RDk1juvqed4A6HOD/CwRcDGyPpYps1J27waBddiiq1y93jk2ZZ9wuA/kynM+NO0kb3PKg==\"\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"iUR1eHrL8Cwd82neQCJ00MpwNIBs4NZgXzrPqx8NJf/k4+mwBO0XCRmHYJT4OLSwDDqh5nBLJWkz5cROnrGhRA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"6.0.0\",\r\n          \"System.Composition.Hosting\": \"6.0.0\",\r\n          \"System.Composition.Runtime\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Configuration.ConfigurationManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"UIFvaFfuKhLr9u5tWMxmVoDPkFeD+Qv8gUuap4aZgVGYSYMdERck4OhLN/2gulAc0nYTEigWXSJNNWshrmxnng==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.ProtectedData\": \"4.5.0\",\r\n          \"System.Security.Permissions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Data.DataSetExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"221clPs1445HkTBZPL+K9sDBdJRB8UN8rgjO3ztB0CQ26z//fmJXtlsr6whGatscsKGBrhJl5bwJuKSA8mwFOw==\"\r\n      },\r\n      \"System.IO.FileSystem.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"TYe6xstoqT5MlTly0OtPU6u9zWuNScLVMEx6sTCjjx+Hqdp0wCXoG6fnzMpTPMQACXQzi9pd2N5Tloow+5jQdQ==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"4.5.0\",\r\n          \"System.Security.Principal.Windows\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.IO.Pipelines\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"eA3cinogwaNB4jdjQHOP3Z3EuyiDII7MT35jgtnsA4vkn0LUrrSHsU0nzHTzFzmaFYeKV7MYyMxOocFzsBHpTw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Numerics.Vectors\": \"4.4.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"System.Numerics.Vectors\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"UiLzLW+Lw6HLed1Hcg+8jSRttrbuXv7DANVj0DkL9g6EnnzbL75EB7EWsw5uRbhxd/4YdG8li5XizGWepmG3PQ==\"\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"5NecZgXktdGg34rh1OenY1rFNDCI8xSjFr+Z4OU4cU06AQHUdRnIIEeWENu3Wl4YowbzkymAIMvi3WyK9U53pQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==\"\r\n      },\r\n      \"System.Security.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"vW8Eoq0TMyz5vAG/6ce483x/CP83fgm4SJe5P8Tb1tZaobcvPrbMEL7rhH1DRdrYbbb6F0vq3OlzmK0Pkwks5A==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Principal.Windows\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.ProtectedData\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Security.Permissions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"9gdyuARhUR7H+p5CjyUB/zPk7/Xut3wUSP8NJQB6iZr8L3XUXTMdoLeVAg9N4rqF8oIpE7MpdqHdDHQ7XgJe0g==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Security.Principal.Windows\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"U77HfRXlZlOeIXd//Yoj6Jnk8AXlbeisf1oq1os+hxOGVnuG+lGSfGqTwTZBoORFF6j/0q7HXIl8cqwQ9aUGqQ==\"\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"ZFCILZuOvtKPauZ/j/swhvw68ZRi9ATCfvGbk1QfydmcXBkIWecWKn/250UH7rahZ5OoDBaiAudJtPvLwzw85A==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.4\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encodings.Web\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"e2hMgAErLbKyUUwt18qSBf9T5Y+SFAL3ZedM8fLupkVj8Rj2PZ9oxQ37XX2LF8fTO1wNIxvKpihD7Of7D/NxZw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.4\",\r\n        \"contentHash\": \"zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Internal.Roslyn44/CodeActionInternals.cs",
    "content": "using System.Collections.Immutable;\r\nusing System.Composition;\r\nusing Microsoft.CodeAnalysis.CodeActions;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn43 {\r\n    [Shared]\r\n    [Export(typeof(ICodeActionInternals))]\r\n    internal class CodeActionInternals : ICodeActionInternals {\r\n        public bool IsInlinable(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return action.IsInlinable;\r\n        }\r\n\r\n        public Roslyn.Internals.CodeActionPriority GetPriority(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return (Roslyn.Internals.CodeActionPriority)(int)action.Priority;\r\n        }\r\n\r\n        public ImmutableArray<CodeAction> GetNestedCodeActions(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return action.NestedCodeActions;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn44/Internal.Roslyn44.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\r\n  <PropertyGroup>\r\n    <TargetFramework>netstandard2.0</TargetFramework>\r\n    <AssemblyName>MirrorSharp.Internal.Roslyn44</AssemblyName>\r\n    <RootNamespace>MirrorSharp.Internal.Roslyn44</RootNamespace>\r\n    <IsPackable>false</IsPackable>\r\n  </PropertyGroup>\r\n\r\n  <PropertyGroup>\r\n    <InternalsAssemblyNames>Microsoft.CodeAnalysis.Features;Microsoft.CodeAnalysis.Workspaces</InternalsAssemblyNames>\r\n  </PropertyGroup>\r\n\r\n  <ItemGroup>\r\n    <PackageReference Include=\"IgnoresAccessChecksToGenerator\" Version=\"0.5.0\" PrivateAssets=\"All\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis\" Version=\"4.4.0\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Features\" Version=\"4.4.0\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Workspaces.Common\" Version=\"4.4.0\" />\r\n    <!-- Avoids vulnerability in version referenced by Microsoft.CodeAnalysis.Features -->\r\n    <PackageReference Include=\"System.Text.Json\" Version=\"9.0.0\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <ProjectReference Include=\"..\\Internal.RoslynInternals\\Internal.RoslynInternals.csproj\" />\r\n  </ItemGroup>\r\n</Project>\r\n"
  },
  {
    "path": "Internal.Roslyn44/MirrorSharpDiagnosticAnalyzerService.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.Immutable;\r\nusing System.Composition;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.CodeActions;\r\nusing Microsoft.CodeAnalysis.Diagnostics;\r\nusing Microsoft.CodeAnalysis.Options;\r\nusing Microsoft.CodeAnalysis.Text;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn43 {\r\n    [Shared]\r\n    [Export(typeof(IDiagnosticAnalyzerService))]\r\n    internal class MirrorSharpDiagnosticAnalyzerService : IDiagnosticAnalyzerService {\r\n        DiagnosticAnalyzerInfoCache IDiagnosticAnalyzerService.AnalyzerInfoCache { get; } = new();\r\n\r\n        IGlobalOptionService IDiagnosticAnalyzerService.GlobalOptions => throw new NotSupportedException();\r\n        bool IDiagnosticAnalyzerService.ContainsDiagnostics(Workspace workspace, ProjectId projectId) => throw new NotSupportedException();\r\n        Task IDiagnosticAnalyzerService.ForceAnalyzeAsync(Solution solution, Action<Project> onProjectAnalyzed, ProjectId? projectId, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetCachedDiagnosticsAsync(Workspace workspace, ProjectId? projectId, DocumentId? documentId, bool includeSuppressedDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsAsync(Solution solution, ProjectId? projectId, DocumentId? documentId, bool includeSuppressedDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsForIdsAsync(Solution solution, ProjectId? projectId, DocumentId? documentId, ImmutableHashSet<string>? diagnosticIds, bool includeSuppressedDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsForSpanAsync(Document document, TextSpan? range, Func<string, bool>? shouldIncludeDiagnostic, bool includeCompilerDiagnostics, bool includeSuppressedDiagnostics, CodeActionRequestPriority priority, Func<string, IDisposable?>? addOperationScope, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetProjectDiagnosticsForIdsAsync(Solution solution, ProjectId? projectId, ImmutableHashSet<string>? diagnosticIds, bool includeSuppressedDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetSpecificCachedDiagnosticsAsync(Workspace workspace, object id, bool includeSuppressedDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        void IDiagnosticAnalyzerService.Reanalyze(Workspace workspace, IEnumerable<ProjectId>? projectIds, IEnumerable<DocumentId>? documentIds, bool highPriority) => throw new NotSupportedException();\r\n        Task<(ImmutableArray<DiagnosticData> diagnostics, bool upToDate)> IDiagnosticAnalyzerService.TryGetDiagnosticsForSpanAsync(Document document, TextSpan range, Func<string, bool>? shouldIncludeDiagnostic, bool includeSuppressedDiagnostics, CodeActionRequestPriority priority, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn44/PublicAPI.Shipped.txt",
    "content": "#nullable enable"
  },
  {
    "path": "Internal.Roslyn44/PublicAPI.Unshipped.txt",
    "content": ""
  },
  {
    "path": "Internal.Roslyn44/SignatureHelpProviderWrapper.cs",
    "content": "using System.Linq;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.SignatureHelp;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\nusing SignatureHelpTriggerReason = Microsoft.CodeAnalysis.SignatureHelp.SignatureHelpTriggerReason;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn43 {\r\n    internal class SignatureHelpProviderWrapper : ISignatureHelpProviderWrapper {\r\n        private readonly ISignatureHelpProvider _provider;\r\n\r\n        public SignatureHelpProviderWrapper(ISignatureHelpProvider provider) {\r\n            _provider = provider;\r\n        }\r\n\r\n        public async Task<SignatureHelpItemsData?> GetItemsAsync(Document document, int position, SignatureHelpTriggerInfoData triggerInfo, SignatureHelpOptionsData options, CancellationToken cancellationToken) {\r\n            // This is quite complicated to implement correctly and is still shifting around.\r\n            // For now we will only allow default options. There is no way to check if user\r\n            // intended something different, but that can be implemented later.\r\n            var mappedOptions = SignatureHelpOptions.Default;\r\n            var mappedTriggerInfo = new SignatureHelpTriggerInfo(\r\n                (SignatureHelpTriggerReason)(int)triggerInfo.TriggerReason,\r\n                triggerInfo.TriggerCharacter\r\n            );\r\n\r\n            var items = await _provider.GetItemsAsync(\r\n                document, position,\r\n                mappedTriggerInfo,\r\n                mappedOptions, cancellationToken\r\n            ).ConfigureAwait(false);\r\n\r\n            if (items == null)\r\n                return null;\r\n\r\n            return new SignatureHelpItemsData(\r\n                items.Items.Select(i => new SignatureHelpItemData(\r\n                    i.DocumentationFactory,\r\n                    prefixDisplayParts: i.PrefixDisplayParts,\r\n                    separatorDisplayParts: i.SeparatorDisplayParts,\r\n                    suffixDisplayParts: i.SuffixDisplayParts,\r\n                    parameters: i.Parameters.Select(p => new SignatureHelpParameterData(\r\n                        p.Name,\r\n                        p.DocumentationFactory,\r\n                        displayParts: p.DisplayParts,\r\n                        prefixDisplayParts: p.PrefixDisplayParts,\r\n                        suffixDisplayParts: p.SuffixDisplayParts\r\n                    )),\r\n                    i.Parameters.Length\r\n                )),\r\n                applicableSpan: items.ApplicableSpan,\r\n                argumentIndex: items.ArgumentIndex,\r\n                argumentCount: items.ArgumentCount,\r\n                selectedItemIndex: items.SelectedItemIndex\r\n            );\r\n        }\r\n\r\n        public bool IsRetriggerCharacter(char ch) => _provider.IsRetriggerCharacter(ch);\r\n        public bool IsTriggerCharacter(char ch) => _provider.IsTriggerCharacter(ch);\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn44/SignatureHelpProviderWrapperResolver.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Composition;\r\nusing System.Linq;\r\nusing Microsoft.CodeAnalysis.Host.Mef;\r\nusing Microsoft.CodeAnalysis.Shared.Utilities;\r\nusing Microsoft.CodeAnalysis.SignatureHelp;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn43 {\r\n    [Export(typeof(ISignatureHelpProviderWrapperResolver))]\r\n    internal class SignatureHelpProviderWrapperResolver : ISignatureHelpProviderWrapperResolver {\r\n        private readonly IList<Lazy<ISignatureHelpProvider, OrderableLanguageMetadata>> _allProviders;\r\n\r\n        [ImportingConstructor]\r\n        public SignatureHelpProviderWrapperResolver(\r\n            [ImportMany] IEnumerable<Lazy<ISignatureHelpProvider, OrderableLanguageMetadata>> allProviders\r\n        ) {\r\n            _allProviders = ExtensionOrderer.Order(allProviders);\r\n        }\r\n\r\n        public IEnumerable<ISignatureHelpProviderWrapper> GetAllSlow(string languageName) {\r\n            if (languageName == null)\r\n                throw new ArgumentNullException(nameof(languageName));\r\n\r\n            return _allProviders\r\n                .Where(l => l.Metadata.Language == languageName)\r\n                .Select(l => new SignatureHelpProviderWrapper(l.Value));\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn44/WorkspaceAnalyzerOptionsInternals.cs",
    "content": "using System.Composition;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.Diagnostics;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn43 {\r\n    [Shared]\r\n    [Export(typeof(IWorkspaceAnalyzerOptionsInternals))]\r\n    internal class WorkspaceAnalyzerOptionsInternals : IWorkspaceAnalyzerOptionsInternals {\r\n        public AnalyzerOptions New(AnalyzerOptions options, Project project) {\r\n            Argument.NotNull(nameof(options), options);\r\n            Argument.NotNull(nameof(project), project);\r\n            return new WorkspaceAnalyzerOptions(\r\n                options, IdeAnalyzerOptions.GetDefault(project.Services)\r\n            );\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn44/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETStandard,Version=v2.0\": {\r\n      \"IgnoresAccessChecksToGenerator\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.5.0, )\",\r\n        \"resolved\": \"0.5.0\",\r\n        \"contentHash\": \"p0ZdbdGRAmRAhSm1HWZ4luy/RjLZlhGPmg9OWmVFYhrq526AtxmL5Pik7uZWf3Hr3PQRR8iTH+Kyf3eHyLAGCQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.4.0, )\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"mXJYgxqyjIy6Zd+1pFMkl0CtIY4coLFAzidr4RGeWW0tjB8nEWpye7h6PtoavRJa6j5KeGXZsqYGvMwqI8dx6Q==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.4.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.4.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.4.0, )\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"0LEXWpaDlZMl5lOnM872FuBmcDD99qKp4QmmFsMpJjnq7f21KuNchdyuSdh9pdpibl2JfdMWrvA56y5dKc6EPQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.3.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.4.0]\",\r\n          \"Microsoft.CodeAnalysis.Elfie\": \"1.0.0\",\r\n          \"Microsoft.CodeAnalysis.Scripting.Common\": \"[4.4.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.4.0]\",\r\n          \"Microsoft.DiaSymReader\": \"1.4.0\",\r\n          \"System.Text.Json\": \"6.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.PublicApiAnalyzers\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.0, )\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"upaG6u/PxjkOj39Kk0DLmmA75acYChmv6/HnOUxvSgGWul53uPcVaPxBWCzkHDfIljyiq5qeIG+CatT8x8FAEA==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.4.0, )\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"6KzmmTIUU7qInQldcSPaW0nkrO71zlFPhoiabFBhkokEit49rLx4Kr/G3agBchYzirScrXibqgTRQkvx9WcJTw==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"6.0.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.4.0]\",\r\n          \"System.Composition\": \"6.0.0\",\r\n          \"System.IO.Pipelines\": \"6.0.3\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.0.3, )\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Text.Json\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[9.0.0, )\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"js7+qAu/9mQvnhA4EfGMZNEzXtJCDxgkgj8ohuxq/Qxv+R56G+ljefhiJHOxTNiw54q8vmABCWUwkMulNdlZ4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"9.0.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.IO.Pipelines\": \"9.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encodings.Web\": \"9.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Humanizer.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.14.1\",\r\n        \"contentHash\": \"lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==\"\r\n      },\r\n      \"Microsoft.Bcl.AsyncInterfaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"owmu2Cr3IQ8yQiBleBHlGk8dSQ12oaF2e7TpzwJKEl4m84kkZJjEY1n33L67Y3zM5jPOjmmbdHjbfiL0RqcMRQ==\",\r\n        \"dependencies\": {\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.3\",\r\n        \"contentHash\": \"j/rOZtLMVJjrfLRlAMckJLPW/1rze9MT1yfWqSIbUPGRu1m1P0fuo9PmqapwsmePfGB5PJrudQLvmUOAMF0DqQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.AnalyzerUtilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"gyQ70pJ4T7hu/s0+QnEaXtYfeG/JrttGnxHJlrhpxsQjRIUGuRhVwNBtkHHYOrUAZ/l47L98/NiJX6QmTwAyrg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"JfHupS/B7Jb5MZoYkFFABn3mux0wQgxi2D8F/rJYZeRBK2ZOyk7TjQ2Kq9rh6W/DCh0KNbbSbn5qoFar+ueHqw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.3\",\r\n          \"System.Collections.Immutable\": \"6.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Reflection.Metadata\": \"5.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"6.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"eD2w0xHRoaqK07hjlOKGR9eLNy3nimiGNeCClNax1NDgS/+DBtBqCjXelOa+TNy99kIB3nHhUqDmr46nDXy/RQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.4.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"ADmI2jcwJP9GgBsVx2l0Bo0v3Hn4hHBg1uJ5zHd230mkO8rUJBLZu2h3tCbpwJMkpAIRtrxuZDD5uNfiyz0Q5Q==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.4.0]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.4.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.4.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Elfie\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.0\",\r\n        \"contentHash\": \"r12elUp4MRjdnRfxEP+xqVSUUfG3yIJTBEJGwbfvF5oU4m0jb9HC0gFG28V/dAkYGMkRmHVi3qvrnBLQSw9X3Q==\",\r\n        \"dependencies\": {\r\n          \"System.Configuration.ConfigurationManager\": \"4.5.0\",\r\n          \"System.Data.DataSetExtensions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Scripting.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"RkAwCFJ8LfN7TfbWDejm50nucPxVoG/vDh0qVIoGx1U2FZhaBct72U4lGIACLuYsa0dIlC7Y0ivBemfDHnqWmA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.4.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"+GsWdmbKcjJ9ggduM6+ZI4pMI/2doX+BLbQNEQcF2oytpwzeBgyJpA3FgUWtRGBhPidzaKOj4/BMezlzn0VqxA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.4.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"B+r34TW1GhlbuntW5072Prm2BOk3dvdzg9yEzYmuR7jgMRZqFyypCLjizNTzWb7omEX4OfCWckDFCHH01XK10g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.4.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[4.4.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.4.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.4.0\",\r\n        \"contentHash\": \"iLtWq5/W5ePzSraavAFeXAbasE6REDByizTz6M8yQO3e4jf+6pRqPLdNCSvnSfKRVqsF7y/lTVWhqlf89ttweg==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==\"\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.4\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"d7wMuKQtfsxUa7S13tITC8n1cQzewuhD5iDjZtK2prwFfKVzdYtgrTHgjaV03Zq7feGQ5gkP85tJJntXwInsJA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"6.0.0\",\r\n          \"System.Composition.Convention\": \"6.0.0\",\r\n          \"System.Composition.Hosting\": \"6.0.0\",\r\n          \"System.Composition.Runtime\": \"6.0.0\",\r\n          \"System.Composition.TypedParts\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"WK1nSDLByK/4VoC7fkNiFuTVEiperuCN/Hyn+VN30R+W2ijO1d0Z2Qm0ScEl9xkSn1G2MyapJi8xpf4R8WRa/w==\"\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"XYi4lPRdu5bM4JVJ3/UIHAiG6V6lWWUlkhB9ab4IOq0FrRsp0F4wTyV4Dj+Ds+efoXJ3qbLqlvaUozDO7OLeXA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"w/wXjj7kvxuHPLdzZ0PAUt++qJl03t7lENmb2Oev0n3zbxyNULbWBlnd5J5WUMMv15kg5o+/TCZFb6lSwfaUUQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.Runtime\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"qkRH/YBaMPTnzxrS5RDk1juvqed4A6HOD/CwRcDGyPpYps1J27waBddiiq1y93jk2ZZ9wuA/kynM+NO0kb3PKg==\"\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"iUR1eHrL8Cwd82neQCJ00MpwNIBs4NZgXzrPqx8NJf/k4+mwBO0XCRmHYJT4OLSwDDqh5nBLJWkz5cROnrGhRA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"6.0.0\",\r\n          \"System.Composition.Hosting\": \"6.0.0\",\r\n          \"System.Composition.Runtime\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Configuration.ConfigurationManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"UIFvaFfuKhLr9u5tWMxmVoDPkFeD+Qv8gUuap4aZgVGYSYMdERck4OhLN/2gulAc0nYTEigWXSJNNWshrmxnng==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.ProtectedData\": \"4.5.0\",\r\n          \"System.Security.Permissions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Data.DataSetExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"221clPs1445HkTBZPL+K9sDBdJRB8UN8rgjO3ztB0CQ26z//fmJXtlsr6whGatscsKGBrhJl5bwJuKSA8mwFOw==\"\r\n      },\r\n      \"System.IO.Pipelines\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"eA3cinogwaNB4jdjQHOP3Z3EuyiDII7MT35jgtnsA4vkn0LUrrSHsU0nzHTzFzmaFYeKV7MYyMxOocFzsBHpTw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Numerics.Vectors\": \"4.4.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"System.Numerics.Vectors\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"UiLzLW+Lw6HLed1Hcg+8jSRttrbuXv7DANVj0DkL9g6EnnzbL75EB7EWsw5uRbhxd/4YdG8li5XizGWepmG3PQ==\"\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"5NecZgXktdGg34rh1OenY1rFNDCI8xSjFr+Z4OU4cU06AQHUdRnIIEeWENu3Wl4YowbzkymAIMvi3WyK9U53pQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==\"\r\n      },\r\n      \"System.Security.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"vW8Eoq0TMyz5vAG/6ce483x/CP83fgm4SJe5P8Tb1tZaobcvPrbMEL7rhH1DRdrYbbb6F0vq3OlzmK0Pkwks5A==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Principal.Windows\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.ProtectedData\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Security.Permissions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"9gdyuARhUR7H+p5CjyUB/zPk7/Xut3wUSP8NJQB6iZr8L3XUXTMdoLeVAg9N4rqF8oIpE7MpdqHdDHQ7XgJe0g==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Security.Principal.Windows\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"U77HfRXlZlOeIXd//Yoj6Jnk8AXlbeisf1oq1os+hxOGVnuG+lGSfGqTwTZBoORFF6j/0q7HXIl8cqwQ9aUGqQ==\"\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"ZFCILZuOvtKPauZ/j/swhvw68ZRi9ATCfvGbk1QfydmcXBkIWecWKn/250UH7rahZ5OoDBaiAudJtPvLwzw85A==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.4\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encodings.Web\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"e2hMgAErLbKyUUwt18qSBf9T5Y+SFAL3ZedM8fLupkVj8Rj2PZ9oxQ37XX2LF8fTO1wNIxvKpihD7Of7D/NxZw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.4\",\r\n        \"contentHash\": \"zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Internal.Roslyn45/CodeActionInternals.cs",
    "content": "using System.Collections.Immutable;\r\nusing System.Composition;\r\nusing Microsoft.CodeAnalysis.CodeActions;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn45 {\r\n    [Shared]\r\n    [Export(typeof(ICodeActionInternals))]\r\n    internal class CodeActionInternals : ICodeActionInternals {\r\n        public bool IsInlinable(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return action.IsInlinable;\r\n        }\r\n\r\n        public Roslyn.Internals.CodeActionPriority GetPriority(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return (Roslyn.Internals.CodeActionPriority)(int)action.Priority;\r\n        }\r\n\r\n        public ImmutableArray<CodeAction> GetNestedCodeActions(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return action.NestedCodeActions;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn45/Internal.Roslyn45.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <AssemblyName>MirrorSharp.Internal.Roslyn45</AssemblyName>\n    <RootNamespace>MirrorSharp.Internal.Roslyn45</RootNamespace>\n    <IsPackable>false</IsPackable>\n  </PropertyGroup>\n\n  <PropertyGroup>\n    <InternalsAssemblyNames>Microsoft.CodeAnalysis.Features;Microsoft.CodeAnalysis.Workspaces</InternalsAssemblyNames>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"IgnoresAccessChecksToGenerator\" Version=\"0.5.0\" PrivateAssets=\"All\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis\" Version=\"4.5.0\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Features\" Version=\"4.5.0\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Workspaces.Common\" Version=\"4.5.0\" />\n    <!-- Avoids vulnerability in version referenced by Microsoft.CodeAnalysis.Features -->\n    <PackageReference Include=\"System.Text.Json\" Version=\"9.0.0\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\Internal.RoslynInternals\\Internal.RoslynInternals.csproj\" />\n  </ItemGroup>\n</Project>\n"
  },
  {
    "path": "Internal.Roslyn45/MirrorSharpDiagnosticAnalyzerService.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing System.Collections.Immutable;\nusing System.Composition;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Microsoft.CodeAnalysis;\nusing Microsoft.CodeAnalysis.CodeActions;\nusing Microsoft.CodeAnalysis.Diagnostics;\nusing Microsoft.CodeAnalysis.Options;\nusing Microsoft.CodeAnalysis.Text;\n\nnamespace MirrorSharp.Internal.Roslyn45 {\n    [Shared]\n    [Export(typeof(IDiagnosticAnalyzerService))]\n    internal class MirrorSharpDiagnosticAnalyzerService : IDiagnosticAnalyzerService {\n        DiagnosticAnalyzerInfoCache IDiagnosticAnalyzerService.AnalyzerInfoCache { get; } = new();\n\n        IGlobalOptionService IDiagnosticAnalyzerService.GlobalOptions => throw new NotSupportedException();\n        bool IDiagnosticAnalyzerService.ContainsDiagnostics(Workspace workspace, ProjectId projectId) => throw new NotSupportedException();\n        Task IDiagnosticAnalyzerService.ForceAnalyzeAsync(Solution solution, Action<Project> onProjectAnalyzed, ProjectId? projectId, CancellationToken cancellationToken) => throw new NotSupportedException();\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetCachedDiagnosticsAsync(Workspace workspace, ProjectId? projectId, DocumentId? documentId, bool includeSuppressedDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsAsync(Solution solution, ProjectId? projectId, DocumentId? documentId, bool includeSuppressedDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsForIdsAsync(Solution solution, ProjectId? projectId, DocumentId? documentId, ImmutableHashSet<string>? diagnosticIds, bool includeSuppressedDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsForSpanAsync(TextDocument document, TextSpan? range, Func<string, bool>? shouldIncludeDiagnostic, bool includeCompilerDiagnostics, bool includeSuppressedDiagnostics, CodeActionRequestPriority priority, Func<string, IDisposable?>? addOperationScope, DiagnosticKind diagnosticKind, CancellationToken cancellationToken) => throw new NotSupportedException();\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetProjectDiagnosticsForIdsAsync(Solution solution, ProjectId? projectId, ImmutableHashSet<string>? diagnosticIds, bool includeSuppressedDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetSpecificCachedDiagnosticsAsync(Workspace workspace, object id, bool includeSuppressedDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\n        void IDiagnosticAnalyzerService.Reanalyze(Workspace workspace, IEnumerable<ProjectId>? projectIds, IEnumerable<DocumentId>? documentIds, bool highPriority) => throw new NotSupportedException();\n        Task<(ImmutableArray<DiagnosticData> diagnostics, bool upToDate)> IDiagnosticAnalyzerService.TryGetDiagnosticsForSpanAsync(TextDocument document, TextSpan range, Func<string, bool>? shouldIncludeDiagnostic, bool includeSuppressedDiagnostics, CodeActionRequestPriority priority, DiagnosticKind diagnosticKind, CancellationToken cancellationToken) => throw new NotSupportedException();\n    }\n}\n"
  },
  {
    "path": "Internal.Roslyn45/PublicAPI.Shipped.txt",
    "content": "#nullable enable"
  },
  {
    "path": "Internal.Roslyn45/PublicAPI.Unshipped.txt",
    "content": ""
  },
  {
    "path": "Internal.Roslyn45/SignatureHelpProviderWrapper.cs",
    "content": "using System.Linq;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Microsoft.CodeAnalysis;\nusing Microsoft.CodeAnalysis.SignatureHelp;\nusing MirrorSharp.Internal.Roslyn.Internals;\nusing SignatureHelpTriggerReason = Microsoft.CodeAnalysis.SignatureHelp.SignatureHelpTriggerReason;\n\nnamespace MirrorSharp.Internal.Roslyn45 {\n    internal class SignatureHelpProviderWrapper : ISignatureHelpProviderWrapper {\n        private readonly ISignatureHelpProvider _provider;\n\n        public SignatureHelpProviderWrapper(ISignatureHelpProvider provider) {\n            _provider = provider;\n        }\n\n        public async Task<SignatureHelpItemsData?> GetItemsAsync(Document document, int position, SignatureHelpTriggerInfoData triggerInfo, SignatureHelpOptionsData options, CancellationToken cancellationToken) {\n            // This is quite complicated to implement correctly and is still shifting around.\n            // For now we will only allow default options. There is no way to check if user\n            // intended something different, but that can be implemented later.\n            var mappedOptions = SignatureHelpOptions.Default;\n            var mappedTriggerInfo = new SignatureHelpTriggerInfo(\n                (SignatureHelpTriggerReason)(int)triggerInfo.TriggerReason,\n                triggerInfo.TriggerCharacter\n            );\n\n            var items = await _provider.GetItemsAsync(\n                document, position,\n                mappedTriggerInfo,\n                mappedOptions, cancellationToken\n            ).ConfigureAwait(false);\n\n            if (items == null)\n                return null;\n\n            return new SignatureHelpItemsData(\n                items.Items.Select(i => new SignatureHelpItemData(\n                    i.DocumentationFactory,\n                    prefixDisplayParts: i.PrefixDisplayParts,\n                    separatorDisplayParts: i.SeparatorDisplayParts,\n                    suffixDisplayParts: i.SuffixDisplayParts,\n                    parameters: i.Parameters.Select(p => new SignatureHelpParameterData(\n                        p.Name,\n                        p.DocumentationFactory,\n                        displayParts: p.DisplayParts,\n                        prefixDisplayParts: p.PrefixDisplayParts,\n                        suffixDisplayParts: p.SuffixDisplayParts\n                    )),\n                    i.Parameters.Length\n                )),\n                applicableSpan: items.ApplicableSpan,\n                argumentIndex: items.ArgumentIndex,\n                argumentCount: items.ArgumentCount,\n                selectedItemIndex: items.SelectedItemIndex\n            );\n        }\n\n        public bool IsRetriggerCharacter(char ch) => _provider.IsRetriggerCharacter(ch);\n        public bool IsTriggerCharacter(char ch) => _provider.IsTriggerCharacter(ch);\n    }\n}\n"
  },
  {
    "path": "Internal.Roslyn45/SignatureHelpProviderWrapperResolver.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing System.Composition;\nusing System.Linq;\nusing Microsoft.CodeAnalysis.Host.Mef;\nusing Microsoft.CodeAnalysis.Shared.Utilities;\nusing Microsoft.CodeAnalysis.SignatureHelp;\nusing MirrorSharp.Internal.Roslyn.Internals;\n\nnamespace MirrorSharp.Internal.Roslyn45 {\n    [Export(typeof(ISignatureHelpProviderWrapperResolver))]\n    internal class SignatureHelpProviderWrapperResolver : ISignatureHelpProviderWrapperResolver {\n        private readonly IList<Lazy<ISignatureHelpProvider, OrderableLanguageMetadata>> _allProviders;\n\n        [ImportingConstructor]\n        public SignatureHelpProviderWrapperResolver(\n            [ImportMany] IEnumerable<Lazy<ISignatureHelpProvider, OrderableLanguageMetadata>> allProviders\n        ) {\n            _allProviders = ExtensionOrderer.Order(allProviders);\n        }\n\n        public IEnumerable<ISignatureHelpProviderWrapper> GetAllSlow(string languageName) {\n            if (languageName == null)\n                throw new ArgumentNullException(nameof(languageName));\n\n            return _allProviders\n                .Where(l => l.Metadata.Language == languageName)\n                .Select(l => new SignatureHelpProviderWrapper(l.Value));\n        }\n    }\n}\n"
  },
  {
    "path": "Internal.Roslyn45/WorkspaceAnalyzerOptionsInternals.cs",
    "content": "using System.Composition;\nusing Microsoft.CodeAnalysis;\nusing Microsoft.CodeAnalysis.Diagnostics;\nusing MirrorSharp.Internal.Roslyn.Internals;\n\nnamespace MirrorSharp.Internal.Roslyn45 {\n    [Shared]\n    [Export(typeof(IWorkspaceAnalyzerOptionsInternals))]\n    internal class WorkspaceAnalyzerOptionsInternals : IWorkspaceAnalyzerOptionsInternals {\n        public AnalyzerOptions New(AnalyzerOptions options, Project project) {\n            Argument.NotNull(nameof(options), options);\n            Argument.NotNull(nameof(project), project);\n            return new WorkspaceAnalyzerOptions(\n                options, IdeAnalyzerOptions.GetDefault(project.Services)\n            );\n        }\n    }\n}\n"
  },
  {
    "path": "Internal.Roslyn45/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETStandard,Version=v2.0\": {\r\n      \"IgnoresAccessChecksToGenerator\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.5.0, )\",\r\n        \"resolved\": \"0.5.0\",\r\n        \"contentHash\": \"p0ZdbdGRAmRAhSm1HWZ4luy/RjLZlhGPmg9OWmVFYhrq526AtxmL5Pik7uZWf3Hr3PQRR8iTH+Kyf3eHyLAGCQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.5.0, )\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"UwAroliVgje2/NKkEIWXnF+yoN/LMw1slof+jCflZBTbXUvd9zbKHq1rBvqo4QAwTNl2/oTXUDPNI006V+1luw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.5.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.5.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.5.0, )\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"L6NaZz/qTt3htWKyG2tnsBVhSG7MBcUwwjzYzainprX3V3SUTlOuNuliQhC0y8ggj1mF8rkhqVgtPTS/5nLc2w==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.3.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.5.0]\",\r\n          \"Microsoft.CodeAnalysis.Elfie\": \"1.0.0\",\r\n          \"Microsoft.CodeAnalysis.Scripting.Common\": \"[4.5.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.5.0]\",\r\n          \"Microsoft.DiaSymReader\": \"1.4.0\",\r\n          \"System.Text.Json\": \"6.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.PublicApiAnalyzers\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.0, )\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"upaG6u/PxjkOj39Kk0DLmmA75acYChmv6/HnOUxvSgGWul53uPcVaPxBWCzkHDfIljyiq5qeIG+CatT8x8FAEA==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.5.0, )\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"l4dDRmGELXG72XZaonnOeORyD/T5RpEu5LGHOUIhnv+MmUWDY/m1kWXGwtcgQ5CJ5ynkFiRnIYzTKXYjUs7rbw==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"6.0.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.5.0]\",\r\n          \"System.Composition\": \"6.0.0\",\r\n          \"System.IO.Pipelines\": \"6.0.3\",\r\n          \"System.Threading.Channels\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.0.3, )\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Text.Json\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[9.0.0, )\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"js7+qAu/9mQvnhA4EfGMZNEzXtJCDxgkgj8ohuxq/Qxv+R56G+ljefhiJHOxTNiw54q8vmABCWUwkMulNdlZ4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"9.0.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.IO.Pipelines\": \"9.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encodings.Web\": \"9.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Humanizer.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.14.1\",\r\n        \"contentHash\": \"lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==\"\r\n      },\r\n      \"Microsoft.Bcl.AsyncInterfaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"owmu2Cr3IQ8yQiBleBHlGk8dSQ12oaF2e7TpzwJKEl4m84kkZJjEY1n33L67Y3zM5jPOjmmbdHjbfiL0RqcMRQ==\",\r\n        \"dependencies\": {\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.3\",\r\n        \"contentHash\": \"j/rOZtLMVJjrfLRlAMckJLPW/1rze9MT1yfWqSIbUPGRu1m1P0fuo9PmqapwsmePfGB5PJrudQLvmUOAMF0DqQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.AnalyzerUtilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"gyQ70pJ4T7hu/s0+QnEaXtYfeG/JrttGnxHJlrhpxsQjRIUGuRhVwNBtkHHYOrUAZ/l47L98/NiJX6QmTwAyrg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"lwAbIZNdnY0SUNoDmZHkVUwLO8UyNnyyh1t/4XsbFxi4Ounb3xszIYZaWhyj5ZjyfcwqwmtMbE7fUTVCqQEIdQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.3\",\r\n          \"System.Collections.Immutable\": \"6.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Reflection.Metadata\": \"6.0.1\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"6.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"cM59oMKAOxvdv76bdmaKPy5hfj+oR+zxikWoueEB7CwTko7mt9sVKZI8Qxlov0C/LuKEG+WQwifepqL3vuTiBQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.5.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"h74wTpmGOp4yS4hj+EvNzEiPgg/KVs2wmSfTZ81upJZOtPkJsVkgfsgtxxqmAeapjT/vLKfmYV0bS8n5MNVP+g==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.5.0]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.5.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.5.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Elfie\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.0\",\r\n        \"contentHash\": \"r12elUp4MRjdnRfxEP+xqVSUUfG3yIJTBEJGwbfvF5oU4m0jb9HC0gFG28V/dAkYGMkRmHVi3qvrnBLQSw9X3Q==\",\r\n        \"dependencies\": {\r\n          \"System.Configuration.ConfigurationManager\": \"4.5.0\",\r\n          \"System.Data.DataSetExtensions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Scripting.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"ruWwzk9H5uJ+BQOMZQh77bjd74Z2KZjJP01y/tpfB6qsRi8s+EjhvzNmG7wDx0uRwmOCksKDS0MeMu3D1uKzZQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.5.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"6I4xrLh2g09c8OjLwOQEtD1ONB+FV2kYcZqbb2/LrPHCi19Ept0q9TQd78J2oKJpTrw3kLJfh9oj1sYf80/cmg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.5.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"A98Ibs/HCsDloQlzDyK8BiY3+pEXeih54pdayUtdawjUSsEVCPN8hCTAxqC/nWOpzVwbW7k30tfxTH1fQqlr4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.5.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[4.5.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.5.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.4.0\",\r\n        \"contentHash\": \"iLtWq5/W5ePzSraavAFeXAbasE6REDByizTz6M8yQO3e4jf+6pRqPLdNCSvnSfKRVqsF7y/lTVWhqlf89ttweg==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==\"\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.4\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"d7wMuKQtfsxUa7S13tITC8n1cQzewuhD5iDjZtK2prwFfKVzdYtgrTHgjaV03Zq7feGQ5gkP85tJJntXwInsJA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"6.0.0\",\r\n          \"System.Composition.Convention\": \"6.0.0\",\r\n          \"System.Composition.Hosting\": \"6.0.0\",\r\n          \"System.Composition.Runtime\": \"6.0.0\",\r\n          \"System.Composition.TypedParts\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"WK1nSDLByK/4VoC7fkNiFuTVEiperuCN/Hyn+VN30R+W2ijO1d0Z2Qm0ScEl9xkSn1G2MyapJi8xpf4R8WRa/w==\"\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"XYi4lPRdu5bM4JVJ3/UIHAiG6V6lWWUlkhB9ab4IOq0FrRsp0F4wTyV4Dj+Ds+efoXJ3qbLqlvaUozDO7OLeXA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"w/wXjj7kvxuHPLdzZ0PAUt++qJl03t7lENmb2Oev0n3zbxyNULbWBlnd5J5WUMMv15kg5o+/TCZFb6lSwfaUUQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.Runtime\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"qkRH/YBaMPTnzxrS5RDk1juvqed4A6HOD/CwRcDGyPpYps1J27waBddiiq1y93jk2ZZ9wuA/kynM+NO0kb3PKg==\"\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"iUR1eHrL8Cwd82neQCJ00MpwNIBs4NZgXzrPqx8NJf/k4+mwBO0XCRmHYJT4OLSwDDqh5nBLJWkz5cROnrGhRA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"6.0.0\",\r\n          \"System.Composition.Hosting\": \"6.0.0\",\r\n          \"System.Composition.Runtime\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Configuration.ConfigurationManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"UIFvaFfuKhLr9u5tWMxmVoDPkFeD+Qv8gUuap4aZgVGYSYMdERck4OhLN/2gulAc0nYTEigWXSJNNWshrmxnng==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.ProtectedData\": \"4.5.0\",\r\n          \"System.Security.Permissions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Data.DataSetExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"221clPs1445HkTBZPL+K9sDBdJRB8UN8rgjO3ztB0CQ26z//fmJXtlsr6whGatscsKGBrhJl5bwJuKSA8mwFOw==\"\r\n      },\r\n      \"System.IO.Pipelines\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"eA3cinogwaNB4jdjQHOP3Z3EuyiDII7MT35jgtnsA4vkn0LUrrSHsU0nzHTzFzmaFYeKV7MYyMxOocFzsBHpTw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Numerics.Vectors\": \"4.4.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"System.Numerics.Vectors\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"UiLzLW+Lw6HLed1Hcg+8jSRttrbuXv7DANVj0DkL9g6EnnzbL75EB7EWsw5uRbhxd/4YdG8li5XizGWepmG3PQ==\"\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.1\",\r\n        \"contentHash\": \"III/lNMSn0ZRBuM9m5Cgbiho5j81u0FAEagFX5ta2DKbljZ3T0IpD8j+BIiHQPeKqJppWS9bGEp6JnKnWKze0g==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==\"\r\n      },\r\n      \"System.Security.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"vW8Eoq0TMyz5vAG/6ce483x/CP83fgm4SJe5P8Tb1tZaobcvPrbMEL7rhH1DRdrYbbb6F0vq3OlzmK0Pkwks5A==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Principal.Windows\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.ProtectedData\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Security.Permissions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"9gdyuARhUR7H+p5CjyUB/zPk7/Xut3wUSP8NJQB6iZr8L3XUXTMdoLeVAg9N4rqF8oIpE7MpdqHdDHQ7XgJe0g==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Security.Principal.Windows\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"U77HfRXlZlOeIXd//Yoj6Jnk8AXlbeisf1oq1os+hxOGVnuG+lGSfGqTwTZBoORFF6j/0q7HXIl8cqwQ9aUGqQ==\"\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"ZFCILZuOvtKPauZ/j/swhvw68ZRi9ATCfvGbk1QfydmcXBkIWecWKn/250UH7rahZ5OoDBaiAudJtPvLwzw85A==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.4\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encodings.Web\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"e2hMgAErLbKyUUwt18qSBf9T5Y+SFAL3ZedM8fLupkVj8Rj2PZ9oxQ37XX2LF8fTO1wNIxvKpihD7Of7D/NxZw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Channels\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==\",\r\n        \"dependencies\": {\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.4\",\r\n        \"contentHash\": \"zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Internal.Roslyn46/CodeActionInternals.cs",
    "content": "using System.Collections.Immutable;\r\nusing System.Composition;\r\nusing Microsoft.CodeAnalysis.CodeActions;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn46 {\r\n    [Shared]\r\n    [Export(typeof(ICodeActionInternals))]\r\n    internal class CodeActionInternals : ICodeActionInternals {\r\n        public bool IsInlinable(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return action.IsInlinable;\r\n        }\r\n\r\n        public Roslyn.Internals.CodeActionPriority GetPriority(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return (Roslyn.Internals.CodeActionPriority)(int)action.Priority;\r\n        }\r\n\r\n        public ImmutableArray<CodeAction> GetNestedCodeActions(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return action.NestedCodeActions;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn46/Internal.Roslyn46.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <AssemblyName>MirrorSharp.Internal.Roslyn46</AssemblyName>\n    <RootNamespace>MirrorSharp.Internal.Roslyn46</RootNamespace>\n    <IsPackable>false</IsPackable>\n  </PropertyGroup>\n\n  <PropertyGroup>\n    <InternalsAssemblyNames>Microsoft.CodeAnalysis.Features;Microsoft.CodeAnalysis.Workspaces</InternalsAssemblyNames>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"IgnoresAccessChecksToGenerator\" Version=\"0.5.0\" PrivateAssets=\"All\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis\" Version=\"4.6.0\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Features\" Version=\"4.6.0\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Workspaces.Common\" Version=\"4.6.0\" />\n    <!-- Avoids vulnerability in version referenced by Microsoft.CodeAnalysis.Features -->\n    <PackageReference Include=\"System.Text.Json\" Version=\"9.0.0\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\Internal.RoslynInternals\\Internal.RoslynInternals.csproj\" />\n  </ItemGroup>\n</Project>\n"
  },
  {
    "path": "Internal.Roslyn46/MirrorSharpDiagnosticAnalyzerService.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing System.Collections.Immutable;\nusing System.Composition;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Microsoft.CodeAnalysis;\nusing Microsoft.CodeAnalysis.CodeActions;\nusing Microsoft.CodeAnalysis.Diagnostics;\nusing Microsoft.CodeAnalysis.Options;\nusing Microsoft.CodeAnalysis.Text;\n\nnamespace MirrorSharp.Internal.Roslyn46 {\n    [Shared]\n    [Export(typeof(IDiagnosticAnalyzerService))]\n    internal class MirrorSharpDiagnosticAnalyzerService : IDiagnosticAnalyzerService {\n        DiagnosticAnalyzerInfoCache IDiagnosticAnalyzerService.AnalyzerInfoCache { get; } = new();\n\n        IGlobalOptionService IDiagnosticAnalyzerService.GlobalOptions => throw new NotSupportedException();\n        bool IDiagnosticAnalyzerService.ContainsDiagnostics(Workspace workspace, ProjectId projectId) => throw new NotSupportedException();\n        Task IDiagnosticAnalyzerService.ForceAnalyzeAsync(Solution solution, Action<Project> onProjectAnalyzed, ProjectId? projectId, CancellationToken cancellationToken) => throw new NotSupportedException();\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetCachedDiagnosticsAsync(Workspace workspace, ProjectId? projectId, DocumentId? documentId, bool includeSuppressedDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsAsync(Solution solution, ProjectId? projectId, DocumentId? documentId, bool includeSuppressedDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsForIdsAsync(Solution solution, ProjectId? projectId, DocumentId? documentId, ImmutableHashSet<string>? diagnosticIds, bool includeSuppressedDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsForSpanAsync(TextDocument document, TextSpan? range, Func<string, bool>? shouldIncludeDiagnostic, bool includeCompilerDiagnostics, bool includeSuppressedDiagnostics, CodeActionRequestPriority priority, Func<string, IDisposable?>? addOperationScope, DiagnosticKind diagnosticKind, bool isExplicit, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetProjectDiagnosticsForIdsAsync(Solution solution, ProjectId? projectId, ImmutableHashSet<string>? diagnosticIds, bool includeSuppressedDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetSpecificCachedDiagnosticsAsync(Workspace workspace, object id, bool includeSuppressedDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        void IDiagnosticAnalyzerService.Reanalyze(Workspace workspace, IEnumerable<ProjectId>? projectIds, IEnumerable<DocumentId>? documentIds, bool highPriority) => throw new NotSupportedException();\n        Task<(ImmutableArray<DiagnosticData> diagnostics, bool upToDate)> IDiagnosticAnalyzerService.TryGetDiagnosticsForSpanAsync(TextDocument document, TextSpan range, Func<string, bool>? shouldIncludeDiagnostic, bool includeSuppressedDiagnostics, CodeActionRequestPriority priority, DiagnosticKind diagnosticKind, bool isExplicit, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n    }\n}\n"
  },
  {
    "path": "Internal.Roslyn46/PublicAPI.Shipped.txt",
    "content": "#nullable enable"
  },
  {
    "path": "Internal.Roslyn46/PublicAPI.Unshipped.txt",
    "content": ""
  },
  {
    "path": "Internal.Roslyn46/SignatureHelpProviderWrapper.cs",
    "content": "using System.Linq;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Microsoft.CodeAnalysis;\nusing Microsoft.CodeAnalysis.SignatureHelp;\nusing MirrorSharp.Internal.Roslyn.Internals;\nusing SignatureHelpTriggerReason = Microsoft.CodeAnalysis.SignatureHelp.SignatureHelpTriggerReason;\n\nnamespace MirrorSharp.Internal.Roslyn46 {\n    internal class SignatureHelpProviderWrapper : ISignatureHelpProviderWrapper {\n        private readonly ISignatureHelpProvider _provider;\n\n        public SignatureHelpProviderWrapper(ISignatureHelpProvider provider) {\n            _provider = provider;\n        }\n\n        public async Task<SignatureHelpItemsData?> GetItemsAsync(Document document, int position, SignatureHelpTriggerInfoData triggerInfo, SignatureHelpOptionsData options, CancellationToken cancellationToken) {\n            // This is quite complicated to implement correctly and is still shifting around.\n            // For now we will only allow default options. There is no way to check if user\n            // intended something different, but that can be implemented later.\n            var mappedOptions = SignatureHelpOptions.Default;\n            var mappedTriggerInfo = new SignatureHelpTriggerInfo(\n                (SignatureHelpTriggerReason)(int)triggerInfo.TriggerReason,\n                triggerInfo.TriggerCharacter\n            );\n\n            var items = await _provider.GetItemsAsync(\n                document, position,\n                mappedTriggerInfo,\n                mappedOptions, cancellationToken\n            ).ConfigureAwait(false);\n\n            if (items == null)\n                return null;\n\n            return new SignatureHelpItemsData(\n                items.Items.Select(i => new SignatureHelpItemData(\n                    i.DocumentationFactory,\n                    prefixDisplayParts: i.PrefixDisplayParts,\n                    separatorDisplayParts: i.SeparatorDisplayParts,\n                    suffixDisplayParts: i.SuffixDisplayParts,\n                    parameters: i.Parameters.Select(p => new SignatureHelpParameterData(\n                        p.Name,\n                        p.DocumentationFactory,\n                        displayParts: p.DisplayParts,\n                        prefixDisplayParts: p.PrefixDisplayParts,\n                        suffixDisplayParts: p.SuffixDisplayParts\n                    )),\n                    i.Parameters.Length\n                )),\n                applicableSpan: items.ApplicableSpan,\n                argumentIndex: items.ArgumentIndex,\n                argumentCount: items.ArgumentCount,\n                selectedItemIndex: items.SelectedItemIndex\n            );\n        }\n\n        public bool IsRetriggerCharacter(char ch) => _provider.IsRetriggerCharacter(ch);\n        public bool IsTriggerCharacter(char ch) => _provider.IsTriggerCharacter(ch);\n    }\n}\n"
  },
  {
    "path": "Internal.Roslyn46/SignatureHelpProviderWrapperResolver.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing System.Composition;\nusing System.Linq;\nusing Microsoft.CodeAnalysis.Host.Mef;\nusing Microsoft.CodeAnalysis.Shared.Utilities;\nusing Microsoft.CodeAnalysis.SignatureHelp;\nusing MirrorSharp.Internal.Roslyn.Internals;\n\nnamespace MirrorSharp.Internal.Roslyn46 {\n    [Export(typeof(ISignatureHelpProviderWrapperResolver))]\n    internal class SignatureHelpProviderWrapperResolver : ISignatureHelpProviderWrapperResolver {\n        private readonly IList<Lazy<ISignatureHelpProvider, OrderableLanguageMetadata>> _allProviders;\n\n        [ImportingConstructor]\n        public SignatureHelpProviderWrapperResolver(\n            [ImportMany] IEnumerable<Lazy<ISignatureHelpProvider, OrderableLanguageMetadata>> allProviders\n        ) {\n            _allProviders = ExtensionOrderer.Order(allProviders);\n        }\n\n        public IEnumerable<ISignatureHelpProviderWrapper> GetAllSlow(string languageName) {\n            if (languageName == null)\n                throw new ArgumentNullException(nameof(languageName));\n\n            return _allProviders\n                .Where(l => l.Metadata.Language == languageName)\n                .Select(l => new SignatureHelpProviderWrapper(l.Value));\n        }\n    }\n}\n"
  },
  {
    "path": "Internal.Roslyn46/WorkspaceAnalyzerOptionsInternals.cs",
    "content": "using System.Composition;\nusing Microsoft.CodeAnalysis;\nusing Microsoft.CodeAnalysis.Diagnostics;\nusing MirrorSharp.Internal.Roslyn.Internals;\n\nnamespace MirrorSharp.Internal.Roslyn46 {\n    [Shared]\n    [Export(typeof(IWorkspaceAnalyzerOptionsInternals))]\n    internal class WorkspaceAnalyzerOptionsInternals : IWorkspaceAnalyzerOptionsInternals {\n        public AnalyzerOptions New(AnalyzerOptions options, Project project) {\n            Argument.NotNull(nameof(options), options);\n            Argument.NotNull(nameof(project), project);\n            return new WorkspaceAnalyzerOptions(\n                options, IdeAnalyzerOptions.GetDefault(project.Services)\n            );\n        }\n    }\n}\n"
  },
  {
    "path": "Internal.Roslyn46/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETStandard,Version=v2.0\": {\r\n      \"IgnoresAccessChecksToGenerator\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.5.0, )\",\r\n        \"resolved\": \"0.5.0\",\r\n        \"contentHash\": \"p0ZdbdGRAmRAhSm1HWZ4luy/RjLZlhGPmg9OWmVFYhrq526AtxmL5Pik7uZWf3Hr3PQRR8iTH+Kyf3eHyLAGCQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.6.0, )\",\r\n        \"resolved\": \"4.6.0\",\r\n        \"contentHash\": \"yPqWIFXnnwujlLIl6wRiVEITn9M3M+/xZrqim8a4BupBXfDUFY6ku+cM9YiDcG+Dk18jfNqUgdONLFjRJrrEYw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.6.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.6.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.6.0, )\",\r\n        \"resolved\": \"4.6.0\",\r\n        \"contentHash\": \"dusZtHb/+BjjDLDc6L9QBOl3IDK12z6AucdYsK1WgmOa0WZ64b77hU1XnK1N5rUV/+UPMITMbBFP/GoV722Z3Q==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.3.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.6.0]\",\r\n          \"Microsoft.CodeAnalysis.Elfie\": \"1.0.0\",\r\n          \"Microsoft.CodeAnalysis.Scripting.Common\": \"[4.6.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.6.0]\",\r\n          \"Microsoft.DiaSymReader\": \"1.4.0\",\r\n          \"System.Text.Json\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.PublicApiAnalyzers\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.0, )\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"upaG6u/PxjkOj39Kk0DLmmA75acYChmv6/HnOUxvSgGWul53uPcVaPxBWCzkHDfIljyiq5qeIG+CatT8x8FAEA==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.6.0, )\",\r\n        \"resolved\": \"4.6.0\",\r\n        \"contentHash\": \"KnBOTRwn2Tt4JXuec+P4aVO4N6zKZDACwtVA++mnZUHujmPG5xWX7whoEIW4bAp1nuAugnn0K9xpuaRBtRltpg==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"7.0.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.6.0]\",\r\n          \"System.Composition\": \"7.0.0\",\r\n          \"System.IO.Pipelines\": \"7.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.0.3, )\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Text.Json\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[9.0.0, )\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"js7+qAu/9mQvnhA4EfGMZNEzXtJCDxgkgj8ohuxq/Qxv+R56G+ljefhiJHOxTNiw54q8vmABCWUwkMulNdlZ4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"9.0.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.IO.Pipelines\": \"9.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encodings.Web\": \"9.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Humanizer.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.14.1\",\r\n        \"contentHash\": \"lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==\"\r\n      },\r\n      \"Microsoft.Bcl.AsyncInterfaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"owmu2Cr3IQ8yQiBleBHlGk8dSQ12oaF2e7TpzwJKEl4m84kkZJjEY1n33L67Y3zM5jPOjmmbdHjbfiL0RqcMRQ==\",\r\n        \"dependencies\": {\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.4\",\r\n        \"contentHash\": \"AxkxcPR+rheX0SmvpLVIGLhOUXAKG56a64kV9VQZ4y9gR9ZmPXnqZvHJnmwLSwzrEP6junUF11vuc+aqo5r68g==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.AnalyzerUtilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"gyQ70pJ4T7hu/s0+QnEaXtYfeG/JrttGnxHJlrhpxsQjRIUGuRhVwNBtkHHYOrUAZ/l47L98/NiJX6QmTwAyrg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.6.0\",\r\n        \"contentHash\": \"N3uLvekc7DjvE1BX8YW7UH7ldjA4ps/Tun2YmOoSIItJrh1gnQIMKUbK1c3uQUx2NHbLibVZI4o/VB9xb4B7tA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Reflection.Metadata\": \"7.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.6.0\",\r\n        \"contentHash\": \"9pyFZUN2Lyu3C0Xfs49kezfH+CzQHMibGsQeQPu0P+GWyH2XXDwmyZ6jAaKQGNUXOJfC2OK01hWMJTJY315uDQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.6.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.6.0\",\r\n        \"contentHash\": \"xQa3Ir0HifjTrH01bk2JSjHcU4JxC1LBQw1wC9Ewf3Y2sNttQOn73tQaZcye2Lwrm0Kiec+Vuee8HsEgGIvOnQ==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.6.0]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.6.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.6.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Elfie\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.0\",\r\n        \"contentHash\": \"r12elUp4MRjdnRfxEP+xqVSUUfG3yIJTBEJGwbfvF5oU4m0jb9HC0gFG28V/dAkYGMkRmHVi3qvrnBLQSw9X3Q==\",\r\n        \"dependencies\": {\r\n          \"System.Configuration.ConfigurationManager\": \"4.5.0\",\r\n          \"System.Data.DataSetExtensions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Scripting.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.6.0\",\r\n        \"contentHash\": \"BprguoVYmzRKvBtIDV0mkpGur5V385zqf2aPejBVcBwX9oTJORs/aPric8S2RmV+FKZj6Sj6jbmT4nwOvBQHbg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.6.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.6.0\",\r\n        \"contentHash\": \"k4RDHX2z4bY5lvc4hVUf6EvIoACbMsXhK4NtRupatM1Qitpoqz7O7QMx+or/kNNffs5uTo1Apc2S7NWuKjx3cA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.6.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.6.0\",\r\n        \"contentHash\": \"7HzRjpwMAl0AB8/0ccUk89cP1B7U8isLV6SkSpoJbDL7IOGjXIuI3CAyHqy58a51zqtal5SDTIzhzgQgRLkytw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.6.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[4.6.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.6.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.4.0\",\r\n        \"contentHash\": \"iLtWq5/W5ePzSraavAFeXAbasE6REDByizTz6M8yQO3e4jf+6pRqPLdNCSvnSfKRVqsF7y/lTVWhqlf89ttweg==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==\"\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"dQPcs0U1IKnBdRDBkrCTi1FoajSTBzLcVTpjO4MBCMC7f4pDOIPzgBoX8JjG7X6uZRJ8EBxsi8+DR1JuwjnzOQ==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"tRwgcAkDd85O8Aq6zHDANzQaq380cek9lbMg5Qma46u5BZXq/G+XvIYmu+UI+BIIZ9zssXLYrkTykEqxxvhcmg==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"7.0.0\",\r\n          \"System.Composition.Convention\": \"7.0.0\",\r\n          \"System.Composition.Hosting\": \"7.0.0\",\r\n          \"System.Composition.Runtime\": \"7.0.0\",\r\n          \"System.Composition.TypedParts\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"2QzClqjElKxgI1jK1Jztnq44/8DmSuTSGGahXqQ4TdEV0h9s2KikQZIgcEqVzR7OuWDFPGLHIprBJGQEPr8fAQ==\"\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"IMhTlpCs4HmlD8B+J8/kWfwX7vrBBOs6xyjSTzBlYSs7W4OET4tlkR/Sg9NG8jkdJH9Mymq0qGdYS1VPqRTBnQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"eB6gwN9S+54jCTBJ5bpwMOVerKeUfGGTYCzz3QgDr1P55Gg/Wb27ShfPIhLMjmZ3MoAKu8uUSv6fcCdYJTN7Bg==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.Runtime\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"aZJ1Zr5Txe925rbo4742XifEyW0MIni1eiUebmcrP3HwLXZ3IbXUj4MFMUH/RmnJOAQiS401leg/2Sz1MkApDw==\"\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"ZK0KNPfbtxVceTwh+oHNGUOYV2WNOHReX2AXipuvkURC7s/jPwoWfsu3SnDBDgofqbiWr96geofdQ2erm/KTHg==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"7.0.0\",\r\n          \"System.Composition.Hosting\": \"7.0.0\",\r\n          \"System.Composition.Runtime\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"System.Configuration.ConfigurationManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"UIFvaFfuKhLr9u5tWMxmVoDPkFeD+Qv8gUuap4aZgVGYSYMdERck4OhLN/2gulAc0nYTEigWXSJNNWshrmxnng==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.ProtectedData\": \"4.5.0\",\r\n          \"System.Security.Permissions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Data.DataSetExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"221clPs1445HkTBZPL+K9sDBdJRB8UN8rgjO3ztB0CQ26z//fmJXtlsr6whGatscsKGBrhJl5bwJuKSA8mwFOw==\"\r\n      },\r\n      \"System.IO.Pipelines\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"eA3cinogwaNB4jdjQHOP3Z3EuyiDII7MT35jgtnsA4vkn0LUrrSHsU0nzHTzFzmaFYeKV7MYyMxOocFzsBHpTw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Numerics.Vectors\": \"4.4.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"System.Numerics.Vectors\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"UiLzLW+Lw6HLed1Hcg+8jSRttrbuXv7DANVj0DkL9g6EnnzbL75EB7EWsw5uRbhxd/4YdG8li5XizGWepmG3PQ==\"\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"MclTG61lsD9sYdpNz9xsKBzjsmsfCtcMZYXz/IUr2zlhaTaABonlr1ESeompTgM+Xk+IwtGYU7/voh3YWB/fWw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Memory\": \"4.5.5\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==\"\r\n      },\r\n      \"System.Security.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"vW8Eoq0TMyz5vAG/6ce483x/CP83fgm4SJe5P8Tb1tZaobcvPrbMEL7rhH1DRdrYbbb6F0vq3OlzmK0Pkwks5A==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Principal.Windows\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.ProtectedData\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Security.Permissions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"9gdyuARhUR7H+p5CjyUB/zPk7/Xut3wUSP8NJQB6iZr8L3XUXTMdoLeVAg9N4rqF8oIpE7MpdqHdDHQ7XgJe0g==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Security.Principal.Windows\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"U77HfRXlZlOeIXd//Yoj6Jnk8AXlbeisf1oq1os+hxOGVnuG+lGSfGqTwTZBoORFF6j/0q7HXIl8cqwQ9aUGqQ==\"\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"LSyCblMpvOe0N3E+8e0skHcrIhgV2huaNcjUUEa8hRtgEAm36aGkRoC8Jxlb6Ra6GSfF29ftduPNywin8XolzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encodings.Web\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"e2hMgAErLbKyUUwt18qSBf9T5Y+SFAL3ZedM8fLupkVj8Rj2PZ9oxQ37XX2LF8fTO1wNIxvKpihD7Of7D/NxZw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Channels\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"qmeeYNROMsONF6ndEZcIQ+VxR4Q/TX/7uIVLJqtwIWL7dDWeh0l1UIqgo4wYyjG//5lUNhwkLDSFl+pAWO6oiA==\",\r\n        \"dependencies\": {\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.4\",\r\n        \"contentHash\": \"zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Internal.Roslyn47/CodeActionInternals.cs",
    "content": "using System.Collections.Immutable;\r\nusing System.Composition;\r\nusing Microsoft.CodeAnalysis.CodeActions;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn47 {\r\n    [Shared]\r\n    [Export(typeof(ICodeActionInternals))]\r\n    internal class CodeActionInternals : ICodeActionInternals {\r\n        public bool IsInlinable(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return action.IsInlinable;\r\n        }\r\n\r\n        public Roslyn.Internals.CodeActionPriority GetPriority(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return (Roslyn.Internals.CodeActionPriority)(int)action.Priority;\r\n        }\r\n\r\n        public ImmutableArray<CodeAction> GetNestedCodeActions(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return action.NestedCodeActions;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn47/Internal.Roslyn47.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <AssemblyName>MirrorSharp.Internal.Roslyn47</AssemblyName>\n    <RootNamespace>MirrorSharp.Internal.Roslyn47</RootNamespace>\n    <IsPackable>false</IsPackable>\n  </PropertyGroup>\n\n  <PropertyGroup>\n    <InternalsAssemblyNames>Microsoft.CodeAnalysis.Features;Microsoft.CodeAnalysis.Workspaces</InternalsAssemblyNames>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"IgnoresAccessChecksToGenerator\" Version=\"0.5.0\" PrivateAssets=\"All\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis\" Version=\"4.7.0\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Features\" Version=\"4.7.0\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Workspaces.Common\" Version=\"4.7.0\" />\n    <!-- Avoids vulnerability in version referenced by Microsoft.CodeAnalysis.Features -->\n    <PackageReference Include=\"System.Text.Json\" Version=\"9.0.0\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\Internal.RoslynInternals\\Internal.RoslynInternals.csproj\" />\n  </ItemGroup>\n</Project>\n"
  },
  {
    "path": "Internal.Roslyn47/MirrorSharpDiagnosticAnalyzerService.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.Immutable;\r\nusing System.Composition;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.CodeActions;\r\nusing Microsoft.CodeAnalysis.Diagnostics;\r\nusing Microsoft.CodeAnalysis.Options;\r\nusing Microsoft.CodeAnalysis.Text;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn47 {\r\n    [Shared]\r\n    [Export(typeof(IDiagnosticAnalyzerService))]\r\n    internal class MirrorSharpDiagnosticAnalyzerService : IDiagnosticAnalyzerService {\r\n        DiagnosticAnalyzerInfoCache IDiagnosticAnalyzerService.AnalyzerInfoCache { get; } = new();\r\n\r\n        IGlobalOptionService IDiagnosticAnalyzerService.GlobalOptions => throw new NotSupportedException();\r\n        Task IDiagnosticAnalyzerService.ForceAnalyzeAsync(Solution solution, Action<Project> onProjectAnalyzed, ProjectId? projectId, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetCachedDiagnosticsAsync(Workspace workspace, ProjectId? projectId, DocumentId? documentId, bool includeSuppressedDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsAsync(Solution solution, ProjectId? projectId, DocumentId? documentId, bool includeSuppressedDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsForIdsAsync(Solution solution, ProjectId? projectId, DocumentId? documentId, ImmutableHashSet<string>? diagnosticIds, bool includeSuppressedDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsForSpanAsync(TextDocument document, TextSpan? range, Func<string, bool>? shouldIncludeDiagnostic, bool includeCompilerDiagnostics, bool includeSuppressedDiagnostics, ICodeActionRequestPriorityProvider priorityProvider, Func<string, IDisposable?>? addOperationScope, DiagnosticKind diagnosticKind, bool isExplicit, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetProjectDiagnosticsForIdsAsync(Solution solution, ProjectId? projectId, ImmutableHashSet<string>? diagnosticIds, bool includeSuppressedDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetSpecificCachedDiagnosticsAsync(Workspace workspace, object id, bool includeSuppressedDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        void IDiagnosticAnalyzerService.Reanalyze(Workspace workspace, IEnumerable<ProjectId>? projectIds, IEnumerable<DocumentId>? documentIds, bool highPriority) => throw new NotSupportedException();\r\n        Task<(ImmutableArray<DiagnosticData> diagnostics, bool upToDate)> IDiagnosticAnalyzerService.TryGetDiagnosticsForSpanAsync(TextDocument document, TextSpan range, Func<string, bool>? shouldIncludeDiagnostic, bool includeSuppressedDiagnostics, ICodeActionRequestPriorityProvider priorityProvider, DiagnosticKind diagnosticKind, bool isExplicit, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn47/PublicAPI.Shipped.txt",
    "content": "#nullable enable"
  },
  {
    "path": "Internal.Roslyn47/PublicAPI.Unshipped.txt",
    "content": ""
  },
  {
    "path": "Internal.Roslyn47/SignatureHelpProviderWrapper.cs",
    "content": "using System.Linq;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Microsoft.CodeAnalysis;\nusing Microsoft.CodeAnalysis.SignatureHelp;\nusing MirrorSharp.Internal.Roslyn.Internals;\nusing SignatureHelpTriggerReason = Microsoft.CodeAnalysis.SignatureHelp.SignatureHelpTriggerReason;\n\nnamespace MirrorSharp.Internal.Roslyn47 {\n    internal class SignatureHelpProviderWrapper : ISignatureHelpProviderWrapper {\n        private readonly ISignatureHelpProvider _provider;\n\n        public SignatureHelpProviderWrapper(ISignatureHelpProvider provider) {\n            _provider = provider;\n        }\n\n        public async Task<SignatureHelpItemsData?> GetItemsAsync(Document document, int position, SignatureHelpTriggerInfoData triggerInfo, SignatureHelpOptionsData options, CancellationToken cancellationToken) {\n            // This is quite complicated to implement correctly and is still shifting around.\n            // For now we will only allow default options. There is no way to check if user\n            // intended something different, but that can be implemented later.\n            var mappedOptions = SignatureHelpOptions.Default;\n            var mappedTriggerInfo = new SignatureHelpTriggerInfo(\n                (SignatureHelpTriggerReason)(int)triggerInfo.TriggerReason,\n                triggerInfo.TriggerCharacter\n            );\n\n            var items = await _provider.GetItemsAsync(\n                document, position,\n                mappedTriggerInfo,\n                mappedOptions, cancellationToken\n            ).ConfigureAwait(false);\n\n            if (items == null)\n                return null;\n\n            return new SignatureHelpItemsData(\n                items.Items.Select(i => new SignatureHelpItemData(\n                    i.DocumentationFactory,\n                    prefixDisplayParts: i.PrefixDisplayParts,\n                    separatorDisplayParts: i.SeparatorDisplayParts,\n                    suffixDisplayParts: i.SuffixDisplayParts,\n                    parameters: i.Parameters.Select(p => new SignatureHelpParameterData(\n                        p.Name,\n                        p.DocumentationFactory,\n                        displayParts: p.DisplayParts,\n                        prefixDisplayParts: p.PrefixDisplayParts,\n                        suffixDisplayParts: p.SuffixDisplayParts\n                    )),\n                    i.Parameters.Length\n                )),\n                applicableSpan: items.ApplicableSpan,\n                argumentIndex: items.ArgumentIndex,\n                argumentCount: items.ArgumentCount,\n                selectedItemIndex: items.SelectedItemIndex\n            );\n        }\n\n        public bool IsRetriggerCharacter(char ch) => _provider.IsRetriggerCharacter(ch);\n        public bool IsTriggerCharacter(char ch) => _provider.IsTriggerCharacter(ch);\n    }\n}\n"
  },
  {
    "path": "Internal.Roslyn47/SignatureHelpProviderWrapperResolver.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing System.Composition;\nusing System.Linq;\nusing Microsoft.CodeAnalysis.Host.Mef;\nusing Microsoft.CodeAnalysis.Shared.Utilities;\nusing Microsoft.CodeAnalysis.SignatureHelp;\nusing MirrorSharp.Internal.Roslyn.Internals;\n\nnamespace MirrorSharp.Internal.Roslyn47 {\n    [Export(typeof(ISignatureHelpProviderWrapperResolver))]\n    internal class SignatureHelpProviderWrapperResolver : ISignatureHelpProviderWrapperResolver {\n        private readonly IList<Lazy<ISignatureHelpProvider, OrderableLanguageMetadata>> _allProviders;\n\n        [ImportingConstructor]\n        public SignatureHelpProviderWrapperResolver(\n            [ImportMany] IEnumerable<Lazy<ISignatureHelpProvider, OrderableLanguageMetadata>> allProviders\n        ) {\n            _allProviders = ExtensionOrderer.Order(allProviders);\n        }\n\n        public IEnumerable<ISignatureHelpProviderWrapper> GetAllSlow(string languageName) {\n            if (languageName == null)\n                throw new ArgumentNullException(nameof(languageName));\n\n            return _allProviders\n                .Where(l => l.Metadata.Language == languageName)\n                .Select(l => new SignatureHelpProviderWrapper(l.Value));\n        }\n    }\n}\n"
  },
  {
    "path": "Internal.Roslyn47/WorkspaceAnalyzerOptionsInternals.cs",
    "content": "using System.Composition;\nusing Microsoft.CodeAnalysis;\nusing Microsoft.CodeAnalysis.Diagnostics;\nusing MirrorSharp.Internal.Roslyn.Internals;\n\nnamespace MirrorSharp.Internal.Roslyn47 {\n    [Shared]\n    [Export(typeof(IWorkspaceAnalyzerOptionsInternals))]\n    internal class WorkspaceAnalyzerOptionsInternals : IWorkspaceAnalyzerOptionsInternals {\n        public AnalyzerOptions New(AnalyzerOptions options, Project project) {\n            Argument.NotNull(nameof(options), options);\n            Argument.NotNull(nameof(project), project);\n            return new WorkspaceAnalyzerOptions(\n                options, IdeAnalyzerOptions.GetDefault(project.Services)\n            );\n        }\n    }\n}\n"
  },
  {
    "path": "Internal.Roslyn47/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETStandard,Version=v2.0\": {\r\n      \"IgnoresAccessChecksToGenerator\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.5.0, )\",\r\n        \"resolved\": \"0.5.0\",\r\n        \"contentHash\": \"p0ZdbdGRAmRAhSm1HWZ4luy/RjLZlhGPmg9OWmVFYhrq526AtxmL5Pik7uZWf3Hr3PQRR8iTH+Kyf3eHyLAGCQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.7.0, )\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"zJQG1aUshI5R28EmVPnXgtVL5sLLAGOelLNkMlEKH3yh4sLUVPepitRe+HM0lSRLoTSu/ya0prwtUDku9xsZWQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.7.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.7.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.7.0, )\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"HTYbcr0djPBYTijN4EbvVi4tdNUQMHflKM8OkfD2RmYDZm4pH4/3AwrLrziKMMUS07PPpGKZkb/io93zjzWDYg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.3.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.7.0]\",\r\n          \"Microsoft.CodeAnalysis.Elfie\": \"1.0.0\",\r\n          \"Microsoft.CodeAnalysis.Scripting.Common\": \"[4.7.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.7.0]\",\r\n          \"Microsoft.DiaSymReader\": \"2.0.0\",\r\n          \"System.Text.Json\": \"7.0.3\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.PublicApiAnalyzers\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.0, )\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"upaG6u/PxjkOj39Kk0DLmmA75acYChmv6/HnOUxvSgGWul53uPcVaPxBWCzkHDfIljyiq5qeIG+CatT8x8FAEA==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.7.0, )\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"izjaI7OzNQnIiIJJQ5nLETA98rSWyCjkmup55bdLXWjUKYsFt/kz94uedtzGaWOOgTyHPRhQG9kgr6wNIZXxjA==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"7.0.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.7.0]\",\r\n          \"System.Composition\": \"7.0.0\",\r\n          \"System.IO.Pipelines\": \"7.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.0.3, )\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Text.Json\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[9.0.0, )\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"js7+qAu/9mQvnhA4EfGMZNEzXtJCDxgkgj8ohuxq/Qxv+R56G+ljefhiJHOxTNiw54q8vmABCWUwkMulNdlZ4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"9.0.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.IO.Pipelines\": \"9.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encodings.Web\": \"9.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Humanizer.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.14.1\",\r\n        \"contentHash\": \"lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==\"\r\n      },\r\n      \"Microsoft.Bcl.AsyncInterfaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"owmu2Cr3IQ8yQiBleBHlGk8dSQ12oaF2e7TpzwJKEl4m84kkZJjEY1n33L67Y3zM5jPOjmmbdHjbfiL0RqcMRQ==\",\r\n        \"dependencies\": {\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.4\",\r\n        \"contentHash\": \"AxkxcPR+rheX0SmvpLVIGLhOUXAKG56a64kV9VQZ4y9gR9ZmPXnqZvHJnmwLSwzrEP6junUF11vuc+aqo5r68g==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.AnalyzerUtilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"gyQ70pJ4T7hu/s0+QnEaXtYfeG/JrttGnxHJlrhpxsQjRIUGuRhVwNBtkHHYOrUAZ/l47L98/NiJX6QmTwAyrg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"pD5S14xMUebSGYe75kt0q/aaS/ftvktSo/pEv7aX7hNPHfdZS+SZeXvkvcffGxWkunYOyRF9m1oN7zzSdYj9dQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Reflection.Metadata\": \"7.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"JHCP2L6lB0oJ3tQoHkC67SFZxW+KbJVOnAo+6L01K5r/NlBlSUhTk5nUAldWhTVwGdzqNeHqGtnEqpsCmGSwQA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.7.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"SGTp5f22SJJKTHzNe3cfk57KHX7sYxrnfG9juXrbIidt3pooKMnxMN9aBCI/smMCLLB7RHITJrbzGCKvYhBqpA==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.7.0]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.7.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.7.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Elfie\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.0\",\r\n        \"contentHash\": \"r12elUp4MRjdnRfxEP+xqVSUUfG3yIJTBEJGwbfvF5oU4m0jb9HC0gFG28V/dAkYGMkRmHVi3qvrnBLQSw9X3Q==\",\r\n        \"dependencies\": {\r\n          \"System.Configuration.ConfigurationManager\": \"4.5.0\",\r\n          \"System.Data.DataSetExtensions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Scripting.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"/rooxKDFwy5XnhXdhGfk0I7zaPuLg6G+jPlS0r0gxmdgYwhqIvLBRm2DMyI2WthxwGtPTCo2LqhCc5i5+JEnaw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.7.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"smGPrhgifTZqPbUQ5UoHOtcKGIG1nHGGOy7lbQ0Td/ByrVQ9UEmOTDPvIOhhzYc9LNQo2zmxRTXTvkx+PJVARA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.7.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"TfMS0+BFJ6YXsyqmSuGcTFC1/vtED35X4oMIDLrpAboNmgrx0ukR83pVKE2cGpF5ck9DzCmWvZNPHNiKc7d99g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.7.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[4.7.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.7.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.0\",\r\n        \"contentHash\": \"QcZrCETsBJqy/vQpFtJc+jSXQ0K5sucQ6NUFbTNVHD4vfZZOwjZ/3sBzczkC4DityhD3AVO/+K/+9ioLs1AgRA==\"\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==\"\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"dQPcs0U1IKnBdRDBkrCTi1FoajSTBzLcVTpjO4MBCMC7f4pDOIPzgBoX8JjG7X6uZRJ8EBxsi8+DR1JuwjnzOQ==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"tRwgcAkDd85O8Aq6zHDANzQaq380cek9lbMg5Qma46u5BZXq/G+XvIYmu+UI+BIIZ9zssXLYrkTykEqxxvhcmg==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"7.0.0\",\r\n          \"System.Composition.Convention\": \"7.0.0\",\r\n          \"System.Composition.Hosting\": \"7.0.0\",\r\n          \"System.Composition.Runtime\": \"7.0.0\",\r\n          \"System.Composition.TypedParts\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"2QzClqjElKxgI1jK1Jztnq44/8DmSuTSGGahXqQ4TdEV0h9s2KikQZIgcEqVzR7OuWDFPGLHIprBJGQEPr8fAQ==\"\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"IMhTlpCs4HmlD8B+J8/kWfwX7vrBBOs6xyjSTzBlYSs7W4OET4tlkR/Sg9NG8jkdJH9Mymq0qGdYS1VPqRTBnQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"eB6gwN9S+54jCTBJ5bpwMOVerKeUfGGTYCzz3QgDr1P55Gg/Wb27ShfPIhLMjmZ3MoAKu8uUSv6fcCdYJTN7Bg==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.Runtime\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"aZJ1Zr5Txe925rbo4742XifEyW0MIni1eiUebmcrP3HwLXZ3IbXUj4MFMUH/RmnJOAQiS401leg/2Sz1MkApDw==\"\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"ZK0KNPfbtxVceTwh+oHNGUOYV2WNOHReX2AXipuvkURC7s/jPwoWfsu3SnDBDgofqbiWr96geofdQ2erm/KTHg==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"7.0.0\",\r\n          \"System.Composition.Hosting\": \"7.0.0\",\r\n          \"System.Composition.Runtime\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"System.Configuration.ConfigurationManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"UIFvaFfuKhLr9u5tWMxmVoDPkFeD+Qv8gUuap4aZgVGYSYMdERck4OhLN/2gulAc0nYTEigWXSJNNWshrmxnng==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.ProtectedData\": \"4.5.0\",\r\n          \"System.Security.Permissions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Data.DataSetExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"221clPs1445HkTBZPL+K9sDBdJRB8UN8rgjO3ztB0CQ26z//fmJXtlsr6whGatscsKGBrhJl5bwJuKSA8mwFOw==\"\r\n      },\r\n      \"System.IO.Pipelines\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"eA3cinogwaNB4jdjQHOP3Z3EuyiDII7MT35jgtnsA4vkn0LUrrSHsU0nzHTzFzmaFYeKV7MYyMxOocFzsBHpTw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Numerics.Vectors\": \"4.4.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"System.Numerics.Vectors\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"UiLzLW+Lw6HLed1Hcg+8jSRttrbuXv7DANVj0DkL9g6EnnzbL75EB7EWsw5uRbhxd/4YdG8li5XizGWepmG3PQ==\"\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"MclTG61lsD9sYdpNz9xsKBzjsmsfCtcMZYXz/IUr2zlhaTaABonlr1ESeompTgM+Xk+IwtGYU7/voh3YWB/fWw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Memory\": \"4.5.5\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==\"\r\n      },\r\n      \"System.Security.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"vW8Eoq0TMyz5vAG/6ce483x/CP83fgm4SJe5P8Tb1tZaobcvPrbMEL7rhH1DRdrYbbb6F0vq3OlzmK0Pkwks5A==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Principal.Windows\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.ProtectedData\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Security.Permissions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"9gdyuARhUR7H+p5CjyUB/zPk7/Xut3wUSP8NJQB6iZr8L3XUXTMdoLeVAg9N4rqF8oIpE7MpdqHdDHQ7XgJe0g==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Security.Principal.Windows\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"U77HfRXlZlOeIXd//Yoj6Jnk8AXlbeisf1oq1os+hxOGVnuG+lGSfGqTwTZBoORFF6j/0q7HXIl8cqwQ9aUGqQ==\"\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"LSyCblMpvOe0N3E+8e0skHcrIhgV2huaNcjUUEa8hRtgEAm36aGkRoC8Jxlb6Ra6GSfF29ftduPNywin8XolzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encodings.Web\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"e2hMgAErLbKyUUwt18qSBf9T5Y+SFAL3ZedM8fLupkVj8Rj2PZ9oxQ37XX2LF8fTO1wNIxvKpihD7Of7D/NxZw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Channels\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"qmeeYNROMsONF6ndEZcIQ+VxR4Q/TX/7uIVLJqtwIWL7dDWeh0l1UIqgo4wYyjG//5lUNhwkLDSFl+pAWO6oiA==\",\r\n        \"dependencies\": {\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.4\",\r\n        \"contentHash\": \"zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Internal.Roslyn48/CodeActionInternals.cs",
    "content": "using System.Collections.Immutable;\r\nusing System.Composition;\r\nusing Microsoft.CodeAnalysis.CodeActions;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn48 {\r\n    [Shared]\r\n    [Export(typeof(ICodeActionInternals))]\r\n    internal class CodeActionInternals : ICodeActionInternals {\r\n        public bool IsInlinable(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return action.IsInlinable;\r\n        }\r\n\r\n        public Roslyn.Internals.CodeActionPriority GetPriority(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return (Roslyn.Internals.CodeActionPriority)(int)action.Priority;\r\n        }\r\n\r\n        public ImmutableArray<CodeAction> GetNestedCodeActions(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return action.NestedCodeActions;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn48/Internal.Roslyn48.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <AssemblyName>MirrorSharp.Internal.Roslyn48</AssemblyName>\n    <RootNamespace>MirrorSharp.Internal.Roslyn48</RootNamespace>\n    <IsPackable>false</IsPackable>\n  </PropertyGroup>\n\n  <PropertyGroup>\n    <InternalsAssemblyNames>Microsoft.CodeAnalysis.Features;Microsoft.CodeAnalysis.Workspaces</InternalsAssemblyNames>\n  </PropertyGroup>\n  \n  <ItemGroup>\n    <PackageReference Include=\"IgnoresAccessChecksToGenerator\" Version=\"0.5.0\" PrivateAssets=\"All\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis\" Version=\"4.8.0\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Features\" Version=\"4.8.0\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Workspaces.Common\" Version=\"4.8.0\" />\n    <!-- Avoids vulnerability in version referenced by Microsoft.CodeAnalysis.Features -->\n    <PackageReference Include=\"System.Text.Json\" Version=\"9.0.0\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\Internal.RoslynInternals\\Internal.RoslynInternals.csproj\" />\n  </ItemGroup>\n</Project>\n"
  },
  {
    "path": "Internal.Roslyn48/MirrorSharpDiagnosticAnalyzerService.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.Immutable;\r\nusing System.Composition;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.CodeActions;\r\nusing Microsoft.CodeAnalysis.Diagnostics;\r\nusing Microsoft.CodeAnalysis.Options;\r\nusing Microsoft.CodeAnalysis.Text;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn48 {\r\n    [Shared]\r\n    [Export(typeof(IDiagnosticAnalyzerService))]\r\n    internal class MirrorSharpDiagnosticAnalyzerService : IDiagnosticAnalyzerService {\r\n        DiagnosticAnalyzerInfoCache IDiagnosticAnalyzerService.AnalyzerInfoCache { get; } = new();\r\n        IGlobalOptionService IDiagnosticAnalyzerService.GlobalOptions => throw new NotSupportedException();\r\n        Task IDiagnosticAnalyzerService.ForceAnalyzeAsync(Solution solution, Action<Project> onProjectAnalyzed, ProjectId? projectId, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetCachedDiagnosticsAsync(Workspace workspace, ProjectId? projectId, DocumentId? documentId, bool includeSuppressedDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsAsync(Solution solution, ProjectId? projectId, DocumentId? documentId, bool includeSuppressedDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsForIdsAsync(Solution solution, ProjectId? projectId, DocumentId? documentId, ImmutableHashSet<string>? diagnosticIds, Func<DiagnosticAnalyzer, bool>? shouldIncludeAnalyzer, bool includeSuppressedDiagnostics, bool includeLocalDocumentDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsForSpanAsync(TextDocument document, TextSpan? range, Func<string, bool>? shouldIncludeDiagnostic, bool includeCompilerDiagnostics, bool includeSuppressedDiagnostics, ICodeActionRequestPriorityProvider priorityProvider, Func<string, IDisposable?>? addOperationScope, DiagnosticKind diagnosticKind, bool isExplicit, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetProjectDiagnosticsForIdsAsync(Solution solution, ProjectId? projectId, ImmutableHashSet<string>? diagnosticIds, Func<DiagnosticAnalyzer, bool>? shouldIncludeAnalyzer, bool includeSuppressedDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetSpecificCachedDiagnosticsAsync(Workspace workspace, object id, bool includeSuppressedDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        void IDiagnosticAnalyzerService.Reanalyze(Workspace workspace, IEnumerable<ProjectId>? projectIds, IEnumerable<DocumentId>? documentIds, bool highPriority) => throw new NotSupportedException();\r\n        Task<(ImmutableArray<DiagnosticData> diagnostics, bool upToDate)> IDiagnosticAnalyzerService.TryGetDiagnosticsForSpanAsync(TextDocument document, TextSpan range, Func<string, bool>? shouldIncludeDiagnostic, bool includeSuppressedDiagnostics, ICodeActionRequestPriorityProvider priorityProvider, DiagnosticKind diagnosticKind, bool isExplicit, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn48/PublicAPI.Shipped.txt",
    "content": "#nullable enable"
  },
  {
    "path": "Internal.Roslyn48/PublicAPI.Unshipped.txt",
    "content": ""
  },
  {
    "path": "Internal.Roslyn48/SignatureHelpProviderWrapper.cs",
    "content": "using System.Linq;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Microsoft.CodeAnalysis;\nusing Microsoft.CodeAnalysis.SignatureHelp;\nusing MirrorSharp.Internal.Roslyn.Internals;\nusing SignatureHelpTriggerReason = Microsoft.CodeAnalysis.SignatureHelp.SignatureHelpTriggerReason;\n\nnamespace MirrorSharp.Internal.Roslyn48 {\n    internal class SignatureHelpProviderWrapper : ISignatureHelpProviderWrapper {\n        private readonly ISignatureHelpProvider _provider;\n\n        public SignatureHelpProviderWrapper(ISignatureHelpProvider provider) {\n            _provider = provider;\n        }\n\n        public async Task<SignatureHelpItemsData?> GetItemsAsync(Document document, int position, SignatureHelpTriggerInfoData triggerInfo, SignatureHelpOptionsData options, CancellationToken cancellationToken) {\n            // This is quite complicated to implement correctly and is still shifting around.\n            // For now we will only allow default options. There is no way to check if user\n            // intended something different, but that can be implemented later.\n            var mappedOptions = SignatureHelpOptions.Default;\n            var mappedTriggerInfo = new SignatureHelpTriggerInfo(\n                (SignatureHelpTriggerReason)(int)triggerInfo.TriggerReason,\n                triggerInfo.TriggerCharacter\n            );\n\n            var items = await _provider.GetItemsAsync(\n                document, position,\n                mappedTriggerInfo,\n                mappedOptions, cancellationToken\n            ).ConfigureAwait(false);\n\n            if (items == null)\n                return null;\n\n            return new SignatureHelpItemsData(\n                items.Items.Select(i => new SignatureHelpItemData(\n                    i.DocumentationFactory,\n                    prefixDisplayParts: i.PrefixDisplayParts,\n                    separatorDisplayParts: i.SeparatorDisplayParts,\n                    suffixDisplayParts: i.SuffixDisplayParts,\n                    parameters: i.Parameters.Select(p => new SignatureHelpParameterData(\n                        p.Name,\n                        p.DocumentationFactory,\n                        displayParts: p.DisplayParts,\n                        prefixDisplayParts: p.PrefixDisplayParts,\n                        suffixDisplayParts: p.SuffixDisplayParts\n                    )),\n                    i.Parameters.Length\n                )),\n                applicableSpan: items.ApplicableSpan,\n                argumentIndex: items.ArgumentIndex,\n                argumentCount: items.ArgumentCount,\n                selectedItemIndex: items.SelectedItemIndex\n            );\n        }\n\n        public bool IsRetriggerCharacter(char ch) => _provider.IsRetriggerCharacter(ch);\n        public bool IsTriggerCharacter(char ch) => _provider.IsTriggerCharacter(ch);\n    }\n}\n"
  },
  {
    "path": "Internal.Roslyn48/SignatureHelpProviderWrapperResolver.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing System.Composition;\nusing System.Linq;\nusing Microsoft.CodeAnalysis.Host.Mef;\nusing Microsoft.CodeAnalysis.Shared.Utilities;\nusing Microsoft.CodeAnalysis.SignatureHelp;\nusing MirrorSharp.Internal.Roslyn.Internals;\n\nnamespace MirrorSharp.Internal.Roslyn48 {\n    [Export(typeof(ISignatureHelpProviderWrapperResolver))]\n    internal class SignatureHelpProviderWrapperResolver : ISignatureHelpProviderWrapperResolver {\n        private readonly IList<Lazy<ISignatureHelpProvider, OrderableLanguageMetadata>> _allProviders;\n\n        [ImportingConstructor]\n        public SignatureHelpProviderWrapperResolver(\n            [ImportMany] IEnumerable<Lazy<ISignatureHelpProvider, OrderableLanguageMetadata>> allProviders\n        ) {\n            _allProviders = ExtensionOrderer.Order(allProviders);\n        }\n\n        public IEnumerable<ISignatureHelpProviderWrapper> GetAllSlow(string languageName) {\n            if (languageName == null)\n                throw new ArgumentNullException(nameof(languageName));\n\n            return _allProviders\n                .Where(l => l.Metadata.Language == languageName)\n                .Select(l => new SignatureHelpProviderWrapper(l.Value));\n        }\n    }\n}\n"
  },
  {
    "path": "Internal.Roslyn48/WorkspaceAnalyzerOptionsInternals.cs",
    "content": "using System.Composition;\nusing Microsoft.CodeAnalysis;\nusing Microsoft.CodeAnalysis.Diagnostics;\nusing MirrorSharp.Internal.Roslyn.Internals;\n\nnamespace MirrorSharp.Internal.Roslyn48 {\n    [Shared]\n    [Export(typeof(IWorkspaceAnalyzerOptionsInternals))]\n    internal class WorkspaceAnalyzerOptionsInternals : IWorkspaceAnalyzerOptionsInternals {\n        public AnalyzerOptions New(AnalyzerOptions options, Project project) {\n            Argument.NotNull(nameof(options), options);\n            Argument.NotNull(nameof(project), project);\n            return new WorkspaceAnalyzerOptions(\n                options, IdeAnalyzerOptions.GetDefault(project.Services)\n            );\n        }\n    }\n}\n"
  },
  {
    "path": "Internal.Roslyn48/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETStandard,Version=v2.0\": {\r\n      \"IgnoresAccessChecksToGenerator\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.5.0, )\",\r\n        \"resolved\": \"0.5.0\",\r\n        \"contentHash\": \"p0ZdbdGRAmRAhSm1HWZ4luy/RjLZlhGPmg9OWmVFYhrq526AtxmL5Pik7uZWf3Hr3PQRR8iTH+Kyf3eHyLAGCQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.8.0, )\",\r\n        \"resolved\": \"4.8.0\",\r\n        \"contentHash\": \"g5eTgZVyBr4k1zxvJeVrJ1nDvBHrDt7XX2Uo7UWRoF9GdzOv9od4WtOeL1/e86ifgwX/H7H1Vs5u2OCdv0HYpQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.8.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.8.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.8.0, )\",\r\n        \"resolved\": \"4.8.0\",\r\n        \"contentHash\": \"sCVzMtSETGE16KeScwwlVfxaKRbUMSf/cgRPRPMJuou37SLT7XkIBzJu4e7mlFTzpJbfalV5tOcKpUtLO3eJAg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.3.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.8.0]\",\r\n          \"Microsoft.CodeAnalysis.Elfie\": \"1.0.0\",\r\n          \"Microsoft.CodeAnalysis.Scripting.Common\": \"[4.8.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.8.0]\",\r\n          \"Microsoft.DiaSymReader\": \"2.0.0\",\r\n          \"System.Text.Json\": \"7.0.3\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.PublicApiAnalyzers\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.0, )\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"upaG6u/PxjkOj39Kk0DLmmA75acYChmv6/HnOUxvSgGWul53uPcVaPxBWCzkHDfIljyiq5qeIG+CatT8x8FAEA==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.8.0, )\",\r\n        \"resolved\": \"4.8.0\",\r\n        \"contentHash\": \"LXyV+MJKsKRu3FGJA3OmSk40OUIa/dQCFLOnm5X8MNcujx7hzGu8o+zjXlb/cy5xUdZK2UKYb9YaQ2E8m9QehQ==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"7.0.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.8.0]\",\r\n          \"System.Composition\": \"7.0.0\",\r\n          \"System.IO.Pipelines\": \"7.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.0.3, )\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Text.Json\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[9.0.0, )\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"js7+qAu/9mQvnhA4EfGMZNEzXtJCDxgkgj8ohuxq/Qxv+R56G+ljefhiJHOxTNiw54q8vmABCWUwkMulNdlZ4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"9.0.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.IO.Pipelines\": \"9.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encodings.Web\": \"9.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Humanizer.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.14.1\",\r\n        \"contentHash\": \"lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==\"\r\n      },\r\n      \"Microsoft.Bcl.AsyncInterfaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"owmu2Cr3IQ8yQiBleBHlGk8dSQ12oaF2e7TpzwJKEl4m84kkZJjEY1n33L67Y3zM5jPOjmmbdHjbfiL0RqcMRQ==\",\r\n        \"dependencies\": {\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.4\",\r\n        \"contentHash\": \"AxkxcPR+rheX0SmvpLVIGLhOUXAKG56a64kV9VQZ4y9gR9ZmPXnqZvHJnmwLSwzrEP6junUF11vuc+aqo5r68g==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.AnalyzerUtilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"gyQ70pJ4T7hu/s0+QnEaXtYfeG/JrttGnxHJlrhpxsQjRIUGuRhVwNBtkHHYOrUAZ/l47L98/NiJX6QmTwAyrg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.8.0\",\r\n        \"contentHash\": \"/jR+e/9aT+BApoQJABlVCKnnggGQbvGh7BKq2/wI1LamxC+LbzhcLj4Vj7gXCofl1n4E521YfF9w0WcASGg/KA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Reflection.Metadata\": \"7.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.8.0\",\r\n        \"contentHash\": \"+3+qfdb/aaGD8PZRCrsdobbzGs1m9u119SkkJt8e/mk3xLJz/udLtS2T6nY27OTXxBBw10HzAbC8Z9w08VyP/g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.8.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.8.0\",\r\n        \"contentHash\": \"3amm4tq4Lo8/BGvg9p3BJh3S9nKq2wqCXfS7138i69TUpo/bD+XvD0hNurpEBtcNZhi1FyutiomKJqVF39ugYA==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.8.0]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.8.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.8.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Elfie\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.0\",\r\n        \"contentHash\": \"r12elUp4MRjdnRfxEP+xqVSUUfG3yIJTBEJGwbfvF5oU4m0jb9HC0gFG28V/dAkYGMkRmHVi3qvrnBLQSw9X3Q==\",\r\n        \"dependencies\": {\r\n          \"System.Configuration.ConfigurationManager\": \"4.5.0\",\r\n          \"System.Data.DataSetExtensions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Scripting.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.8.0\",\r\n        \"contentHash\": \"ysiNNbAASVhV9wEd5oY2x99EwaVYtB13XZRjHsgWT/R1mQkxZF8jWsf7JWaZxD1+jNoz1QCQ6nbe+vr+6QvlFA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.8.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.8.0\",\r\n        \"contentHash\": \"kfHPh/etcWypMDYfHxgfitgJMhi986OFCICb76RPcA1Toordf6bBYEJytWr2L5CNdkXFWuw5qTkrlsktBav4VA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.8.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.8.0\",\r\n        \"contentHash\": \"4fNpQX8LRV0ZCfB6+rr9s61zdhNpN6Bgow/kmvsO2Gm5KtzbOUPijbUZex26wJwRHyW+ZYoatTRd449A7+D3Wg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.8.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[4.8.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.8.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.0\",\r\n        \"contentHash\": \"QcZrCETsBJqy/vQpFtJc+jSXQ0K5sucQ6NUFbTNVHD4vfZZOwjZ/3sBzczkC4DityhD3AVO/+K/+9ioLs1AgRA==\"\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==\"\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"dQPcs0U1IKnBdRDBkrCTi1FoajSTBzLcVTpjO4MBCMC7f4pDOIPzgBoX8JjG7X6uZRJ8EBxsi8+DR1JuwjnzOQ==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"tRwgcAkDd85O8Aq6zHDANzQaq380cek9lbMg5Qma46u5BZXq/G+XvIYmu+UI+BIIZ9zssXLYrkTykEqxxvhcmg==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"7.0.0\",\r\n          \"System.Composition.Convention\": \"7.0.0\",\r\n          \"System.Composition.Hosting\": \"7.0.0\",\r\n          \"System.Composition.Runtime\": \"7.0.0\",\r\n          \"System.Composition.TypedParts\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"2QzClqjElKxgI1jK1Jztnq44/8DmSuTSGGahXqQ4TdEV0h9s2KikQZIgcEqVzR7OuWDFPGLHIprBJGQEPr8fAQ==\"\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"IMhTlpCs4HmlD8B+J8/kWfwX7vrBBOs6xyjSTzBlYSs7W4OET4tlkR/Sg9NG8jkdJH9Mymq0qGdYS1VPqRTBnQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"eB6gwN9S+54jCTBJ5bpwMOVerKeUfGGTYCzz3QgDr1P55Gg/Wb27ShfPIhLMjmZ3MoAKu8uUSv6fcCdYJTN7Bg==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.Runtime\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"aZJ1Zr5Txe925rbo4742XifEyW0MIni1eiUebmcrP3HwLXZ3IbXUj4MFMUH/RmnJOAQiS401leg/2Sz1MkApDw==\"\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"ZK0KNPfbtxVceTwh+oHNGUOYV2WNOHReX2AXipuvkURC7s/jPwoWfsu3SnDBDgofqbiWr96geofdQ2erm/KTHg==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"7.0.0\",\r\n          \"System.Composition.Hosting\": \"7.0.0\",\r\n          \"System.Composition.Runtime\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"System.Configuration.ConfigurationManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"UIFvaFfuKhLr9u5tWMxmVoDPkFeD+Qv8gUuap4aZgVGYSYMdERck4OhLN/2gulAc0nYTEigWXSJNNWshrmxnng==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.ProtectedData\": \"4.5.0\",\r\n          \"System.Security.Permissions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Data.DataSetExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"221clPs1445HkTBZPL+K9sDBdJRB8UN8rgjO3ztB0CQ26z//fmJXtlsr6whGatscsKGBrhJl5bwJuKSA8mwFOw==\"\r\n      },\r\n      \"System.IO.Pipelines\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"eA3cinogwaNB4jdjQHOP3Z3EuyiDII7MT35jgtnsA4vkn0LUrrSHsU0nzHTzFzmaFYeKV7MYyMxOocFzsBHpTw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Numerics.Vectors\": \"4.4.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"System.Numerics.Vectors\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"UiLzLW+Lw6HLed1Hcg+8jSRttrbuXv7DANVj0DkL9g6EnnzbL75EB7EWsw5uRbhxd/4YdG8li5XizGWepmG3PQ==\"\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"MclTG61lsD9sYdpNz9xsKBzjsmsfCtcMZYXz/IUr2zlhaTaABonlr1ESeompTgM+Xk+IwtGYU7/voh3YWB/fWw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Memory\": \"4.5.5\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==\"\r\n      },\r\n      \"System.Security.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"vW8Eoq0TMyz5vAG/6ce483x/CP83fgm4SJe5P8Tb1tZaobcvPrbMEL7rhH1DRdrYbbb6F0vq3OlzmK0Pkwks5A==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Principal.Windows\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.ProtectedData\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Security.Permissions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"9gdyuARhUR7H+p5CjyUB/zPk7/Xut3wUSP8NJQB6iZr8L3XUXTMdoLeVAg9N4rqF8oIpE7MpdqHdDHQ7XgJe0g==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Security.Principal.Windows\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"U77HfRXlZlOeIXd//Yoj6Jnk8AXlbeisf1oq1os+hxOGVnuG+lGSfGqTwTZBoORFF6j/0q7HXIl8cqwQ9aUGqQ==\"\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"LSyCblMpvOe0N3E+8e0skHcrIhgV2huaNcjUUEa8hRtgEAm36aGkRoC8Jxlb6Ra6GSfF29ftduPNywin8XolzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encodings.Web\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"e2hMgAErLbKyUUwt18qSBf9T5Y+SFAL3ZedM8fLupkVj8Rj2PZ9oxQ37XX2LF8fTO1wNIxvKpihD7Of7D/NxZw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Channels\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"qmeeYNROMsONF6ndEZcIQ+VxR4Q/TX/7uIVLJqtwIWL7dDWeh0l1UIqgo4wYyjG//5lUNhwkLDSFl+pAWO6oiA==\",\r\n        \"dependencies\": {\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.4\",\r\n        \"contentHash\": \"zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Internal.Roslyn49/CodeActionInternals.cs",
    "content": "using System.Collections.Immutable;\r\nusing System.Composition;\r\nusing Microsoft.CodeAnalysis.CodeActions;\r\nusing MirrorSharp.Internal.Roslyn.Internals;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn49 {\r\n    [Shared]\r\n    [Export(typeof(ICodeActionInternals))]\r\n    internal class CodeActionInternals : ICodeActionInternals {\r\n        public bool IsInlinable(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return action.IsInlinable;\r\n        }\r\n\r\n        public Roslyn.Internals.CodeActionPriority GetPriority(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return (Roslyn.Internals.CodeActionPriority)(int)action.Priority;\r\n        }\r\n\r\n        public ImmutableArray<CodeAction> GetNestedCodeActions(CodeAction action) {\r\n            Argument.NotNull(nameof(action), action);\r\n            return action.NestedCodeActions;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn49/Internal.Roslyn49.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <AssemblyName>MirrorSharp.Internal.Roslyn49</AssemblyName>\n    <RootNamespace>MirrorSharp.Internal.Roslyn49</RootNamespace>\n    <IsPackable>false</IsPackable>\n  </PropertyGroup>\n\n  <PropertyGroup>\n    <InternalsAssemblyNames>Microsoft.CodeAnalysis.Features;Microsoft.CodeAnalysis.Workspaces</InternalsAssemblyNames>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"IgnoresAccessChecksToGenerator\" Version=\"0.5.0\" PrivateAssets=\"All\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis\" Version=\"4.9.2\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Features\" Version=\"4.9.2\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Workspaces.Common\" Version=\"4.9.2\" />\n    <!-- Avoids vulnerability in version referenced by Microsoft.CodeAnalysis.Features -->\n    <PackageReference Include=\"System.Text.Json\" Version=\"9.0.0\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\Internal.RoslynInternals\\Internal.RoslynInternals.csproj\" />\n  </ItemGroup>\n</Project>\n"
  },
  {
    "path": "Internal.Roslyn49/MirrorSharpDiagnosticAnalyzerService.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.Immutable;\r\nusing System.Composition;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.CodeActions;\r\nusing Microsoft.CodeAnalysis.Diagnostics;\r\nusing Microsoft.CodeAnalysis.Options;\r\nusing Microsoft.CodeAnalysis.Text;\r\n\r\nnamespace MirrorSharp.Internal.Roslyn49 {\r\n    [Shared]\r\n    [Export(typeof(IDiagnosticAnalyzerService))]\r\n    internal class MirrorSharpDiagnosticAnalyzerService : IDiagnosticAnalyzerService {\r\n        DiagnosticAnalyzerInfoCache IDiagnosticAnalyzerService.AnalyzerInfoCache { get; } = new();\r\n        IGlobalOptionService IDiagnosticAnalyzerService.GlobalOptions => throw new NotSupportedException();\r\n        Task IDiagnosticAnalyzerService.ForceAnalyzeProjectAsync(Project project, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetCachedDiagnosticsAsync(Workspace workspace, ProjectId? projectId, DocumentId? documentId, bool includeSuppressedDiagnostics, bool includeLocalDocumentDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsAsync(Solution solution, ProjectId? projectId, DocumentId? documentId, bool includeSuppressedDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsForIdsAsync(Solution solution, ProjectId? projectId, DocumentId? documentId, ImmutableHashSet<string>? diagnosticIds, Func<DiagnosticAnalyzer, bool>? shouldIncludeAnalyzer, bool includeSuppressedDiagnostics, bool includeLocalDocumentDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetDiagnosticsForSpanAsync(TextDocument document, TextSpan? range, Func<string, bool>? shouldIncludeDiagnostic, bool includeCompilerDiagnostics, bool includeSuppressedDiagnostics, ICodeActionRequestPriorityProvider priorityProvider, Func<string, IDisposable?>? addOperationScope, DiagnosticKind diagnosticKind, bool isExplicit, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetProjectDiagnosticsForIdsAsync(Solution solution, ProjectId? projectId, ImmutableHashSet<string>? diagnosticIds, Func<DiagnosticAnalyzer, bool>? shouldIncludeAnalyzer, bool includeSuppressedDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        Task<ImmutableArray<DiagnosticData>> IDiagnosticAnalyzerService.GetSpecificCachedDiagnosticsAsync(Workspace workspace, object id, bool includeSuppressedDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n        void IDiagnosticAnalyzerService.Reanalyze(Workspace workspace, IEnumerable<ProjectId>? projectIds, IEnumerable<DocumentId>? documentIds, bool highPriority) => throw new NotSupportedException();\r\n        Task<(ImmutableArray<DiagnosticData> diagnostics, bool upToDate)> IDiagnosticAnalyzerService.TryGetDiagnosticsForSpanAsync(TextDocument document, TextSpan range, Func<string, bool>? shouldIncludeDiagnostic, bool includeSuppressedDiagnostics, ICodeActionRequestPriorityProvider priorityProvider, DiagnosticKind diagnosticKind, bool isExplicit, CancellationToken cancellationToken) => throw new NotSupportedException();\r\n    }\r\n}\r\n"
  },
  {
    "path": "Internal.Roslyn49/PublicAPI.Shipped.txt",
    "content": "#nullable enable"
  },
  {
    "path": "Internal.Roslyn49/PublicAPI.Unshipped.txt",
    "content": ""
  },
  {
    "path": "Internal.Roslyn49/SignatureHelpProviderWrapper.cs",
    "content": "using System.Linq;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Microsoft.CodeAnalysis;\nusing Microsoft.CodeAnalysis.SignatureHelp;\nusing MirrorSharp.Internal.Roslyn.Internals;\nusing SignatureHelpTriggerReason = Microsoft.CodeAnalysis.SignatureHelp.SignatureHelpTriggerReason;\n\nnamespace MirrorSharp.Internal.Roslyn49 {\n    internal class SignatureHelpProviderWrapper : ISignatureHelpProviderWrapper {\n        private readonly ISignatureHelpProvider _provider;\n\n        public SignatureHelpProviderWrapper(ISignatureHelpProvider provider) {\n            _provider = provider;\n        }\n\n        public async Task<SignatureHelpItemsData?> GetItemsAsync(Document document, int position, SignatureHelpTriggerInfoData triggerInfo, SignatureHelpOptionsData options, CancellationToken cancellationToken) {\n            // This is quite complicated to implement correctly and is still shifting around.\n            // For now we will only allow default options. There is no way to check if user\n            // intended something different, but that can be implemented later.\n            var mappedOptions = SignatureHelpOptions.Default;\n            var mappedTriggerInfo = new SignatureHelpTriggerInfo(\n                (SignatureHelpTriggerReason)(int)triggerInfo.TriggerReason,\n                triggerInfo.TriggerCharacter\n            );\n\n            var items = await _provider.GetItemsAsync(\n                document, position,\n                mappedTriggerInfo,\n                mappedOptions, cancellationToken\n            ).ConfigureAwait(false);\n\n            if (items == null)\n                return null;\n\n            return new SignatureHelpItemsData(\n                items.Items.Select(i => new SignatureHelpItemData(\n                    i.DocumentationFactory,\n                    prefixDisplayParts: i.PrefixDisplayParts,\n                    separatorDisplayParts: i.SeparatorDisplayParts,\n                    suffixDisplayParts: i.SuffixDisplayParts,\n                    parameters: i.Parameters.Select(p => new SignatureHelpParameterData(\n                        p.Name,\n                        p.DocumentationFactory,\n                        displayParts: p.DisplayParts,\n                        prefixDisplayParts: p.PrefixDisplayParts,\n                        suffixDisplayParts: p.SuffixDisplayParts\n                    )),\n                    i.Parameters.Length\n                )),\n                applicableSpan: items.ApplicableSpan,\n                argumentIndex: items.ArgumentIndex,\n                argumentCount: items.ArgumentCount,\n                selectedItemIndex: items.SelectedItemIndex\n            );\n        }\n\n        public bool IsRetriggerCharacter(char ch) => _provider.IsRetriggerCharacter(ch);\n        public bool IsTriggerCharacter(char ch) => _provider.IsTriggerCharacter(ch);\n    }\n}\n"
  },
  {
    "path": "Internal.Roslyn49/SignatureHelpProviderWrapperResolver.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing System.Composition;\nusing System.Linq;\nusing Microsoft.CodeAnalysis.Host.Mef;\nusing Microsoft.CodeAnalysis.Shared.Utilities;\nusing Microsoft.CodeAnalysis.SignatureHelp;\nusing MirrorSharp.Internal.Roslyn.Internals;\n\nnamespace MirrorSharp.Internal.Roslyn49 {\n    [Export(typeof(ISignatureHelpProviderWrapperResolver))]\n    internal class SignatureHelpProviderWrapperResolver : ISignatureHelpProviderWrapperResolver {\n        private readonly IList<Lazy<ISignatureHelpProvider, OrderableLanguageMetadata>> _allProviders;\n\n        [ImportingConstructor]\n        public SignatureHelpProviderWrapperResolver(\n            [ImportMany] IEnumerable<Lazy<ISignatureHelpProvider, OrderableLanguageMetadata>> allProviders\n        ) {\n            _allProviders = ExtensionOrderer.Order(allProviders);\n        }\n\n        public IEnumerable<ISignatureHelpProviderWrapper> GetAllSlow(string languageName) {\n            if (languageName == null)\n                throw new ArgumentNullException(nameof(languageName));\n\n            return _allProviders\n                .Where(l => l.Metadata.Language == languageName)\n                .Select(l => new SignatureHelpProviderWrapper(l.Value));\n        }\n    }\n}\n"
  },
  {
    "path": "Internal.Roslyn49/WorkspaceAnalyzerOptionsInternals.cs",
    "content": "using System.Composition;\nusing Microsoft.CodeAnalysis;\nusing Microsoft.CodeAnalysis.Diagnostics;\nusing MirrorSharp.Internal.Roslyn.Internals;\n\nnamespace MirrorSharp.Internal.Roslyn49 {\n    [Shared]\n    [Export(typeof(IWorkspaceAnalyzerOptionsInternals))]\n    internal class WorkspaceAnalyzerOptionsInternals : IWorkspaceAnalyzerOptionsInternals {\n        public AnalyzerOptions New(AnalyzerOptions options, Project project) {\n            Argument.NotNull(nameof(options), options);\n            Argument.NotNull(nameof(project), project);\n            return new WorkspaceAnalyzerOptions(\n                options, IdeAnalyzerOptions.GetDefault(project.Services)\n            );\n        }\n    }\n}\n"
  },
  {
    "path": "Internal.Roslyn49/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETStandard,Version=v2.0\": {\r\n      \"IgnoresAccessChecksToGenerator\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.5.0, )\",\r\n        \"resolved\": \"0.5.0\",\r\n        \"contentHash\": \"p0ZdbdGRAmRAhSm1HWZ4luy/RjLZlhGPmg9OWmVFYhrq526AtxmL5Pik7uZWf3Hr3PQRR8iTH+Kyf3eHyLAGCQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.9.2, )\",\r\n        \"resolved\": \"4.9.2\",\r\n        \"contentHash\": \"J2r/KAYUifHSGjYJmG30ozSJI9akYp04rj9NQW5maiUrtywJ/edtFeWChTNdGl3l+FqdryPBeqg4k33XgxxitA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.9.2]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.9.2]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.9.2, )\",\r\n        \"resolved\": \"4.9.2\",\r\n        \"contentHash\": \"6Pd4zVKeOmXD3Bas0wZN6+HN+xarIVkGgQSoaCD4wotvIkV/v1VQgmLvqKBwcUtFilh6b0Uxt0Wpqbcg3xdk8A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.3.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.9.2]\",\r\n          \"Microsoft.CodeAnalysis.Elfie\": \"1.0.0\",\r\n          \"Microsoft.CodeAnalysis.Scripting.Common\": \"[4.9.2]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.9.2]\",\r\n          \"Microsoft.DiaSymReader\": \"2.0.0\",\r\n          \"System.Text.Json\": \"8.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.PublicApiAnalyzers\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.0, )\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"upaG6u/PxjkOj39Kk0DLmmA75acYChmv6/HnOUxvSgGWul53uPcVaPxBWCzkHDfIljyiq5qeIG+CatT8x8FAEA==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.9.2, )\",\r\n        \"resolved\": \"4.9.2\",\r\n        \"contentHash\": \"sgBlkBjKwUdpbtwM7SnBdOxvQxuaTtO9F8QgvKY5cH/OnlwDTZqmkK8hfDbhxv9wnN2wME10BL2vIv1fLJwFGA==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"8.0.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.9.2]\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Threading.Channels\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.0.3, )\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Text.Json\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[9.0.0, )\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"js7+qAu/9mQvnhA4EfGMZNEzXtJCDxgkgj8ohuxq/Qxv+R56G+ljefhiJHOxTNiw54q8vmABCWUwkMulNdlZ4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"9.0.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.IO.Pipelines\": \"9.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encodings.Web\": \"9.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Humanizer.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.14.1\",\r\n        \"contentHash\": \"lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==\"\r\n      },\r\n      \"Microsoft.Bcl.AsyncInterfaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"owmu2Cr3IQ8yQiBleBHlGk8dSQ12oaF2e7TpzwJKEl4m84kkZJjEY1n33L67Y3zM5jPOjmmbdHjbfiL0RqcMRQ==\",\r\n        \"dependencies\": {\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.4\",\r\n        \"contentHash\": \"AxkxcPR+rheX0SmvpLVIGLhOUXAKG56a64kV9VQZ4y9gR9ZmPXnqZvHJnmwLSwzrEP6junUF11vuc+aqo5r68g==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.AnalyzerUtilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"gyQ70pJ4T7hu/s0+QnEaXtYfeG/JrttGnxHJlrhpxsQjRIUGuRhVwNBtkHHYOrUAZ/l47L98/NiJX6QmTwAyrg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.9.2\",\r\n        \"contentHash\": \"M5PThug7b2AdxL7xKmQs50KzAQTl9jENw5jMT3iUt16k+DAFlw1S87juU3UuPs3gvBm8trMBSOEvSFDr31c9Vw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"8.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.9.2\",\r\n        \"contentHash\": \"HGIo7E9Mf3exAJbUdYpDFfLoYkSVaHDJXPyusWTYUTBaOPCowGw+Gap5McE1w+K+ryIXre72oiqL88sQHmHBmg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.9.2]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.9.2\",\r\n        \"contentHash\": \"c74oxEil3fiZ3nXchnIgY6mXS4roHGiQBT6p3X6dMWokVqluHiqi3PNcXyxH8N/w28rQeXprF3mca83rPPNrMw==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.9.2]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.9.2]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.9.2]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Elfie\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.0\",\r\n        \"contentHash\": \"r12elUp4MRjdnRfxEP+xqVSUUfG3yIJTBEJGwbfvF5oU4m0jb9HC0gFG28V/dAkYGMkRmHVi3qvrnBLQSw9X3Q==\",\r\n        \"dependencies\": {\r\n          \"System.Configuration.ConfigurationManager\": \"4.5.0\",\r\n          \"System.Data.DataSetExtensions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Scripting.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.9.2\",\r\n        \"contentHash\": \"h06oBYNt+WxCVsXk+k68Zzs5dzkUwDNbXwJ/rMTbyPKem9C3Hr+cydfQK9ibCvofvGheATTdCE6KGSVjK3jxJQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.9.2]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.9.2\",\r\n        \"contentHash\": \"7Yt2bP7XwAQP2Y3GLyEMrVSAhYiFCjQbtegjL1ac0aHRosZ5YZ2Ruk6p3YAXJLuZ4kH1RtasQq2l4QDtql4AvQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.9.2]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.9.2\",\r\n        \"contentHash\": \"ZY3rNE9jNKdOiwjgZdZIenDItjNVVI5PSCyeMEBF8pZ2v0V9poOAQWlBxlsWGrQyqGFdi0zn/PUyQ6xo+RZS/g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.9.2]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[4.9.2]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.9.2]\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.0\",\r\n        \"contentHash\": \"QcZrCETsBJqy/vQpFtJc+jSXQ0K5sucQ6NUFbTNVHD4vfZZOwjZ/3sBzczkC4DityhD3AVO/+K/+9ioLs1AgRA==\"\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==\"\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"E9oO9olNNxA39J8CxQwf7ceIPm+j/B/PhYpyK9M4LhN/OLLRw6u5fNInkhVqaWueMB9iXxYqnwqwgz+W91loIA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"8.0.0\",\r\n          \"System.Composition.Convention\": \"8.0.0\",\r\n          \"System.Composition.Hosting\": \"8.0.0\",\r\n          \"System.Composition.Runtime\": \"8.0.0\",\r\n          \"System.Composition.TypedParts\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"NyElSuvmBMYdn2iPG0n29i7Igu0bq99izOP3MAtEwskY3OP9jqsavvVmPn9lesVaj/KT/o/QkNjA43dOJTsDQw==\"\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"UuVkc1B3vQU/LzEbWLMZ1aYVssv4rpShzf8wPEyrUqoGNqdYKREmB8bXR73heOMKkwS6ZnPz3PjGODT2MenukQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"qwbONqoxlazxcbiohvb3t1JWZgKIKcRdXS5uEeLbo5wtuBupIbAvdC3PYTAeBCZrZeERvrtAbhYHuuS43Zr1bQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.Runtime\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"G+kRyB5/6+3ucRRQz+DF4uSHGqpkK8Q4ilVdbt4zvxpmvLVZNmSkyFAQpJLcbOyVF85aomJx0m+TGMDVlwx7ZQ==\"\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"DsSklhuA+Dsgo3ZZrar8hjBFvq1wa1grrkNCTt+6SoX3vq0Vy+HXJnVXrU/nNH1BjlGH684A7h4hJQHZd/u5mA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"8.0.0\",\r\n          \"System.Composition.Hosting\": \"8.0.0\",\r\n          \"System.Composition.Runtime\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Configuration.ConfigurationManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"UIFvaFfuKhLr9u5tWMxmVoDPkFeD+Qv8gUuap4aZgVGYSYMdERck4OhLN/2gulAc0nYTEigWXSJNNWshrmxnng==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.ProtectedData\": \"4.5.0\",\r\n          \"System.Security.Permissions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Data.DataSetExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"221clPs1445HkTBZPL+K9sDBdJRB8UN8rgjO3ztB0CQ26z//fmJXtlsr6whGatscsKGBrhJl5bwJuKSA8mwFOw==\"\r\n      },\r\n      \"System.IO.Pipelines\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"eA3cinogwaNB4jdjQHOP3Z3EuyiDII7MT35jgtnsA4vkn0LUrrSHsU0nzHTzFzmaFYeKV7MYyMxOocFzsBHpTw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Numerics.Vectors\": \"4.4.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"System.Numerics.Vectors\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"UiLzLW+Lw6HLed1Hcg+8jSRttrbuXv7DANVj0DkL9g6EnnzbL75EB7EWsw5uRbhxd/4YdG8li5XizGWepmG3PQ==\"\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"ptvgrFh7PvWI8bcVqG5rsA/weWM09EnthFHR5SCnS6IN+P4mj6rE1lBDC4U8HL9/57htKAqy4KQ3bBj84cfYyQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==\"\r\n      },\r\n      \"System.Security.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"vW8Eoq0TMyz5vAG/6ce483x/CP83fgm4SJe5P8Tb1tZaobcvPrbMEL7rhH1DRdrYbbb6F0vq3OlzmK0Pkwks5A==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Principal.Windows\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.ProtectedData\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Security.Permissions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"9gdyuARhUR7H+p5CjyUB/zPk7/Xut3wUSP8NJQB6iZr8L3XUXTMdoLeVAg9N4rqF8oIpE7MpdqHdDHQ7XgJe0g==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"System.Security.Principal.Windows\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"U77HfRXlZlOeIXd//Yoj6Jnk8AXlbeisf1oq1os+hxOGVnuG+lGSfGqTwTZBoORFF6j/0q7HXIl8cqwQ9aUGqQ==\"\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"OZIsVplFGaVY90G2SbpgU7EnCoOO5pw1t4ic21dBF3/1omrJFpAGoNAVpPyMVOC90/hvgkGG3VFqR13YgZMQfg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encodings.Web\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"e2hMgAErLbKyUUwt18qSBf9T5Y+SFAL3ZedM8fLupkVj8Rj2PZ9oxQ37XX2LF8fTO1wNIxvKpihD7Of7D/NxZw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Channels\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"CMaFr7v+57RW7uZfZkPExsPB6ljwzhjACWW1gfU35Y56rk72B/Wu+sTqxVmGSk4SFUlPc3cjeKND0zktziyjBA==\",\r\n        \"dependencies\": {\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.4\",\r\n        \"contentHash\": \"zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Internal.RoslynInternals/Internal.RoslynInternals.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\r\n  <PropertyGroup>\r\n    <TargetFramework>netstandard2.0</TargetFramework>\r\n    <!--\r\n      It would be great to reference MirrorSharp.Common directly in the\r\n      Internal.Roslyn* ones, however we want the reverse reference as\r\n      well - and this avoids a dependency loop when building.\r\n\r\n      This assembly is not used at runtime - MirrorSharp.Common is.\r\n    -->\r\n    <AssemblyName>MirrorSharp.Common</AssemblyName>\r\n    <RootNamespace>MirrorSharp.Internal.Roslyn.Internals</RootNamespace>\r\n    <IsPackable>false</IsPackable>\r\n  </PropertyGroup>\r\n\r\n  <ItemGroup>\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis\" Version=\"3.3.1\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Features\" Version=\"3.3.1\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <Compile Include=\"../Common/Properties/AssemblyInfo.cs\" Link=\"Properties/AssemblyInfo.cs\" />\r\n    <Compile Include=\"../Common/Internal/Argument.cs\" />\r\n    <Compile Include=\"../Common/Internal/Roslyn/Internals/**/*.cs\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <_RoslynInternalsProject Include=\"../Internal.Roslyn*/*.csproj\" Exclude=\"Internal.RoslynInternals.csproj\" />\r\n    <InternalsVisibleTo Include=\"@(_RoslynInternalsProject->'MirrorSharp.%(Filename)')\" />\r\n  </ItemGroup>\r\n</Project>\r\n"
  },
  {
    "path": "Internal.RoslynInternals/PublicAPI.Shipped.txt",
    "content": "#nullable enable"
  },
  {
    "path": "Internal.RoslynInternals/PublicAPI.Unshipped.txt",
    "content": ""
  },
  {
    "path": "Internal.RoslynInternals/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETStandard,Version=v2.0\": {\r\n      \"Microsoft.CodeAnalysis\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.1, )\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"BoPeZD+BFE5x/qu28RnelX7hoCnPDbOZkwymrUnslrZjzj8B155gP/GjrI6m66oUOk2Yh1lxlUs+BRFZOPMBnQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.1, )\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"lvMC69ABN/YEaw3ke4cQRqBYZ2V7DJTOT8QXIeAJGJUfwVHTBN0iq2O5zZQrYnnUN2wmeCzCoAg59PKBosVO7g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": \"2.9.5\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\",\r\n          \"Microsoft.DiaSymReader\": \"1.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.PublicApiAnalyzers\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.0, )\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"upaG6u/PxjkOj39Kk0DLmmA75acYChmv6/HnOUxvSgGWul53uPcVaPxBWCzkHDfIljyiq5qeIG+CatT8x8FAEA==\"\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.0.3, )\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.4\",\r\n        \"contentHash\": \"alIJhS0VUg/7x5AsHEoovh/wRZ0RfCSS7k5pDSqpRLTyuMTtRgj6OJJPRApRhJHOGYYsLakf1hKeXFoDwKwNkg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"N5yQdGy+M4kimVG7hwCeGTCfgYjK2o5b/Shumkb/rCC+/SAkvP1HUAYK+vxPFS7dLJNtXLRsmPHKj3fnyNWnrw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"2.9.4\",\r\n          \"System.Collections.Immutable\": \"1.5.0\",\r\n          \"System.Memory\": \"4.5.3\",\r\n          \"System.Reflection.Metadata\": \"1.6.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\",\r\n          \"System.Text.Encoding.CodePages\": \"4.5.1\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"WDUIhTHem38H6VJ98x2Ssq0fweakJHnHYl7vbG8ARnsAwLoJKCQCy78EeY1oRrCKG42j0v6JVljKkeqSDA28UA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"dHs/UyfLgzsVC4FjTi/x+H+yQifgOnpe3rSN8GwkHWjnidePZ3kSqr1JHmFDf5HTQEydYwrwCAfQ0JSzhsEqDA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.5\",\r\n        \"contentHash\": \"SqwdTocsxU7u0Y8am67BY7KSLAhrtDXdBBwt0Nv9TxLVzPBPtPPFS2bHUsxucpOBMBmc10rWE1eJ+IDrr/0/nQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"F7fc/G+0ocOYkKSCJ7Y8Q7eAEkAdG5RYODI9FtSl2Hm8zIDBVA3NccCm98gaOvCamLfMHYqeOjpb3yJnnw3m/w==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"Oi4AUxMKAYpx7nHNh7jUO8X18JFCzwtIfu/yDzGzOBpo50591AF7EEdv99geAEidGtmJqbzQ6uRk5dEOL+7F/Q==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"NfBz3b5hFSbO+7xsCNryD+p8axsIJFTG7qM3jvMTC/MqYrU6b8E1b6JoRj5rJSOBB+pSunk+CMqyGQTOWHeDUg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"System.Composition\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.3.0\",\r\n        \"contentHash\": \"/fn1Tfo7j7k/slViPlM8azJuxQmri7FZ8dQ+gTeLbI29leN/1VK0U/BFcRdJNctsRCUgyKJ2q+I0Tjq07Rc1/Q==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==\"\r\n      },\r\n      \"Microsoft.NETCore.Targets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==\"\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"AwarXzzoDwX6BgrhjoJsk6tUezZEozOT5Y9QKF94Gl4JK91I4PIIBkBco9068Y9/Dra8Dkbie99kXB8+1BaYKw==\"\r\n      },\r\n      \"System.Collections\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.5.0\",\r\n        \"contentHash\": \"EXKiDFsChZW0RjrZ4FYHu9aW6+P4MCgEDCklsVseRfhoO0F+dXeMSsMRAlVXIo06kGJ/zv+2w1a2uc2+kxxSaQ==\"\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"I+D26qpYdoklyAVUdqwUBrEIckMNjAYnuPJy/h9dsQItpQwVREkDFs4b4tkBza0kT2Yk48Lcfsv2QQ9hWsh9Iw==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Convention\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Composition.TypedParts\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"NHWhkM3ZkspmA0XJEsKdtTt1ViDYuojgSND3yHhTzwxepiwqZf+BCWuvCbjUt4fe0NxxQhUDGJ5km6sLjo9qnQ==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"GLjh2Ju71k6C0qxMMtl4efHa68NmWeIUYh4fkUI8xbjQrEBvFmRwMDFcylT8/PR9SQbeeL48IkFxU/+gd0nYEQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"fN1bT4RX4vUqjbgoyuJFVUizAl2mYF5VAb+bVIxIYZSSc0BdnX+yGAxcavxJuDDCQ1K+/mdpgyEFc8e9ikjvrg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0LEJN+2NVM89CE4SekDrrk5tHV5LeATltkp+9WNYrR+Huiyt0vaCqHbbHtVAjPyeLWIc8dOz/3kthRBj32wGQg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0Zae/FtzeFgDBBuILeIbC/T9HMYbW4olAmi8XqqAGosSOWvXfiQLfARZEhiGd0LVXaYgXr0NhxiU1LldRP1fpQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Debug\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq.Expressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.3\",\r\n        \"contentHash\": \"3oDzvc/zzetpTKWMShs1AADwZjQ/36HnsufHRPcOjyRAAMLDlu2iD33MBI2opxnezcVUtXyqDXXjoFMOU9c7SA==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.4.0\",\r\n          \"System.Numerics.Vectors\": \"4.4.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      },\r\n      \"System.Numerics.Vectors\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"UiLzLW+Lw6HLed1Hcg+8jSRttrbuXv7DANVj0DkL9g6EnnzbL75EB7EWsw5uRbhxd/4YdG8li5XizGWepmG3PQ==\"\r\n      },\r\n      \"System.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.ILGeneration\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.Lightweight\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.0\",\r\n        \"contentHash\": \"COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"1.5.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.TypeExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Resources.ResourceManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.2\",\r\n        \"contentHash\": \"wprSFgext8cwqymChhrBLu62LMg/1u92bU+VOwyfBimSPVFXtsNqEWC92Pf9ofzJFlk4IHmJA75EDJn1b2goAQ==\"\r\n      },\r\n      \"System.Runtime.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"4J2JQXbftjPMppIHJ7IC+VXQ9XfEagN92vZZNoG12i+zReYlim5dMoXFC1Zzg7tsnKDM7JPo5bYfFK4Jheq44w==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      },\r\n      \"System.Threading\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.3\",\r\n        \"contentHash\": \"+MvhNtcvIbqmhANyKu91jQnvIRVSTiaOiFNfKWwXGHG48YAb4I/TyH8spsySiPYla7gKal5ZnF3teJqZAximyQ==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "LICENSE.md",
    "content": "Copyright (c) 2016-2021, Andrey Shchekin\r\nAll rights reserved.\r\n\r\nRedistribution and use in source and binary forms, with or without\r\nmodification, are permitted provided that the following conditions are met:\r\n\r\n* Redistributions of source code must retain the above copyright notice, this\r\n  list of conditions and the following disclaimer.\r\n\r\n* Redistributions in binary form must reproduce the above copyright notice,\r\n  this list of conditions and the following disclaimer in the documentation\r\n  and/or other materials provided with the distribution.\r\n\r\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\r\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\r\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\r\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\r\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\r\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\r\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\r\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
  },
  {
    "path": "MirrorSharp.sln",
    "content": "﻿\r\nMicrosoft Visual Studio Solution File, Format Version 12.00\r\n# Visual Studio Version 17\r\nVisualStudioVersion = 17.0.31903.59\r\nMinimumVisualStudioVersion = 10.0.40219.1\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Common\", \"Common\\Common.csproj\", \"{C130C962-D17F-4741-B2B4-D74263BF380A}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Owin\", \"Owin\\Owin.csproj\", \"{00CC1A50-B233-4045-9540-CB2316808C1B}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Benchmarks\", \"Benchmarks\\Benchmarks.csproj\", \"{35D73C72-267B-4598-ABC0-F1E1BACDE451}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Testing\", \"Testing\\Testing.csproj\", \"{0814C69A-E4A5-4FC9-BC57-415F8295B6B6}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"FSharp\", \"FSharp\\FSharp.csproj\", \"{A904B17F-1015-4676-B731-32353C22C49D}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Owin.Demo\", \"Owin.Demo\\Owin.Demo.csproj\", \"{3C2A0FC7-4485-4654-B3B2-5717A2F2C97A}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"VisualBasic\", \"VisualBasic\\VisualBasic.csproj\", \"{C8076D77-4C5A-450E-AF3F-9E37A8B512D8}\"\r\nEndProject\r\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"[Includes]\", \"[Includes]\", \"{9EC6CF09-4D36-4723-9548-060215C88E50}\"\r\n\tProjectSection(SolutionItems) = preProject\r\n\t\tDirectory.Build.props = Directory.Build.props\r\n\t\tNuGet.Common.props = NuGet.Common.props\r\n\tEndProjectSection\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Php\", \"Php\\Php.csproj\", \"{C40A0924-7A1C-4488-ADF1-3B57ACEFD892}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"AspNetCore\", \"AspNetCore\\AspNetCore.csproj\", \"{D3BFCC28-012C-45A0-8B24-D1349D81E86D}\"\r\nEndProject\r\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"[Servers]\", \"[Servers]\", \"{8FC36475-1AD2-4EA0-96E0-D09E35E4B721}\"\r\nEndProject\r\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"[Languages]\", \"[Languages]\", \"{97118BF6-2939-475C-9FE9-18401F1D744F}\"\r\nEndProject\r\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"[Tests]\", \"[Tests]\", \"{269EAC4A-4214-4458-9B65-42E809E168E7}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"AspNetCore.Demo\", \"AspNetCore.Demo\\AspNetCore.Demo.csproj\", \"{8E96EC9F-6332-4274-AA07-F8D30FA0284C}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Tests.RoslynLatest\", \"Tests.RoslynLatest\\Tests.RoslynLatest.csproj\", \"{72B44FAA-5B8E-470D-B20E-AC6017B5A1D9}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"AspNetCore.Demo.Library\", \"AspNetCore.Demo.Library\\AspNetCore.Demo.Library.csproj\", \"{2FD91F17-E789-4789-A1F6-5D794E6B6DA7}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Tests\", \"Tests\\Tests.csproj\", \"{7A8A4E1B-4BBF-4EB9-A84C-0EEAC9821461}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"IL\", \"IL\\IL.csproj\", \"{8179677B-F8FB-4F6F-A520-A8C0437355FE}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Internal.Roslyn42\", \"Internal.Roslyn42\\Internal.Roslyn42.csproj\", \"{1C3E806E-AA61-4DB7-A17F-4282C7B34339}\"\r\nEndProject\r\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"[Internal.Roslyn]\", \"[Internal.Roslyn]\", \"{4F01ABD9-3F66-4D4B-A8B0-ED15B77099E2}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Internal.Roslyn33\", \"Internal.Roslyn33\\Internal.Roslyn33.csproj\", \"{08AA2078-B9B4-4A24-9095-3D9FF57F2CBC}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Internal.Roslyn41\", \"Internal.Roslyn41\\Internal.Roslyn41.csproj\", \"{8932BD8E-EBAB-48D5-8496-A9D0E5B85D06}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Internal.Roslyn36\", \"Internal.Roslyn36\\Internal.Roslyn36.csproj\", \"{1C22408D-E366-4452-8357-FC582340CBD0}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Internal.RoslynInternals\", \"Internal.RoslynInternals\\Internal.RoslynInternals.csproj\", \"{ED6F657A-D1BF-4523-B303-82E7AC8788DE}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"AspNetCore.Demo.Net6\", \"AspNetCore.Demo.Net6\\AspNetCore.Demo.Net6.csproj\", \"{EBB4385B-D592-4A9A-A42B-22C506577835}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Internal.Roslyn43\", \"Internal.Roslyn43\\Internal.Roslyn43.csproj\", \"{A89CA8DD-8730-4291-B931-85ADBE3E964A}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Internal.Roslyn44\", \"Internal.Roslyn44\\Internal.Roslyn44.csproj\", \"{471A092B-76F9-4789-B028-113D5A1C261E}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Tests.Roslyn44\", \"Tests.Roslyn44\\Tests.Roslyn44.csproj\", \"{1367DFF7-9FE8-43DB-AACB-97CEE8FC35A4}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Internal.Roslyn45\", \"Internal.Roslyn45\\Internal.Roslyn45.csproj\", \"{35F8051B-3B5D-46D6-85C8-339FB758776C}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Tests.Roslyn45\", \"Tests.Roslyn45\\Tests.Roslyn45.csproj\", \"{94829499-BF30-49BA-B6EC-9554B2F6DC6E}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Internal.Roslyn46\", \"Internal.Roslyn46\\Internal.Roslyn46.csproj\", \"{A607144C-BA8D-4718-98E4-847B69E331AB}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Tests.Roslyn46\", \"Tests.Roslyn46\\Tests.Roslyn46.csproj\", \"{A2E2D3D7-EF4E-4619-A6A5-98603DF4AB3C}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Internal.Roslyn47\", \"Internal.Roslyn47\\Internal.Roslyn47.csproj\", \"{3D60CABF-4DFE-4350-9D49-B051AFAEC0C5}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Tests.Roslyn47\", \"Tests.Roslyn47\\Tests.Roslyn47.csproj\", \"{7F0B701D-ECA8-4880-90A9-39A632F621C0}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Internal.Roslyn48\", \"Internal.Roslyn48\\Internal.Roslyn48.csproj\", \"{8B502B7F-5374-4549-AB93-0C19396B4F48}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Internal.Roslyn49\", \"Internal.Roslyn49\\Internal.Roslyn49.csproj\", \"{EDF838C0-BAD7-4853-AA73-97A95A96D795}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Tests.Roslyn48\", \"Tests.Roslyn48\\Tests.Roslyn48.csproj\", \"{D019B113-4E3A-4B23-BE22-CD8C392121CA}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Tests.Roslyn49\", \"Tests.Roslyn49\\Tests.Roslyn49.csproj\", \"{7B23E463-3F08-40B6-AE4C-03486ADF54A3}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Internal.Roslyn410\", \"Internal.Roslyn410\\Internal.Roslyn410.csproj\", \"{F0C3DD0C-5873-46C9-95C7-53F888FED565}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Tests.Roslyn410\", \"Tests.Roslyn410\\Tests.Roslyn410.csproj\", \"{9027D6E4-17F6-4DDC-9B60-2835F8A4C6DE}\"\r\nEndProject\r\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Internal.Roslyn411\", \"Internal.Roslyn411\\Internal.Roslyn411.csproj\", \"{4D749251-F7BF-47AE-B319-7A4A872C71F2}\"\r\nEndProject\r\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"Internal.Roslyn412\", \"Internal.Roslyn412\\Internal.Roslyn412.csproj\", \"{F6B6A20A-FFF0-4F1C-AE4E-8DF454C73770}\"\r\nEndProject\r\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"Tests.Roslyn411\", \"Tests.Roslyn411\\Tests.Roslyn411.csproj\", \"{7E731B53-91A5-4E63-ADBF-29EBC902C903}\"\r\nEndProject\r\nGlobal\r\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\r\n\t\tDebug|Any CPU = Debug|Any CPU\r\n\t\tRelease|Any CPU = Release|Any CPU\r\n\tEndGlobalSection\r\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\r\n\t\t{C130C962-D17F-4741-B2B4-D74263BF380A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{C130C962-D17F-4741-B2B4-D74263BF380A}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{C130C962-D17F-4741-B2B4-D74263BF380A}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{C130C962-D17F-4741-B2B4-D74263BF380A}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{00CC1A50-B233-4045-9540-CB2316808C1B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{00CC1A50-B233-4045-9540-CB2316808C1B}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{00CC1A50-B233-4045-9540-CB2316808C1B}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{00CC1A50-B233-4045-9540-CB2316808C1B}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{35D73C72-267B-4598-ABC0-F1E1BACDE451}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{35D73C72-267B-4598-ABC0-F1E1BACDE451}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{35D73C72-267B-4598-ABC0-F1E1BACDE451}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{35D73C72-267B-4598-ABC0-F1E1BACDE451}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{0814C69A-E4A5-4FC9-BC57-415F8295B6B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{0814C69A-E4A5-4FC9-BC57-415F8295B6B6}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{0814C69A-E4A5-4FC9-BC57-415F8295B6B6}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{0814C69A-E4A5-4FC9-BC57-415F8295B6B6}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{A904B17F-1015-4676-B731-32353C22C49D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{A904B17F-1015-4676-B731-32353C22C49D}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{A904B17F-1015-4676-B731-32353C22C49D}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{A904B17F-1015-4676-B731-32353C22C49D}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{3C2A0FC7-4485-4654-B3B2-5717A2F2C97A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{3C2A0FC7-4485-4654-B3B2-5717A2F2C97A}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{3C2A0FC7-4485-4654-B3B2-5717A2F2C97A}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{3C2A0FC7-4485-4654-B3B2-5717A2F2C97A}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{C8076D77-4C5A-450E-AF3F-9E37A8B512D8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{C8076D77-4C5A-450E-AF3F-9E37A8B512D8}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{C8076D77-4C5A-450E-AF3F-9E37A8B512D8}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{C8076D77-4C5A-450E-AF3F-9E37A8B512D8}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{C40A0924-7A1C-4488-ADF1-3B57ACEFD892}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{C40A0924-7A1C-4488-ADF1-3B57ACEFD892}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{C40A0924-7A1C-4488-ADF1-3B57ACEFD892}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{C40A0924-7A1C-4488-ADF1-3B57ACEFD892}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{D3BFCC28-012C-45A0-8B24-D1349D81E86D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{D3BFCC28-012C-45A0-8B24-D1349D81E86D}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{D3BFCC28-012C-45A0-8B24-D1349D81E86D}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{D3BFCC28-012C-45A0-8B24-D1349D81E86D}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{8E96EC9F-6332-4274-AA07-F8D30FA0284C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{8E96EC9F-6332-4274-AA07-F8D30FA0284C}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{8E96EC9F-6332-4274-AA07-F8D30FA0284C}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{8E96EC9F-6332-4274-AA07-F8D30FA0284C}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{72B44FAA-5B8E-470D-B20E-AC6017B5A1D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{72B44FAA-5B8E-470D-B20E-AC6017B5A1D9}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{72B44FAA-5B8E-470D-B20E-AC6017B5A1D9}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{72B44FAA-5B8E-470D-B20E-AC6017B5A1D9}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{2FD91F17-E789-4789-A1F6-5D794E6B6DA7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{2FD91F17-E789-4789-A1F6-5D794E6B6DA7}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{2FD91F17-E789-4789-A1F6-5D794E6B6DA7}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{2FD91F17-E789-4789-A1F6-5D794E6B6DA7}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{7A8A4E1B-4BBF-4EB9-A84C-0EEAC9821461}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{7A8A4E1B-4BBF-4EB9-A84C-0EEAC9821461}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{7A8A4E1B-4BBF-4EB9-A84C-0EEAC9821461}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{7A8A4E1B-4BBF-4EB9-A84C-0EEAC9821461}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{8179677B-F8FB-4F6F-A520-A8C0437355FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{8179677B-F8FB-4F6F-A520-A8C0437355FE}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{8179677B-F8FB-4F6F-A520-A8C0437355FE}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{8179677B-F8FB-4F6F-A520-A8C0437355FE}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{1C3E806E-AA61-4DB7-A17F-4282C7B34339}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{1C3E806E-AA61-4DB7-A17F-4282C7B34339}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{1C3E806E-AA61-4DB7-A17F-4282C7B34339}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{1C3E806E-AA61-4DB7-A17F-4282C7B34339}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{08AA2078-B9B4-4A24-9095-3D9FF57F2CBC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{08AA2078-B9B4-4A24-9095-3D9FF57F2CBC}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{08AA2078-B9B4-4A24-9095-3D9FF57F2CBC}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{08AA2078-B9B4-4A24-9095-3D9FF57F2CBC}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{8932BD8E-EBAB-48D5-8496-A9D0E5B85D06}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{8932BD8E-EBAB-48D5-8496-A9D0E5B85D06}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{8932BD8E-EBAB-48D5-8496-A9D0E5B85D06}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{8932BD8E-EBAB-48D5-8496-A9D0E5B85D06}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{1C22408D-E366-4452-8357-FC582340CBD0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{1C22408D-E366-4452-8357-FC582340CBD0}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{1C22408D-E366-4452-8357-FC582340CBD0}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{1C22408D-E366-4452-8357-FC582340CBD0}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{ED6F657A-D1BF-4523-B303-82E7AC8788DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{ED6F657A-D1BF-4523-B303-82E7AC8788DE}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{ED6F657A-D1BF-4523-B303-82E7AC8788DE}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{ED6F657A-D1BF-4523-B303-82E7AC8788DE}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{EBB4385B-D592-4A9A-A42B-22C506577835}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{EBB4385B-D592-4A9A-A42B-22C506577835}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{EBB4385B-D592-4A9A-A42B-22C506577835}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{EBB4385B-D592-4A9A-A42B-22C506577835}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{A89CA8DD-8730-4291-B931-85ADBE3E964A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{A89CA8DD-8730-4291-B931-85ADBE3E964A}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{A89CA8DD-8730-4291-B931-85ADBE3E964A}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{A89CA8DD-8730-4291-B931-85ADBE3E964A}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{471A092B-76F9-4789-B028-113D5A1C261E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{471A092B-76F9-4789-B028-113D5A1C261E}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{471A092B-76F9-4789-B028-113D5A1C261E}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{471A092B-76F9-4789-B028-113D5A1C261E}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{1367DFF7-9FE8-43DB-AACB-97CEE8FC35A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{1367DFF7-9FE8-43DB-AACB-97CEE8FC35A4}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{1367DFF7-9FE8-43DB-AACB-97CEE8FC35A4}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{1367DFF7-9FE8-43DB-AACB-97CEE8FC35A4}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{35F8051B-3B5D-46D6-85C8-339FB758776C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{35F8051B-3B5D-46D6-85C8-339FB758776C}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{35F8051B-3B5D-46D6-85C8-339FB758776C}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{35F8051B-3B5D-46D6-85C8-339FB758776C}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{94829499-BF30-49BA-B6EC-9554B2F6DC6E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{94829499-BF30-49BA-B6EC-9554B2F6DC6E}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{94829499-BF30-49BA-B6EC-9554B2F6DC6E}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{94829499-BF30-49BA-B6EC-9554B2F6DC6E}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{A607144C-BA8D-4718-98E4-847B69E331AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{A607144C-BA8D-4718-98E4-847B69E331AB}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{A607144C-BA8D-4718-98E4-847B69E331AB}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{A607144C-BA8D-4718-98E4-847B69E331AB}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{A2E2D3D7-EF4E-4619-A6A5-98603DF4AB3C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{A2E2D3D7-EF4E-4619-A6A5-98603DF4AB3C}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{A2E2D3D7-EF4E-4619-A6A5-98603DF4AB3C}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{A2E2D3D7-EF4E-4619-A6A5-98603DF4AB3C}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{3D60CABF-4DFE-4350-9D49-B051AFAEC0C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{3D60CABF-4DFE-4350-9D49-B051AFAEC0C5}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{3D60CABF-4DFE-4350-9D49-B051AFAEC0C5}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{3D60CABF-4DFE-4350-9D49-B051AFAEC0C5}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{7F0B701D-ECA8-4880-90A9-39A632F621C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{7F0B701D-ECA8-4880-90A9-39A632F621C0}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{7F0B701D-ECA8-4880-90A9-39A632F621C0}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{7F0B701D-ECA8-4880-90A9-39A632F621C0}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{8B502B7F-5374-4549-AB93-0C19396B4F48}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{8B502B7F-5374-4549-AB93-0C19396B4F48}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{8B502B7F-5374-4549-AB93-0C19396B4F48}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{8B502B7F-5374-4549-AB93-0C19396B4F48}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{EDF838C0-BAD7-4853-AA73-97A95A96D795}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{EDF838C0-BAD7-4853-AA73-97A95A96D795}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{EDF838C0-BAD7-4853-AA73-97A95A96D795}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{EDF838C0-BAD7-4853-AA73-97A95A96D795}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{D019B113-4E3A-4B23-BE22-CD8C392121CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{D019B113-4E3A-4B23-BE22-CD8C392121CA}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{D019B113-4E3A-4B23-BE22-CD8C392121CA}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{D019B113-4E3A-4B23-BE22-CD8C392121CA}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{7B23E463-3F08-40B6-AE4C-03486ADF54A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{7B23E463-3F08-40B6-AE4C-03486ADF54A3}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{7B23E463-3F08-40B6-AE4C-03486ADF54A3}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{7B23E463-3F08-40B6-AE4C-03486ADF54A3}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{F0C3DD0C-5873-46C9-95C7-53F888FED565}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{F0C3DD0C-5873-46C9-95C7-53F888FED565}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{F0C3DD0C-5873-46C9-95C7-53F888FED565}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{F0C3DD0C-5873-46C9-95C7-53F888FED565}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{9027D6E4-17F6-4DDC-9B60-2835F8A4C6DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{9027D6E4-17F6-4DDC-9B60-2835F8A4C6DE}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{9027D6E4-17F6-4DDC-9B60-2835F8A4C6DE}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{9027D6E4-17F6-4DDC-9B60-2835F8A4C6DE}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{4D749251-F7BF-47AE-B319-7A4A872C71F2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{4D749251-F7BF-47AE-B319-7A4A872C71F2}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{4D749251-F7BF-47AE-B319-7A4A872C71F2}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{4D749251-F7BF-47AE-B319-7A4A872C71F2}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{F6B6A20A-FFF0-4F1C-AE4E-8DF454C73770}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{F6B6A20A-FFF0-4F1C-AE4E-8DF454C73770}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{F6B6A20A-FFF0-4F1C-AE4E-8DF454C73770}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{F6B6A20A-FFF0-4F1C-AE4E-8DF454C73770}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{7E731B53-91A5-4E63-ADBF-29EBC902C903}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{7E731B53-91A5-4E63-ADBF-29EBC902C903}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{7E731B53-91A5-4E63-ADBF-29EBC902C903}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{7E731B53-91A5-4E63-ADBF-29EBC902C903}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\tEndGlobalSection\r\n\tGlobalSection(SolutionProperties) = preSolution\r\n\t\tHideSolutionNode = FALSE\r\n\tEndGlobalSection\r\n\tGlobalSection(NestedProjects) = preSolution\r\n\t\t{00CC1A50-B233-4045-9540-CB2316808C1B} = {8FC36475-1AD2-4EA0-96E0-D09E35E4B721}\r\n\t\t{35D73C72-267B-4598-ABC0-F1E1BACDE451} = {269EAC4A-4214-4458-9B65-42E809E168E7}\r\n\t\t{A904B17F-1015-4676-B731-32353C22C49D} = {97118BF6-2939-475C-9FE9-18401F1D744F}\r\n\t\t{3C2A0FC7-4485-4654-B3B2-5717A2F2C97A} = {8FC36475-1AD2-4EA0-96E0-D09E35E4B721}\r\n\t\t{C8076D77-4C5A-450E-AF3F-9E37A8B512D8} = {97118BF6-2939-475C-9FE9-18401F1D744F}\r\n\t\t{C40A0924-7A1C-4488-ADF1-3B57ACEFD892} = {97118BF6-2939-475C-9FE9-18401F1D744F}\r\n\t\t{D3BFCC28-012C-45A0-8B24-D1349D81E86D} = {8FC36475-1AD2-4EA0-96E0-D09E35E4B721}\r\n\t\t{8E96EC9F-6332-4274-AA07-F8D30FA0284C} = {8FC36475-1AD2-4EA0-96E0-D09E35E4B721}\r\n\t\t{72B44FAA-5B8E-470D-B20E-AC6017B5A1D9} = {269EAC4A-4214-4458-9B65-42E809E168E7}\r\n\t\t{2FD91F17-E789-4789-A1F6-5D794E6B6DA7} = {8FC36475-1AD2-4EA0-96E0-D09E35E4B721}\r\n\t\t{7A8A4E1B-4BBF-4EB9-A84C-0EEAC9821461} = {269EAC4A-4214-4458-9B65-42E809E168E7}\r\n\t\t{8179677B-F8FB-4F6F-A520-A8C0437355FE} = {97118BF6-2939-475C-9FE9-18401F1D744F}\r\n\t\t{1C3E806E-AA61-4DB7-A17F-4282C7B34339} = {4F01ABD9-3F66-4D4B-A8B0-ED15B77099E2}\r\n\t\t{08AA2078-B9B4-4A24-9095-3D9FF57F2CBC} = {4F01ABD9-3F66-4D4B-A8B0-ED15B77099E2}\r\n\t\t{8932BD8E-EBAB-48D5-8496-A9D0E5B85D06} = {4F01ABD9-3F66-4D4B-A8B0-ED15B77099E2}\r\n\t\t{1C22408D-E366-4452-8357-FC582340CBD0} = {4F01ABD9-3F66-4D4B-A8B0-ED15B77099E2}\r\n\t\t{ED6F657A-D1BF-4523-B303-82E7AC8788DE} = {4F01ABD9-3F66-4D4B-A8B0-ED15B77099E2}\r\n\t\t{EBB4385B-D592-4A9A-A42B-22C506577835} = {8FC36475-1AD2-4EA0-96E0-D09E35E4B721}\r\n\t\t{A89CA8DD-8730-4291-B931-85ADBE3E964A} = {4F01ABD9-3F66-4D4B-A8B0-ED15B77099E2}\r\n\t\t{471A092B-76F9-4789-B028-113D5A1C261E} = {4F01ABD9-3F66-4D4B-A8B0-ED15B77099E2}\r\n\t\t{1367DFF7-9FE8-43DB-AACB-97CEE8FC35A4} = {269EAC4A-4214-4458-9B65-42E809E168E7}\r\n\t\t{35F8051B-3B5D-46D6-85C8-339FB758776C} = {4F01ABD9-3F66-4D4B-A8B0-ED15B77099E2}\r\n\t\t{94829499-BF30-49BA-B6EC-9554B2F6DC6E} = {269EAC4A-4214-4458-9B65-42E809E168E7}\r\n\t\t{A607144C-BA8D-4718-98E4-847B69E331AB} = {4F01ABD9-3F66-4D4B-A8B0-ED15B77099E2}\r\n\t\t{A2E2D3D7-EF4E-4619-A6A5-98603DF4AB3C} = {269EAC4A-4214-4458-9B65-42E809E168E7}\r\n\t\t{3D60CABF-4DFE-4350-9D49-B051AFAEC0C5} = {4F01ABD9-3F66-4D4B-A8B0-ED15B77099E2}\r\n\t\t{7F0B701D-ECA8-4880-90A9-39A632F621C0} = {269EAC4A-4214-4458-9B65-42E809E168E7}\r\n\t\t{8B502B7F-5374-4549-AB93-0C19396B4F48} = {4F01ABD9-3F66-4D4B-A8B0-ED15B77099E2}\r\n\t\t{EDF838C0-BAD7-4853-AA73-97A95A96D795} = {4F01ABD9-3F66-4D4B-A8B0-ED15B77099E2}\r\n\t\t{D019B113-4E3A-4B23-BE22-CD8C392121CA} = {269EAC4A-4214-4458-9B65-42E809E168E7}\r\n\t\t{7B23E463-3F08-40B6-AE4C-03486ADF54A3} = {269EAC4A-4214-4458-9B65-42E809E168E7}\r\n\t\t{F0C3DD0C-5873-46C9-95C7-53F888FED565} = {4F01ABD9-3F66-4D4B-A8B0-ED15B77099E2}\r\n\t\t{9027D6E4-17F6-4DDC-9B60-2835F8A4C6DE} = {269EAC4A-4214-4458-9B65-42E809E168E7}\r\n\t\t{4D749251-F7BF-47AE-B319-7A4A872C71F2} = {4F01ABD9-3F66-4D4B-A8B0-ED15B77099E2}\r\n\t\t{F6B6A20A-FFF0-4F1C-AE4E-8DF454C73770} = {4F01ABD9-3F66-4D4B-A8B0-ED15B77099E2}\r\n\t\t{7E731B53-91A5-4E63-ADBF-29EBC902C903} = {269EAC4A-4214-4458-9B65-42E809E168E7}\r\n\tEndGlobalSection\r\n\tGlobalSection(ExtensibilityGlobals) = postSolution\r\n\t\tSolutionGuid = {AA05E375-911A-4C8F-A6D6-C0B895E7BDE4}\r\n\tEndGlobalSection\r\nEndGlobal\r\n"
  },
  {
    "path": "MirrorSharp.sln.DotSettings",
    "content": "﻿<wpf:ResourceDictionary xml:space=\"preserve\" xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\" xmlns:s=\"clr-namespace:System;assembly=mscorlib\" xmlns:ss=\"urn:shemas-jetbrains-com:settings-storage-xaml\" xmlns:wpf=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\">\n\t<s:String x:Key=\"/Default/CodeInspection/Browsers/Browsers/@EntryValue\">C27+,E12+,FF21+,IE11+,S9+</s:String>\n\t<s:String x:Key=\"/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=3C2A0FC7_002D4485_002D4654_002DB3B2_002D5717A2F2C97A_002Fd_003Abower_005Fcomponents/@EntryIndexedValue\">ExplicitlyExcluded</s:String>\n\t<s:String x:Key=\"/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=70BCCC0E_002D6EEF_002D40D0_002D932A_002D87F9C42BD67B_002Fd_003Awwwroot_002Fd_003Abower_005Fcomponents/@EntryIndexedValue\">ExplicitlyExcluded</s:String>\n\t<s:String x:Key=\"/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=D2EB1CDD_002D12B5_002D4FDC_002DA56C_002D8A327200E759_002Fd_003Abower_005Fcomponents/@EntryIndexedValue\">ExplicitlyExcluded</s:String>\n\t<s:String x:Key=\"/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=FF13139E_002D69D3_002D472E_002DB4FE_002DAC2623AD67B9_002Fd_003Abower_005Fcomponents/@EntryIndexedValue\">ExplicitlyExcluded</s:String>\n\t<s:String x:Key=\"/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=FF13139E_002D69D3_002D472E_002DB4FE_002DAC2623AD67B9_002Fd_003Anode_005Fmodules/@EntryIndexedValue\">ExplicitlyExcluded</s:String>\n\t<s:String x:Key=\"/Default/CodeInspection/Highlighting/InspectionSeverities/=ArgumentsStyleLiteral/@EntryIndexedValue\">DO_NOT_SHOW</s:String>\n\t<s:String x:Key=\"/Default/CodeInspection/Highlighting/InspectionSeverities/=ArgumentsStyleNamedExpression/@EntryIndexedValue\">DO_NOT_SHOW</s:String>\n\t<s:String x:Key=\"/Default/CodeInspection/Highlighting/InspectionSeverities/=ArgumentsStyleOther/@EntryIndexedValue\">DO_NOT_SHOW</s:String>\n\t<s:String x:Key=\"/Default/CodeInspection/Highlighting/InspectionSeverities/=ArgumentsStyleStringLiteral/@EntryIndexedValue\">DO_NOT_SHOW</s:String>\n\t<s:String x:Key=\"/Default/CodeInspection/Highlighting/InspectionSeverities/=FieldCanBeMadeReadOnly_002ELocal/@EntryIndexedValue\">WARNING</s:String>\n\t<s:String x:Key=\"/Default/CodeInspection/Highlighting/InspectionSeverities/=HeapView_002EBoxingAllocation/@EntryIndexedValue\">WARNING</s:String>\n\t<s:String x:Key=\"/Default/CodeInspection/Highlighting/InspectionSeverities/=HeapView_002EClosureAllocation/@EntryIndexedValue\">WARNING</s:String>\n\t<s:String x:Key=\"/Default/CodeInspection/Highlighting/InspectionSeverities/=HeapView_002EObjectAllocation_002EEvident/@EntryIndexedValue\">DO_NOT_SHOW</s:String>\n\t<s:String x:Key=\"/Default/CodeInspection/Highlighting/InspectionSeverities/=Html_002EEventNotResolved/@EntryIndexedValue\">HINT</s:String>\n\t<s:String x:Key=\"/Default/CodeInspection/Highlighting/InspectionSeverities/=MissingHasOwnPropertyInForeach/@EntryIndexedValue\">DO_NOT_SHOW</s:String>\n\t<s:String x:Key=\"/Default/CodeInspection/Highlighting/InspectionSeverities/=RedundantDefaultMemberInitializer/@EntryIndexedValue\">DO_NOT_SHOW</s:String>\n\t<s:String x:Key=\"/Default/CodeInspection/Highlighting/InspectionSeverities/=ThisInGlobalContext/@EntryIndexedValue\">HINT</s:String>\n\t<s:String x:Key=\"/Default/CodeInspection/Highlighting/InspectionSeverities/=UnusedMember_002EGlobal/@EntryIndexedValue\">WARNING</s:String>\n\t<s:String x:Key=\"/Default/CodeInspection/JsInspections/LanguageLevel/@EntryValue\">ECMAScript 2016</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/CodeFormatting/CSharpFormat/ACCESSOR_DECLARATION_BRACES/@EntryValue\">END_OF_LINE</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/CodeFormatting/CSharpFormat/ACCESSOR_OWNER_DECLARATION_BRACES/@EntryValue\">END_OF_LINE</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/CodeFormatting/CSharpFormat/ANONYMOUS_METHOD_DECLARATION_BRACES/@EntryValue\">END_OF_LINE</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/CodeFormatting/CSharpFormat/CASE_BLOCK_BRACES/@EntryValue\">END_OF_LINE</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/CodeFormatting/CSharpFormat/INITIALIZER_BRACES/@EntryValue\">END_OF_LINE</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/CodeFormatting/CSharpFormat/INVOCABLE_DECLARATION_BRACES/@EntryValue\">END_OF_LINE</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/CodeFormatting/CSharpFormat/OTHER_BRACES/@EntryValue\">END_OF_LINE</s:String>\n\t<s:Boolean x:Key=\"/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_AFTER_TYPECAST_PARENTHESES/@EntryValue\">False</s:Boolean>\n\t<s:String x:Key=\"/Default/CodeStyle/CodeFormatting/CSharpFormat/TYPE_DECLARATION_BRACES/@EntryValue\">END_OF_LINE</s:String>\n\t<s:Boolean x:Key=\"/Default/CodeStyle/CodeFormatting/CSharpFormat/WRAP_LINES/@EntryValue\">False</s:Boolean>\n\t<s:Boolean x:Key=\"/Default/CodeStyle/CodeFormatting/JavaScriptCodeFormatting/ALIGN_MULTILINE_PARAMETER/@EntryValue\">True</s:Boolean>\n\t<s:Boolean x:Key=\"/Default/CodeStyle/CodeFormatting/JavaScriptCodeFormatting/ALIGN_MULTIPLE_DECLARATION/@EntryValue\">True</s:Boolean>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateStaticReadonly/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"AaBb\"&gt;&lt;ExtraRule Prefix=\"_\" Suffix=\"\" Style=\"aaBb\" /&gt;&lt;/Policy&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/CSharpNaming/UserRules/=15b5b1f1_002D457c_002D4ca6_002Db278_002D5615aedc07d3/@EntryIndexedValue\">&lt;Policy&gt;&lt;Descriptor Staticness=\"Static\" AccessRightKinds=\"Private\" Description=\"Static readonly fields (private)\"&gt;&lt;ElementKinds&gt;&lt;Kind Name=\"READONLY_FIELD\" /&gt;&lt;/ElementKinds&gt;&lt;/Descriptor&gt;&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"AaBb\"&gt;&lt;ExtraRule Prefix=\"_\" Suffix=\"\" Style=\"aaBb\" /&gt;&lt;/Policy&gt;&lt;/Policy&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/JavaScriptNaming/Abbreviations/=CM/@EntryIndexedValue\">CM</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=JS_005FBLOCK_005FSCOPE_005FFUNCTION/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"aaBb\"&gt;&lt;ExtraRule Prefix=\"\" Suffix=\"\" Style=\"AaBb\" /&gt;&lt;/Policy&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=JS_005FPARAMETER/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"aaBb\"&gt;&lt;ExtraRule Prefix=\"\" Suffix=\"\" Style=\"AaBb\" /&gt;&lt;/Policy&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FCLASS/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"AaBb\" /&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FENUM/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"AaBb\" /&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FENUM_005FMEMBER/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"AaBb\" /&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FINTERFACE/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"I\" Suffix=\"\" Style=\"AaBb\" /&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FMODULE/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"AaBb\" /&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FMODULE_005FEXPORTED/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"aaBb\" /&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FMODULE_005FLOCAL/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"aaBb\" /&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FPRIVATE_005FMEMBER_005FACCESSOR/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"aaBb\" /&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FPRIVATE_005FSTATIC_005FTYPE_005FFIELD/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"aaBb\" /&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FPRIVATE_005FTYPE_005FFIELD/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"aaBb\" /&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FPRIVATE_005FTYPE_005FMETHOD/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"aaBb\" /&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FPROTECTED_005FMEMBER_005FACCESSOR/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"aaBb\" /&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FPROTECTED_005FSTATIC_005FTYPE_005FFIELD/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"aaBb\" /&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FPROTECTED_005FTYPE_005FFIELD/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"aaBb\" /&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FPROTECTED_005FTYPE_005FMETHOD/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"aaBb\" /&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FPUBLIC_005FMEMBER_005FACCESSOR/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"aaBb\" /&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FPUBLIC_005FSTATIC_005FTYPE_005FFIELD/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"aaBb\" /&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FPUBLIC_005FTYPE_005FFIELD/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"aaBb\" /&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FPUBLIC_005FTYPE_005FMETHOD/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"aaBb\" /&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FTYPE_005FPARAMETER/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"T\" Suffix=\"\" Style=\"AaBb\" /&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/WebNaming/UserRules/=ASP_005FFIELD/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"AaBb\" /&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/WebNaming/UserRules/=ASP_005FHTML_005FCONTROL/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"AaBb\" /&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/WebNaming/UserRules/=ASP_005FTAG_005FNAME/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"AaBb\" /&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/WebNaming/UserRules/=ASP_005FTAG_005FPREFIX/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"AaBb\" /&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/XamlNaming/UserRules/=NAMESPACE_005FALIAS/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"aaBb\" /&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/XamlNaming/UserRules/=XAML_005FFIELD/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"AaBb\" /&gt;</s:String>\n\t<s:String x:Key=\"/Default/CodeStyle/Naming/XamlNaming/UserRules/=XAML_005FRESOURCE/@EntryIndexedValue\">&lt;Policy Inspect=\"True\" Prefix=\"\" Suffix=\"\" Style=\"AaBb\" /&gt;</s:String>\n\t<s:Boolean x:Key=\"/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpKeepExistingMigration/@EntryIndexedValue\">True</s:Boolean>\n\t<s:Boolean x:Key=\"/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpPlaceEmbeddedOnSameLineMigration/@EntryIndexedValue\">True</s:Boolean>\n\t<s:Boolean x:Key=\"/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpUseContinuousIndentInsideBracesMigration/@EntryIndexedValue\">True</s:Boolean>\n\t<s:Boolean x:Key=\"/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EAddAccessorOwnerDeclarationBracesMigration/@EntryIndexedValue\">True</s:Boolean>\n\t<s:Boolean x:Key=\"/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateBlankLinesAroundFieldToBlankLinesAroundProperty/@EntryIndexedValue\">True</s:Boolean>\n\t<s:Boolean x:Key=\"/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateThisQualifierSettings/@EntryIndexedValue\">True</s:Boolean>\n\t<s:Boolean x:Key=\"/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EPredefinedNamingRulesToUserRulesUpgrade/@EntryIndexedValue\">True</s:Boolean>\n\t<s:Boolean x:Key=\"/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002EJavaScript_002ECodeStyle_002ESettingsUpgrade_002EJsParsFormattingSettingsUpgrader/@EntryIndexedValue\">True</s:Boolean>\n\t<s:Boolean x:Key=\"/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002EJavaScript_002ECodeStyle_002ESettingsUpgrade_002EJsWrapperSettingsUpgrader/@EntryIndexedValue\">True</s:Boolean></wpf:ResourceDictionary>"
  },
  {
    "path": "NuGet.Common.props",
    "content": "﻿<Project>\r\n  <PropertyGroup>\r\n    <Authors>Andrey Shchekin</Authors>\r\n    <PackageProjectUrl>https://github.com/ashmind/mirrorsharp</PackageProjectUrl>\r\n    <RepositoryType>git</RepositoryType>\r\n    <RepositoryUrl>https://github.com/ashmind/mirrorsharp.git</RepositoryUrl>\r\n    <DescriptionSuffix>MirrorSharp is a code editor &lt;textarea&gt; built on Roslyn — see https://github.com/ashmind/mirrorsharp/blob/master/README.md for details.</DescriptionSuffix>\r\n  </PropertyGroup>\r\n\r\n  <PropertyGroup>\r\n    <GeneratePackageOnBuild>False</GeneratePackageOnBuild>\r\n    <DefineConstants>$(DefineConstants); JETBRAINS_ANNOTATIONS</DefineConstants>\r\n  </PropertyGroup>\r\n</Project>"
  },
  {
    "path": "Owin/AppBuilderExtensions.cs",
    "content": "using System;\r\nusing System.ComponentModel;\r\nusing MirrorSharp.Internal;\r\nusing MirrorSharp.Owin.Internal;\r\nusing Owin;\r\n\r\nnamespace MirrorSharp.Owin {\r\n    /// <summary>MirrorSharp-related extensions for the <see cref=\"IAppBuilder\" />.</summary>\r\n    public static class AppBuilderExtensions {\r\n        /// <summary>Adds MirrorSharp middleware to the <see cref=\"IAppBuilder\" />.</summary>\r\n        /// <param name=\"app\">The app builder.</param>\r\n        /// <param name=\"options\">The <see cref=\"MirrorSharpOptions\" /> object used by the MirrorSharp middleware.</param>\r\n        [EditorBrowsable(EditorBrowsableState.Never)]\r\n        [Obsolete(\"This method will be removed in the next major version. Use app.MapMirrorSharp() instead.\", true)]\r\n        public static IAppBuilder UseMirrorSharp(this IAppBuilder app, MirrorSharpOptions? options = null) {\r\n            Argument.NotNull(nameof(app), app);\r\n            app.Use(typeof(Middleware), options ?? new MirrorSharpOptions());\r\n            return app;\r\n        }\r\n\r\n        /// <summary>Maps MirrorSharp middleware to a certain path in the <see cref=\"IAppBuilder\" />.</summary>\r\n        /// <param name=\"app\">The app builder.</param>\r\n        /// <param name=\"path\">Relative path to be used by MirrorSharp server, e.g. '/mirrorsharp'.</param>\r\n        // This is obsolete, but we can't add an attribute as it will require people to pass in optional parameters\r\n        public static IAppBuilder MapMirrorSharp(this IAppBuilder app, string path) {\r\n            Argument.NotNull(nameof(app), app);\r\n            Argument.NotNullOrEmpty(nameof(path), path);\r\n\r\n            return app.MapMirrorSharp(path, options: null);\r\n        }\r\n\r\n        /// <summary>Maps MirrorSharp middleware to a certain path in the <see cref=\"IAppBuilder\" />.</summary>\r\n        /// <param name=\"app\">The app builder.</param>\r\n        /// <param name=\"path\">Relative path to be used by MirrorSharp server, e.g. '/mirrorsharp'.</param>\r\n        /// <param name=\"options\">The <see cref=\"MirrorSharpOptions\" /> object used by the MirrorSharp middleware.</param>\r\n        // This is obsolete, but we can't add an attribute as it will require people to pass in (optional) services\r\n        public static IAppBuilder MapMirrorSharp(this IAppBuilder app, string path, MirrorSharpOptions? options = null) {\r\n            Argument.NotNull(nameof(app), app);\r\n            Argument.NotNullOrEmpty(nameof(path), path);\r\n\r\n            return app.Map(path, a => a.Use(typeof(Middleware), options ?? new MirrorSharpOptions(), new MirrorSharpServices {\r\n                #pragma warning disable CS0618 // Type or member is obsolete\r\n                SetOptionsFromClient = options?.SetOptionsFromClient,\r\n                SlowUpdate = options?.SlowUpdate,\r\n                ExceptionLogger = options?.ExceptionLogger\r\n                #pragma warning restore CS0618 // Type or member is obsolete\r\n            }));\r\n        }\r\n\r\n        /// <summary>Maps MirrorSharp middleware to a certain path in the <see cref=\"IAppBuilder\" />.</summary>\r\n        /// <param name=\"app\">The app builder.</param>\r\n        /// <param name=\"path\">Relative path to be used by MirrorSharp server, e.g. '/mirrorsharp'.</param>\r\n        /// <param name=\"options\">The <see cref=\"MirrorSharpOptions\" /> object used by the MirrorSharp middleware.</param>\r\n        /// <param name=\"services\">The <see cref=\"MirrorSharpServices\" /> object used by the MirrorSharp middleware.</param>\r\n        public static IAppBuilder MapMirrorSharp(this IAppBuilder app, string path, MirrorSharpOptions? options = null, MirrorSharpServices? services = null) {\r\n            Argument.NotNull(nameof(app), app);\r\n            Argument.NotNullOrEmpty(nameof(path), path);\r\n\r\n            #pragma warning disable CS0618 // Type or member is obsolete\r\n            if (options?.SetOptionsFromClient != null)\r\n                throw new ArgumentException(\"SetOptionsFromClient must be passed through extensions and not options (options.SetOptionsFromClient must be null).\");\r\n            if (options?.SlowUpdate != null)\r\n                throw new ArgumentException(\"SetOptionsFromClient must be passed through extensions and not options (options.SlowUpdate must be null).\");\r\n            if (options?.ExceptionLogger != null)\r\n                throw new ArgumentException(\"SetOptionsFromClient must be passed through extensions and not options (options.ExceptionLogger must be null).\");\r\n            #pragma warning restore CS0618 // Type or member is obsolete\r\n\r\n            return app.Map(path, a => a.Use(typeof(Middleware), options ?? new MirrorSharpOptions(), services ?? new MirrorSharpServices()));\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Owin/CHANGELOG.md",
    "content": "# Changelog\r\n\r\n## [3.0.1] - 2024-06-01\r\n\r\n### Security\r\n\r\n- Updated vulnerable dependency on Microsoft.Owin\r\n\r\n## [3.0.0] - 2022-04-04\r\n## [3.0.0-test-2021-04-02-1] - 2021-04-02\r\n## [3.0.0-test-2021-04-01-1] - 2021-04-01\r\n\r\n### Changed\r\n- Updated to support MirrorSharp.Common 3.0.0\r\n\r\n### Removed\r\n- Obsolete method UseMirrorSharp is now marked Obsolete(true) and will not compile\r\n\r\n## [2.3.3] - 2020-03-04\r\n\r\n### Changed\r\n- Internal changes (exposed some internals to SharpLab)\r\n\r\n## [2.3.2] - 2020-03-04\r\n\r\n### Changed\r\n- Updated to support MirrorSharp.Common 2.2.3\r\n\r\n## [2.3.1] - 2020-12-17\r\n\r\n### Changed\r\n- Updated to support MirrorSharp.Common 2.2.2"
  },
  {
    "path": "Owin/Internal/Middleware.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Net.WebSockets;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing MirrorSharp.Internal;\r\n\r\nnamespace MirrorSharp.Owin.Internal {\r\n    using AppFunc = Func<IDictionary<string, object>, Task>;\r\n    using WebSocketAccept = Action<IDictionary<string, object>?, Func<IDictionary<string, object>, Task>>;\r\n\r\n    internal class Middleware : MiddlewareBase {\r\n        private readonly AppFunc _next;\r\n\r\n        public Middleware(AppFunc next, MirrorSharpOptions options, MirrorSharpServices extensions) : base(options, extensions.ToImmutable()) {\r\n            _next = Argument.NotNull(nameof(next), next);\r\n        }\r\n\r\n        public Task Invoke(IDictionary<string, object> environment) {\r\n            object accept;\r\n            if (!environment.TryGetValue(\"websocket.Accept\", out accept))\r\n                return _next(environment);\r\n\r\n            ((WebSocketAccept) accept)(null, async e => {\r\n                var contextKey = typeof(WebSocketContext).FullName;\r\n                if (!e.TryGetValue(contextKey, out var contextAsObject) || contextAsObject == null) {\r\n                    throw new NotSupportedException(\r\n                         $\"At the moment, MirrorSharp requires Owin host to provide '{contextKey}'.\\r\\n\" +\r\n                          \"It's not in the specification, but it is provided by the IIS host at least. \" +\r\n                          \"After spending some time on this, I don't feel that a WebSocket wrapper for Owin \" +\r\n                          \"is worth the effort. However if you want to implement one, I will appreciate it.\\r\\n\" +\r\n                          \"You can find my attempt at https://gist.github.com/ashmind/40563ead5b467a243308a02d27c707ed.\"\r\n                    );\r\n                }\r\n\r\n                var context = (WebSocketContext)contextAsObject;\r\n                var callCancelled = (CancellationToken)e[\"websocket.CallCancelled\"];\r\n                // there is a weird issue where a socket never gets closed (deadlock?)\r\n                // if the loop is done in the standard ASP.NET thread\r\n                await Task.Run(\r\n                    () => WebSocketLoopAsync(context.WebSocket, callCancelled),\r\n                    callCancelled\r\n                );\r\n            });\r\n            return Task.CompletedTask;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "Owin/MirrorSharpServices.cs",
    "content": "using MirrorSharp.Advanced;\r\nusing MirrorSharp.Advanced.EarlyAccess;\r\nusing MirrorSharp.Internal;\r\n\r\nnamespace MirrorSharp.Owin {\r\n    /// <summary>MirrorSharp extension services.</summary>\r\n    public class MirrorSharpServices {\r\n        /// <summary>Defines a <see cref=\"ISetOptionsFromClientExtension\" /> used to support extra options.</summary>\r\n        public ISetOptionsFromClientExtension? SetOptionsFromClient { get; set; }\r\n\r\n        /// <summary>Defines a <see cref=\"ISlowUpdateExtension\" /> used to extend periodic processing.</summary>\r\n        public ISlowUpdateExtension? SlowUpdate { get; set; }\r\n\r\n        internal IRoslynCompilationGuard? RoslynCompilationGuard { get; set; }\r\n        internal IRoslynSourceTextGuard? RoslynSourceTextGuard { get; set; }\r\n        internal IConnectionSendViewer? ConnectionSendViewer { get; set; }\r\n\r\n        /// <summary>Defines a <see cref=\"IExceptionLogger\" /> called for any unhandled exception.</summary>\r\n        public IExceptionLogger? ExceptionLogger { get; set; }\r\n\r\n        internal ImmutableExtensionServices ToImmutable() {\r\n            return new ImmutableExtensionServices(\r\n                SetOptionsFromClient, SlowUpdate,\r\n                RoslynSourceTextGuard, RoslynCompilationGuard,\r\n                ConnectionSendViewer,\r\n                ExceptionLogger\r\n            );\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Owin/Owin.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\r\n  <Import Project=\"../NuGet.Common.props\" />\r\n\r\n  <PropertyGroup>\r\n    <AssemblyName>MirrorSharp.Owin</AssemblyName>\r\n    <RootNamespace>MirrorSharp.Owin</RootNamespace>\r\n    <TargetFramework>net461</TargetFramework>\r\n    <VersionPrefix>3.0.1</VersionPrefix>\r\n    <Description>MirrorSharp OWIN server. $(DescriptionSuffix)</Description>\r\n    <PackageTags>Roslyn;CodeMirror</PackageTags>\r\n    <GenerateDocumentationFile>true</GenerateDocumentationFile>\r\n  </PropertyGroup>\r\n\r\n  <ItemGroup>\r\n    <PackageReference Include=\"Owin\" Version=\"1.0.0\" />\r\n    <PackageReference Include=\"Microsoft.Owin\" Version=\"4.2.2\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup Condition=\" '$(TargetFramework)' == 'net46' \">\r\n    <Reference Include=\"System\" />\r\n    <Reference Include=\"Microsoft.CSharp\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <ProjectReference Include=\"..\\Common\\Common.csproj\" />\r\n  </ItemGroup>\r\n\r\n</Project>\r\n"
  },
  {
    "path": "Owin/Properties/AssemblyInfo.cs",
    "content": "using System.Runtime.CompilerServices;\r\nusing System.Runtime.InteropServices;\r\n\r\n// Setting ComVisible to false makes the types in this assembly not visible\r\n// to COM components.  If you need to access a type in this assembly from\r\n// COM, set the ComVisible attribute to true on that type.\r\n[assembly: ComVisible(false)]\r\n\r\n// The following GUID is for the ID of the typelib if this project is exposed to COM\r\n[assembly: Guid(\"00cc1a50-b233-4045-9540-cb2316808c1b\")]\r\n\r\n[assembly: InternalsVisibleTo(\"SharpLab.Server\")]"
  },
  {
    "path": "Owin/PublicAPI.Shipped.txt",
    "content": "#nullable enable\r\nMirrorSharp.Owin.AppBuilderExtensions\r\nstatic MirrorSharp.Owin.AppBuilderExtensions.MapMirrorSharp(this Owin.IAppBuilder! app, string! path) -> Owin.IAppBuilder!\r\nstatic MirrorSharp.Owin.AppBuilderExtensions.MapMirrorSharp(this Owin.IAppBuilder! app, string! path, MirrorSharp.MirrorSharpOptions? options = null) -> Owin.IAppBuilder!\r\nstatic MirrorSharp.Owin.AppBuilderExtensions.MapMirrorSharp(this Owin.IAppBuilder! app, string! path, MirrorSharp.MirrorSharpOptions? options = null, MirrorSharp.Owin.MirrorSharpServices? services = null) -> Owin.IAppBuilder!\r\nstatic MirrorSharp.Owin.AppBuilderExtensions.UseMirrorSharp(this Owin.IAppBuilder! app, MirrorSharp.MirrorSharpOptions? options = null) -> Owin.IAppBuilder!\r\nMirrorSharp.Owin.MirrorSharpServices\r\nMirrorSharp.Owin.MirrorSharpServices.ExceptionLogger.get -> MirrorSharp.Advanced.IExceptionLogger?\r\nMirrorSharp.Owin.MirrorSharpServices.ExceptionLogger.set -> void\r\nMirrorSharp.Owin.MirrorSharpServices.MirrorSharpServices() -> void\r\nMirrorSharp.Owin.MirrorSharpServices.SetOptionsFromClient.get -> MirrorSharp.Advanced.ISetOptionsFromClientExtension?\r\nMirrorSharp.Owin.MirrorSharpServices.SetOptionsFromClient.set -> void\r\nMirrorSharp.Owin.MirrorSharpServices.SlowUpdate.get -> MirrorSharp.Advanced.ISlowUpdateExtension?\r\nMirrorSharp.Owin.MirrorSharpServices.SlowUpdate.set -> void"
  },
  {
    "path": "Owin/PublicAPI.Unshipped.txt",
    "content": ""
  },
  {
    "path": "Owin/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETFramework,Version=v4.6.1\": {\r\n      \"Microsoft.CodeAnalysis.PublicApiAnalyzers\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.0, )\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"upaG6u/PxjkOj39Kk0DLmmA75acYChmv6/HnOUxvSgGWul53uPcVaPxBWCzkHDfIljyiq5qeIG+CatT8x8FAEA==\"\r\n      },\r\n      \"Microsoft.Owin\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.2.2, )\",\r\n        \"resolved\": \"4.2.2\",\r\n        \"contentHash\": \"jt410l/8dvCIguRdU7dupYdm4kGLepVdD8EOTKU4nYZcLRrn6kQYqI6pbJOTJp7Vlm/T2WUF5bzyKK2z29xtjg==\",\r\n        \"dependencies\": {\r\n          \"Owin\": \"1.0.0\"\r\n        }\r\n      },\r\n      \"Owin\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[1.0.0, )\",\r\n        \"resolved\": \"1.0.0\",\r\n        \"contentHash\": \"OseTFniKmyp76mEzOBwIKGBRS5eMoYNkMKaMXOpxx9jv88+b6mh1rSaw43vjBOItNhaLFG3d0a20PfHyibH5sw==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.4\",\r\n        \"contentHash\": \"alIJhS0VUg/7x5AsHEoovh/wRZ0RfCSS7k5pDSqpRLTyuMTtRgj6OJJPRApRhJHOGYYsLakf1hKeXFoDwKwNkg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"N5yQdGy+M4kimVG7hwCeGTCfgYjK2o5b/Shumkb/rCC+/SAkvP1HUAYK+vxPFS7dLJNtXLRsmPHKj3fnyNWnrw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"2.9.4\",\r\n          \"System.Collections.Immutable\": \"1.5.0\",\r\n          \"System.Memory\": \"4.5.3\",\r\n          \"System.Reflection.Metadata\": \"1.6.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\",\r\n          \"System.Text.Encoding.CodePages\": \"4.5.1\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"WDUIhTHem38H6VJ98x2Ssq0fweakJHnHYl7vbG8ARnsAwLoJKCQCy78EeY1oRrCKG42j0v6JVljKkeqSDA28UA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"t9uIwsLzT5zQ1Q3ZIpwE4EOnAf/lGdbQwyeqhyO/BJ+AWDt267Hxlz5k6ypPy14Z6+PW6pTggAGz6MwN31RElQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"dHs/UyfLgzsVC4FjTi/x+H+yQifgOnpe3rSN8GwkHWjnidePZ3kSqr1JHmFDf5HTQEydYwrwCAfQ0JSzhsEqDA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"lvMC69ABN/YEaw3ke4cQRqBYZ2V7DJTOT8QXIeAJGJUfwVHTBN0iq2O5zZQrYnnUN2wmeCzCoAg59PKBosVO7g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": \"2.9.5\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\",\r\n          \"Microsoft.DiaSymReader\": \"1.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.5\",\r\n        \"contentHash\": \"SqwdTocsxU7u0Y8am67BY7KSLAhrtDXdBBwt0Nv9TxLVzPBPtPPFS2bHUsxucpOBMBmc10rWE1eJ+IDrr/0/nQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"NfBz3b5hFSbO+7xsCNryD+p8axsIJFTG7qM3jvMTC/MqYrU6b8E1b6JoRj5rJSOBB+pSunk+CMqyGQTOWHeDUg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"System.Composition\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.3.0\",\r\n        \"contentHash\": \"/fn1Tfo7j7k/slViPlM8azJuxQmri7FZ8dQ+gTeLbI29leN/1VK0U/BFcRdJNctsRCUgyKJ2q+I0Tjq07Rc1/Q==\"\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.5.0\",\r\n        \"contentHash\": \"EXKiDFsChZW0RjrZ4FYHu9aW6+P4MCgEDCklsVseRfhoO0F+dXeMSsMRAlVXIo06kGJ/zv+2w1a2uc2+kxxSaQ==\"\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"I+D26qpYdoklyAVUdqwUBrEIckMNjAYnuPJy/h9dsQItpQwVREkDFs4b4tkBza0kT2Yk48Lcfsv2QQ9hWsh9Iw==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Convention\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Composition.TypedParts\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"NHWhkM3ZkspmA0XJEsKdtTt1ViDYuojgSND3yHhTzwxepiwqZf+BCWuvCbjUt4fe0NxxQhUDGJ5km6sLjo9qnQ==\"\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"GLjh2Ju71k6C0qxMMtl4efHa68NmWeIUYh4fkUI8xbjQrEBvFmRwMDFcylT8/PR9SQbeeL48IkFxU/+gd0nYEQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"fN1bT4RX4vUqjbgoyuJFVUizAl2mYF5VAb+bVIxIYZSSc0BdnX+yGAxcavxJuDDCQ1K+/mdpgyEFc8e9ikjvrg==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.Runtime\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0LEJN+2NVM89CE4SekDrrk5tHV5LeATltkp+9WNYrR+Huiyt0vaCqHbbHtVAjPyeLWIc8dOz/3kthRBj32wGQg==\"\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0Zae/FtzeFgDBBuILeIbC/T9HMYbW4olAmi8XqqAGosSOWvXfiQLfARZEhiGd0LVXaYgXr0NhxiU1LldRP1fpQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.4\",\r\n        \"contentHash\": \"aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Numerics.Vectors\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==\"\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.0\",\r\n        \"contentHash\": \"COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"1.5.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.3\",\r\n        \"contentHash\": \"3TIsJhD1EiiT0w2CcDMN/iSSwnNnsrnbzeVHSKkaEgV85txMprmuO+Yq2AdSbeVGcg28pdNDTPK87tJhX7VFHw==\"\r\n      },\r\n      \"System.Security.Cryptography.Algorithms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==\"\r\n      },\r\n      \"System.Security.Cryptography.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==\"\r\n      },\r\n      \"System.Security.Cryptography.X509Certificates\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"4J2JQXbftjPMppIHJ7IC+VXQ9XfEagN92vZZNoG12i+zReYlim5dMoXFC1Zzg7tsnKDM7JPo5bYfFK4Jheq44w==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      },\r\n      \"System.Text.RegularExpressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"N0kNRrWe4+nXOWlpLT4LAY5brb8caNFlUuIRpraCVMDLYutKkol1aV079rQjLuSxKMJT2SpBQsYX9xbcTMmzwg==\"\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.3\",\r\n        \"contentHash\": \"+MvhNtcvIbqmhANyKu91jQnvIRVSTiaOiFNfKWwXGHG48YAb4I/TyH8spsySiPYla7gKal5ZnF3teJqZAximyQ==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Features\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1, )\",\r\n          \"System.Memory\": \"[4.5.5, )\",\r\n          \"System.Net.Http\": \"[4.3.4, )\",\r\n          \"System.Text.RegularExpressions\": \"[4.3.1, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Owin.Demo/.browserslistrc",
    "content": "last 2 Chrome versions\r\nlast 2 Firefox versions\r\nlast 2 Edge versions"
  },
  {
    "path": "Owin.Demo/Extensions/SetOptionsFromClientExtension.cs",
    "content": "using System;\r\nusing MirrorSharp.Advanced;\r\n\r\nnamespace MirrorSharp.Owin.Demo.Extensions {\r\n    public class SetOptionsFromClientExtension : ISetOptionsFromClientExtension {\r\n        public bool TrySetOption(IWorkSession session, string name, string value) {\r\n            if (name != \"x-mode\")\r\n                return false;\r\n\r\n            switch (value) {\r\n                case \"script\":\r\n                    if (!session.IsRoslyn)\r\n                        throw new NotSupportedException(\"Only Roslyn sessions support script mode.\");\r\n                    session.Roslyn.SetScriptMode(true, typeof(Random));\r\n                    break;\r\n                case \"regular\":\r\n                    if (!session.IsRoslyn)\r\n                        return true;\r\n                    session.Roslyn.SetScriptMode(false);\r\n                    break;\r\n                default:\r\n                    throw new ArgumentException($\"Unknown mode: {value}.\");\r\n            }\r\n\r\n            return true;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Owin.Demo/Owin.Demo.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\r\n\r\n  <PropertyGroup>\r\n    <TargetFramework>net461</TargetFramework>\r\n    <AssemblyName>MirrorSharp.Owin.Demo</AssemblyName>\r\n    <GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>\r\n    <GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>\r\n    <GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>\r\n    <RootNamespace>MirrorSharp.Owin.Demo</RootNamespace>\r\n    <IsPackable>false</IsPackable>\r\n  </PropertyGroup>\r\n\r\n  <ItemGroup>\r\n    <Compile Remove=\"node_modules\\**\" />\r\n    <EmbeddedResource Remove=\"node_modules\\**\" />\r\n    <None Remove=\"node_modules\\**\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <PackageReference Include=\"Microsoft.Owin\" Version=\"4.2.2\" />\r\n    <PackageReference Include=\"Microsoft.Owin.StaticFiles\" Version=\"4.2.2\" />\r\n    <PackageReference Include=\"Microsoft.Owin.Host.SystemWeb\" Version=\"4.2.2\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup Condition=\" '$(TargetFramework)' == 'net46' \">\r\n    <Reference Include=\"System\" />\r\n    <Reference Include=\"Microsoft.CSharp\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <ProjectReference Include=\"..\\FSharp\\FSharp.csproj\" />\r\n    <ProjectReference Include=\"..\\Owin\\Owin.csproj\" />\r\n  </ItemGroup>\r\n</Project>\r\n"
  },
  {
    "path": "Owin.Demo/Startup.cs",
    "content": "using System;\r\nusing Microsoft.Owin;\r\nusing Microsoft.Owin.StaticFiles;\r\nusing Microsoft.Owin.FileSystems;\r\nusing Owin;\r\nusing MirrorSharp.Owin.Demo;\r\nusing MirrorSharp.Owin.Demo.Extensions;\r\nusing System.IO;\r\n\r\n[assembly: OwinStartup(typeof(Startup), nameof(Startup.Configuration))]\r\n\r\nnamespace MirrorSharp.Owin.Demo {\r\n    public class Startup {\r\n        private static readonly string MscorlibReferencePath = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86)\r\n            + @\"\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\mscorlib.dll\";\r\n\r\n        public void Configuration(IAppBuilder app) {\r\n            app.UseDefaultFiles()\r\n               .UseStaticFiles(new StaticFileOptions {\r\n                   FileSystem = new PhysicalFileSystem(\"wwwroot\")\r\n               });\r\n\r\n            app.MapMirrorSharp(\r\n                \"/mirrorsharp\",\r\n\r\n                new MirrorSharpOptions {\r\n                    SelfDebugEnabled = true,\r\n                    IncludeExceptionDetails = true\r\n                }\r\n                .SetupCSharp(c => {\r\n                    c.MetadataReferences = c.MetadataReferences.Clear();\r\n                    c.AddMetadataReferencesFromFiles(MscorlibReferencePath);\r\n                })\r\n                .EnableFSharp(),\r\n\r\n                new MirrorSharpServices {\r\n                    SetOptionsFromClient = new SetOptionsFromClientExtension()\r\n                }\r\n            );\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Owin.Demo/Web.config",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<!--\r\n  For more information on how to configure your ASP.NET application, please visit\r\n  http://go.microsoft.com/fwlink/?LinkId=169433\r\n  -->\r\n<configuration>\r\n  <system.web>\r\n    <compilation debug=\"true\" targetFramework=\"4.5\">\r\n      <assemblies>\r\n        <add assembly=\"MirrorSharp.Owin.Demo\" />\r\n      </assemblies>\r\n    </compilation>\r\n    <httpRuntime targetFramework=\"4.5\" />\r\n  </system.web>\r\n  <system.webServer>\r\n    <handlers>\r\n      <add name=\"Owin\" verb=\"\" path=\"*\" type=\"Microsoft.Owin.Host.SystemWeb.OwinHttpHandler, Microsoft.Owin.Host.SystemWeb\"/>\r\n    </handlers>\r\n  </system.webServer>\r\n  <runtime>\r\n    <assemblyBinding xmlns=\"urn:schemas-microsoft-com:asm.v1\">\r\n      <probing privatePath=\"bin\\Debug\\net461\"/>\r\n      <dependentAssembly>\r\n        <assemblyIdentity name=\"System.Buffers\" publicKeyToken=\"cc7b13ffcd2ddd51\" culture=\"neutral\" />\r\n        <bindingRedirect oldVersion=\"0.0.0.0-4.0.3.0\" newVersion=\"4.0.3.0\"/>\r\n      </dependentAssembly>\r\n      <dependentAssembly>\r\n        <assemblyIdentity name=\"System.Collections.Immutable\" publicKeyToken=\"b03f5f7f11d50a3a\" culture=\"neutral\" />\r\n        <bindingRedirect oldVersion=\"1.2.0.0\" newVersion=\"1.2.1.0\"/>\r\n      </dependentAssembly>\r\n      <dependentAssembly>\r\n        <assemblyIdentity name=\"System.IO.FileSystem\" publicKeyToken=\"b03f5f7f11d50a3a\" culture=\"neutral\" />\r\n        <bindingRedirect oldVersion=\"0.0.0.0-4.0.3.0\" newVersion=\"4.0.3.0\"/>\r\n      </dependentAssembly>\r\n      <dependentAssembly>\r\n        <assemblyIdentity name=\"FSharp.Core\" publicKeyToken=\"b03f5f7f11d50a3a\" culture=\"neutral\" />\r\n        <bindingRedirect oldVersion=\"0.0.0.0-4.6.0.0\" newVersion=\"4.6.0.0\"/>\r\n      </dependentAssembly>\r\n    </assemblyBinding>\r\n  </runtime>\r\n</configuration>"
  },
  {
    "path": "Owin.Demo/app.css",
    "content": "@import './node_modules/mirrorsharp-codemirror-6-preview/mirrorsharp.css';\r\n@import './node_modules/typeface-open-sans/index.css';\r\n\r\n* { box-sizing: border-box; }\r\n\r\nhtml, body { width: 100%; height: 100%; }\r\n\r\nbody {\r\n  padding: 0;\r\n  margin: 0;\r\n  font-size: 16px;\r\n  display: flex;\r\n  flex-direction: column;\r\n  padding: 10px;\r\n}\r\n\r\nnav { display: flex; font-family: 'Open Sans', sans-serif; }\r\n\r\nnav ul {\r\n  list-style: none;\r\n  display: flex;\r\n  padding: 0;\r\n  margin: 0;\r\n}\r\n\r\nnav li {\r\n  margin-left: 10px;\r\n}\r\n\r\na { text-decoration: none; }\r\n\r\na:hover { text-decoration: underline; }\r\n\r\n.CodeMirror {\r\n  flex-grow: 1;\r\n  margin-top: 10px;\r\n  border: 1px solid #ddd;\r\n}"
  },
  {
    "path": "Owin.Demo/app.js",
    "content": "import mirrorsharp from 'mirrorsharp-codemirror-6-preview';\r\n\r\nconst getCode = (language, mode) => {\r\n    if (mode === 'script') {\r\n        return 'var messages = Context.Messages;';\r\n    }\r\n    else if (language == 'C#') {\r\n        return `using System;\r\n\r\n        class C {\r\n            const int C2 = 5;\r\n            string f;\r\n            string P { get; set; }\r\n            event EventHandler e;\r\n            event EventHandler E { add {} remove {} }\r\n\r\n            C() {\r\n            }\r\n\r\n            void M(int p) {\r\n                var l = p;\r\n            }\r\n        }\r\n\r\n        class G<T> {\r\n        }`.replace(/(\\r\\n|\\r|\\n)/g, '\\r\\n') // Parcel changes newlines to LF\r\n          .replace(/^        /gm, '');\r\n    }\r\n    else if (language === 'F#') {\r\n        return '[<EntryPoint>]\\r\\nlet main argv = \\r\\n    0';\r\n    }\r\n    else if (language === 'IL') {\r\n        return '.class private auto ansi \\'<Module>\\'\\r\\n{\\r\\n}';\r\n    }\r\n}\r\n\r\nconst getLanguageAndCode = () => {\r\n    const params = window.location.hash.replace(/^\\#/, '').split('&').reduce((result, item) => {\r\n        const [key, value] = item.split('=');\r\n        result[key] = value;\r\n        return result;\r\n    }, {});\r\n    const language = (params['language'] || 'CSharp').replace('Sharp', '#');\r\n    const mode = params['mode'] || 'regular';\r\n    const code = getCode(language, mode);\r\n\r\n    return { language, mode, code };\r\n}\r\n\r\nconst initial = getLanguageAndCode();\r\nconst ms = mirrorsharp(document.getElementById('editor-container'), {\r\n    serviceUrl: window.location.href.replace(/^http(s?:\\/\\/[^/]+).*$/i, 'ws$1/mirrorsharp'),\r\n    language: initial.language,\r\n    text: initial.code,\r\n    serverOptions: (initial.mode !== 'regular' ? { 'x-mode': initial.mode } : {})\r\n});\r\n\r\nwindow.addEventListener('hashchange', () => {\r\n    const updated = getLanguageAndCode();\r\n    ms.setLanguage(updated.language);\r\n    ms.setServerOptions({ 'x-mode': updated.mode });\r\n    ms.setText(updated.code);\r\n});"
  },
  {
    "path": "Owin.Demo/index.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n  <head>\r\n    <meta charset=\"utf-8\">\r\n    <title>MirrorSharp Demo</title>\r\n    <link rel=\"stylesheet\" href=\"app.css\">\r\n  </head>\r\n  <body>\r\n    <nav>\r\n      Language:\r\n      <ul>\r\n        <li><a href=\"#language=CSharp\">C#</a></li>\r\n        <li><a href=\"#language=CSharp&mode=script\">C# (Script)</a></li>\r\n        <li><a href=\"#language=FSharp\">F#</a></li>\r\n        <li><a href=\"#language=IL\">IL</a></li>\r\n      </ul>\r\n    </nav>\r\n    <div id=\"editor-container\"></div>\r\n\r\n    <script type=\"module\" src=\"app.js\"></script>\r\n  </body>\r\n</html>"
  },
  {
    "path": "Owin.Demo/package.json",
    "content": "{\r\n  \"name\": \"mirrorsharp.demo\",\r\n  \"version\": \"0.0.0\",\r\n  \"private\": true,\r\n  \"scripts\": {\r\n    \"build\": \"parcel build index.html --dist-dir wwwroot --no-optimize --no-cache\"\r\n  },\r\n  \"dependencies\": {\r\n    \"mirrorsharp-codemirror-6-preview\": \"file:../WebAssets/dist\",\r\n    \"typeface-open-sans\": \"0.0.75\"\r\n  },\r\n  \"devDependencies\": {\r\n    \"parcel\": \"^2.8.2\",\r\n    \"process\": \"^0.11.10\"\r\n  }\r\n}\r\n"
  },
  {
    "path": "Owin.Demo/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETFramework,Version=v4.6.1\": {\r\n      \"Microsoft.Owin\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.2.2, )\",\r\n        \"resolved\": \"4.2.2\",\r\n        \"contentHash\": \"jt410l/8dvCIguRdU7dupYdm4kGLepVdD8EOTKU4nYZcLRrn6kQYqI6pbJOTJp7Vlm/T2WUF5bzyKK2z29xtjg==\",\r\n        \"dependencies\": {\r\n          \"Owin\": \"1.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Owin.Host.SystemWeb\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.2.2, )\",\r\n        \"resolved\": \"4.2.2\",\r\n        \"contentHash\": \"MYdqpNXC5xX7pVAnhGDfZvU7ybylYENqnV17XYGGkInk3Hco2Fx8t4nVBXBoAw/3ox6cNTbazq+EiS4Pi9lGQA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Owin\": \"4.2.2\",\r\n          \"Owin\": \"1.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Owin.StaticFiles\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.2.2, )\",\r\n        \"resolved\": \"4.2.2\",\r\n        \"contentHash\": \"yRflUgZxWRMUap4QqDjev9q3tY9eGh6JETYKTD5UaVxbggRRfxhQ65QH/8vo6Wc9rSAlPIrLtd21EFfv83lxvQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Owin\": \"4.2.2\",\r\n          \"Microsoft.Owin.FileSystems\": \"4.2.2\",\r\n          \"Owin\": \"1.0.0\"\r\n        }\r\n      },\r\n      \"FSharp.Compiler.Service\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"43.8.300\",\r\n        \"contentHash\": \"CoPjQYXXwmYkkHm+yxBHSW9IJVLpvwkKGEzXa5A6ebf8v6GfYaxZc5G+VHojDr586oezp1elFemu+A1WWH095A==\",\r\n        \"dependencies\": {\r\n          \"FSharp.Core\": \"[8.0.300]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"7.0.2\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Reflection.Emit\": \"4.7.0\",\r\n          \"System.Reflection.Metadata\": \"7.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"FSharp.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.300\",\r\n        \"contentHash\": \"Jv44fV7TNglyMku89lQcA4Q6mFKLyHb2bs1Yb72nvSVc+cHplEnoZ4XQUaaTLJGUTx/iMqcrkYGtaLzkkIhpaA==\"\r\n      },\r\n      \"Microsoft.Build.Framework\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"jleteC0seumLGTmTVwob97lcwPj/dfgzL/V3g/VVcMZgo2Ic7jzdy8AYpByPDh8e3uRq0SjCl6HOFCjhy5GzRQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Build.Utilities.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"pU3GnHcXp8VRMGKxdJCq+tixfhFn+QwEbpqmZmc/nqFHFyuhlGwjonWZMIWcwuCv/8EHgxoOttFvna1vrN+RrA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Build.Framework\": \"17.12.6\",\r\n          \"Microsoft.NET.StringTools\": \"17.12.6\",\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Configuration.ConfigurationManager\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.4\",\r\n        \"contentHash\": \"alIJhS0VUg/7x5AsHEoovh/wRZ0RfCSS7k5pDSqpRLTyuMTtRgj6OJJPRApRhJHOGYYsLakf1hKeXFoDwKwNkg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"N5yQdGy+M4kimVG7hwCeGTCfgYjK2o5b/Shumkb/rCC+/SAkvP1HUAYK+vxPFS7dLJNtXLRsmPHKj3fnyNWnrw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"2.9.4\",\r\n          \"System.Collections.Immutable\": \"1.5.0\",\r\n          \"System.Memory\": \"4.5.3\",\r\n          \"System.Reflection.Metadata\": \"1.6.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\",\r\n          \"System.Text.Encoding.CodePages\": \"4.5.1\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"WDUIhTHem38H6VJ98x2Ssq0fweakJHnHYl7vbG8ARnsAwLoJKCQCy78EeY1oRrCKG42j0v6JVljKkeqSDA28UA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"t9uIwsLzT5zQ1Q3ZIpwE4EOnAf/lGdbQwyeqhyO/BJ+AWDt267Hxlz5k6ypPy14Z6+PW6pTggAGz6MwN31RElQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"dHs/UyfLgzsVC4FjTi/x+H+yQifgOnpe3rSN8GwkHWjnidePZ3kSqr1JHmFDf5HTQEydYwrwCAfQ0JSzhsEqDA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"lvMC69ABN/YEaw3ke4cQRqBYZ2V7DJTOT8QXIeAJGJUfwVHTBN0iq2O5zZQrYnnUN2wmeCzCoAg59PKBosVO7g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": \"2.9.5\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\",\r\n          \"Microsoft.DiaSymReader\": \"1.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.5\",\r\n        \"contentHash\": \"SqwdTocsxU7u0Y8am67BY7KSLAhrtDXdBBwt0Nv9TxLVzPBPtPPFS2bHUsxucpOBMBmc10rWE1eJ+IDrr/0/nQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"NfBz3b5hFSbO+7xsCNryD+p8axsIJFTG7qM3jvMTC/MqYrU6b8E1b6JoRj5rJSOBB+pSunk+CMqyGQTOWHeDUg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"System.Composition\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.3.0\",\r\n        \"contentHash\": \"/fn1Tfo7j7k/slViPlM8azJuxQmri7FZ8dQ+gTeLbI29leN/1VK0U/BFcRdJNctsRCUgyKJ2q+I0Tjq07Rc1/Q==\"\r\n      },\r\n      \"Microsoft.IO.RecyclableMemoryStream\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.2.0\",\r\n        \"contentHash\": \"uyjY/cqomw1irT4L7lDeg4sJ36MsjHg3wKqpGrBAdzvZaxo85yMF+sAA9RIzTV92fDxuUzjqksMqA0+SNMkMgA==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.NET.StringTools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"w8Ehofqte5bJoR+Fa3f6JwkwFEkGtXxqvQHGOVOSHDzgNVySvL5FSNhavbQSZ864el9c3rjdLPLAtBW8dq6fmg==\"\r\n      },\r\n      \"Microsoft.Owin.FileSystems\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.2.2\",\r\n        \"contentHash\": \"GDYA+V0xJkqdp5lRehCJ3vT8Fp1OjmKLvKibEvYTgwg41CtUXduo5xKpsfnZ2IYCszUSrGJ8OdUKtoFc7mpMcw==\"\r\n      },\r\n      \"Microsoft.Win32.Registry\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"5.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"Owin\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.0\",\r\n        \"contentHash\": \"OseTFniKmyp76mEzOBwIKGBRS5eMoYNkMKaMXOpxx9jv88+b6mh1rSaw43vjBOItNhaLFG3d0a20PfHyibH5sw==\"\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"I+D26qpYdoklyAVUdqwUBrEIckMNjAYnuPJy/h9dsQItpQwVREkDFs4b4tkBza0kT2Yk48Lcfsv2QQ9hWsh9Iw==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Convention\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Composition.TypedParts\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"NHWhkM3ZkspmA0XJEsKdtTt1ViDYuojgSND3yHhTzwxepiwqZf+BCWuvCbjUt4fe0NxxQhUDGJ5km6sLjo9qnQ==\"\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"GLjh2Ju71k6C0qxMMtl4efHa68NmWeIUYh4fkUI8xbjQrEBvFmRwMDFcylT8/PR9SQbeeL48IkFxU/+gd0nYEQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"fN1bT4RX4vUqjbgoyuJFVUizAl2mYF5VAb+bVIxIYZSSc0BdnX+yGAxcavxJuDDCQ1K+/mdpgyEFc8e9ikjvrg==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.Runtime\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0LEJN+2NVM89CE4SekDrrk5tHV5LeATltkp+9WNYrR+Huiyt0vaCqHbbHtVAjPyeLWIc8dOz/3kthRBj32wGQg==\"\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0Zae/FtzeFgDBBuILeIbC/T9HMYbW4olAmi8XqqAGosSOWvXfiQLfARZEhiGd0LVXaYgXr0NhxiU1LldRP1fpQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"System.Configuration.ConfigurationManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.DiagnosticSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.2\",\r\n        \"contentHash\": \"hYr3I9N9811e0Bjf2WNwAGGyTuAFbbTgX1RPLt/3Wbm68x3IGcX5Cl75CMmgT6WlNwLQ2tCCWfqYPpypjaf2xA==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.4\",\r\n        \"contentHash\": \"aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Numerics.Vectors\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==\"\r\n      },\r\n      \"System.Reflection.Emit\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"VR4kk8XLKebQ4MZuKuIni/7oh+QGFmZW3qORd1GvBq/8026OpW501SzT/oypwiQl4TvT8ErnReh/NzY9u+C6wQ==\"\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"MclTG61lsD9sYdpNz9xsKBzjsmsfCtcMZYXz/IUr2zlhaTaABonlr1ESeompTgM+Xk+IwtGYU7/voh3YWB/fWw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Memory\": \"4.5.5\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==\"\r\n      },\r\n      \"System.Security.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Algorithms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==\"\r\n      },\r\n      \"System.Security.Cryptography.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==\"\r\n      },\r\n      \"System.Security.Cryptography.ProtectedData\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.X509Certificates\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Principal.Windows\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==\"\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"LSyCblMpvOe0N3E+8e0skHcrIhgV2huaNcjUUEa8hRtgEAm36aGkRoC8Jxlb6Ra6GSfF29ftduPNywin8XolzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.RegularExpressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"N0kNRrWe4+nXOWlpLT4LAY5brb8caNFlUuIRpraCVMDLYutKkol1aV079rQjLuSxKMJT2SpBQsYX9xbcTMmzwg==\"\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.3\",\r\n        \"contentHash\": \"+MvhNtcvIbqmhANyKu91jQnvIRVSTiaOiFNfKWwXGHG48YAb4I/TyH8spsySiPYla7gKal5ZnF3teJqZAximyQ==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Features\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1, )\",\r\n          \"System.Memory\": \"[4.5.5, )\",\r\n          \"System.Net.Http\": \"[4.3.4, )\",\r\n          \"System.Text.RegularExpressions\": \"[4.3.1, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.FSharp\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"FSharp.Compiler.Service\": \"[43.8.300, )\",\r\n          \"FSharp.Core\": \"[8.0.300, )\",\r\n          \"Microsoft.Build.Utilities.Core\": \"[17.12.6, )\",\r\n          \"Microsoft.IO.RecyclableMemoryStream\": \"[2.2.0, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Owin\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Owin\": \"[4.2.2, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\",\r\n          \"Owin\": \"[1.0.0, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Php/Advanced/IPhpSession.cs",
    "content": "using Pchp.CodeAnalysis;\r\n\r\nnamespace MirrorSharp.Php.Advanced {\r\n    /// <summary>Represents a user session based on the Peachpie PHP compiler.</summary>\r\n    public interface IPhpSession {\r\n        /// <summary>Object containing the syntax and semantic information.</summary>\r\n        /// <note>We work directly with the <see cref=\"PhpCompilation\"/> object, because the project system is not yet implemented in Peachpie.</note>\r\n        PhpCompilation Compilation { get; set; }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Php/Advanced/RoslynTypesExtensions.cs",
    "content": "extern alias peachpie;\r\nusing PeachpieRoslyn = peachpie::Microsoft.CodeAnalysis;\r\n\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.Text;\r\n\r\nnamespace MirrorSharp.Php.Advanced {\r\n    /// <summary>Provides the conversion from certain types in the fork of Roslyn used in Peachpie to the standard Roslyn.</summary>\r\n    public static class RoslynTypesExtensions {\r\n        public static TextSpan ToStandardRoslyn(this PeachpieRoslyn.Text.TextSpan span) => new (span.Start, span.Length);\r\n\r\n        public static LinePosition ToStandardRoslyn(this PeachpieRoslyn.Text.LinePosition position) => new (position.Line, position.Character);\r\n\r\n        public static LinePositionSpan ToStandardRoslyn(this PeachpieRoslyn.Text.LinePositionSpan span) {\r\n            return new LinePositionSpan(\r\n                span.Start.ToStandardRoslyn(),\r\n                span.End.ToStandardRoslyn());\r\n        }\r\n\r\n        public static Location ToStandardRoslyn(this PeachpieRoslyn.Location location) {\r\n            return Location.Create(\r\n                location.SourceTree.FilePath,\r\n                location.SourceSpan.ToStandardRoslyn(),\r\n                location.GetLineSpan().Span.ToStandardRoslyn());\r\n        }\r\n\r\n        public static DiagnosticSeverity ToStandardRoslyn(this PeachpieRoslyn.DiagnosticSeverity severity) => (DiagnosticSeverity)(int)severity;\r\n\r\n        public static Diagnostic ToStandardRoslyn(this PeachpieRoslyn.Diagnostic diagnostic) {\r\n            return Diagnostic.Create(\r\n                diagnostic.Id,\r\n                \"Compiler\",\r\n                diagnostic.GetMessage(),\r\n                diagnostic.Severity.ToStandardRoslyn(),\r\n                diagnostic.DefaultSeverity.ToStandardRoslyn(),\r\n                isEnabledByDefault: false,\r\n                warningLevel: diagnostic.Severity == PeachpieRoslyn.DiagnosticSeverity.Warning ? 1 : 0,\r\n                location: diagnostic.Location.ToStandardRoslyn()\r\n            );\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Php/Advanced/WorkSessionExtensions.cs",
    "content": "using MirrorSharp.Advanced;\r\nusing MirrorSharp.Internal;\r\n\r\nnamespace MirrorSharp.Php.Advanced {\r\n    /// <summary>Provides PHP-related extensions to the <see cref=\"IWorkSession\" />.</summary>\r\n    public static class WorkSessionExtensions {\r\n        /// <summary>Specifies whether the <see cref=\"IWorkSession\" /> is using PHP.</summary>\r\n        /// <param name=\"session\">The session</param>\r\n        /// <returns><c>true</c> if the session is using PHP; otherwise, <c>false</c></returns>\r\n        public static bool IsPhp(this IWorkSession session) {\r\n            Argument.NotNull(nameof(session), session);\r\n            return ((WorkSession)session).LanguageSession is IPhpSession;\r\n        }\r\n\r\n        /// <summary>Returns PHP session associated with the <see cref=\"IWorkSession\" />, if any; throws otherwise.</summary>\r\n        /// <param name=\"session\">The session</param>\r\n        /// <returns><see cref=\"IPhpSession\" /> if the session is using PHP</returns>\r\n        public static IPhpSession Php(this IWorkSession session) {\r\n            Argument.NotNull(nameof(session), session);\r\n            return (IPhpSession)((WorkSession)session).LanguageSession;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Php/CHANGELOG.md",
    "content": "# Changelog\r\n\r\n## [0.17] - 2024-11-19\r\n\r\n### Fixed\r\n- Added explicit dependency on safe version of Newtonsoft.Json to resolve security audit warnings\r\n- Added explicit dependency on safe version of System.Data.SqlClient to resolve security audit warnings\r\n\r\n## [0.16] - 2022-04-04\r\n## [0.16-test-2021-04-02-1] - 2021-04-02\r\n## [0.16-test-2021-04-01-1] - 2021-04-01\r\n\r\n### Changed\r\n- Updated to support MirrorSharp.Common 3.0.0\r\n\r\n## [0.15] - 2020-12-17\r\n\r\n### Changed\r\n- Updated to support MirrorSharp.Common 2.2.2"
  },
  {
    "path": "Php/Internal/PhpLanguage.cs",
    "content": "using MirrorSharp.Internal;\r\nusing MirrorSharp.Internal.Abstraction;\n\nnamespace MirrorSharp.Php.Internal {\n    internal class PhpLanguage : ILanguage {\n        public const string Name = \"PHP\";\n\n        private readonly MirrorSharpPhpOptions _options;\n\n        public PhpLanguage(MirrorSharpPhpOptions options) {\n            _options = options;\n        }\n\n        public ILanguageSessionInternal CreateSession(string text, ILanguageSessionExtensions extensions) {\n            return new PhpSession(text, _options);\n        }\n\n        string ILanguage.Name => Name;\n    }\n}\n"
  },
  {
    "path": "Php/Internal/PhpSession.cs",
    "content": "extern alias peachpie;\r\nusing PeachpieRoslyn = peachpie::Microsoft.CodeAnalysis;\r\n\r\nusing System;\r\nusing System.Collections.Immutable;\r\nusing System.Linq;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.Completion;\r\nusing Microsoft.CodeAnalysis.Text;\r\nusing MirrorSharp.Internal.Abstraction;\r\nusing MirrorSharp.Php.Advanced;\r\nusing Pchp.CodeAnalysis;\r\n\r\nusing SourceText = peachpie::Microsoft.CodeAnalysis.Text.SourceText;\r\n\r\nnamespace MirrorSharp.Php.Internal {\r\n    internal class PhpSession : ILanguageSessionInternal, IPhpSession {\r\n        private const string AssemblyName = \"app\";\r\n        private const string ScriptFileName = \"index.php\";\r\n\r\n        /// <summary>Helper base compilation object used to cache the parsed references.</summary>\r\n        private static PhpCompilation CoreCompilation { get; }\r\n\r\n        static PhpSession() {\r\n            CoreCompilation = PhpCompilation.Create(\r\n                assemblyName: AssemblyName,\r\n                syntaxTrees: ImmutableArray<PhpSyntaxTree>.Empty,\r\n                references: MirrorSharpPhpOptions.AssemblyReferencePaths.Select(path => PeachpieRoslyn.MetadataReference.CreateFromFile(path)),\r\n                options: new PhpCompilationOptions(\r\n                    outputKind: PeachpieRoslyn.OutputKind.ConsoleApplication,\r\n                    baseDirectory: Environment.CurrentDirectory,\r\n                    sdkDirectory: null\r\n                )\r\n            );\r\n\r\n            // Bind reference manager, cache all references\r\n            var hlp = CoreCompilation.Assembly;\r\n        }\r\n\r\n        private string _text;\r\n        private MirrorSharpPhpOptions _options;\r\n\r\n        public PhpSession(string text, MirrorSharpPhpOptions options) {\r\n            _text = text;\r\n            _options = options;\r\n\r\n            var syntaxTree = PhpSyntaxTree.ParseCode(text, PhpParseOptions.Default, PhpParseOptions.Default, ScriptFileName);\r\n            Compilation = (PhpCompilation)CoreCompilation.AddSyntaxTrees(syntaxTree);\r\n\r\n            if (options.Debug == false) {\r\n                Compilation = Compilation.WithPhpOptions(Compilation.Options.WithOptimizationLevel(PeachpieRoslyn.OptimizationLevel.Release));\r\n            }\r\n        }\r\n\r\n        public PhpCompilation Compilation { get; set; }\r\n\r\n        public string GetText() => _text;\r\n\r\n        public void ReplaceText(string? newText, int start = 0, int? length = null) {\r\n            if (length > 0)\r\n                _text = _text.Remove(start, length.Value);\r\n            if (newText?.Length > 0)\r\n                _text = _text.Insert(start, newText);\r\n\r\n            var syntaxTree = PhpSyntaxTree.ParseCode(_text, PhpParseOptions.Default, PhpParseOptions.Default, ScriptFileName);\r\n            Compilation = (PhpCompilation)Compilation.ReplaceSyntaxTree(Compilation.SyntaxTrees.Single(), syntaxTree);\r\n        }\r\n\r\n        public async Task<ImmutableArray<Diagnostic>> GetDiagnosticsAsync(CancellationToken cancellationToken) {\r\n            var parseDiags = Compilation.GetParseDiagnostics();\r\n            if (parseDiags.Length > 0) {\r\n                return parseDiags\r\n                    .Select(diagnostic => diagnostic.ToStandardRoslyn())\r\n                    .ToImmutableArray();\r\n            } else {\r\n                return (await Compilation.BindAndAnalyseTask().ConfigureAwait(false))\r\n                    .Select(diagnostic => diagnostic.ToStandardRoslyn())\r\n                    .ToImmutableArray();\r\n            }\r\n        }\r\n\r\n        public bool ShouldTriggerCompletion(int cursorPosition, CompletionTrigger trigger) {\r\n            return false; // not supported yet\r\n        }\r\n\r\n        public Task<CompletionList?> GetCompletionsAsync(int cursorPosition, CompletionTrigger trigger, CancellationToken cancellationToken) {\r\n            return Task.FromResult<CompletionList?>(CompletionList.Empty); // not supported yet\r\n        }\r\n\r\n        public Task<CompletionDescription?> GetCompletionDescriptionAsync(CompletionItem item, CancellationToken cancellationToken) {\r\n            throw new NotSupportedException(); // not supported yet\r\n        }\r\n\r\n        public Task<CompletionChange> GetCompletionChangeAsync(TextSpan completionSpan, CompletionItem item, CancellationToken cancellationToken) {\r\n            throw new NotSupportedException(); // not supported yet\r\n        }\r\n\r\n        public void Dispose() {}\r\n    }\r\n}\r\n"
  },
  {
    "path": "Php/MirrorSharpOptionsExtensions.cs",
    "content": "using System;\r\nusing MirrorSharp.Internal;\r\nusing MirrorSharp.Php;\r\nusing MirrorSharp.Php.Internal;\r\n\r\nnamespace MirrorSharp {\r\n    /// <summary>Extensions to <see cref=\"MirrorSharpOptions\" /> related to Visual Basic .NET.</summary>\r\n    public static class MirrorSharpOptionsExtensions {\r\n        /// <summary>Enables and configures PHP .NET support in the <see cref=\"MirrorSharpOptions\" />.</summary>\r\n        /// <param name=\"options\">Options to configure</param>\r\n        /// <param name=\"setup\">Setup delegate used to configure <see cref=\"MirrorSharpPhpOptions\" /></param>\r\n        /// <returns>Value of <paramref name=\"options\" />, for convenience.</returns>\r\n        public static MirrorSharpOptions EnablePhp(this MirrorSharpOptions options, Action<MirrorSharpPhpOptions>? setup = null) {\r\n            Argument.NotNull(nameof(options), options);\r\n            options.Languages.Add(PhpLanguage.Name, () => {\r\n                var phpOptions = new MirrorSharpPhpOptions();\r\n                setup?.Invoke(phpOptions);\r\n                return new PhpLanguage(phpOptions);\r\n            });\r\n            return options;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Php/MirrorSharpPhpOptions.cs",
    "content": "using System.Collections.Generic;\r\nusing System.Collections.Immutable;\r\nusing System.Linq;\r\nusing System.Reflection;\r\n\r\nnamespace MirrorSharp.Php {\r\n    /// <summary>MirrorSharp options for PHP</summary>\r\n    public class MirrorSharpPhpOptions {\r\n        /// <summary>Contains the list of assembly reference paths to be used, not configurable.</summary>\r\n        public static readonly ImmutableArray<string> AssemblyReferencePaths = GatherPeachpieReferences();\r\n\r\n        internal MirrorSharpPhpOptions() { }\r\n\r\n        /// <summary>Whether to compile in Debug mode.</summary>\r\n        public bool? Debug { get; set; }\r\n\r\n        private static ImmutableArray<string> GatherPeachpieReferences() {\r\n            var refKnownTypes = new[] {\r\n                typeof(object),                                         // mscorlib\r\n                typeof(Pchp.Core.Context),                              // Peachpie.Runtime\r\n                typeof(Pchp.Library.Strings),                           // Peachpie.Library\r\n                typeof(Peachpie.Library.XmlDom.XmlDom),                 // Peachpie.Library.XmlDom\r\n                typeof(Peachpie.Library.Scripting.ScriptingProvider)    // Peachpie.Library.Scripting\r\n            };\r\n\r\n            var list = refKnownTypes.Select(type => type.GetTypeInfo().Assembly).Distinct().ToList();\r\n            var set = new HashSet<Assembly>(list);\r\n\r\n            for (var i = 0; i < list.Count; i++) {\r\n                var assembly = list[i];\r\n                var refs = assembly.GetReferencedAssemblies();\r\n                foreach (var refname in refs) {\r\n                    var refassembly = Assembly.Load(refname);\r\n                    if (refassembly != null && set.Add(refassembly)) {\r\n                        list.Add(refassembly);\r\n                    }\r\n                }\r\n            }\r\n\r\n            return list.Select(ass => ass.Location).ToImmutableArray();\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Php/Php.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\r\n  <Import Project=\"../NuGet.Common.props\" />\r\n\r\n  <PropertyGroup>\r\n    <AssemblyName>MirrorSharp.Php</AssemblyName>\r\n    <RootNamespace>MirrorSharp.Php</RootNamespace>\r\n    <TargetFrameworks>netstandard2</TargetFrameworks>\r\n    <VersionPrefix>0.17</VersionPrefix>\r\n    <Description>MirrorSharp PHP support library, implemented using Peachpie. $(DescriptionSuffix)</Description>\r\n    <PackageTags>PHP;Peachpie;CodeMirror</PackageTags>    \r\n    <GenerateDocumentationFile>true</GenerateDocumentationFile>\r\n  </PropertyGroup>\r\n  \r\n  <ItemGroup>\r\n    <ProjectReference Include=\"..\\Common\\Common.csproj\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <PackageReference Include=\"Peachpie.CodeAnalysis\" Version=\"0.9.0-CI01101\" />\r\n    <PackageReference Include=\"Peachpie.App\" Version=\"0.9.0-CI01101\" />\r\n    <!--\r\n      Avoids vulnerability in version referenced by other dependencies\r\n      TOOD: Try removing after upgrading Peachpie.CodeAnalysis/Peachpie.App.\r\n    -->\r\n    <PackageReference Include=\"System.Data.SqlClient\" Version=\"4.9.0\" />\r\n    <!--\r\n      Avoids vulnerability in version referenced by other dependencies\r\n      TOOD: Try removing after upgrading Peachpie.CodeAnalysis/Peachpie.App.\r\n    -->\r\n    <PackageReference Include=\"Newtonsoft.Json\" Version=\"13.0.3\" />\r\n  </ItemGroup>\r\n\r\n  <Target Name=\"ChangeAliasesOfStrongNameAssemblies\" BeforeTargets=\"FindReferenceAssembliesForReferences;ResolveReferences\">\r\n    <ItemGroup>\r\n      <ReferencePath Condition=\"'%(FileName)' == 'Peachpie.Microsoft.CodeAnalysis'\">\r\n        <Aliases>peachpie</Aliases>\r\n      </ReferencePath>\r\n    </ItemGroup>\r\n  </Target>\r\n</Project>"
  },
  {
    "path": "Php/Properties/AssemblyInfo.cs",
    "content": "using System.Runtime.CompilerServices;\r\nusing System.Runtime.InteropServices;\r\n\r\n// Setting ComVisible to false makes the types in this assembly not visible\r\n// to COM components.  If you need to access a type in this assembly from\r\n// COM, set the ComVisible attribute to true on that type.\r\n[assembly: ComVisible(false)]\r\n\r\n[assembly: InternalsVisibleTo(\"MirrorSharp.Tests\")]"
  },
  {
    "path": "Php/PublicAPI.Shipped.txt",
    "content": "#nullable enable\r\nMirrorSharp.MirrorSharpOptionsExtensions\r\nMirrorSharp.Php.Advanced.IPhpSession\r\nMirrorSharp.Php.Advanced.IPhpSession.Compilation.get -> Pchp.CodeAnalysis.PhpCompilation!\r\nMirrorSharp.Php.Advanced.IPhpSession.Compilation.set -> void\r\nMirrorSharp.Php.Advanced.RoslynTypesExtensions\r\nMirrorSharp.Php.Advanced.WorkSessionExtensions\r\nMirrorSharp.Php.MirrorSharpPhpOptions\r\nMirrorSharp.Php.MirrorSharpPhpOptions.Debug.get -> bool?\r\nMirrorSharp.Php.MirrorSharpPhpOptions.Debug.set -> void\r\nstatic MirrorSharp.MirrorSharpOptionsExtensions.EnablePhp(this MirrorSharp.MirrorSharpOptions! options, System.Action<MirrorSharp.Php.MirrorSharpPhpOptions!>? setup = null) -> MirrorSharp.MirrorSharpOptions!\r\nstatic MirrorSharp.Php.Advanced.RoslynTypesExtensions.ToStandardRoslyn(this Microsoft.CodeAnalysis.Diagnostic! diagnostic) -> Microsoft.CodeAnalysis.Diagnostic!\r\nstatic MirrorSharp.Php.Advanced.RoslynTypesExtensions.ToStandardRoslyn(this Microsoft.CodeAnalysis.DiagnosticSeverity severity) -> Microsoft.CodeAnalysis.DiagnosticSeverity\r\nstatic MirrorSharp.Php.Advanced.RoslynTypesExtensions.ToStandardRoslyn(this Microsoft.CodeAnalysis.Location! location) -> Microsoft.CodeAnalysis.Location!\r\nstatic MirrorSharp.Php.Advanced.RoslynTypesExtensions.ToStandardRoslyn(this Microsoft.CodeAnalysis.Text.LinePosition position) -> Microsoft.CodeAnalysis.Text.LinePosition\r\nstatic MirrorSharp.Php.Advanced.RoslynTypesExtensions.ToStandardRoslyn(this Microsoft.CodeAnalysis.Text.LinePositionSpan span) -> Microsoft.CodeAnalysis.Text.LinePositionSpan\r\nstatic MirrorSharp.Php.Advanced.RoslynTypesExtensions.ToStandardRoslyn(this Microsoft.CodeAnalysis.Text.TextSpan span) -> Microsoft.CodeAnalysis.Text.TextSpan\r\nstatic MirrorSharp.Php.Advanced.WorkSessionExtensions.IsPhp(this MirrorSharp.Advanced.IWorkSession! session) -> bool\r\nstatic MirrorSharp.Php.Advanced.WorkSessionExtensions.Php(this MirrorSharp.Advanced.IWorkSession! session) -> MirrorSharp.Php.Advanced.IPhpSession!\r\nstatic readonly MirrorSharp.Php.MirrorSharpPhpOptions.AssemblyReferencePaths -> System.Collections.Immutable.ImmutableArray<string!>"
  },
  {
    "path": "Php/PublicAPI.Unshipped.txt",
    "content": ""
  },
  {
    "path": "Php/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETStandard,Version=v2.0\": {\r\n      \"Microsoft.CodeAnalysis.PublicApiAnalyzers\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.0, )\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"upaG6u/PxjkOj39Kk0DLmmA75acYChmv6/HnOUxvSgGWul53uPcVaPxBWCzkHDfIljyiq5qeIG+CatT8x8FAEA==\"\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.0.3, )\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"Newtonsoft.Json\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[13.0.3, )\",\r\n        \"resolved\": \"13.0.3\",\r\n        \"contentHash\": \"HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==\"\r\n      },\r\n      \"Peachpie.App\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.9.0-CI01101, )\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"LZcCc6XsKW7MBRKne6KGgwDKPyr/gJb53BJhRVfRlXWFjRecuBqLwjXLWpPvXR57o/MwvZ+iv//iC2NYucIpwQ==\",\r\n        \"dependencies\": {\r\n          \"Peachpie.Library\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Library.MsSql\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Library.MySql\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Library.Network\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Library.PDO\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Library.Scripting\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Library.XmlDom\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Runtime\": \"0.9.0-CI01101\"\r\n        }\r\n      },\r\n      \"Peachpie.CodeAnalysis\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.9.0-CI01101, )\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"SULo4KfDz/nW3I1x1FV/oy04myBa7BkZGyV/e4OzPLsX8vb0pL8Q0nLHsoOJx0CWxBehlXU98APdVB+U0BNfDg==\",\r\n        \"dependencies\": {\r\n          \"Devsense.Php.Parser\": \"1.4.51\",\r\n          \"Peachpie.Microsoft.CodeAnalysis\": \"0.6.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Immutable\": \"1.4.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Reflection.Metadata\": \"1.5.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Data.SqlClient\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.9.0, )\",\r\n        \"resolved\": \"4.9.0\",\r\n        \"contentHash\": \"j4KJO+vC62NyUtNHz854njEqXbT8OmAa5jb1nrGfYWBOcggyYUQE0w/snXeaCjdvkSKWuUD+hfvlbN8pTrJTXg==\"\r\n      },\r\n      \"Devsense.PHP.Parser\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.4.51\",\r\n        \"contentHash\": \"QBFG8qrGJqvvH4sHGt1ym7Mg9w7RYJOkr0KvJoXg71lAu7ON8klLwefKP5MampoPTDm1TYf8CxWn1kFZRWpBnA==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"HtmlAgilityPack\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.7\",\r\n        \"contentHash\": \"mpkJPBYXdqFVy5pjTKFzE2W4rZIHv+pOaShCp44Rn/+jNw/ApS3RxDNDYO59QFUNSUMD4GP0jBTIwvPDjC3W7Q==\",\r\n        \"dependencies\": {\r\n          \"System.Net.Http\": \"4.3.2\",\r\n          \"System.Xml.XPath\": \"4.3.0\",\r\n          \"System.Xml.XPath.XmlDocument\": \"4.3.0\",\r\n          \"System.Xml.XmlDocument\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.4\",\r\n        \"contentHash\": \"alIJhS0VUg/7x5AsHEoovh/wRZ0RfCSS7k5pDSqpRLTyuMTtRgj6OJJPRApRhJHOGYYsLakf1hKeXFoDwKwNkg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"N5yQdGy+M4kimVG7hwCeGTCfgYjK2o5b/Shumkb/rCC+/SAkvP1HUAYK+vxPFS7dLJNtXLRsmPHKj3fnyNWnrw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"2.9.4\",\r\n          \"System.Collections.Immutable\": \"1.5.0\",\r\n          \"System.Memory\": \"4.5.3\",\r\n          \"System.Reflection.Metadata\": \"1.6.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\",\r\n          \"System.Text.Encoding.CodePages\": \"4.5.1\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"WDUIhTHem38H6VJ98x2Ssq0fweakJHnHYl7vbG8ARnsAwLoJKCQCy78EeY1oRrCKG42j0v6JVljKkeqSDA28UA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"t9uIwsLzT5zQ1Q3ZIpwE4EOnAf/lGdbQwyeqhyO/BJ+AWDt267Hxlz5k6ypPy14Z6+PW6pTggAGz6MwN31RElQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"dHs/UyfLgzsVC4FjTi/x+H+yQifgOnpe3rSN8GwkHWjnidePZ3kSqr1JHmFDf5HTQEydYwrwCAfQ0JSzhsEqDA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"lvMC69ABN/YEaw3ke4cQRqBYZ2V7DJTOT8QXIeAJGJUfwVHTBN0iq2O5zZQrYnnUN2wmeCzCoAg59PKBosVO7g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": \"2.9.5\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\",\r\n          \"Microsoft.DiaSymReader\": \"1.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.5\",\r\n        \"contentHash\": \"SqwdTocsxU7u0Y8am67BY7KSLAhrtDXdBBwt0Nv9TxLVzPBPtPPFS2bHUsxucpOBMBmc10rWE1eJ+IDrr/0/nQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"NfBz3b5hFSbO+7xsCNryD+p8axsIJFTG7qM3jvMTC/MqYrU6b8E1b6JoRj5rJSOBB+pSunk+CMqyGQTOWHeDUg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"System.Composition\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.3.0\",\r\n        \"contentHash\": \"/fn1Tfo7j7k/slViPlM8azJuxQmri7FZ8dQ+gTeLbI29leN/1VK0U/BFcRdJNctsRCUgyKJ2q+I0Tjq07Rc1/Q==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader.Native\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.3.3\",\r\n        \"contentHash\": \"mjATkm+L2UlP35gO/ExNutLDfgX4iiwz1l/8sYVoeGHp5WnkEDu0NfIEsC4Oy/pCYeRw0/6SGB+kArJVNNvENQ==\"\r\n      },\r\n      \"Microsoft.DotNet.PlatformAbstractions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.4\",\r\n        \"contentHash\": \"2HjSGp63VCLQaeGadrLYR868g25mJHr+TFF81yWCaClzjUbU2vNDx6km7SUgPnoLVksE/1e7in88eh+oPtc4aQ==\",\r\n        \"dependencies\": {\r\n          \"System.AppContext\": \"4.1.0\",\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.IO.FileSystem\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Runtime.InteropServices\": \"4.1.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Extensions.DependencyInjection\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.0\",\r\n        \"contentHash\": \"wakg18gHYiUL1pcjjyZuYk6OvDpbSw1E7IWxm78TMepsr+gQ8W0tWzuRm0q/9RFblngwPwo15rrgZSUV51W5Iw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Extensions.DependencyInjection.Abstractions\": \"2.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Extensions.DependencyInjection.Abstractions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.0\",\r\n        \"contentHash\": \"eUdJ0Q/GfVyUJc0Jal5L1QZLceL78pvEM9wEKcHeI24KorqMDoVX+gWsMGLulQMfOwsUaPtkpQM2pFERTzSfSg==\"\r\n      },\r\n      \"Microsoft.Extensions.DependencyModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.4\",\r\n        \"contentHash\": \"jnHAeijsfJFQXdXmnYK/NhQIkgBUeth//RZZkf0ldIKC+jARbf7YxbA9uTrs/EPhuQxHXaDxVuMyscgmL+UqfA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.DotNet.PlatformAbstractions\": \"2.0.4\",\r\n          \"Newtonsoft.Json\": \"9.0.1\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Dynamic.Runtime\": \"4.0.11\",\r\n          \"System.Linq\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.1\",\r\n        \"contentHash\": \"TMBuzAHpTenGbGgk0SMTwyEkyijY/Eae4ZGsFNYJvAr/LDn1ku3Etp3FPxChmDp5HHF3kzJuoaa08N0xjqAJfQ==\"\r\n      },\r\n      \"Microsoft.NETCore.Targets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.3\",\r\n        \"contentHash\": \"3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==\"\r\n      },\r\n      \"MySqlConnector\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.42.1\",\r\n        \"contentHash\": \"7jS8P+XOw+vS/reuwEEGhtAKvagiOEtOsu5/46Bnuiw+DgOjAFgMSojkiVaZi9DHcatP8jgmjY67iDGVZByQng==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.4.0\",\r\n          \"System.Memory\": \"4.5.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Peachpie.Library\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"gbYwLhop0tmTn4V+QSlbTct6vu7SDFqUmoLE5wtoyKmTR9B9GNV8kSuhkugYQ6lGt/331KS/9rfm7DAdkOxFUw==\",\r\n        \"dependencies\": {\r\n          \"Peachpie.Runtime\": \"0.9.0-CI01101\"\r\n        }\r\n      },\r\n      \"Peachpie.Library.MsSql\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"y7ROu/fhHwGF6nyg6HH4ilJyPPhds8vq3mCqs5yhDf7KpqwAJ9s8dU0rRxz9XAoT1ZPu7+Te4uCETLzCGVtGuA==\",\r\n        \"dependencies\": {\r\n          \"Peachpie.Library\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Runtime\": \"0.9.0-CI01101\",\r\n          \"System.Data.SqlClient\": \"4.4.3\"\r\n        }\r\n      },\r\n      \"Peachpie.Library.MySql\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"WeN1dTTTRR3XrMXAS48fkLCNHX5dP7iv9uFw3tjXvJBZkaQQrpiFjZ3WS+wxbgxyiqZ/skNhzpGQB828FY4coQ==\",\r\n        \"dependencies\": {\r\n          \"MySqlConnector\": \"0.42.1\",\r\n          \"Peachpie.Library\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Runtime\": \"0.9.0-CI01101\"\r\n        }\r\n      },\r\n      \"Peachpie.Library.Network\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"Bx8GO4SahFi1gk/zvkOzYbifygQiEdXECdCnbz7OzmCbN6VB7m1eCJozYXEEAO4nIBhptICaL5RgFRi+uTKPJA==\",\r\n        \"dependencies\": {\r\n          \"Peachpie.Library\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Runtime\": \"0.9.0-CI01101\"\r\n        }\r\n      },\r\n      \"Peachpie.Library.PDO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"AtQ6pVUgYCdSIQE1Txk4HD1Vv8pe0Q3thD7dc/m96lWYqUimHVb+PovOZxbC0DM2XdpthemArUAZL8l3NDHCGg==\",\r\n        \"dependencies\": {\r\n          \"Peachpie.Library\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Runtime\": \"0.9.0-CI01101\"\r\n        }\r\n      },\r\n      \"Peachpie.Library.Scripting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"lm2LUVlCUrtg9+M1pFWpBdn+0GOE5SieHlA+dI910gnk3DpDhWO+Ic1hHJG0j1EkjntuuPmrZruOKobjj40slA==\",\r\n        \"dependencies\": {\r\n          \"Devsense.Php.Parser\": \"1.4.51\",\r\n          \"Peachpie.CodeAnalysis\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Library\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Library.XmlDom\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Microsoft.CodeAnalysis\": \"0.6.0\",\r\n          \"Peachpie.Runtime\": \"0.9.0-CI01101\",\r\n          \"System.Runtime.Loader\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Peachpie.Library.XmlDom\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"JcABdbNABlVgF+/fPujLZwcUZguOaJknP/Jr2gP1BamVSgFHVnCV3uTP8Wmu21EoQGk6mrGD+qDNoKwNUXpKrw==\",\r\n        \"dependencies\": {\r\n          \"HtmlAgilityPack\": \"1.6.7\",\r\n          \"Peachpie.Library\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Runtime\": \"0.9.0-CI01101\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\",\r\n          \"System.Xml.XPath\": \"4.3.0\",\r\n          \"System.Xml.XPath.XmlDocument\": \"4.3.0\",\r\n          \"System.Xml.XmlDocument\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Peachpie.Microsoft.CodeAnalysis\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.6.0\",\r\n        \"contentHash\": \"pw0Nm3V2bvhG9EN/eAI6dUGYrDjwApgQbEgjPiuLJK9iN4QyXYwn589kxhvimVWGSJHOakkDemfQFunyxOqSow==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.DiaSymReader.Native\": \"1.3.3\",\r\n          \"System.Collections.Immutable\": \"1.3.1\",\r\n          \"System.Reflection.Metadata\": \"1.4.2\",\r\n          \"System.Runtime.Serialization.Json\": \"4.0.3\"\r\n        }\r\n      },\r\n      \"Peachpie.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"EUN0raglMAuLUxEWsRZpvxQowfZbEZ96DyeK1ZhwD/KVQpnzzO8lZrd5/yc3i5FAOupJpVm4/040xdEyqC4LzQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Extensions.DependencyInjection\": \"2.0.0\",\r\n          \"Microsoft.Extensions.DependencyModel\": \"2.0.4\",\r\n          \"System.Composition\": \"1.1.0\",\r\n          \"System.Memory\": \"4.5.0\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==\"\r\n      },\r\n      \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==\"\r\n      },\r\n      \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==\"\r\n      },\r\n      \"runtime.native.System\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==\",\r\n        \"dependencies\": {\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==\",\r\n        \"dependencies\": {\r\n          \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==\"\r\n      },\r\n      \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==\"\r\n      },\r\n      \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==\"\r\n      },\r\n      \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==\"\r\n      },\r\n      \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==\"\r\n      },\r\n      \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==\"\r\n      },\r\n      \"System.AppContext\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"3QjO4jNV7PdKkmQAVp9atA+usVnKRwI3Kx1nMwJ93T0LcQfx7pKAYk0nKz5wn1oP5iqlhZuy6RXOFdhr7rDwow==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Concurrent\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.5.0\",\r\n        \"contentHash\": \"EXKiDFsChZW0RjrZ4FYHu9aW6+P4MCgEDCklsVseRfhoO0F+dXeMSsMRAlVXIo06kGJ/zv+2w1a2uc2+kxxSaQ==\"\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"rLsB/X6sp4cLPPlyPVuTBQbtG2IdSdKc6tFImxopz9s5po4Og5sQ8rA7GPxpTsrQ5UXS1IxdaqFwxtse4eLolw==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.1.0\",\r\n          \"System.Composition.Convention\": \"1.1.0\",\r\n          \"System.Composition.Hosting\": \"1.1.0\",\r\n          \"System.Composition.Runtime\": \"1.1.0\",\r\n          \"System.Composition.TypedParts\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"S7Ybny/58VGS+5uanotm7f2k7Iv3ufdv0eDA8adZ345pE27zr+9bxhHw/rXXMVltRdoUuyB1O4YpYT1lVwkM0w==\"\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"lqiuITNCKJ/JlXzmum0mr+1HDCJ6mN/+1C4ouXpvLKpUA+zal7EsRvfHxy+kVVPrPMaFU9dLQkBxV/GFVnJoXA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"D5M3oBOxCeHe4WVNtqKnFA3UMt53uIdUMGgustecwh7kmzE7k+Co+CFPLpQVPdyBhmB8WxicaESa41QLZ0ZlgA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.Runtime\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"dLbtnVmOiD4k1/YA4LfV2nEZX4jdgizvSzvVIffOp3AXU468n5IsDbwwbCHSUmnfqoJ5unYR+hEmN1U3gBmDRg==\"\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"SlACsoBPQpeL8dAjQXttv9d5Y/790UmxnlP2yk1w94T2vMcHOa7i9XGUKCB81BGMWstR2FF9ZEftm8rIdhMEvg==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.1.0\",\r\n          \"System.Composition.Hosting\": \"1.1.0\",\r\n          \"System.Composition.Runtime\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Debug\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.DiagnosticSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"tD6kosZnTAGdrEa0tZSuFyunMbt/5KYDnHdndJYGqZoNy00XVXyACd5d6KnE1YgYv3ne2CjtAfNXo/fwEhnKUA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tracing\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Dynamic.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.11\",\r\n        \"contentHash\": \"db34f6LHYM0U0JpE+sOmjar27BnqTVkbLJhgfwMpTdgTigG/Hna3m2MYVwnFzGGKnEJk2UXFuoVTr8WUbU91/A==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Linq.Expressions\": \"4.1.0\",\r\n          \"System.ObjectModel\": \"4.0.12\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Emit\": \"4.0.1\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Globalization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Calendars\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq.Expressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"I+y02iqkgmCAyfbqOmSDOgqdZQ5tTj80Akm5BPSS8EeB0VGWdy6X1KCoYe8Pk6pwDoAKZUOdLVxnTJcExiv5zw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.ObjectModel\": \"4.0.12\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Emit\": \"4.0.1\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.0.1\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.0.1\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Numerics.Vectors\": \"4.4.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.4\",\r\n        \"contentHash\": \"aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Extensions\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"System.Net.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Numerics.Vectors\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"UiLzLW+Lw6HLed1Hcg+8jSRttrbuXv7DANVj0DkL9g6EnnzbL75EB7EWsw5uRbhxd/4YdG8li5XizGWepmG3PQ==\"\r\n      },\r\n      \"System.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.12\",\r\n        \"contentHash\": \"tAgJM1xt3ytyMoW4qn4wIqgJYm7L7TShRZG4+Q4Qsi2PCcj96pXN7nRywS9KkB3p/xDUjc2HSwP9SROyPYDYKQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Private.DataContractSerialization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.2\",\r\n        \"contentHash\": \"e700XsW/HO7qlnatKyVXEFHJMNXDkPOkn4pmpddXcJk6KEsnYIpJUHDFycHKB3mRVsgRtUYiDRbRKhecwo2ezg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Collections.Concurrent\": \"4.0.12\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.0.1\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.0.1\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Runtime.Serialization.Primitives\": \"4.1.1\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Text.Encoding.Extensions\": \"4.0.11\",\r\n          \"System.Text.RegularExpressions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\",\r\n          \"System.Xml.XmlSerializer\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Reflection\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"P2wqAj72fFjpP6wb9nSfDqNBMab+2ovzSDzUZK7MVIm54tBJEPr9jWfSjjoTpPwj1LeKcmX3vr0ttyjSSFM47g==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.ILGeneration\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.Lightweight\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"GYrtRsZcMuHF3sbmRHfMYpvxZoIN2bQGrYGerUiWLEkqdEUQZhH3TRSaC/oI4wO0II1RKBPlpIa1TOMxIcOOzQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.0.1\",\r\n          \"Microsoft.NETCore.Targets\": \"1.0.1\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.0\",\r\n        \"contentHash\": \"COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"1.5.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.TypeExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"tsQ/ptQ3H5FYfON8lL4MxRk/8kFyE0A+tGPXmVP967cT/gzLHYxIejIYSxp4JmIeFHVP78g/F2FE1mUUTbDtrg==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Resources.ResourceManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.3\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.3\",\r\n        \"contentHash\": \"3TIsJhD1EiiT0w2CcDMN/iSSwnNnsrnbzeVHSKkaEgV85txMprmuO+Yq2AdSbeVGcg28pdNDTPK87tJhX7VFHw==\"\r\n      },\r\n      \"System.Runtime.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"qAtKMcHOAq9/zKkl0dwvF0T0pmgCQxX1rC49rJXoU8jq+lw6MC3uXy7nLFmjEI20T3Aq069eWz4LcYR64vEmJw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.3\",\r\n          \"System.Runtime\": \"4.3.1\"\r\n        }\r\n      },\r\n      \"System.Runtime.Handles\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices.RuntimeInformation\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"hWPhJxc453RCa8Z29O91EmfGeZIHX1ZH2A8L6lYQVSaKzku2DfArSfMEb1/MYYzPQRJZeu0c9dmYeJKxW5Fgng==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.0.1\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.InteropServices\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"runtime.native.System\": \"4.0.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Loader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DHMaRn8D8YCK2GG2pw+UzNxn/OHVfaWx7OTLBD/hPegHZZgcZh3H6seWegrC4BYwsfuGrywIuT+MQs+rPqRLTQ==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Numerics\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==\",\r\n        \"dependencies\": {\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Serialization.Json\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.3\",\r\n        \"contentHash\": \"siAQb9mZmY7dsBtdbC0OE7W1/y4DGgrIRHTghtN40v79wAvHluBm1wzlrCauCWMyp6WVxkcTzoesjZnx5+fM9g==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Private.DataContractSerialization\": \"4.1.2\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Serialization.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.1\",\r\n        \"contentHash\": \"HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==\",\r\n        \"dependencies\": {\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Algorithms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Cng\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Csp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.X509Certificates\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Cng\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Csp\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"4J2JQXbftjPMppIHJ7IC+VXQ9XfEagN92vZZNoG12i+zReYlim5dMoXFC1Zzg7tsnKDM7JPo5bYfFK4Jheq44w==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.RegularExpressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"N0kNRrWe4+nXOWlpLT4LAY5brb8caNFlUuIRpraCVMDLYutKkol1aV079rQjLuSxKMJT2SpBQsYX9xbcTMmzwg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.1\",\r\n          \"System.Runtime.Extensions\": \"4.3.1\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.3\",\r\n        \"contentHash\": \"+MvhNtcvIbqmhANyKu91jQnvIRVSTiaOiFNfKWwXGHG48YAb4I/TyH8spsySiPYla7gKal5ZnF3teJqZAximyQ==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      },\r\n      \"System.Xml.ReaderWriter\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XmlDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"lJ8AxvkX7GQxpC6GFCeBj8ThYVyQczx2+f/cWHJU8tjS7YfI6Cv6bon70jVEgs2CiFbmmM8b9j1oZVx0dSI2Ww==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XmlSerializer\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.11\",\r\n        \"contentHash\": \"FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Emit\": \"4.0.1\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.0.1\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Text.RegularExpressions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"System.Xml.XPath\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"v1JQ5SETnQusqmS3RwStF7vwQ3L02imIzl++sewmt23VGygix04pEH+FCj1yWb+z4GDzKiljr1W7Wfvrx0YwgA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XPath.XmlDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"A/uxsWi/Ifzkmd4ArTLISMbfFs6XpRPsXZonrIqyTY70xi8t+mDtvSM5Os0RqyRDobjMBwIDHDL4NOIbkDwf7A==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\",\r\n          \"System.Xml.XPath\": \"4.3.0\",\r\n          \"System.Xml.XmlDocument\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Features\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1, )\",\r\n          \"System.Memory\": \"[4.5.5, )\",\r\n          \"System.Net.Http\": \"[4.3.4, )\",\r\n          \"System.Text.RegularExpressions\": \"[4.3.1, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Publish-ToNpm.ps1",
    "content": "$ErrorActionPreference = 'Stop'\r\nSet-StrictMode -Version 2\r\n\r\ntry {\r\n    Set-Content '.npmrc' \"//registry.npmjs.org/:_authToken=$($env:NpmAuthToken)\"\r\n    Get-Item *.tgz | % { \r\n        try {\r\n            npm publish $($_.FullName)\r\n        }\r\n        catch {\r\n            # not failing since it's likely we tried to publish package\r\n            # twice with the same name. later this should be improved\r\n            # to actually check the error.\r\n            Write-Output $_\r\n        }\r\n    }\r\n}\r\nfinally {\r\n    Remove-Item \".npmrc\"\r\n}"
  },
  {
    "path": "README.md",
    "content": "## Overview\r\n\r\nMirrorSharp is a reusable client-server code editor component built on [Roslyn](https://github.com/dotnet/roslyn) and [CodeMirror](https://codemirror.net/).\r\n\r\n### Features\r\n#### Code completion\r\n![Code completion](📄readme/code-completion.png)\r\n\r\n#### Signature help\r\n![Signature help](📄readme/signature-help.png)\r\n\r\n#### Quick fixes\r\n![Quick fixes](📄readme/quick-fixes.png)\r\n\r\n#### Diagnostics\r\n![Diagnostics](📄readme/diagnostics.png)\r\n\r\n#### Quick info\r\n![Quick info](📄readme/infotips.png)\r\n\r\n## Usage\r\n\r\nYou'll need the following:\r\n\r\n- **MirrorSharp.AspNetCore** on the server (MirrorSharp.Owin if .NET Framework)\r\n- **mirrorsharp.js** — client library that provides the user interface\r\n\r\n### Server\r\n\r\n[![build](https://img.shields.io/github/actions/workflow/status/ashmind/mirrorsharp/dotnet.yml?style=flat-square)](https://github.com/ashmind/mirrorsharp/actions/workflows/dotnet.yml)\r\n\r\n#### MirrorSharp.AspNetCore\r\n[![NuGet](https://img.shields.io/nuget/v/MirrorSharp.AspNetCore.svg?style=flat-square)](https://www.nuget.org/packages/MirrorSharp.AspNetCore)\r\n\r\n```powershell\r\nInstall-Package MirrorSharp.AspNetCore\r\n```\r\n\r\nIf using Endpoint Routing (3.0+ only):\r\n```csharp\r\napp.UseEndpoints(endpoints => {\r\n    // ...\r\n    endpoints.MapMirrorSharp(\"/mirrorsharp\");\r\n});\r\n```\r\n\r\nIf not using Endpoint Routing:\r\n```csharp\r\napp.MapMirrorSharp(\"/mirrosharp\");\r\n```\r\n\r\n#### MirrorSharp.Owin\r\n[![NuGet](https://img.shields.io/nuget/v/MirrorSharp.Owin.svg?style=flat-square)](https://www.nuget.org/packages/MirrorSharp.Owin)\r\n\r\n```powershell\r\nInstall-Package MirrorSharp.Owin\r\n```\r\n\r\nIn your `Startup`:\r\n```csharp\r\napp.MapMirrorSharp(\"/mirrosharp\");\r\n```\r\n\r\n### Client\r\n\r\n[![build](https://img.shields.io/github/actions/workflow/status/ashmind/mirrorsharp/web-assets.yml?style=flat-square)](https://github.com/ashmind/mirrorsharp/actions/workflows/web-assets.yml)\r\n\r\n| Library     | Type   | NPM                                                                                                                                                                                 |\r\n|-------------|--------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\r\n| mirrorsharp-codemirror-6-preview | Latest  | [![npm](https://img.shields.io/npm/v/mirrorsharp-codemirror-6-preview.svg?style=flat-square)](https://www.npmjs.com/package/mirrorsharp-codemirror-6-preview) |\r\n| mirrorsharp                      | Stable  | [![npm](https://img.shields.io/npm/v/mirrorsharp.svg?style=flat-square)](https://www.npmjs.com/package/mirrorsharp)                                           |\r\n\r\n```\r\nnpm install mirrorsharp-codemirror-6-preview --save\r\n```\r\n\r\nNote: The name is temporary — once all testing on 6-preview is completed, it will become mirrorsharp 3.\r\n\r\n#### Breaking Changes\r\n\r\nVersion `mirrorsharp-codemirror-6-preview` (future mirrorsharp 3.0+) includes a number of breaking changes — see [migration-from-2.md](WebAssets/docs/migration-from-2.md) for the full migration guide.\r\n\r\n#### Build\r\n\r\nSince mirrorsharp JS files are not bundled, you'll need to use a bundler such as [Webpack](https://webpack.js.org), [Parcel](https://parceljs.org/) or [ESBuild](https://esbuild.github.io/).\r\n\r\nYou can see a Parcel example in AspNetCore.Demo.  \r\n\r\nNote that mirrorsharp is written in TypeScript, and the package includes full TypeScript types.\r\n\r\n**Note:** You need to manually require/import `mirrorsharp/mirrorsharp.css` into your bundle.\r\n\r\n#### Usage\r\n```javascript\r\nimport mirrorsharp from 'mirrorsharp-codemirror-6-preview';\r\n\r\nmirrorsharp(container, { serviceUrl: 'wss://your_app_root/mirrorsharp' });\r\n```\r\n\r\nIf you're not using HTTPS, you'll likely need `ws://` instead of `wss://`.\r\n\r\nNote that the container is an actual HTML element, and not a CSS selector.\r\n\r\n## API\r\n\r\nTODO. In general the idea is that \"it just works\", however customization is a goal and some options are already available.\r\n\r\n## Demos\r\n\r\nYou can check out the demos if you clone the repository locally.  \r\nAfter cloning, run `ms setup` to build and prepare everything.\r\n\r\n## Testing\r\n\r\nTODO, but see MirrorSharp.Testing on NuGet.\r\n"
  },
  {
    "path": "Testing/CHANGELOG.md",
    "content": "# Changelog\r\n\r\n## [3.0.1] - 2024-06-01\r\n\r\n### Security\r\n\r\n- Updated vulnerable dependency on Newtonsoft.Json\r\n\r\n## [3.0.0] - 2022-04-04\r\n## [3.0.0-test-2022-04-02-1] - 2021-04-02\r\n## [3.0.0-test-2022-04-01-1] - 2021-04-01\r\n\r\n### Changed\r\n- Updated to support MirrorSharp.Common 3.0.0\r\n- Updated dependency on System.Buffers to 4.5.1\r\n\r\n## [2.2.2] - 2020-03-04\r\n\r\n### Changed\r\n- Updated to support MirrorSharp.Common 2.2.3\r\n\r\n## [2.2.1] - 2020-12-17\r\n\r\n### Changed\r\n- Updated to support MirrorSharp.Common 2.2.2"
  },
  {
    "path": "Testing/Internal/HandlerTestArgument.cs",
    "content": "using System;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing MirrorSharp.Internal;\r\n\r\n// ReSharper disable HeapView.ClosureAllocation\r\n// ReSharper disable HeapView.DelegateAllocation\r\n// ReSharper disable HeapView.ObjectAllocation\r\n\r\nnamespace MirrorSharp.Testing.Internal {\r\n    internal class HandlerTestArgument {\r\n        private readonly byte[][] _data;\r\n\r\n        private HandlerTestArgument(params byte[][] data) {\r\n            _data = data;\r\n        }\r\n\r\n        public static implicit operator HandlerTestArgument(string value) {\r\n            return Encoding.UTF8.GetBytes(value);\r\n        }\r\n\r\n        public static implicit operator HandlerTestArgument(string[] values) {\r\n            return values.Select(Encoding.UTF8.GetBytes).ToArray();\r\n        }\r\n\r\n        public static implicit operator HandlerTestArgument(char value) {\r\n            return Encoding.UTF8.GetBytes(new[] { value });\r\n        }\r\n\r\n        public static implicit operator HandlerTestArgument(int value) {\r\n            return value.ToString();\r\n        }\r\n\r\n        public static implicit operator HandlerTestArgument(byte[] data) {\r\n            return new HandlerTestArgument(data);\r\n        }\r\n\r\n        public static implicit operator HandlerTestArgument(byte[][] data) {\r\n            return new HandlerTestArgument(data);\r\n        }\r\n\r\n        public AsyncData ToAsyncData(char commandId) {\r\n            var nextIndex = 1;\r\n\r\n            var firstData = _data.ElementAtOrDefault(0);\r\n            var firstDataWithCommand = new byte[1 + (firstData?.Length ?? 0)];\r\n            if (firstData != null)\r\n                Buffer.BlockCopy(firstData, 0, firstDataWithCommand, 1, firstData.Length);\r\n            firstDataWithCommand[0] = (byte)commandId;\r\n\r\n            return new AsyncData(\r\n                firstDataWithCommand.AsMemory(1),\r\n                _data.Length > 1,\r\n                #pragma warning disable 1998\r\n                async () => {\r\n                #pragma warning restore 1998\r\n                    var next = _data.ElementAtOrDefault(nextIndex);\r\n                    if (next == null)\r\n                        return null;\r\n                    nextIndex += 1;\r\n                    return next;\r\n                }\r\n            );\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Testing/Internal/MaybeNullAttribute.cs",
    "content": "namespace System.Diagnostics.CodeAnalysis {\r\n    internal class MaybeNullAttribute : Attribute {}\r\n}\r\n"
  },
  {
    "path": "Testing/Internal/Results/ChangesResult.cs",
    "content": "using System.Collections.Generic;\r\n\r\n// ReSharper disable ClassNeverInstantiated.Global\r\n// ReSharper disable CollectionNeverUpdated.Global\r\n// ReSharper disable UnusedAutoPropertyAccessor.Global\r\n\r\nnamespace MirrorSharp.Testing.Internal.Results {\r\n    internal class ChangesResult {\r\n        public string? Reason { get; set; }\r\n        public IList<ResultChange> Changes { get; } = new List<ResultChange>();\r\n    }\r\n}\r\n"
  },
  {
    "path": "Testing/Internal/Results/CompletionsItem.cs",
    "content": "using System.Collections.Generic;\r\n\r\n// ReSharper disable ClassNeverInstantiated.Global\r\n// ReSharper disable CollectionNeverUpdated.Global\r\n// ReSharper disable UnusedAutoPropertyAccessor.Global\r\n\r\nnamespace MirrorSharp.Testing.Internal.Results {\r\n    internal class CompletionsItem {\r\n        public CompletionsItem(string displayText) {\r\n            DisplayText = displayText;\r\n        }\r\n\r\n        public string DisplayText { get; }\r\n        public int? Priority { get; set; }\r\n        public IList<string> Kinds { get; } = new List<string>();\r\n    }\r\n}"
  },
  {
    "path": "Testing/Internal/Results/CompletionsItemInfoPart.cs",
    "content": "namespace MirrorSharp.Testing.Internal.Results {\r\n    internal class CompletionsItemInfoPart {\r\n        public CompletionsItemInfoPart(string kind, string text) {\r\n            Kind = kind;\r\n            Text = text;\r\n        }\r\n\r\n        public string Kind { get; }\r\n        public string Text { get; }\r\n\r\n        public override string ToString() => Text;\r\n    }\r\n}\r\n"
  },
  {
    "path": "Testing/Internal/Results/CompletionsItemInfoResult.cs",
    "content": "using System.Collections.Generic;\r\n\r\nnamespace MirrorSharp.Testing.Internal.Results {\r\n    internal class CompletionsItemInfoResult {\r\n        public int Index { get; set; }\r\n        public IList<CompletionsItemInfoPart> Parts { get; } = new List<CompletionsItemInfoPart>();\r\n    }\r\n}\r\n"
  },
  {
    "path": "Testing/Internal/Results/CompletionsResult.cs",
    "content": "using System.Collections.Generic;\r\n\r\n// ReSharper disable ClassNeverInstantiated.Global\r\n// ReSharper disable CollectionNeverUpdated.Global\r\n// ReSharper disable UnusedAutoPropertyAccessor.Global\r\n\r\nnamespace MirrorSharp.Testing.Internal.Results {\r\n    internal class CompletionsResult {\r\n        public CompletionsItem? Suggestion { get; set; }\r\n        public IList<CompletionsItem> Completions { get; } = new List<CompletionsItem>();\r\n    }\r\n}"
  },
  {
    "path": "Testing/Internal/Results/ResultChange.cs",
    "content": "// ReSharper disable ClassNeverInstantiated.Global\r\n// ReSharper disable CollectionNeverUpdated.Global\r\n// ReSharper disable UnusedAutoPropertyAccessor.Global\r\n\r\nnamespace MirrorSharp.Testing.Internal.Results {\r\n    internal class ResultChange {\r\n        public ResultChange(int start, int length, string text) {\r\n            Start = start;\r\n            Length = length;\r\n            Text = text;\r\n        }\r\n\r\n        public int Start { get; }\r\n        public int Length { get; }\r\n        public string Text { get; }\r\n    }\r\n}"
  },
  {
    "path": "Testing/Internal/Results/SignaturesItem.cs",
    "content": "using System.Collections.Generic;\r\nusing System.Text;\r\n\r\n// ReSharper disable HeapView.ClosureAllocation\r\n// ReSharper disable HeapView.DelegateAllocation\r\n// ReSharper disable HeapView.ObjectAllocation\r\n// ReSharper disable HeapView.ObjectAllocation.Possible\r\n\r\nnamespace MirrorSharp.Testing.Internal.Results {\r\n    internal class SignaturesItem {\r\n        public bool Selected { get; set; }\r\n        public IList<SignaturesItemPart> Parts { get; } = new List<SignaturesItemPart>();\r\n        public SignaturesItemInfo? Info { get; set; }\r\n\r\n        public override string ToString() => ToString(true);\r\n\r\n        public string ToString(bool markSelected) {\r\n            var builder = new StringBuilder();\r\n            var inSelected = false;\r\n            foreach (var part in Parts) {\r\n                if (part.Selected != inSelected) {\r\n                    if (markSelected)\r\n                        builder.Append(\"*\");\r\n                    inSelected = part.Selected;\r\n                }\r\n                builder.Append(part.Text);\r\n            }\r\n            return builder.ToString();\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "Testing/Internal/Results/SignaturesItemInfo.cs",
    "content": "using System.Collections.Generic;\r\n\r\nnamespace MirrorSharp.Testing.Internal.Results {\r\n    internal class SignaturesItemInfo {\r\n        public IList<SignaturesItemInfoPart> Parts { get; } = new List<SignaturesItemInfoPart>();\r\n        public SignaturesItemInfoParameter? Parameter { get; set; }\r\n    }\r\n}"
  },
  {
    "path": "Testing/Internal/Results/SignaturesItemInfoParameter.cs",
    "content": "using System.Collections.Generic;\r\n\r\nnamespace MirrorSharp.Testing.Internal.Results {\r\n    internal class SignaturesItemInfoParameter {\r\n        #pragma warning disable CS8618 // Non-nullable field is uninitialized.\r\n        public string Name { get; set; }\r\n        \r\n        #pragma warning restore CS8618 // Non-nullable field is uninitialized.\r\n        public IList<SignaturesItemInfoPart> Parts { get; } = new List<SignaturesItemInfoPart>();\r\n    }\r\n}"
  },
  {
    "path": "Testing/Internal/Results/SignaturesItemInfoPart.cs",
    "content": "namespace MirrorSharp.Testing.Internal.Results {\r\n    internal class SignaturesItemInfoPart {\r\n        #pragma warning disable CS8618 // Non-nullable field is uninitialized.\r\n        public string? Text { get; set; }\r\n        public string Kind { get; set; }\r\n        #pragma warning restore CS8618 // Non-nullable field is uninitialized.\r\n\r\n        public override string ToString() => Text ?? \"\";\r\n    }\r\n}"
  },
  {
    "path": "Testing/Internal/Results/SignaturesItemPart.cs",
    "content": "// ReSharper disable ClassNeverInstantiated.Global\r\n// ReSharper disable CollectionNeverUpdated.Global\r\n// ReSharper disable UnusedAutoPropertyAccessor.Global\r\n\r\nnamespace MirrorSharp.Testing.Internal.Results {\r\n    internal class SignaturesItemPart {\r\n        #pragma warning disable CS8618 // Non-nullable field is uninitialized.\r\n        public string? Text { get; set; }\r\n        public string Kind { get; set; }\r\n        public bool Selected { get; set; }\r\n        #pragma warning restore CS8618 // Non-nullable field is uninitialized.\r\n    }\r\n}"
  },
  {
    "path": "Testing/Internal/Results/SignaturesResult.cs",
    "content": "using System.Collections.Generic;\r\nusing MirrorSharp.Testing.Results;\r\n\r\n// ReSharper disable ClassNeverInstantiated.Global\r\n// ReSharper disable CollectionNeverUpdated.Global\r\n// ReSharper disable UnusedAutoPropertyAccessor.Global\r\n\r\nnamespace MirrorSharp.Testing.Internal.Results {\r\n    internal class SignaturesResult {\r\n        public ResultSpan Span { get; } = new ResultSpan();\r\n        public IList<SignaturesItem> Signatures { get; } = new List<SignaturesItem>();\r\n    }\r\n}"
  },
  {
    "path": "Testing/Internal/StubCommandResultSender.cs",
    "content": "using System.Buffers;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing MirrorSharp.Advanced;\r\nusing MirrorSharp.Advanced.EarlyAccess;\r\nusing MirrorSharp.Internal;\r\nusing MirrorSharp.Internal.Results;\r\n\r\nnamespace MirrorSharp.Testing.Internal {\r\n    internal class StubCommandResultSender : ICommandResultSender {\r\n        private readonly FastUtf8JsonWriter _writer = new FastUtf8JsonWriter(ArrayPool<byte>.Shared);\r\n        private readonly IConnectionSendViewer? _sendViewer;\r\n        private readonly WorkSession _session;\r\n\r\n        public string? LastMessageTypeName { get; private set; }\r\n        public string? LastMessageJson { get; private set; }\r\n\r\n        public StubCommandResultSender(WorkSession session, IConnectionSendViewer? sendViewer = null) {\r\n            _session = session;\r\n            _sendViewer = sendViewer;\r\n        }\r\n\r\n        public IFastJsonWriter StartJsonMessage(string messageTypeName) {\r\n            LastMessageTypeName = messageTypeName;\r\n            _writer.Reset();\r\n            _writer.WriteStartObject();\r\n            return _writer;\r\n        }\r\n\r\n        public async Task SendJsonMessageAsync(CancellationToken cancellationToken) {\r\n            _writer.WriteEndObject();\r\n            if (_sendViewer != null)\r\n                await _sendViewer.ViewDuringSendAsync(LastMessageTypeName!, _writer.WrittenSegment, _session, cancellationToken);\r\n            LastMessageJson = Encoding.UTF8.GetString(_writer.WrittenSegment.Array, _writer.WrittenSegment.Offset, _writer.WrittenSegment.Count);\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Testing/Internal/TextWithCursor.cs",
    "content": "namespace MirrorSharp.Testing.Internal {\r\n    internal class TextWithCursor {\r\n        public static TextWithCursor Parse(string textWithCursor, char cursor = '|') {\r\n            var cursorPosition = textWithCursor.LastIndexOf(cursor);\r\n            var text = textWithCursor.Remove(cursorPosition, 1);\r\n\r\n            return new TextWithCursor(text, cursorPosition);\r\n        }\r\n\r\n        private TextWithCursor(string text, int cursorPosition) {\r\n            Text = text;\r\n            CursorPosition = cursorPosition;\r\n        }\r\n\r\n        public string Text { get; }\r\n        public int CursorPosition { get; }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Testing/MirrorSharpServices.cs",
    "content": "using MirrorSharp.Advanced;\r\nusing MirrorSharp.Advanced.EarlyAccess;\r\nusing MirrorSharp.Internal;\r\n\r\nnamespace MirrorSharp.Testing {\r\n    /// <summary>MirrorSharp extension services.</summary>\r\n    public class MirrorSharpServices {\r\n        /// <summary>Defines a <see cref=\"ISetOptionsFromClientExtension\" /> used to support extra options.</summary>\r\n        public ISetOptionsFromClientExtension? SetOptionsFromClient { get; set; }\r\n\r\n        /// <summary>Defines a <see cref=\"ISlowUpdateExtension\" /> used to extend periodic processing.</summary>\r\n        public ISlowUpdateExtension? SlowUpdate { get; set; }\r\n\r\n        internal IRoslynSourceTextGuard? RoslynSourceTextGuard { get; set; }\r\n        internal IRoslynCompilationGuard? RoslynCompilationGuard { get; set; }\r\n        internal IConnectionSendViewer? ConnectionSendViewer { get; set; }\r\n\r\n        /// <summary>Defines a <see cref=\"IExceptionLogger\" /> called for any unhandled exception.</summary>\r\n        public IExceptionLogger? ExceptionLogger { get; set; }\r\n\r\n        internal ImmutableExtensionServices ToImmutable() {\r\n            return new ImmutableExtensionServices(\r\n                SetOptionsFromClient, SlowUpdate,\r\n                RoslynSourceTextGuard, RoslynCompilationGuard,\r\n                ConnectionSendViewer,\r\n                ExceptionLogger\r\n            );\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Testing/MirrorSharpTestDriver.cs",
    "content": "using System;\r\nusing System.Collections.Concurrent;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis;\r\nusing MirrorSharp.Internal;\r\nusing MirrorSharp.Testing.Internal;\r\nusing MirrorSharp.Testing.Internal.Results;\r\nusing MirrorSharp.Testing.Results;\r\nusing Newtonsoft.Json;\r\n\r\n// ReSharper disable HeapView.ClosureAllocation\r\n// ReSharper disable HeapView.DelegateAllocation\r\n// ReSharper disable HeapView.ObjectAllocation\r\n\r\nnamespace MirrorSharp.Testing {\r\n    public class MirrorSharpTestDriver {\r\n        private static readonly MirrorSharpOptions DefaultOptions = new();\r\n        private static readonly MirrorSharpServices DefaultServices = new();\r\n        private static readonly ConcurrentDictionary<MirrorSharpOptions, LanguageManager> LanguageManagerCache = new();\r\n\r\n        private readonly TestMiddleware _middleware;\r\n        private readonly MirrorSharpServices _services;\r\n\r\n        private MirrorSharpTestDriver(MirrorSharpOptions? options = null, MirrorSharpServices? services = null, string languageName = LanguageNames.CSharp) {\r\n            options ??= DefaultOptions;\r\n            services ??= DefaultServices;\r\n\r\n            _services = services;\r\n            var language = GetLanguageManager(options).GetLanguage(languageName);\r\n            _middleware = new TestMiddleware(options, services);\r\n            Session = new WorkSession(language, options, services.ToImmutable());\r\n        }\r\n        \r\n        internal WorkSession Session { get; }\r\n\r\n        // Obsolete: will be removed in the next major version. However no changes are required on caller side.\r\n        public static MirrorSharpTestDriver New() {\r\n            return new MirrorSharpTestDriver(options: null, services: null, languageName: LanguageNames.CSharp);\r\n        }\r\n\r\n        // Obsolete: will be removed in the next major version. However no changes are required on caller side.\r\n        public static MirrorSharpTestDriver New(MirrorSharpOptions? options = null, string languageName = LanguageNames.CSharp) {\r\n            return new MirrorSharpTestDriver(options, services: null, languageName);\r\n        }\r\n\r\n        public static MirrorSharpTestDriver New(MirrorSharpServices services) {\r\n            return new MirrorSharpTestDriver(options: null, services: services, languageName: LanguageNames.CSharp);\r\n        }\r\n\r\n        public static MirrorSharpTestDriver New(MirrorSharpOptions options) {\r\n            return new MirrorSharpTestDriver(options: options, services: null, languageName: LanguageNames.CSharp);\r\n        }\r\n\r\n        public static MirrorSharpTestDriver New(MirrorSharpOptions? options = null, MirrorSharpServices? services = null, string languageName = LanguageNames.CSharp) {\r\n            return new MirrorSharpTestDriver(options, services, languageName);\r\n        }\r\n\r\n        public MirrorSharpTestDriver SetText(string text) {\r\n            Session.ReplaceText(text);\r\n            return this;\r\n        }\r\n\r\n        public MirrorSharpTestDriver SetTextWithCursor(string textWithCursor) {\r\n            var parsed = TextWithCursor.Parse(textWithCursor);\r\n\r\n            Session.ReplaceText(parsed.Text);\r\n            Session.CursorPosition = parsed.CursorPosition;\r\n            return this;\r\n        }\r\n\r\n        public async Task SendTypeCharsAsync(string value) {\r\n            foreach (var @char in value) {\r\n                await SendAsync(CommandIds.TypeChar, @char);\r\n            }\r\n        }\r\n\r\n        public Task<SlowUpdateResult<object>> SendSlowUpdateAsync() => SendSlowUpdateAsync<object>();\r\n\r\n        public Task<SlowUpdateResult<TExtensionResult>> SendSlowUpdateAsync<TExtensionResult>() {\r\n            return SendWithRequiredResultAsync<SlowUpdateResult<TExtensionResult>>(CommandIds.SlowUpdate);\r\n        }\r\n\r\n        public Task<OptionsEchoResult> SendSetOptionAsync(string name, string value) {\r\n            return SendWithRequiredResultAsync<OptionsEchoResult>(CommandIds.SetOptions, $\"{name}={value}\");\r\n        }\r\n\r\n        public Task<OptionsEchoResult> SendSetOptionsAsync(IDictionary<string, string> options) {\r\n            return SendWithRequiredResultAsync<OptionsEchoResult>(CommandIds.SetOptions, string.Join(\",\", options.Select(o => $\"{o.Key}={o.Value}\")));\r\n        }\r\n\r\n        public Task<InfoTipResult?> SendRequestInfoTipAsync(int position) {\r\n            return SendWithOptionalResultAsync<InfoTipResult>(CommandIds.RequestInfoTip, position);\r\n        }\r\n\r\n        internal Task SendReplaceTextAsync(string newText, int start = 0, int length = 0, int newCursorPosition = 0, string reason = \"\") {\r\n            // ReSharper disable HeapView.BoxingAllocation\r\n            return SendAsync(CommandIds.ReplaceText, $\"{start}:{length}:{newCursorPosition}:{reason}:{newText}\");\r\n            // ReSharper restore HeapView.BoxingAllocation\r\n        }\r\n\r\n        internal Task<CompletionsResult?> SendTypeCharAsync(char @char) {\r\n            return SendWithOptionalResultAsync<CompletionsResult>(CommandIds.TypeChar, @char);\r\n        }\r\n\r\n        internal Task SendBackspaceAsync() {\r\n            return SendReplaceTextAsync(\"\", Session.CursorPosition - 1, 1, Session.CursorPosition - 1);\r\n        }\r\n\r\n        internal async Task<TResult> SendWithRequiredResultAsync<TResult>(char commandId, HandlerTestArgument? argument = null)\r\n            where TResult: class\r\n        {\r\n            return await SendWithOptionalResultAsync<TResult>(commandId, argument)\r\n                ?? throw new Exception($\"Expected {typeof(TResult).Name} for command {commandId} was not received.\");\r\n        }\r\n\r\n        internal async Task<TResult?> SendWithOptionalResultAsync<TResult>(char commandId, HandlerTestArgument? argument = null)\r\n            where TResult : class\r\n        {\r\n            var sender = new StubCommandResultSender(Session, _services.ConnectionSendViewer);\r\n            await _middleware.GetHandler(commandId).ExecuteAsync(argument?.ToAsyncData(commandId) ?? AsyncData.Empty, Session, sender, CancellationToken.None);\r\n            return sender.LastMessageJson != null\r\n                ? JsonConvert.DeserializeObject<TResult>(sender.LastMessageJson)\r\n                : null;\r\n        }\r\n\r\n        internal Task SendAsync(char commandId, HandlerTestArgument? argument = default(HandlerTestArgument)) {\r\n            return _middleware.GetHandler(commandId).ExecuteAsync(\r\n                argument?.ToAsyncData(commandId) ?? AsyncData.Empty,\r\n                Session,\r\n                new StubCommandResultSender(Session, _services.ConnectionSendViewer),\r\n                CancellationToken.None\r\n            );\r\n        }\r\n\r\n        private static LanguageManager GetLanguageManager(MirrorSharpOptions options) {\r\n            return LanguageManagerCache.GetOrAdd(options, _ => new LanguageManager(options));\r\n        }\r\n\r\n        private class TestMiddleware : MiddlewareBase {\r\n            public TestMiddleware(MirrorSharpOptions options, MirrorSharpServices services) : base(GetLanguageManager(options), options, services.ToImmutable()) {\r\n            }\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Testing/Properties/AssemblyInfo.cs",
    "content": "using System.Runtime.InteropServices;\r\n\r\n// Setting ComVisible to false makes the types in this assembly not visible\r\n// to COM components.  If you need to access a type in this assembly from\r\n// COM, set the ComVisible attribute to true on that type.\r\n[assembly: ComVisible(false)]\r\n\r\n// The following GUID is for the ID of the typelib if this project is exposed to COM\r\n[assembly: Guid(\"0814c69a-e4a5-4fc9-bc57-415f8295b6b6\")]"
  },
  {
    "path": "Testing/PublicAPI.Shipped.txt",
    "content": "#nullable enable\r\nMirrorSharp.Testing.MirrorSharpTestDriver\r\nMirrorSharp.Testing.MirrorSharpTestDriver.SendRequestInfoTipAsync(int position) -> System.Threading.Tasks.Task<MirrorSharp.Testing.Results.InfoTipResult?>!\r\nMirrorSharp.Testing.MirrorSharpTestDriver.SendSetOptionAsync(string! name, string! value) -> System.Threading.Tasks.Task<MirrorSharp.Testing.Results.OptionsEchoResult!>!\r\nMirrorSharp.Testing.MirrorSharpTestDriver.SendSetOptionsAsync(System.Collections.Generic.IDictionary<string!, string!>! options) -> System.Threading.Tasks.Task<MirrorSharp.Testing.Results.OptionsEchoResult!>!\r\nMirrorSharp.Testing.MirrorSharpTestDriver.SendSlowUpdateAsync() -> System.Threading.Tasks.Task<MirrorSharp.Testing.Results.SlowUpdateResult<object!>!>!\r\nMirrorSharp.Testing.MirrorSharpTestDriver.SendSlowUpdateAsync<TExtensionResult>() -> System.Threading.Tasks.Task<MirrorSharp.Testing.Results.SlowUpdateResult<TExtensionResult>!>!\r\nMirrorSharp.Testing.MirrorSharpTestDriver.SendTypeCharsAsync(string! value) -> System.Threading.Tasks.Task!\r\nMirrorSharp.Testing.MirrorSharpTestDriver.SetText(string! text) -> MirrorSharp.Testing.MirrorSharpTestDriver!\r\nMirrorSharp.Testing.MirrorSharpTestDriver.SetTextWithCursor(string! textWithCursor) -> MirrorSharp.Testing.MirrorSharpTestDriver!\r\nMirrorSharp.Testing.Results.InfoTipResult\r\nMirrorSharp.Testing.Results.InfoTipResult.InfoTipResult() -> void\r\nMirrorSharp.Testing.Results.InfoTipResult.Kinds.get -> System.Collections.Generic.IList<string!>!\r\nMirrorSharp.Testing.Results.InfoTipResult.Sections.get -> System.Collections.Generic.IList<MirrorSharp.Testing.Results.InfoTipSection!>!\r\nMirrorSharp.Testing.Results.InfoTipResult.Span.get -> MirrorSharp.Testing.Results.ResultSpan!\r\nMirrorSharp.Testing.Results.InfoTipSection\r\nMirrorSharp.Testing.Results.InfoTipSection.InfoTipSection(string! kind) -> void\r\nMirrorSharp.Testing.Results.InfoTipSection.Kind.get -> string!\r\nMirrorSharp.Testing.Results.InfoTipSection.Parts.get -> System.Collections.Generic.IList<MirrorSharp.Testing.Results.InfoTipSectionPart!>!\r\nMirrorSharp.Testing.Results.InfoTipSectionPart\r\nMirrorSharp.Testing.Results.InfoTipSectionPart.InfoTipSectionPart(string! kind, string! text) -> void\r\nMirrorSharp.Testing.Results.InfoTipSectionPart.Kind.get -> string!\r\nMirrorSharp.Testing.Results.InfoTipSectionPart.Text.get -> string!\r\nMirrorSharp.Testing.Results.OptionsEchoResult\r\nMirrorSharp.Testing.Results.OptionsEchoResult.Options.get -> System.Collections.Generic.IDictionary<string!, string!>!\r\nMirrorSharp.Testing.Results.OptionsEchoResult.OptionsEchoResult() -> void\r\nMirrorSharp.Testing.Results.ResultSpan\r\nMirrorSharp.Testing.Results.ResultSpan.Length.get -> int\r\nMirrorSharp.Testing.Results.ResultSpan.Length.set -> void\r\nMirrorSharp.Testing.Results.ResultSpan.ResultSpan() -> void\r\nMirrorSharp.Testing.Results.ResultSpan.Start.get -> int\r\nMirrorSharp.Testing.Results.ResultSpan.Start.set -> void\r\nMirrorSharp.Testing.Results.SlowUpdateDiagnostic\r\nMirrorSharp.Testing.Results.SlowUpdateDiagnostic.Actions.get -> System.Collections.Generic.IList<MirrorSharp.Testing.Results.SlowUpdateDiagnosticAction!>!\r\nMirrorSharp.Testing.Results.SlowUpdateDiagnostic.Id.get -> string!\r\nMirrorSharp.Testing.Results.SlowUpdateDiagnostic.Message.get -> string!\r\nMirrorSharp.Testing.Results.SlowUpdateDiagnostic.Severity.get -> string!\r\nMirrorSharp.Testing.Results.SlowUpdateDiagnostic.SlowUpdateDiagnostic(string! id, string! message, string! severity, MirrorSharp.Testing.Results.ResultSpan! span) -> void\r\nMirrorSharp.Testing.Results.SlowUpdateDiagnostic.Span.get -> MirrorSharp.Testing.Results.ResultSpan!\r\nMirrorSharp.Testing.Results.SlowUpdateDiagnostic.Tags.get -> System.Collections.Generic.IList<string!>!\r\nMirrorSharp.Testing.Results.SlowUpdateDiagnosticAction\r\nMirrorSharp.Testing.Results.SlowUpdateDiagnosticAction.Id.get -> int\r\nMirrorSharp.Testing.Results.SlowUpdateDiagnosticAction.Id.set -> void\r\nMirrorSharp.Testing.Results.SlowUpdateDiagnosticAction.SlowUpdateDiagnosticAction() -> void\r\nMirrorSharp.Testing.Results.SlowUpdateDiagnosticAction.Title.get -> string?\r\nMirrorSharp.Testing.Results.SlowUpdateDiagnosticAction.Title.set -> void\r\nMirrorSharp.Testing.Results.SlowUpdateResult<TExtensionResult>\r\nMirrorSharp.Testing.Results.SlowUpdateResult<TExtensionResult>.Diagnostics.get -> System.Collections.Generic.IList<MirrorSharp.Testing.Results.SlowUpdateDiagnostic!>!\r\nMirrorSharp.Testing.Results.SlowUpdateResult<TExtensionResult>.ExtensionResult.get -> TExtensionResult\r\nMirrorSharp.Testing.Results.SlowUpdateResult<TExtensionResult>.ExtensionResult.set -> void\r\nMirrorSharp.Testing.Results.SlowUpdateResult<TExtensionResult>.JoinErrors() -> string!\r\nMirrorSharp.Testing.Results.SlowUpdateResult<TExtensionResult>.SlowUpdateResult() -> void\r\noverride MirrorSharp.Testing.Results.InfoTipResult.ToString() -> string!\r\noverride MirrorSharp.Testing.Results.InfoTipSection.ToString() -> string!\r\noverride MirrorSharp.Testing.Results.InfoTipSectionPart.ToString() -> string?\r\noverride MirrorSharp.Testing.Results.SlowUpdateDiagnostic.ToString() -> string!\r\nstatic MirrorSharp.Testing.MirrorSharpTestDriver.New(MirrorSharp.MirrorSharpOptions? options = null, string! languageName = \"C#\") -> MirrorSharp.Testing.MirrorSharpTestDriver!\r\nstatic MirrorSharp.Testing.MirrorSharpTestDriver.New() -> MirrorSharp.Testing.MirrorSharpTestDriver!\r\nstatic MirrorSharp.Testing.MirrorSharpTestDriver.New(MirrorSharp.MirrorSharpOptions? options = null, MirrorSharp.Testing.MirrorSharpServices? services = null, string! languageName = \"C#\") -> MirrorSharp.Testing.MirrorSharpTestDriver!\r\nstatic MirrorSharp.Testing.MirrorSharpTestDriver.New(MirrorSharp.MirrorSharpOptions! options) -> MirrorSharp.Testing.MirrorSharpTestDriver!\r\nstatic MirrorSharp.Testing.MirrorSharpTestDriver.New(MirrorSharp.Testing.MirrorSharpServices! services) -> MirrorSharp.Testing.MirrorSharpTestDriver!\r\nMirrorSharp.Testing.MirrorSharpServices\r\nMirrorSharp.Testing.MirrorSharpServices.ExceptionLogger.get -> MirrorSharp.Advanced.IExceptionLogger?\r\nMirrorSharp.Testing.MirrorSharpServices.ExceptionLogger.set -> void\r\nMirrorSharp.Testing.MirrorSharpServices.MirrorSharpServices() -> void\r\nMirrorSharp.Testing.MirrorSharpServices.SetOptionsFromClient.get -> MirrorSharp.Advanced.ISetOptionsFromClientExtension?\r\nMirrorSharp.Testing.MirrorSharpServices.SetOptionsFromClient.set -> void\r\nMirrorSharp.Testing.MirrorSharpServices.SlowUpdate.get -> MirrorSharp.Advanced.ISlowUpdateExtension?\r\nMirrorSharp.Testing.MirrorSharpServices.SlowUpdate.set -> void"
  },
  {
    "path": "Testing/PublicAPI.Unshipped.txt",
    "content": ""
  },
  {
    "path": "Testing/Results/InfoTipResult.cs",
    "content": "using System.Collections.Generic;\r\n\r\nnamespace MirrorSharp.Testing.Results {\r\n    public class InfoTipResult {\r\n        public ResultSpan Span { get; } = new ResultSpan();\r\n        public IList<string> Kinds { get; } = new List<string>();\r\n        public IList<InfoTipSection> Sections { get; } = new List<InfoTipSection>();\r\n\r\n        public override string ToString() => string.Join(\"\\r\\n\", Sections);\r\n    }\r\n}\r\n"
  },
  {
    "path": "Testing/Results/InfoTipSection.cs",
    "content": "using System.Collections.Generic;\r\n\r\nnamespace MirrorSharp.Testing.Results {\r\n    public class InfoTipSection {\r\n        public InfoTipSection(string kind) {\r\n            Kind = kind;\r\n        }\r\n\r\n        public string Kind { get; }\r\n        public IList<InfoTipSectionPart> Parts { get; } = new List<InfoTipSectionPart>();\r\n\r\n        public override string ToString() => string.Join(\"\", Parts);\r\n    }\r\n}\r\n"
  },
  {
    "path": "Testing/Results/InfoTipSectionPart.cs",
    "content": "namespace MirrorSharp.Testing.Results {\r\n    public class InfoTipSectionPart {\r\n        public InfoTipSectionPart(string kind, string text) {\r\n            Kind = kind;\r\n            Text = text;\r\n        }\r\n\r\n        public string Kind { get; }\r\n        public string Text { get; }\r\n\r\n        public override string? ToString() => Text;\r\n    }\r\n}"
  },
  {
    "path": "Testing/Results/OptionsEchoResult.cs",
    "content": "using System.Collections.Generic;\r\n\r\n// ReSharper disable ClassNeverInstantiated.Global\r\n// ReSharper disable CollectionNeverUpdated.Global\r\n// ReSharper disable UnusedAutoPropertyAccessor.Global\r\n\r\nnamespace MirrorSharp.Testing.Results {\r\n    public class OptionsEchoResult {\r\n        public IDictionary<string, string> Options { get; } = new Dictionary<string, string>();\r\n    }\r\n}\r\n"
  },
  {
    "path": "Testing/Results/ResultSpan.cs",
    "content": "﻿// ReSharper disable ClassNeverInstantiated.Global\r\n// ReSharper disable CollectionNeverUpdated.Global\r\n// ReSharper disable UnusedAutoPropertyAccessor.Global\r\n\r\nnamespace MirrorSharp.Testing.Results {\r\n    public class ResultSpan {\r\n        public int Start { get; set; }\r\n        public int Length { get; set; }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Testing/Results/SlowUpdateDiagnostic.cs",
    "content": "using System.Collections.Generic;\r\n// ReSharper disable ClassNeverInstantiated.Global\r\n// ReSharper disable CollectionNeverUpdated.Global\r\n// ReSharper disable UnusedAutoPropertyAccessor.Global\r\n\r\nnamespace MirrorSharp.Testing.Results {\r\n    public class SlowUpdateDiagnostic {\r\n        public SlowUpdateDiagnostic(\r\n            string id,\r\n            string message,\r\n            string severity,\r\n            ResultSpan span\r\n        ) {\r\n            Id = id;\r\n            Message = message;\r\n            Severity = severity;\r\n            Span = span;\r\n        }\r\n\r\n        public string Id { get; }\r\n        public string Message { get; }\r\n        public string Severity { get; }\r\n        public ResultSpan Span { get; }\r\n        public IList<string> Tags { get; } = new List<string>();\r\n        public IList<SlowUpdateDiagnosticAction> Actions { get; } = new List<SlowUpdateDiagnosticAction>();\r\n\r\n        public override string ToString() {\r\n            return $\"{Severity} {Id}: {Message}\";\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Testing/Results/SlowUpdateDiagnosticAction.cs",
    "content": "// ReSharper disable ClassNeverInstantiated.Global\r\n// ReSharper disable CollectionNeverUpdated.Global\r\n// ReSharper disable UnusedAutoPropertyAccessor.Global\r\n\r\nnamespace MirrorSharp.Testing.Results {\r\n    public class SlowUpdateDiagnosticAction {\r\n        public int Id { get; set; }\r\n        public string? Title { get; set; }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Testing/Results/SlowUpdateResult.cs",
    "content": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Diagnostics.CodeAnalysis;\r\nusing System.Linq;\r\nusing Microsoft.CodeAnalysis;\r\nusing Newtonsoft.Json;\r\n\r\n// ReSharper disable ClassNeverInstantiated.Global\r\n// ReSharper disable CollectionNeverUpdated.Global\r\n// ReSharper disable UnusedAutoPropertyAccessor.Global\r\n\r\nnamespace MirrorSharp.Testing.Results {\r\n    public class SlowUpdateResult<TExtensionResult> {\r\n        public IList<SlowUpdateDiagnostic> Diagnostics { get; } = new List<SlowUpdateDiagnostic>();\r\n\r\n        #pragma warning disable CS8618 // Non-nullable field is uninitialized.\r\n        // https://github.com/dotnet/roslyn/issues/37511\r\n        [MaybeNull] [JsonProperty(\"x\")]  public TExtensionResult ExtensionResult { get; set; }\r\n        #pragma warning restore CS8618 // Non-nullable field is uninitialized.\r\n\r\n        public string JoinErrors() {\r\n            return string.Join(Environment.NewLine,\r\n                Diagnostics.Where(d => string.Equals(d.Severity, nameof(DiagnosticSeverity.Error), StringComparison.OrdinalIgnoreCase))\r\n            );\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Testing/Testing.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\r\n  <Import Project=\"../NuGet.Common.props\" />\r\n\r\n  <PropertyGroup>\r\n    <AssemblyName>MirrorSharp.Testing</AssemblyName>\r\n    <RootNamespace>MirrorSharp.Testing</RootNamespace>\r\n    <TargetFrameworks>netstandard2.0</TargetFrameworks>\r\n    <VersionPrefix>3.0.1</VersionPrefix>\r\n    <Description>MirrorSharp testing helpers. $(DescriptionSuffix)</Description>\r\n    <PackageTargetFallback Condition=\" '$(TargetFramework)' == 'netstandard1.5' \">$(PackageTargetFallback);dnxcore50;portable-net45+win8+wp8+wpa81;portable-net45+win8</PackageTargetFallback>\r\n  </PropertyGroup>\r\n\r\n  <ItemGroup>\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Common\" Version=\"3.3.1\" />\r\n    <PackageReference Include=\"Newtonsoft.Json\" Version=\"13.0.3\" />\r\n    <PackageReference Include=\"System.Buffers\" Version=\"4.5.1\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <ProjectReference Include=\"..\\Common\\Common.csproj\" />\r\n  </ItemGroup>\r\n  \r\n  <ItemGroup>\r\n    <InternalsVisibleTo Include=\"MirrorSharp.Benchmarks\" />\r\n    <InternalsVisibleTo Include=\"MirrorSharp.Tests\" />\r\n    <InternalsVisibleTo Include=\"SharpLab.Tests\" />\r\n    <InternalsVisibleTo Include=\"SharpLab.Tests.NetCore\" />\r\n  </ItemGroup>\r\n  \r\n  <ItemGroup>\r\n    <_RoslynTestProject Include=\"../Tests.*/*.csproj\" />\r\n    <InternalsVisibleTo Include=\"@(_RoslynTestProject->'MirrorSharp.%(Filename)')\" />\r\n  </ItemGroup>\r\n</Project>\r\n"
  },
  {
    "path": "Testing/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETStandard,Version=v2.0\": {\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.1, )\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"N5yQdGy+M4kimVG7hwCeGTCfgYjK2o5b/Shumkb/rCC+/SAkvP1HUAYK+vxPFS7dLJNtXLRsmPHKj3fnyNWnrw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"2.9.4\",\r\n          \"System.Collections.Immutable\": \"1.5.0\",\r\n          \"System.Memory\": \"4.5.3\",\r\n          \"System.Reflection.Metadata\": \"1.6.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\",\r\n          \"System.Text.Encoding.CodePages\": \"4.5.1\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.PublicApiAnalyzers\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.0, )\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"upaG6u/PxjkOj39Kk0DLmmA75acYChmv6/HnOUxvSgGWul53uPcVaPxBWCzkHDfIljyiq5qeIG+CatT8x8FAEA==\"\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.0.3, )\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"Newtonsoft.Json\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[13.0.3, )\",\r\n        \"resolved\": \"13.0.3\",\r\n        \"contentHash\": \"HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==\"\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.5.1, )\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.4\",\r\n        \"contentHash\": \"alIJhS0VUg/7x5AsHEoovh/wRZ0RfCSS7k5pDSqpRLTyuMTtRgj6OJJPRApRhJHOGYYsLakf1hKeXFoDwKwNkg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"WDUIhTHem38H6VJ98x2Ssq0fweakJHnHYl7vbG8ARnsAwLoJKCQCy78EeY1oRrCKG42j0v6JVljKkeqSDA28UA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"t9uIwsLzT5zQ1Q3ZIpwE4EOnAf/lGdbQwyeqhyO/BJ+AWDt267Hxlz5k6ypPy14Z6+PW6pTggAGz6MwN31RElQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"dHs/UyfLgzsVC4FjTi/x+H+yQifgOnpe3rSN8GwkHWjnidePZ3kSqr1JHmFDf5HTQEydYwrwCAfQ0JSzhsEqDA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"lvMC69ABN/YEaw3ke4cQRqBYZ2V7DJTOT8QXIeAJGJUfwVHTBN0iq2O5zZQrYnnUN2wmeCzCoAg59PKBosVO7g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": \"2.9.5\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\",\r\n          \"Microsoft.DiaSymReader\": \"1.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.5\",\r\n        \"contentHash\": \"SqwdTocsxU7u0Y8am67BY7KSLAhrtDXdBBwt0Nv9TxLVzPBPtPPFS2bHUsxucpOBMBmc10rWE1eJ+IDrr/0/nQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"NfBz3b5hFSbO+7xsCNryD+p8axsIJFTG7qM3jvMTC/MqYrU6b8E1b6JoRj5rJSOBB+pSunk+CMqyGQTOWHeDUg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"System.Composition\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.3.0\",\r\n        \"contentHash\": \"/fn1Tfo7j7k/slViPlM8azJuxQmri7FZ8dQ+gTeLbI29leN/1VK0U/BFcRdJNctsRCUgyKJ2q+I0Tjq07Rc1/Q==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.1\",\r\n        \"contentHash\": \"TMBuzAHpTenGbGgk0SMTwyEkyijY/Eae4ZGsFNYJvAr/LDn1ku3Etp3FPxChmDp5HHF3kzJuoaa08N0xjqAJfQ==\"\r\n      },\r\n      \"Microsoft.NETCore.Targets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.3\",\r\n        \"contentHash\": \"3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==\"\r\n      },\r\n      \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==\"\r\n      },\r\n      \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==\"\r\n      },\r\n      \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==\"\r\n      },\r\n      \"runtime.native.System\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==\",\r\n        \"dependencies\": {\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==\",\r\n        \"dependencies\": {\r\n          \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==\"\r\n      },\r\n      \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==\"\r\n      },\r\n      \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==\"\r\n      },\r\n      \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==\"\r\n      },\r\n      \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==\"\r\n      },\r\n      \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==\"\r\n      },\r\n      \"System.Collections\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Concurrent\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.5.0\",\r\n        \"contentHash\": \"EXKiDFsChZW0RjrZ4FYHu9aW6+P4MCgEDCklsVseRfhoO0F+dXeMSsMRAlVXIo06kGJ/zv+2w1a2uc2+kxxSaQ==\"\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"I+D26qpYdoklyAVUdqwUBrEIckMNjAYnuPJy/h9dsQItpQwVREkDFs4b4tkBza0kT2Yk48Lcfsv2QQ9hWsh9Iw==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Convention\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Composition.TypedParts\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"NHWhkM3ZkspmA0XJEsKdtTt1ViDYuojgSND3yHhTzwxepiwqZf+BCWuvCbjUt4fe0NxxQhUDGJ5km6sLjo9qnQ==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"GLjh2Ju71k6C0qxMMtl4efHa68NmWeIUYh4fkUI8xbjQrEBvFmRwMDFcylT8/PR9SQbeeL48IkFxU/+gd0nYEQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"fN1bT4RX4vUqjbgoyuJFVUizAl2mYF5VAb+bVIxIYZSSc0BdnX+yGAxcavxJuDDCQ1K+/mdpgyEFc8e9ikjvrg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0LEJN+2NVM89CE4SekDrrk5tHV5LeATltkp+9WNYrR+Huiyt0vaCqHbbHtVAjPyeLWIc8dOz/3kthRBj32wGQg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0Zae/FtzeFgDBBuILeIbC/T9HMYbW4olAmi8XqqAGosSOWvXfiQLfARZEhiGd0LVXaYgXr0NhxiU1LldRP1fpQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Debug\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.DiagnosticSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"tD6kosZnTAGdrEa0tZSuFyunMbt/5KYDnHdndJYGqZoNy00XVXyACd5d6KnE1YgYv3ne2CjtAfNXo/fwEhnKUA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tracing\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Calendars\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq.Expressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Numerics.Vectors\": \"4.4.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.4\",\r\n        \"contentHash\": \"aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Extensions\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"System.Net.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Numerics.Vectors\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"UiLzLW+Lw6HLed1Hcg+8jSRttrbuXv7DANVj0DkL9g6EnnzbL75EB7EWsw5uRbhxd/4YdG8li5XizGWepmG3PQ==\"\r\n      },\r\n      \"System.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.ILGeneration\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.Lightweight\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.0\",\r\n        \"contentHash\": \"COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"1.5.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.TypeExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Resources.ResourceManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.3\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.3\",\r\n        \"contentHash\": \"3TIsJhD1EiiT0w2CcDMN/iSSwnNnsrnbzeVHSKkaEgV85txMprmuO+Yq2AdSbeVGcg28pdNDTPK87tJhX7VFHw==\"\r\n      },\r\n      \"System.Runtime.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"qAtKMcHOAq9/zKkl0dwvF0T0pmgCQxX1rC49rJXoU8jq+lw6MC3uXy7nLFmjEI20T3Aq069eWz4LcYR64vEmJw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.3\",\r\n          \"System.Runtime\": \"4.3.1\"\r\n        }\r\n      },\r\n      \"System.Runtime.Handles\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Numerics\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==\",\r\n        \"dependencies\": {\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Algorithms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Cng\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Csp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.X509Certificates\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Cng\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Csp\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"4J2JQXbftjPMppIHJ7IC+VXQ9XfEagN92vZZNoG12i+zReYlim5dMoXFC1Zzg7tsnKDM7JPo5bYfFK4Jheq44w==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      },\r\n      \"System.Text.RegularExpressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"N0kNRrWe4+nXOWlpLT4LAY5brb8caNFlUuIRpraCVMDLYutKkol1aV079rQjLuSxKMJT2SpBQsYX9xbcTMmzwg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.1\",\r\n          \"System.Runtime.Extensions\": \"4.3.1\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.3\",\r\n        \"contentHash\": \"+MvhNtcvIbqmhANyKu91jQnvIRVSTiaOiFNfKWwXGHG48YAb4I/TyH8spsySiPYla7gKal5ZnF3teJqZAximyQ==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Features\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1, )\",\r\n          \"System.Memory\": \"[4.5.5, )\",\r\n          \"System.Net.Http\": \"[4.3.4, )\",\r\n          \"System.Text.RegularExpressions\": \"[4.3.1, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Tests/ApplyDiagnosticActionHandlerTests.cs",
    "content": "using System.Linq;\r\nusing System.Threading.Tasks;\r\nusing MirrorSharp.Internal;\r\nusing MirrorSharp.Testing;\r\nusing MirrorSharp.Testing.Internal.Results;\r\nusing MirrorSharp.Testing.Results;\r\nusing Xunit;\r\n\r\n// ReSharper disable HeapView.ClosureAllocation\r\n\r\nnamespace MirrorSharp.Tests {\r\n    using static CommandIds;\r\n\r\n    public class ApplyDiagnosticActionHandlerTests {\r\n        [Fact]\r\n        public async Task ExecuteAsync_ProducesExpectedChanges_ForMissingNamespace() {\r\n            var driver = MirrorSharpTestDriver.New().SetText(@\"class C { Action a; }\");\r\n            var action = await ExecuteSlowUpdateAndGetDiagnosticActionAsync(driver, \"Action\", \"using\");\r\n\r\n            var changes = await driver.SendWithRequiredResultAsync<ChangesResult>(ApplyDiagnosticAction, action.Id);\r\n\r\n            Assert.Equal(\r\n                new[] { new { Start = 0, Length = 0, Text = \"using System;\\r\\n\\r\\n\" } },\r\n                changes.Changes.Select(c => new { c.Start, c.Length, c.Text })\r\n            );\r\n        }\r\n\r\n        [Fact]\r\n        public async Task ExecuteAsync_ProducesExpectedChanges_ForRemovalOfParentheses() {\r\n            var code = @\"\r\n                class C {\r\n                    void M() {\r\n                        if ((true)){}\r\n                    }\r\n                }\r\n            \";\r\n            var driver = MirrorSharpTestDriver.New().SetText(code);\r\n            var action = await ExecuteSlowUpdateAndGetDiagnosticActionAsync(driver, \"Parentheses\", \"Remove\");\r\n\r\n            var changes = await driver.SendWithRequiredResultAsync<ChangesResult>(ApplyDiagnosticAction, action.Id);\r\n\r\n            Assert.Equal(\r\n                new[] {\r\n                    new { Start = code.IndexOf(\"(tr\"), Length = 1, Text = \"\" },\r\n                    new { Start = code.IndexOf(\"){}\"), Length = 1, Text = \"\" }\r\n                },\r\n                changes.Changes.Select(c => new { c.Start, c.Length, c.Text })\r\n            );\r\n        }\r\n\r\n        [Fact]\r\n        public async Task ExecuteAsync_DoesNotModifyCurrentSession() {\r\n            var driver = MirrorSharpTestDriver.New().SetText(@\"class C { Action a; }\");\r\n            var action = await ExecuteSlowUpdateAndGetDiagnosticActionAsync(driver, \"Action\", \"using\");\r\n\r\n            var textBefore = driver.Session.Roslyn.SourceText;\r\n            await driver.SendAsync(ApplyDiagnosticAction, action.Id);\r\n\r\n            Assert.Same(textBefore, driver.Session.Roslyn.SourceText);\r\n            Assert.Equal(textBefore.ToString(), (await driver.Session.Roslyn.Document.GetTextAsync()).ToString());\r\n            Assert.Same(driver.Session.Roslyn.Workspace.CurrentSolution, driver.Session.Roslyn.Project.Solution);\r\n        }\r\n\r\n        private static async Task<SlowUpdateDiagnosticAction> ExecuteSlowUpdateAndGetDiagnosticActionAsync(\r\n            MirrorSharpTestDriver driver, string diagnosticMessageFilter, string actionTitleFilter\r\n        ) {\r\n            var result = await driver.SendSlowUpdateAsync();\r\n            var diagnostic = result.Diagnostics.Single(d => d.Message?.Contains(diagnosticMessageFilter) ?? false);\r\n            return diagnostic.Actions.Single(a => a.Title?.Contains(actionTitleFilter) ?? false);\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Tests/CompletionStateHandlerTests.cs",
    "content": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Threading.Tasks;\r\nusing MirrorSharp.Internal;\r\nusing MirrorSharp.Testing;\r\nusing MirrorSharp.Testing.Internal.Results;\r\nusing MirrorSharp.Tests.Internal;\r\nusing Xunit;\r\n\r\n// ReSharper disable HeapView.ClosureAllocation\r\n\r\nnamespace MirrorSharp.Tests {\r\n    using static CommandIds;\r\n\r\n    public class CompletionStateHandlerTests {\r\n        [Fact]\r\n        public async Task ExecuteAsync_ProducesChangeForSelectedCompletion() {\r\n            var driver = MirrorSharpTestDriver.New().SetTextWithCursor(\"class C { void M(object o) { o| } }\");\r\n            var completions = await TypeAndGetCompletionsAsync('.', driver);\r\n\r\n            var changes = await driver.SendWithRequiredResultAsync<ChangesResult>(CompletionState, IndexOf(completions, \"ToString\"));\r\n\r\n            Assert.Equal(\"completion\", changes.Reason);\r\n            Assert.Equal(\r\n                new[] { new { Start = 31, Length = 0, Text = \"ToString\" } },\r\n                changes.Changes.Select(c => new { c.Start, c.Length, c.Text })\r\n            );\r\n            Assert.Null(driver.Session.CurrentCompletion.List);\r\n        }\r\n\r\n        [Fact]\r\n        public async Task ExecuteAsync_ReplacesInterimTypedText() {\r\n            var driver = MirrorSharpTestDriver.New().SetTextWithCursor(\"class C { void M(object o) { o| } }\");\r\n            var completions = await TypeAndGetCompletionsAsync('.', driver);\r\n            await driver.SendTypeCharsAsync(\"To\");\r\n\r\n            var changes = await driver.SendWithRequiredResultAsync<ChangesResult>(CompletionState, IndexOf(completions, \"ToString\"));\r\n\r\n            Assert.Equal(\r\n                new[] { new { Start = 31, Length = 2, Text = \"ToString\" } },\r\n                changes.Changes.Select(c => new { c.Start, c.Length, c.Text })\r\n            );\r\n            Assert.Null(driver.Session.CurrentCompletion.List);\r\n        }\r\n\r\n        [Fact]\r\n        public async Task ExecuteAsync_CancelsCompletion_WhenXIsProvidedInsteadOfIndex() {\r\n            var driver = MirrorSharpTestDriver.New().SetTextWithCursor(\"class C { void M(object o) { o| } }\");\r\n            await TypeAndGetCompletionsAsync('.', driver);\r\n\r\n            var result = await driver.SendWithOptionalResultAsync<ChangesResult>(CompletionState, 'X');\r\n\r\n            Assert.Null(result);\r\n            Assert.Null(driver.Session.CurrentCompletion.List);\r\n        }\r\n\r\n        [Fact]\r\n        public async Task ExecuteAsync_ForcesCompletion_WhenFIsProvidedInsteadOfIndex() {\r\n            var driver = MirrorSharpTestDriver.New().SetTextWithCursor(\"class C { void M(object o) { o.| } }\");\r\n\r\n            var result = await driver.SendWithRequiredResultAsync<CompletionsResult>(CompletionState, 'F');\r\n\r\n            Assert.NotNull(result);\r\n            Assert.Equal(\r\n                ObjectMembers.AllNames.OrderBy(n => n),\r\n                result.Completions.Select(i => i.DisplayText).OrderBy(n => n)\r\n            );\r\n        }\r\n\r\n        [Fact]\r\n        public async Task ExecuteAsync_SendsItemInfo_WhenCompletionIsActiveAndIIsProvided() {\r\n            var driver = MirrorSharpTestDriver.New(MirrorSharpOptionsWithXmlDocumentation.Instance)\r\n                .SetTextWithCursor(\"class C { void M(object o) { o.| } }\");\r\n\r\n            var completions = await driver.SendWithRequiredResultAsync<CompletionsResult>(CompletionState, 'F');\r\n            var getHashCodeIndex = completions.Completions\r\n                .Select((c, index) => (c.DisplayText, index))\r\n                .First(x => x.DisplayText == nameof(GetHashCode))\r\n                .index;\r\n            var result = await driver.SendWithRequiredResultAsync<CompletionsItemInfoResult>(CompletionState, \"I\" + getHashCodeIndex);\r\n\r\n            Assert.NotNull(result);\r\n            Assert.Equal(getHashCodeIndex, result.Index);\r\n            Assert.Equal(\r\n                \"int object.GetHashCode()\\r\\nServes as the default hash function.\",\r\n                string.Join(\"\", result.Parts)\r\n            );\r\n        }\r\n\r\n        private static async Task<IList<CompletionsItem>> TypeAndGetCompletionsAsync(char @char, MirrorSharpTestDriver driver) {\r\n            return (await driver.SendWithRequiredResultAsync<CompletionsResult>(TypeChar, @char)).Completions;\r\n        }\r\n\r\n        private static int IndexOf(IEnumerable<CompletionsItem> completions, string displayText) {\r\n            return completions.Select((c, i) => new { c, i }).First(x => x.c.DisplayText?.Contains(displayText) ?? false).i;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Tests/ConnectionTests.cs",
    "content": "using System;\r\nusing System.Buffers;\r\nusing System.Collections.Immutable;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Net.WebSockets;\r\nusing System.Net.WebSockets.Mocks;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing MirrorSharp.Internal;\r\nusing MirrorSharp.Internal.Handlers;\r\nusing MirrorSharp.Internal.Handlers.Mocks;\r\nusing MirrorSharp.Testing;\r\nusing Xunit;\r\nusing System.IO;\r\nusing SourceMock.Internal;\r\n\r\n// ReSharper disable HeapView.ClosureAllocation\r\n\r\nnamespace MirrorSharp.Tests {\r\n    public class ConnectionTests {\r\n        [Fact]\r\n        public async Task ReceiveAndProcessAsync_CallsMatchingCommand() {\r\n            var socketMock = MockWebSocketToReceive(\"X123\");\r\n\r\n            var session = MirrorSharpTestDriver.New().Session;\r\n            var handler = MockCommandHandler('X');\r\n            var connection = CreateConnection(socketMock, session, handler);\r\n            var cancellationToken = new CancellationTokenSource().Token;\r\n\r\n            await connection.ReceiveAndProcessAsync(cancellationToken);\r\n\r\n            var call = Assert.Single(handler.Calls.ExecuteAsync());\r\n            Assert.Equal(\"123\", Encoding.UTF8.GetString(call.data.GetFirst().Span));\r\n            Assert.Equal(session, call.session);\r\n            Assert.Equal(connection, call.sender);\r\n            Assert.Equal(cancellationToken, call.cancellationToken);\r\n        }\r\n\r\n        [Fact]\r\n        public async Task ReceiveAndProcessAsync_HandlesLongMessage() {\r\n            var longArgument = GenerateLongString(10000);\r\n            var socketMock = MockWebSocketToReceive(\"X\" + longArgument);\r\n            var session = MirrorSharpTestDriver.New().Session;\r\n\r\n            var segments = new List<ReadOnlyMemory<byte>>();\r\n            var handler = MockCommandHandler('X', async data => {\r\n                segments.Add(Copy(data.GetFirst()));\r\n                var next = await data.GetNextAsync();\r\n                while (next != null) {\r\n                    segments.Add(Copy(next.Value));\r\n                    next = await data.GetNextAsync();\r\n                }\r\n            });\r\n            var connection = CreateConnection(socketMock, session, handler);\r\n\r\n            await connection.ReceiveAndProcessAsync(CancellationToken.None);\r\n            Assert.Equal(longArgument, string.Join(\"\", segments.Select(s => Encoding.UTF8.GetString(s.ToArray()))));\r\n        }\r\n\r\n        private Connection CreateConnection(WebSocket socketMock, WorkSession session, CommandHandlerMock handler) {\r\n            return new Connection(\r\n                socketMock, session, CreateCommandHandlers(handler),\r\n                ArrayPool<byte>.Shared,\r\n                sendViewer: null, exceptionLogger: null, options: null\r\n            );\r\n        }\r\n\r\n        private ReadOnlyMemory<T> Copy<T>(ReadOnlyMemory<T> segment) {\r\n            var newArray = new T[segment.Length];\r\n            segment.CopyTo(newArray);\r\n            return newArray;\r\n        }\r\n\r\n        private string GenerateLongString(int length) {\r\n            var chars = new char[length];\r\n            for (var i = 0; i < chars.Length; i++) {\r\n                chars[i] = (char)('A' + (i % ('Z' - 'A' + 1)));\r\n            }\r\n            return new string(chars);\r\n        }\r\n\r\n        private CommandHandlerMock MockCommandHandler(char commandId, Func<AsyncData, Task>? execute = null) {\r\n            var handler = new CommandHandlerMock();\r\n            handler.Setup.CommandId.Returns(commandId);\r\n            #pragma warning disable VSTHRD110 // Observe result of async calls\r\n            handler.Setup.ExecuteAsync().Runs((data, ss, sn, t) => execute?.Invoke(data) ?? Task.CompletedTask);\r\n            #pragma warning restore VSTHRD110 // Observe result of async calls\r\n            return handler;\r\n        }\r\n\r\n        private ImmutableArray<ICommandHandler> CreateCommandHandlers(ICommandHandler handler) {\r\n            var handlers = new ICommandHandler[26];\r\n            handlers[handler.CommandId - 'A'] = handler;\r\n            return ImmutableArray.CreateRange(handlers);\r\n        }\r\n\r\n        private static WebSocket MockWebSocketToReceive(string command) {\r\n            var mock = new WebSocketMock();\r\n            var dataStream = new MemoryStream(Encoding.UTF8.GetBytes(command));\r\n            mock.Setup.ReceiveAsync(default(MockArgumentMatcher<ArraySegment<byte>>)).Runs(async (ArraySegment<byte> data, CancellationToken _) => {\r\n                var count = await dataStream.ReadAsync(data.Array!, data.Offset, data.Count);\r\n                return new WebSocketReceiveResult(count, WebSocketMessageType.Text, dataStream.Position == dataStream.Length);\r\n            });\r\n            return mock;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "Tests/FSharp/CustomFileSystemTests.cs",
    "content": "using System.IO;\r\nusing System.Text;\r\nusing Microsoft.FSharp.Core;\r\nusing MirrorSharp.FSharp.Internal;\r\nusing Xunit;\r\n\r\nnamespace MirrorSharp.Tests.FSharp;\r\n\r\npublic class CustomFileSystemTests {\r\n    [Fact]\r\n    public void OpenFileForReadShim_ReturnsStreamWithDataFromRegister_ForVirtualFile() {\r\n        // Arrange\r\n        var system = CustomFileSystem.Instance;\r\n        var data = Encoding.UTF8.GetBytes(\"Test\");\r\n        var file = system.RegisterVirtualFile(_ => new MemoryStream(data), (object?)null);\r\n        var optionFalse = FSharpOption<bool>.Some(false);\r\n\r\n        // Act\r\n        var stream = system.OpenFileForReadShim(file.Path, optionFalse, optionFalse);\r\n\r\n        // Assert\r\n        var result = new StreamReader(stream).ReadToEnd();\r\n        Assert.Equal(\"Test\", result);\r\n    }\r\n\r\n    [Fact]\r\n    public void OpenFileForReadShim_ReturnsSameStreamWithPositionAtStart_ForVirtualFile_EvenIfCalledTwice() {\r\n        // Arrange\r\n        var system = CustomFileSystem.Instance;\r\n        var stream = new MemoryStream(new byte[5]);\r\n        var file = system.RegisterVirtualFile(_ => stream, (object?)null);\r\n        var optionFalse = FSharpOption<bool>.Some(false);\r\n\r\n        // Act\r\n        var first = system.OpenFileForReadShim(file.Path, optionFalse, optionFalse);\r\n        first.Position = 3;\r\n        first.Close();\r\n        var second = system.OpenFileForReadShim(file.Path, optionFalse, optionFalse);\r\n\r\n        // Assert\r\n        Assert.Same(first, second);\r\n        Assert.Equal(0, second.Position);\r\n        Assert.True(second.CanRead);\r\n    }\r\n}\r\n"
  },
  {
    "path": "Tests/FSharp/FSharpProjectOptionsExtensionsTests.cs",
    "content": "using System;\r\nusing Microsoft.FSharp.Collections;\r\nusing FSharp.Compiler.CodeAnalysis;\r\nusing MirrorSharp.FSharp.Advanced;\r\nusing Xunit;\r\nusing range = FSharp.Compiler.Text.Range;\r\nusing Microsoft.FSharp.Core;\r\n\r\nnamespace MirrorSharp.Tests.FSharp;\r\n\r\npublic class FSharpProjectOptionsExtensionsTests {\r\n    [Theory]\r\n    [InlineData(new[] { \"--optimize+\" }, true)]\r\n    [InlineData(new[] { \"--optimize-\" }, false)]\r\n    [InlineData(new string[0], null)]\r\n    public void WithOtherOptionOptimize_ReturnsSameInstance_IfValueIsTheSame(string[] otherOptions, bool? newValue) {\r\n        var options = NewOptions(otherOptions: otherOptions);\r\n        var updated = options.WithOtherOptionOptimize(newValue);\r\n        Assert.Same(options, updated);\r\n    }\r\n\r\n    [Theory]\r\n    [InlineData(new[] { \"--optimize+\" }, false, new[] { \"--optimize-\" })]\r\n    [InlineData(new[] { \"--optimize+\" }, null, new string[0])]\r\n    [InlineData(new[] { \"--optimize-\" }, true, new[] { \"--optimize+\" })]\r\n    [InlineData(new[] { \"--optimize-\" }, null, new string[0])]\r\n    [InlineData(new string[0], true,  new[] { \"--optimize+\" })]\r\n    [InlineData(new string[0], false, new[] { \"--optimize-\" })]\r\n    public void WithOtherOptionOptimize_ReturnsExpectedOptions_IfValueIsNotTheSame(string[] otherOptions, bool? newValue, string[] expected) {\r\n        var options = NewOptions(otherOptions: otherOptions).WithOtherOptionOptimize(newValue);\r\n        Assert.Equal(expected, options.OtherOptions);\r\n    }\r\n\r\n    [Theory]\r\n    [InlineData(new[] { \"--target:exe\" }, FSharpTargets.Exe)]\r\n    [InlineData(new[] { \"--target:winexe\" }, FSharpTargets.WinExe)]\r\n    [InlineData(new[] { \"--target:library\" }, FSharpTargets.Library)]\r\n    [InlineData(new[] { \"--target:module\" }, FSharpTargets.Module)]\r\n    [InlineData(new string[0], null)]\r\n    public void WithOtherOptionTarget_ReturnsSameInstance_IfValueIsTheSame(string[] otherOptions, string newValue) {\r\n        var options = NewOptions(otherOptions: otherOptions);\r\n        var updated = options.WithOtherOptionTarget(newValue);\r\n        Assert.Same(options, updated);\r\n    }\r\n\r\n    [Theory]\r\n    [InlineData(new[] { \"--target:exe\" }, FSharpTargets.Library, new[] { \"--target:library\" })]\r\n    [InlineData(new[] { \"--target:library\" }, FSharpTargets.Exe, new[] { \"--target:exe\" })]\r\n    [InlineData(new string[0], FSharpTargets.Library,  new[] { \"--target:library\" })]\r\n    public void WithOtherOptionTarget_ReturnsExpectedOptions_IfValueIsNotTheSame(string[] otherOptions, string newValue, string[] expected) {\r\n        var options = NewOptions(otherOptions: otherOptions).WithOtherOptionTarget(newValue);\r\n        Assert.Equal(expected, options.OtherOptions);\r\n    }\r\n\r\n    [Theory]\r\n    [InlineData(new[] { \"--define:TEST\" }, true, new[] { \"--define:TEST\", \"--define:DEBUG\" })]\r\n    [InlineData(new string[0], true, new[] { \"--define:DEBUG\" })]\r\n    [InlineData(new[] { \"--define:DEBUG\" }, false, new string[0])]\r\n    [InlineData(new[] { \"--define:TEST\", \"--define:DEBUG\" }, false, new[] { \"--define:TEST\" })]\r\n    [InlineData(new[] { \"--define:TEST\" }, false, new[] { \"--define:TEST\" })]\r\n    public void WithOtherOptionDefine_ReturnsExpectedOptions_IfThereAreChanges(string[] otherOptions, bool defined, string[] expected) {\r\n        var options = NewOptions(otherOptions: otherOptions).WithOtherOptionDefine(\"DEBUG\", defined);\r\n        Assert.Equal(expected, options.OtherOptions);\r\n    }\r\n\r\n    [Theory]\r\n    [InlineData(new[] { \"--define:DEBUG\" }, true)]\r\n    [InlineData(new[] { \"--define:TEST\", \"--define:DEBUG\" }, true)]\r\n    [InlineData(new string[0], false)]\r\n    public void WithOtherOptionDefine_ReturnsSameInstance_IfThereAreNoChanges(string[] otherOptions, bool defined) {\r\n        var options = NewOptions(otherOptions: otherOptions);\r\n        var updated = options.WithOtherOptionDefine(\"DEBUG\", defined);\r\n        Assert.Same(options, updated);\r\n    }\r\n\r\n    private FSharpProjectOptions NewOptions(string[]? otherOptions = null) {\r\n        return new FSharpProjectOptions(\r\n            \"_\",\r\n            FSharpOption<string>.None,\r\n            new string[0],\r\n            otherOptions,\r\n            Array.Empty<FSharpReferencedProject>(),\r\n            false,\r\n            false,\r\n            DateTime.MinValue,\r\n            FSharpOption<FSharpUnresolvedReferencesSet>.None,\r\n            FSharpList<Tuple<range, string, string>>.Empty,\r\n            FSharpOption<long>.None\r\n        );\r\n    }\r\n}"
  },
  {
    "path": "Tests/FSharp/FSharpSessionTests.cs",
    "content": "using System;\r\nusing System.IO;\r\nusing System.Reflection;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.IO;\r\nusing MirrorSharp.FSharp;\r\nusing MirrorSharp.FSharp.Advanced;\r\nusing MirrorSharp.FSharp.Internal;\r\nusing Xunit;\r\n\r\nnamespace MirrorSharp.Tests.FSharp;\r\n\r\npublic class FSharpSessionTests {\r\n    [Fact]\r\n    public async Task Compile_ProducesExecutableAssembly() {\r\n        // Arrange\r\n        var session = NewSession(@\"\r\n            [<EntryPoint>]\r\n            let main args =\r\n                5\r\n        \");\r\n        var assemblyStream = new MemoryStream();\r\n\r\n        // Act\r\n        var compilationResult = await session.CompileAsync(assemblyStream, CancellationToken.None);\r\n\r\n        // Assert\r\n        Assert.Empty(compilationResult.Item1);\r\n        var main = Assembly.Load(assemblyStream.ToArray()).EntryPoint;\r\n        Assert.NotNull(main);\r\n        var result = main!.Invoke(null, new[] { new string[0] });\r\n        Assert.Equal(5, result);\r\n    }\r\n\r\n    [Theory]\r\n    [InlineData(\"--debug+\")]\r\n    [InlineData(\"--debug:full\")]\r\n    [InlineData(\"--debug:pdbonly\")]\r\n    [InlineData(\"-g+\")]\r\n    [InlineData(\"-g-\")]\r\n    [InlineData(\"-g:full\")]\r\n    [InlineData(\"-g:pdbonly\")]\r\n    public async Task Compile_ThrowsNotSupportedException_IfDebugOptionIsNotSupported(string option) {\r\n        // Arrange\r\n        var session = NewSession();\r\n        session.ProjectOptions = session.ProjectOptions\r\n            .WithoutOtherOption(\"-debug-\")\r\n            .WithOtherOption(option);\r\n\r\n        // Act\r\n        var exception = await Record.ExceptionAsync(() => session.CompileAsync(new(), CancellationToken.None).AsTask());\r\n\r\n        // Assert\r\n        Assert.IsType<NotSupportedException>(exception);\r\n    }\r\n\r\n    private FSharpSession NewSession(string code = \"\") {\r\n        return new FSharpSession(\r\n            code,\r\n            new MirrorSharpFSharpOptions(),\r\n            new RecyclableMemoryStreamManager()\r\n        );\r\n    }\r\n}\r\n"
  },
  {
    "path": "Tests/FSharp/FSharpTests.cs",
    "content": "using System.Linq;\r\nusing MirrorSharp.FSharp.Internal;\r\nusing MirrorSharp.Internal;\r\nusing MirrorSharp.Testing;\r\nusing MirrorSharp.Testing.Internal.Results;\r\nusing Xunit;\r\n\r\n// ReSharper disable HeapView.ObjectAllocation\r\n// ReSharper disable HeapView.BoxingAllocation\r\n\r\nnamespace MirrorSharp.Tests.FSharp;\r\n\r\npublic class FSharpTests {\r\n    private static readonly MirrorSharpOptions Options = new MirrorSharpOptions().EnableFSharp();\r\n\r\n    [Fact]\r\n    public async void SlowUpdate_ProducesNoDiagnostics_IfCodeIsValid() {\r\n        var driver = MirrorSharpTestDriver.New(Options, FSharpLanguage.Name);\r\n        var code = @\"\r\n                open System\r\n\r\n                [<EntryPoint>]\r\n                let main argv = \r\n                    printfn \"\"Hello World\"\"\r\n                    0\r\n            \".Trim().Replace(\"                \", \"\");\r\n        await driver.SendReplaceTextAsync(code);\r\n        var result = await driver.SendSlowUpdateAsync();\r\n        Assert.Equal(\"\", string.Join(\"\\r\\n\", result.Diagnostics));\r\n    }\r\n\r\n    [Fact]\r\n    public async void SlowUpdate_ProducesExpectedDiagnostics_IfCodeHasErrors() {\r\n        var driver = MirrorSharpTestDriver.New(Options, FSharpLanguage.Name);\r\n        await driver.SendReplaceTextAsync(\"xyz\");\r\n        var result = await driver.SendSlowUpdateAsync();\r\n        \r\n        Assert.Equal(\r\n            new[] { new {\r\n                Severity = \"error\",\r\n                Message = \"The value or constructor 'xyz' is not defined.\",\r\n                Span = new { Start = (int?)0, Length = (int?)3 }\r\n            } },\r\n            result.Diagnostics.Select(d => new {\r\n                d.Severity,\r\n                d.Message,\r\n                Span = new { d.Span?.Start, d.Span?.Length }\r\n            }).ToArray()\r\n        );\r\n    }\r\n\r\n    [Fact]\r\n    public async void TypeChar_ProducesExpectedCompletion() {\r\n        var driver = MirrorSharpTestDriver.New(Options, FSharpLanguage.Name);\r\n        driver.SetTextWithCursor(@\"\r\n                type Test() =\r\n                    member this.Method() = ()\r\n\r\n                let test = \r\n                    let t = new Test()\r\n                    t|\r\n            \".Trim().Replace(\"                \", \"\"));\r\n\r\n        var result = await driver.SendTypeCharAsync('.');\r\n\r\n        Assert.NotNull(result);\r\n        Assert.Equal(\r\n            new[] {\r\n                new { DisplayText = \"Equals\", Kind = \"method\" },\r\n                new { DisplayText = \"GetHashCode\", Kind = \"method\" },\r\n                new { DisplayText = \"GetType\", Kind = \"method\" },\r\n                new { DisplayText = \"Method\", Kind = \"method\" },\r\n                new { DisplayText = \"ToString\", Kind = \"method\" },\r\n            },\r\n            // https://github.com/xunit/assert.xunit/pull/36#issuecomment-578990557\r\n            result!.Completions.Select(c => new { c.DisplayText, Kind = c.Kinds.SingleOrDefault() })\r\n        );\r\n    }\r\n\r\n    [Fact]\r\n    public async void ForceCompletion_ProducesExpectedCompletion_ForDelegateTypeInScope() {\r\n        var driver = MirrorSharpTestDriver.New(Options, FSharpLanguage.Name);\r\n        driver.SetTextWithCursor(@\"\r\n                type X = obj\r\n                type Y = obj -> obj|\r\n            \".Trim().Replace(\"                \", \"\"));\r\n\r\n        var result = await driver.SendWithRequiredResultAsync<CompletionsResult>(CommandIds.CompletionState, 'F');\r\n\r\n        Assert.NotNull(result);\r\n        Assert.Contains(\r\n            new { DisplayText = \"Y\", Kind = \"delegate\" },\r\n            // https://github.com/xunit/assert.xunit/pull/36#issuecomment-578990557\r\n            result!.Completions.Select(c => new { c.DisplayText, Kind = c.Kinds.SingleOrDefault() })\r\n        );\r\n    }\r\n\r\n    [Fact]\r\n    public async void CompletionState_ProducesExpectedCompletionChanges() {\r\n        var driver = MirrorSharpTestDriver.New(Options, FSharpLanguage.Name);\r\n        driver.SetTextWithCursor(@\"\r\n                type Test() =\r\n                    member this.Method() = ()\r\n\r\n                let test = \r\n                    let t = new Test()\r\n                    t|\r\n            \".Trim().Replace(\"                \", \"\"));\r\n\r\n        await driver.SendTypeCharAsync('.');\r\n        var changes = await driver.SendWithRequiredResultAsync<ChangesResult>(CommandIds.CompletionState, \"3\");\r\n\r\n        Assert.Equal(\r\n            new[] {\r\n                new { Start = driver.Session.CursorPosition, Length = 0, Text = \"Method\" }\r\n            },\r\n            changes.Changes.Select(c => new { c.Start, c.Length, c.Text })\r\n        );\r\n    }\r\n\r\n    // Signature help is not supported, but should not crash either\r\n    [Fact]\r\n    public async void SignatureHelpState_ReturnsEmptySignatures_WhenForced() {\r\n        var driver = MirrorSharpTestDriver.New(Options, FSharpLanguage.Name);\r\n        driver.SetTextWithCursor(\"|\");\r\n\r\n        var signatures = await driver.SendWithOptionalResultAsync<SignaturesResult>(CommandIds.SignatureHelpState, \"F\");\r\n\r\n        Assert.Null(signatures);\r\n    }\r\n}\r\n"
  },
  {
    "path": "Tests/FastUtf8JsonWriterTests.cs",
    "content": "using System.Buffers;\r\nusing System.Text;\r\nusing Xunit;\r\nusing MirrorSharp.Internal;\r\nusing MirrorSharp.Advanced;\r\n\r\nnamespace MirrorSharp.Tests {\r\n    public class FastUtf8JsonWriterTests {\r\n        [Fact]\r\n        public void WriteValue_WritesNull() {\r\n            var writer = CreateWriter();\r\n            writer.WriteValue((string?)null);\r\n\r\n            var result = GetWrittenAsString(writer);\r\n            Assert.Equal(\"null\", result);\r\n        }\r\n\r\n        [Theory]\r\n        [InlineData(\"a\\nb\", \"a\\\\nb\")]\r\n        [InlineData(\"a\\\"b\", @\"a\\\"\"b\")]\r\n        [InlineData(\"a\\\\b\", \"a\\\\\\\\b\")]\r\n        [InlineData(\"a\\0b\", \"a\\\\u0000b\")]\r\n        [InlineData(\"aÀb\", \"aÀb\")]\r\n        [InlineData(\"a❀b\", \"a❀b\")]\r\n        [InlineData(\"a🌄b\", \"a🌄b\")]\r\n        public void WriteValue_WritesString(string input, string expected) {\r\n            var writer = CreateWriter();\r\n            writer.WriteValue(input);\r\n\r\n            var result = GetWrittenAsString(writer);\r\n            Assert.Equal('\"' + expected + '\"', result);\r\n        }\r\n\r\n        [Fact]\r\n        public void WriteValue_WritesVeryLongString() {\r\n            var input = new string('x', 10000);\r\n            var writer = CreateWriter();\r\n            writer.WriteValue(input);\r\n\r\n            var result = GetWrittenAsString(writer);\r\n            Assert.Equal(\"\\\"\" + input + \"\\\"\", result);\r\n        }\r\n\r\n        [Theory]\r\n        [InlineData('a',  \"a\")]\r\n        [InlineData('\\n', \"\\\\n\")]\r\n        [InlineData('\\\\', \"\\\\\\\\\")]\r\n        [InlineData('❀', \"❀\")]\r\n        [InlineData('\\u0080', \"\\u0080\")]\r\n        [InlineData('\\u00a0', \"\\u00a0\")]\r\n        [InlineData('À', \"À\")]\r\n        public void WriteValue_WritesChar(char input, string expected) {\r\n            var writer = CreateWriter();\r\n            writer.WriteValue(input);\r\n\r\n            var result = GetWrittenAsString(writer);\r\n            Assert.Equal('\"' + expected + '\"', result);\r\n        }\r\n        \r\n        [Theory]\r\n        [InlineData(-10)]\r\n        [InlineData(-1)]\r\n        [InlineData(0)]\r\n        [InlineData(1)]\r\n        [InlineData(10)]\r\n        [InlineData(13)]\r\n        [InlineData(100)]\r\n        [InlineData(113)]\r\n        [InlineData(1113)]\r\n        [InlineData(11113)]\r\n        [InlineData(111113)]\r\n        public void WriteValue_WritesInt32(int input) {\r\n            var writer = CreateWriter();\r\n            writer.WriteValue(input);\r\n\r\n            var result = GetWrittenAsString(writer);\r\n            Assert.Equal(input.ToString(\"D\", null), result);\r\n        }\r\n\r\n        [Theory]\r\n        [InlineData(true, \"true\")]\r\n        [InlineData(false, \"false\")]\r\n        public void WriteValue_WritesBoolean(bool input, string expected) {\r\n            var writer = CreateWriter();\r\n            writer.WriteValue(input);\r\n\r\n            var result = GetWrittenAsString(writer);\r\n            Assert.Equal(expected, result);\r\n        }\r\n\r\n        [Fact]\r\n        public void WriteValue_WritesCommaBeforeSecondArrayValue_WhenValueIsString() {\r\n            var writer = CreateWriter();\r\n            writer.WriteStartArray();\r\n            writer.WriteValue(\"e1\");\r\n            writer.WriteValue(\"e2\");\r\n            writer.WriteEndArray();\r\n\r\n            var result = GetWrittenAsString(writer);\r\n            Assert.Equal(\"[\\\"e1\\\",\\\"e2\\\"]\", result);\r\n        }\r\n\r\n        [Fact]\r\n        public void WriteValue_WritesCommaBeforeSecondArrayValue_WhenValueIsInt32() {\r\n            var writer = CreateWriter();\r\n            writer.WriteStartArray();\r\n            writer.WriteValue(1);\r\n            writer.WriteValue(2);\r\n            writer.WriteEndArray();\r\n\r\n            var result = GetWrittenAsString(writer);\r\n            Assert.Equal(\"[1,2]\", result);\r\n        }\r\n\r\n        [Fact]\r\n        public void WriteValue_WritesCommaBeforeSecondArrayValue_WhenValueIsBoolean() {\r\n            var writer = CreateWriter();\r\n            writer.WriteStartArray();\r\n            writer.WriteValue(false);\r\n            writer.WriteValue(true);\r\n            writer.WriteEndArray();\r\n\r\n            var result = GetWrittenAsString(writer);\r\n            Assert.Equal(\"[false,true]\", result);\r\n        }\r\n\r\n        [Fact]\r\n        public void WriteProperty_WritesCommaBeforeProperty_AfterNestedObject() {\r\n            var writer = CreateWriter();\r\n            writer.WriteStartObject();\r\n            writer.WritePropertyStartObject(\"p1\");\r\n            writer.WriteEndObject();\r\n            writer.WriteProperty(\"p2\", 0);\r\n            writer.WriteEndObject();\r\n\r\n            var result = GetWrittenAsString(writer);\r\n            Assert.Equal(\"{\\\"p1\\\":{},\\\"p2\\\":0}\", result);\r\n        }\r\n\r\n        [Fact]\r\n        public void OpenString_ReturnsWriterThatCorrectlyWritesValueIntoString_WhenValueIsInt32() {\r\n            var writer = CreateWriter();\r\n            using (var stringWriter = writer.OpenString()) {\r\n                stringWriter.Write(42);\r\n            }\r\n\r\n            var result = GetWrittenAsString(writer);\r\n            Assert.Equal(\"\\\"42\\\"\", result);\r\n        }\r\n\r\n        [Fact]\r\n        public void OpenString_ReturnsWriterThatCorrectlyWritesValueIntoString_WhenValueIsChar() {\r\n            var writer = CreateWriter();\r\n            using (var stringWriter = writer.OpenString()) {\r\n                stringWriter.Write('\"');\r\n            }\r\n\r\n            var result = GetWrittenAsString(writer);\r\n            Assert.Equal(\"\\\"\\\\\\\"\\\"\", result);\r\n        }\r\n\r\n        [Fact]\r\n        public void OpenString_ReturnsWriterThatCorrectlyWritesValueIntoString_WhenValueIsString() {\r\n            var writer = CreateWriter();\r\n            using (var stringWriter = writer.OpenString()) {\r\n                stringWriter.Write(\"a\\\"b\");\r\n            }\r\n\r\n            var result = GetWrittenAsString(writer);\r\n            Assert.Equal(\"\\\"a\\\\\\\"b\\\"\", result);\r\n        }\r\n\r\n        [Fact]\r\n        public void OpenString_CanBeUsedMultipleTimes() {\r\n            var writer = CreateWriter();\r\n            writer.WriteStartArray();\r\n            using (var stringWriter = writer.OpenString()) stringWriter.Write(\"a\");\r\n            using (var stringWriter = writer.OpenString()) stringWriter.Write(\"b\");\r\n            writer.WriteEndArray();\r\n\r\n            var result = GetWrittenAsString(writer);\r\n            Assert.Equal(\"[\\\"a\\\",\\\"b\\\"]\", result);\r\n        }\r\n\r\n        private static string GetWrittenAsString(FastUtf8JsonWriter writer) {\r\n            return Encoding.UTF8.GetString(writer.WrittenSegment);\r\n        }\r\n\r\n        private static FastUtf8JsonWriter CreateWriter() {\r\n            return new FastUtf8JsonWriter(ArrayPool<byte>.Shared);\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Tests/Features/RoslynScriptModeTests.cs",
    "content": "using System;\r\nusing System.Threading.Tasks;\r\nusing MirrorSharp.Advanced;\r\nusing MirrorSharp.Testing;\r\nusing Xunit;\r\n\r\nnamespace MirrorSharp.Tests.Features {\r\n    // This can't be tested for VB until https://github.com/dotnet/roslyn/issues/9063\r\n    public class RoslynScriptModeTests {\r\n        // anything from System would do, as I don't want to require tests to add references\r\n        private static readonly Type TestHostType = typeof(Random);\r\n        private const string TestHostMethodName = nameof(Random.Next);\r\n\r\n        [Fact]\r\n        public async Task Script_ProducesNoErrors_WhenSetInInitialOptions() {\r\n            var options = new MirrorSharpOptions()\r\n                .SetupCSharp(o => o.SetScriptMode(hostObjectType: TestHostType));\r\n            var driver = MirrorSharpTestDriver.New(options)\r\n                .SetText($\"var x = {TestHostMethodName}();\");\r\n\r\n            var result = await driver.SendSlowUpdateAsync();\r\n\r\n            Assert.Equal(\"\", result.JoinErrors());\r\n        }\r\n\r\n        [Fact]\r\n        public async Task Script_ProducesNoErrors_WhenSetThroughOptionExtension() {\r\n            var extensions = new MirrorSharpServices {\r\n                SetOptionsFromClient = new ScriptModeExtension(TestHostType)\r\n            };\r\n            var driver = MirrorSharpTestDriver.New(extensions)\r\n                .SetText($\"var x = {TestHostMethodName}();\");\r\n\r\n            await driver.SendSetOptionAsync(\"x-mode\", \"script\");\r\n            var result = await driver.SendSlowUpdateAsync();\r\n\r\n            Assert.Equal(\"\", result.JoinErrors());\r\n        }\r\n\r\n        [Fact]\r\n        public async Task Script_CanApplyTextChanges_WhenSetThroughOptionExtension() {\r\n            var extensions = new MirrorSharpServices {\r\n                SetOptionsFromClient = new ScriptModeExtension(TestHostType)\r\n            };\r\n            var driver = MirrorSharpTestDriver.New(extensions);\r\n\r\n            await driver.SendSetOptionAsync(\"x-mode\", \"script\");\r\n            await driver.SendReplaceTextAsync($\"var x = {TestHostMethodName}();\");\r\n            var result = await driver.SendSlowUpdateAsync();\r\n\r\n            Assert.Equal(\"\", result.JoinErrors());\r\n        }\r\n\r\n        private class ScriptModeExtension : ISetOptionsFromClientExtension {\r\n            private readonly Type _hostObjectType;\r\n\r\n            public ScriptModeExtension(Type hostObjectType) {\r\n                _hostObjectType = hostObjectType;\r\n            }\r\n\r\n            public bool TrySetOption(IWorkSession session, string name, string value) {\r\n                if (name != \"x-mode\" || value != \"script\")\r\n                    return false;\r\n\r\n                session.Roslyn.SetScriptMode(hostObjectType: _hostObjectType);\r\n                return true;\r\n            }\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Tests/Internal/ObjectMembers.cs",
    "content": "﻿namespace MirrorSharp.Tests.Internal {\r\n    public class ObjectMembers {\r\n        public static readonly string[] AllNames = {\r\n            nameof(Equals),\r\n            nameof(GetHashCode),\r\n            nameof(GetType),\r\n            nameof(ToString)\r\n        };\r\n    }\r\n}\r\n"
  },
  {
    "path": "Tests/Internal/TrackingArrayPool.cs",
    "content": "using System;\r\nusing System.Buffers;\r\nusing System.Collections.Generic;\r\nusing Xunit;\r\n\r\nnamespace MirrorSharp.Tests.Internal {\r\n    public class TrackingArrayPool<T> : ArrayPool<T> {\r\n        private readonly ArrayPool<T> _inner;\r\n        private IDictionary<T[], string>? _rented;\r\n\r\n        public TrackingArrayPool(ArrayPool<T> inner) {\r\n            _inner = inner;\r\n        }\r\n\r\n        public override T[] Rent(int minimumLength) {\r\n            var array = _inner.Rent(minimumLength);\r\n            _rented?.Add(array, Environment.StackTrace);\r\n            return array;\r\n        }\r\n\r\n        public override void Return(T[] array, bool clearArray = false) {\r\n            _inner.Return(array);\r\n            _rented?.Remove(array);\r\n        }\r\n\r\n        public void StartTracking() {\r\n            _rented = new Dictionary<T[], string>();\r\n        }\r\n\r\n        public void AssertAllReturned() {\r\n            Assert.Empty(_rented!.Values);\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Tests/MirrorSharpOptionsWithXmlDocumentation.cs",
    "content": "using System;\r\nusing System.Collections.Immutable;\r\nusing Microsoft.CodeAnalysis;\r\n\r\nnamespace MirrorSharp.Tests {\r\n    public static partial class MirrorSharpOptionsWithXmlDocumentation {\r\n        #if NETCOREAPP\r\n        private static readonly string MscorlibReferenceAssemblyPath =\r\n            AppDomain.CurrentDomain.BaseDirectory\r\n                + @\"\\ref-assemblies\\System.Runtime.dll\";\r\n        #elif NET471\r\n        private static readonly string MscorlibReferenceAssemblyPath =\r\n            Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86)\r\n                + @\"\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.1\\mscorlib.dll\";\r\n        #endif\r\n\r\n        public static MirrorSharpOptions Instance { get; } = new MirrorSharpOptions().SetupCSharp(c => {\r\n            c.MetadataReferences = ImmutableList<MetadataReference>.Empty;\r\n            c.AddMetadataReferencesFromFiles(MscorlibReferenceAssemblyPath!);\r\n        });\r\n    }\r\n}\r\n"
  },
  {
    "path": "Tests/MoveCursorHandlerTests.cs",
    "content": "using System.Linq;\r\nusing System.Threading.Tasks;\r\nusing MirrorSharp.Internal;\r\nusing MirrorSharp.Testing;\r\nusing MirrorSharp.Testing.Internal.Results;\r\nusing Xunit;\r\n\r\nnamespace MirrorSharp.Tests {\r\n    using static CommandIds;\r\n\r\n    public class MoveCursorHandlerTests {\r\n        [Theory]\r\n        [InlineData(\"1\", 1)]\r\n        [InlineData(\"79\", 79)]\r\n        [InlineData(\"1234567890\", 1234567890)]\r\n        public async Task ExecuteAsync_UpdatesSessionCursorPosition(string dataString, int expectedPosition) {\r\n            var driver = MirrorSharpTestDriver.New();\r\n            await driver.SendAsync(MoveCursor, dataString);\r\n            Assert.Equal(expectedPosition, driver.Session.CursorPosition);\r\n        }\r\n\r\n        [Fact]\r\n        public async Task ExecuteAsync_ProducesEmptySignatureHelp_IfCursorIsMovedOutsideOfSignatureSpan() {\r\n            var driver = MirrorSharpTestDriver.New().SetTextWithCursor(@\"\r\n                class C {\r\n                    void M() {}\r\n                    void T() { M| }\r\n                }\r\n            \");\r\n            var signatures = await driver.SendWithRequiredResultAsync<SignaturesResult>(TypeChar, '(');\r\n            var result = await driver.SendWithRequiredResultAsync<SignaturesResult>(MoveCursor, signatures.Span.Start - 1);\r\n            Assert.Equal(0, result.Signatures.Count);\r\n        }\r\n\r\n        [Fact]\r\n        public async Task ExecuteAsync_ProducesSignatureHelpWithNewSelectedParameter_IfCursorIsMovedMovedBetweenParameters() {\r\n            var driver = MirrorSharpTestDriver.New().SetTextWithCursor(@\"\r\n                class C {\r\n                    void M(int a, int b, int c) {}\r\n                    void T() { M(1| }\r\n                }\r\n            \");\r\n            await driver.SendTypeCharsAsync(\",2,\");\r\n\r\n            var result = await driver.SendWithRequiredResultAsync<SignaturesResult>(MoveCursor, driver.Session.CursorPosition - 1);\r\n            var signature = result.Signatures.Single();\r\n            Assert.Equal(\"void C.M(int a, *int b*, int c)\", signature.ToString());\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Tests/PhpTests.cs",
    "content": "#if !NETFRAMEWORK\r\nusing System.Linq;\r\nusing MirrorSharp.Php.Internal;\r\nusing MirrorSharp.Testing;\r\nusing Xunit;\r\n\r\n// ReSharper disable HeapView.ObjectAllocation\r\n// ReSharper disable HeapView.BoxingAllocation\r\n\r\nnamespace MirrorSharp.Tests {\r\n    public class PhpTests {\r\n        private static readonly MirrorSharpOptions Options = new MirrorSharpOptions().EnablePhp();\r\n\r\n        [Fact]\r\n        public async void SlowUpdate_ProducesNoDiagnostics_IfCodeIsValid() {\r\n            var driver = MirrorSharpTestDriver.New(Options, PhpLanguage.Name);\r\n            var code = @\"\r\n                <?php\r\n\r\n                function main() {\r\n                    echo \"\"Hello World!\"\";\r\n                }\r\n\r\n                main();\r\n            \".Trim().Replace(\"                \", \"\");\r\n            await driver.SendReplaceTextAsync(code);\r\n            var result = await driver.SendSlowUpdateAsync();\r\n            Assert.Empty(result.Diagnostics);\r\n        }\r\n\r\n        [Fact]\r\n        public async void SlowUpdate_ProducesExpectedDiagnostics_IfCodeHasErrors() {\r\n            var driver = MirrorSharpTestDriver.New(Options, PhpLanguage.Name);\r\n            await driver.SendReplaceTextAsync(\"<?php new A;\");\r\n            var result = await driver.SendSlowUpdateAsync();\r\n            \r\n            Assert.Equal(\r\n                new[] { new {\r\n                    Severity = \"warning\",\r\n                    Message = \"Class 'A' not found\",\r\n                    Span = new { Start = (int?)10, Length = (int?)1 }\r\n                } },\r\n                result.Diagnostics.Select(d => new {\r\n                    d.Severity,\r\n                    d.Message,\r\n                    Span = new { d.Span?.Start, d.Span?.Length }\r\n                }).ToArray()\r\n            );\r\n        }\r\n    }\r\n}\r\n#endif"
  },
  {
    "path": "Tests/Properties/AssemblyInfo.cs",
    "content": "using System;\r\nusing System.Net.WebSockets;\r\nusing MirrorSharp.Advanced;\r\nusing MirrorSharp.Internal.Handlers;\r\nusing SourceMock;\r\nusing Xunit;\r\n\r\n// https://github.com/dotnet/roslyn/issues/16184 (not actually fixed, need to re-submit)\r\n[assembly: CollectionBehavior(CollectionBehavior.CollectionPerAssembly)]\r\n\r\n[assembly: GenerateMocksForTypes(\r\n    typeof(ICommandHandler),\r\n    typeof(IDisposable),\r\n    typeof(ISlowUpdateExtension),\r\n    typeof(ISetOptionsFromClientExtension),\r\n    typeof(WebSocket)\r\n)]"
  },
  {
    "path": "Tests/ReplaceTextHandlerTests.cs",
    "content": "using System.Linq;\r\nusing System.Text;\r\nusing System.Threading.Tasks;\r\nusing MirrorSharp.Internal;\r\nusing MirrorSharp.Testing;\r\nusing MirrorSharp.Testing.Internal;\r\nusing MirrorSharp.Testing.Internal.Results;\r\nusing Xunit;\r\n\r\n// ReSharper disable HeapView.BoxingAllocation\r\n\r\nnamespace MirrorSharp.Tests {\r\n    using static CommandIds;\r\n\r\n    public class ReplaceTextHandlerTests {\r\n        [Fact]\r\n        public async Task ExecuteAsync_AddsCompleteText_IfTextIsSplitIntoSeveralBuffers() {\r\n            var driver = MirrorSharpTestDriver.New();\r\n            await driver.SendAsync(ReplaceText, new[] { \"0:0:0::x\", \"123456789\", \"123456789\" });\r\n\r\n            Assert.Equal(\"x123456789123456789\", driver.Session.GetText());\r\n        }\r\n\r\n        [Fact]\r\n        public async Task ExecuteAsync_AddsCompleteText_IfTextIsSplitInTwoBuffersInTheMiddleOfUtf8Char() {\r\n            var driver = MirrorSharpTestDriver.New();\r\n            var bytes = Encoding.UTF8.GetBytes(\"0:0:0::☀\");\r\n            await driver.SendAsync(ReplaceText, new[] {\r\n                bytes.Take(bytes.Length - 2).ToArray(),\r\n                new[] { bytes[bytes.Length - 2], bytes[bytes.Length - 1] }\r\n            });\r\n\r\n            Assert.Equal(\"☀\", driver.Session.GetText());\r\n        }\r\n\r\n        [Theory]\r\n        [InlineData(\"abc\", \"0:2:0::x\", \"xc\", 0)]\r\n        [InlineData(\"abc\", \"0:0:0::x\", \"xabc\", 0)]\r\n        [InlineData(\"abc\", \"0:0:2::\", \"abc\", 2)]\r\n        [InlineData(\"abc\", \"3:0:0::x:y\", \"abcx:y\", 0)]\r\n        [InlineData(\"abc\", \"0:0:0:test:x\", \"xabc\", 0)]\r\n        public async Task ExecuteAsync_AddsSpecifiedCharacter(string initialText, string dataString, string expectedText, int expectedCursorPosition) {\r\n            var driver = MirrorSharpTestDriver.New().SetText(initialText);\r\n            await driver.SendAsync(ReplaceText, dataString);\r\n\r\n            Assert.Equal(expectedText, driver.Session.GetText());\r\n            Assert.Equal(expectedCursorPosition, driver.Session.CursorPosition);\r\n        }\r\n\r\n        [Fact]\r\n        public async Task ExecuteAsync_ProducesEmptySignatureHelp_IfCursorIsMovedOutsideOfSignatureSpan() {\r\n            var driver = MirrorSharpTestDriver.New().SetTextWithCursor(@\"\r\n                class C {\r\n                    void M() {}\r\n                    void T() { M| }\r\n                }\r\n            \");\r\n            await driver.SendWithRequiredResultAsync<SignaturesResult>(TypeChar, '(');\r\n            var newPosition = driver.Session.CursorPosition - \"T() { M(\".Length;\r\n            var result = await driver.SendWithRequiredResultAsync<SignaturesResult>(ReplaceText, Argument(newPosition, 0, \"X\", newPosition));\r\n            Assert.Equal(0, result.Signatures.Count);\r\n        }\r\n\r\n        [Fact]\r\n        public async Task ExecuteAsync_ProducesSignatureHelpWithNewSelectedParameter_IfCursorIsMovedMovedBetweenParameters() {\r\n            var driver = MirrorSharpTestDriver.New().SetTextWithCursor(@\"\r\n                class C {\r\n                    void M(int a, int b, int c) {}\r\n                    void T() { M(1| }\r\n                }\r\n            \");\r\n            await driver.SendTypeCharsAsync(\",2,\");\r\n\r\n            var newPosition = driver.Session.CursorPosition - \"2,\".Length;\r\n            var result = await driver.SendWithRequiredResultAsync<SignaturesResult>(ReplaceText, Argument(newPosition, \"2,\".Length, \"\", newPosition));\r\n            var signature = result.Signatures.Single();\r\n            Assert.Equal(\"void C.M(int a, *int b*, int c)\", signature.ToString());\r\n        }\r\n\r\n        [Fact]\r\n        public async Task ExecuteAsync_ProducesCompletion_WhenCalledAfterCommitCharThatWouldHaveProducedIt() {\r\n            var driver = MirrorSharpTestDriver.New().SetTextWithCursor(@\"class C { void M() { var x = | } }\");\r\n\r\n            await driver.SendTypeCharsAsync(\"in\");\r\n            await driver.SendAsync(CompletionState, 1); // would complete \"int\" after echo\r\n            await driver.SendTypeCharsAsync(\".\"); // this was the commit char, happens *before* echo\r\n\r\n            var newPosition = driver.Session.CursorPosition + (\"int.\".Length - \"in.\".Length);\r\n            var result = await driver.SendWithRequiredResultAsync<CompletionsResult>(\r\n                ReplaceText, Argument(driver.Session.CursorPosition - \"in.\".Length, \"in\".Length, \"int\", newPosition, reason: \"completion\")\r\n            );\r\n\r\n            Assert.Contains(nameof(int.Parse), result.Completions.Select(c => c.DisplayText));\r\n        }\r\n\r\n        [Fact]\r\n\r\n        public async Task ExecuteAsync_ProducesSignatureHelp_WhenCalledAfterCommitCharThatWouldHaveProducedIt() {\r\n            var driver = MirrorSharpTestDriver.New().SetTextWithCursor(@\"class C { void M() { int.| } }\");\r\n\r\n            await driver.SendTypeCharsAsync(\"Pars\");\r\n            await driver.SendAsync(CompletionState, 1); // would complete \"Parse\" after echo\r\n            await driver.SendTypeCharsAsync(\"(\"); // this was the commit char, happens *before* echo\r\n\r\n            var newPosition = driver.Session.CursorPosition + (\"Parse(\".Length - \"Pars(\".Length);\r\n            var result = await driver.SendWithRequiredResultAsync<SignaturesResult>(\r\n                ReplaceText, Argument(driver.Session.CursorPosition - \"Pars(\".Length, \"Pars\".Length, \"Parse\", newPosition, reason: \"completion\")\r\n            );\r\n\r\n            var signature = result.Signatures.First(s => s.Selected);\r\n            Assert.Equal(\"int int.Parse(*string s*)\", signature.ToString());\r\n        }\r\n\r\n        private HandlerTestArgument Argument(int start, int length, string newText, int newCursorPosition, string reason = \"\") {\r\n            return $\"{start}:{length}:{newCursorPosition}:{reason}:{newText}\";\r\n        } \r\n    }\r\n}"
  },
  {
    "path": "Tests/RequestInfoTipHandlerTests.cs",
    "content": "using System.Linq;\r\nusing System.Threading.Tasks;\r\nusing Xunit;\r\nusing Microsoft.CodeAnalysis.QuickInfo;\r\nusing MirrorSharp.Internal;\r\nusing MirrorSharp.Testing;\r\nusing MirrorSharp.Testing.Internal;\r\n\r\nnamespace MirrorSharp.Tests {\r\n    public partial class RequestInfoTipHandlerTests {\r\n        [Theory]\r\n        [InlineData(\r\n            \"class ➭C {}\",\r\n            \"class C\", new[] { \"class\", \"internal\" }\r\n        )]\r\n        [InlineData(\r\n            \"using System.Threading.Tasks; class C { Task ➭A() {} }\",\r\n            // https://github.com/dotnet/roslyn/commit/d9be31dadff3d7a7c30ec38cae5d75bf0f6a0a22\r\n            #if PRE_ROSLYN_36\r\n            \"(awaitable) Task C.A()\\r\\n\\r\\nUsage:\\r\\n  await A();\",\r\n            #else\r\n            \"(awaitable) Task C.A()\",\r\n            #endif\r\n            new[] { \"method\", \"private\" }\r\n        )]\r\n        [InlineData(\r\n            \"class C { string P { g➭et; set; } }\",\r\n            \"string C.P.get\", new[] { \"method\", \"private\" }\r\n        )]\r\n        public async Task ExecuteAsync_ProducesExpectedInfoTip(string textWithCursor, string expectedResultText, string[] expectedKinds) {\r\n            var text = TextWithCursor.Parse(textWithCursor, '➭');\r\n            var driver = MirrorSharpTestDriver.New().SetText(text.Text);\r\n\r\n            var result = await driver.SendRequestInfoTipAsync(text.CursorPosition);\r\n\r\n            Assert.NotNull(result);\r\n            // https://github.com/xunit/assert.xunit/pull/36#issuecomment-578990557\r\n            Assert.Equal(expectedKinds, result!.Kinds);\r\n            Assert.Equal(expectedResultText, result?.ToString());\r\n        }\r\n\r\n        [Fact]\r\n        public async Task ExecuteAsync_IncludesXmlDocCommentsInResult() {\r\n            var text = TextWithCursor.Parse(\"class C { string M(int a) { return a.To➭String(); } }\", '➭');\r\n            var driver = MirrorSharpTestDriver.New(MirrorSharpOptionsWithXmlDocumentation.Instance)\r\n                .SetText(text.Text);\r\n\r\n            var result = await driver.SendRequestInfoTipAsync(text.CursorPosition);\r\n\r\n            Assert.NotNull(result);\r\n            var documentation = Assert.Single(result!.Sections.Where(e => e.Kind == QuickInfoSectionKinds.DocumentationComments.ToLowerInvariant()));\r\n            Assert.Equal(\r\n                \"Converts the numeric value of this instance to its equivalent string representation.\",\r\n                documentation.ToString()\r\n            );\r\n        }\r\n\r\n        [Fact]\r\n        public async Task ExecuteAsync_DoesNotSendMessage_WhenNoQuickInfo() {\r\n            var driver = MirrorSharpTestDriver.New().SetText(\"class C {}\");\r\n\r\n            var result = await driver.SendRequestInfoTipAsync(10);\r\n\r\n            Assert.Null(result);\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Tests/SetOptionsHandlerTests.cs",
    "content": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis;\r\nusing MirrorSharp.Advanced.Mocks;\r\nusing MirrorSharp.Internal;\r\nusing MirrorSharp.Testing;\r\nusing MirrorSharp.Testing.Results;\r\nusing Xunit;\r\n\r\n// ReSharper disable HeapView.ClosureAllocation\r\n\r\nnamespace MirrorSharp.Tests {\r\n    using static CommandIds;\r\n\r\n    public class SetOptionsHandlerTests {\r\n        [Theory]\r\n        [InlineData(LanguageNames.CSharp)]\r\n        [InlineData(LanguageNames.VisualBasic)]\r\n        public async Task ExecuteAsync_UpdatesSessionLanguage(string languageName) {\r\n            var driver = MirrorSharpTestDriver.New(new MirrorSharpOptions().EnableVisualBasic());\r\n            await driver.SendAsync(SetOptions, \"language=\" + languageName);\r\n            Assert.Equal(languageName, driver.Session.Language.Name);\r\n        }\r\n\r\n        [Fact]\r\n        public async Task ExecuteAsync_CallsSetOptionExtension_IfOptionHasExtensionPrefix() {\r\n            var extensionMock = new SetOptionsFromClientExtensionMock();\r\n            extensionMock.Setup.TrySetOption().Returns(true);\r\n\r\n            var driver = MirrorSharpTestDriver.New(new MirrorSharpServices { SetOptionsFromClient = extensionMock });\r\n            await driver.SendAsync(SetOptions, \"x-testkey=testvalue\");\r\n\r\n            Assert.Equal(\r\n                (driver.Session, \"x-testkey\", \"testvalue\"),\r\n                Assert.Single(extensionMock.Calls.TrySetOption())\r\n            );\r\n        }\r\n\r\n        [Fact]\r\n        public async Task ExecuteAsync_ReappliesExtensionOption_WhenChangingLanguage() {\r\n            var extensionMock = new SetOptionsFromClientExtensionMock();\r\n            extensionMock.Setup.TrySetOption().Returns(true);\r\n\r\n            var driver = MirrorSharpTestDriver.New(new MirrorSharpOptions().EnableVisualBasic(), new MirrorSharpServices {\r\n                SetOptionsFromClient = extensionMock\r\n            });\r\n\r\n            await driver.SendAsync(SetOptions, \"x-testkey=testvalue\");\r\n            var previousCallCount = extensionMock.Calls.TrySetOption().Count;\r\n            await driver.SendAsync(SetOptions, \"language=\" + LanguageNames.VisualBasic);\r\n\r\n            Assert.Equal((driver.Session, \"x-testkey\", \"testvalue\"), Assert.Single(\r\n                extensionMock.Calls.TrySetOption().Skip(previousCallCount)\r\n            ));\r\n        }\r\n\r\n        [Fact]\r\n        public async Task ExecuteAsync_DoesNotApplyExtensionOptionTwice_WhenChangingLanguage_IfOptionIsSentWithLanguageChange() {\r\n            var extensionMock = new SetOptionsFromClientExtensionMock();\r\n            extensionMock.Setup.TrySetOption().Returns(true);\r\n\r\n            var driver = MirrorSharpTestDriver.New(new MirrorSharpOptions().EnableVisualBasic(), new MirrorSharpServices {\r\n                SetOptionsFromClient = extensionMock\r\n            });\r\n\r\n            await driver.SendAsync(SetOptions, \"x-testkey=testvalue\");\r\n            var previousCallCount = extensionMock.Calls.TrySetOption().Count;\r\n            await driver.SendAsync(SetOptions, \"language=\" + LanguageNames.VisualBasic + \",x-testkey=testvalue\");\r\n\r\n            Assert.Equal((driver.Session, \"x-testkey\", \"testvalue\"), Assert.Single(\r\n                extensionMock.Calls.TrySetOption().Skip(previousCallCount)\r\n            ));\r\n        }\r\n\r\n        [Fact]\r\n        public async Task ExecuteAsync_EchoesOptionsIncludingPreviousCalls() {\r\n            var extensionMock = new SetOptionsFromClientExtensionMock();\r\n            extensionMock.Setup.TrySetOption().Returns(true);\r\n\r\n            var driver = MirrorSharpTestDriver.New(new MirrorSharpServices { SetOptionsFromClient = extensionMock });\r\n            await driver.SendAsync(SetOptions, \"x-key1=value1\");\r\n            var optionsEcho = await driver.SendWithRequiredResultAsync<OptionsEchoResult>(SetOptions, \"x-key2=value2\");\r\n            Assert.Equal(\r\n                new Dictionary<string, string> {\r\n                    [\"x-key1\"] = \"value1\",\r\n                    [\"x-key2\"] = \"value2\"\r\n                },\r\n                optionsEcho.Options\r\n            );\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Tests/SignatureHelpStateHandlerTests.cs",
    "content": "using System.Linq;\r\nusing System.Threading.Tasks;\r\nusing MirrorSharp.Internal;\r\nusing MirrorSharp.Testing;\r\nusing MirrorSharp.Testing.Internal.Results;\r\nusing Xunit;\r\n\r\nnamespace MirrorSharp.Tests {\r\n    using static CommandIds;\r\n\r\n    public class SignatureHelpStateHandlerTests {\r\n        [Fact]\r\n        public async Task ExecuteAsync_ProducesExpectedSignatureHelp_WhenForceIsRequested() {\r\n            var driver = MirrorSharpTestDriver.New().SetTextWithCursor(@\"\r\n                class C {\r\n                    void M(int a) {}\r\n                    void T() { M(1|) }\r\n                }\r\n            \");\r\n            var result = await driver.SendWithRequiredResultAsync<SignaturesResult>(SignatureHelpState, 'F');\r\n            Assert.Equal(\r\n                new[] { \"void C.M(*int a*)\" },\r\n                result.Signatures.Select(s => s.ToString())\r\n            );\r\n        }\r\n\r\n        [Fact]\r\n        public async Task ExecuteAsync_ProducesExpectedSignatureHelpInfo() {\r\n            var driver = MirrorSharpTestDriver.New(MirrorSharpOptionsWithXmlDocumentation.Instance).SetTextWithCursor(@\"\r\n                class C {\r\n                    void T() { 'a'.Equals(|); }\r\n                }\r\n            \");\r\n            var result = await driver.SendWithRequiredResultAsync<SignaturesResult>(SignatureHelpState, 'F');\r\n            var selected = Assert.Single(result.Signatures, s => s.Selected);\r\n            Assert.NotNull(selected.Info);\r\n            Assert.Equal(\r\n                \"Returns a value that indicates whether this instance is equal to the specified char object.\",\r\n                string.Join(\"\", selected.Info!.Parts)\r\n            );\r\n        }\r\n\r\n        [Fact]\r\n        public async Task ExecuteAsync_ProducesExpectedSignatureHelpParameterInfo() {\r\n            var driver = MirrorSharpTestDriver.New(MirrorSharpOptionsWithXmlDocumentation.Instance).SetTextWithCursor(@\"\r\n                class C {\r\n                    void T() { 'a'.Equals(|); }\r\n                }\r\n            \");\r\n            var result = await driver.SendWithRequiredResultAsync<SignaturesResult>(SignatureHelpState, 'F');\r\n            var parameter = Assert.Single(result.Signatures, s => s.Selected).Info?.Parameter;\r\n            Assert.NotNull(parameter);\r\n            Assert.Equal(\"obj\", parameter!.Name);\r\n            Assert.Equal(\"An object to compare to this instance.\", string.Join(\"\", parameter.Parts));\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Tests/SlowUpdateHandlerTests.cs",
    "content": "using System;\r\nusing System.Collections.Immutable;\r\nusing System.Linq;\r\nusing System.Mocks;\r\nusing System.Threading.Tasks;\r\nusing Microsoft.CodeAnalysis;\r\nusing Xunit;\r\nusing MirrorSharp.Advanced.Mocks;\r\nusing MirrorSharp.Internal;\r\nusing MirrorSharp.Testing;\r\nusing MirrorSharp.Testing.Results;\r\nusing Microsoft.CodeAnalysis.Diagnostics;\r\nusing Microsoft.CodeAnalysis.CSharp;\r\n\r\n// ReSharper disable HeapView.BoxingAllocation\r\n\r\nnamespace MirrorSharp.Tests {\r\n    using static CommandIds;\r\n\r\n    public class SlowUpdateHandlerTests {\r\n        [Fact]\r\n        public async Task SlowUpdate_ProducesDiagnosticWithCustomTagUnnecessary_ForUnusedNamespace() {\r\n            var driver = MirrorSharpTestDriver.New().SetTextWithCursor(@\"using System;|\");\r\n\r\n            var result = await driver.SendWithRequiredResultAsync<SlowUpdateResult<object>>(SlowUpdate);\r\n\r\n            Assert.Contains(\r\n                new { severity = DiagnosticSeverity.Hidden.ToString(\"G\").ToLowerInvariant(), isUnnecessary = true },\r\n                result.Diagnostics.Select(\r\n                    d => new { severity = d.Severity, isUnnecessary = d.Tags.Contains(WellKnownDiagnosticTags.Unnecessary, StringComparer.OrdinalIgnoreCase) }\r\n                ).ToArray()\r\n            );\r\n        }\r\n\r\n        [Fact]\r\n        public async Task SlowUpdate_ProducesAllExpectedActions_ForTypeFromUnreferencedNamespace() {\r\n            var driver = MirrorSharpTestDriver.New().SetTextWithCursor(@\"class C { Action a;| }\");\r\n\r\n            var result = await driver.SendWithRequiredResultAsync<SlowUpdateResult<object>>(SlowUpdate);\r\n\r\n            var diagnostic = result.Diagnostics.Single(d => d.Message?.Contains(\"Action\") ?? false);\r\n            Assert.Equal(\r\n                new[] {\r\n                    \"using System;\",\r\n                    \"Generate class 'Action'\",\r\n                    \"Generate nested class 'Action'\",\r\n                    \"System.Action\"\r\n                },\r\n                diagnostic.Actions.Select(a => a.Title).ToArray()\r\n            );\r\n        }\r\n\r\n\r\n        [Fact]\r\n        public async Task SlowUpdate_Succeeds_ForValidVisualBasicCode() {\r\n            var driver = MirrorSharpTestDriver.New(new MirrorSharpOptions().EnableVisualBasic(), languageName: LanguageNames.VisualBasic).SetText(@\"\r\n                Public Class C\r\n                    Public Sub M()\r\n                    End Sub\r\n                End Class\r\n            \".Replace(\"                \", \"\").Trim());\r\n\r\n            var result = await driver.SendWithRequiredResultAsync<SlowUpdateResult<object>>(SlowUpdate);\r\n\r\n            Assert.Empty(result.Diagnostics);\r\n        }\r\n\r\n        [Fact]\r\n        public async Task SlowUpdate_DisposesExtensionResult_IfDisposable() {\r\n            var disposable = new DisposableMock();\r\n            var slowUpdate = new SlowUpdateExtensionMock();\r\n            slowUpdate.Setup.ProcessAsync().ReturnsAsync(disposable);\r\n            var driver = MirrorSharpTestDriver.New(new MirrorSharpServices {\r\n                SlowUpdate = slowUpdate\r\n            });\r\n            await driver.SendAsync(SlowUpdate);\r\n\r\n            Assert.Single(disposable.Calls.Dispose());\r\n        }\r\n\r\n        [Fact]\r\n        public async Task SlowUpdate_ProducesDiagnostic_FromCustomAnalyzerInstance() {\r\n            var reference = new AnalyzerImageReference(ImmutableArray.Create<DiagnosticAnalyzer>(new TestAnalyzer()));\r\n            var driver = MirrorSharpTestDriver.New(\r\n                new MirrorSharpOptions().SetupCSharp(c => c.AnalyzerReferences = c.AnalyzerReferences.Add(reference))\r\n            ).SetText(\"class C {}\");\r\n\r\n            var result = await driver.SendWithRequiredResultAsync<SlowUpdateResult<object>>(SlowUpdate);\r\n\r\n            Assert.Contains(\r\n                (\"T01\", \"Test\"),\r\n                result.Diagnostics.Select(d => (d.Id, d.Message)).ToArray()\r\n            );\r\n        }\r\n\r\n        [DiagnosticAnalyzer(LanguageNames.CSharp)]\r\n        private class TestAnalyzer : DiagnosticAnalyzer {\r\n            #pragma warning disable RS2008 // Enable analyzer release tracking\r\n            private static readonly DiagnosticDescriptor Descriptor = new (\"T01\", \"Test\", \"Test\", \"Test\", DiagnosticSeverity.Warning, isEnabledByDefault: true);\r\n            #pragma warning restore RS2008\r\n\r\n            public override ImmutableArray<DiagnosticDescriptor> SupportedDiagnostics { get; } = ImmutableArray.Create(Descriptor);\r\n\r\n            public override void Initialize(AnalysisContext context) {\r\n                context.EnableConcurrentExecution();\r\n                context.ConfigureGeneratedCodeAnalysis(GeneratedCodeAnalysisFlags.None);\r\n                context.RegisterSyntaxNodeAction(\r\n                    c => c.ReportDiagnostic(Diagnostic.Create(Descriptor, c.Node.GetLocation())),\r\n                    SyntaxKind.ClassDeclaration\r\n                );\r\n            }\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Tests/Tests.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\r\n\r\n  <PropertyGroup>\r\n    <TargetFrameworks>netcoreapp3.1; net471</TargetFrameworks>\r\n    <AssemblyName>MirrorSharp.Tests</AssemblyName>\r\n    <RootNamespace>MirrorSharp.Tests</RootNamespace>\r\n    <IsPackable>false</IsPackable>\r\n    <DefineConstants>$(DefineConstants); PRE_ROSLYN_36</DefineConstants>\r\n  </PropertyGroup>\r\n\r\n  <ItemGroup>\r\n    <PackageReference Include=\"Microsoft.NET.Test.Sdk\" Version=\"16.2.0\" />\r\n    <PackageReference Include=\"xunit\" Version=\"2.4.1\" />\r\n    <PackageReference Include=\"xunit.runner.visualstudio\" Version=\"2.4.0\" />\r\n    <PackageReference Include=\"coverlet.collector\" Version=\"1.0.1\" />\r\n    <PackageReference Include=\"SourceMock\" Version=\"0.10.0\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <ProjectReference Include=\"..\\Common\\Common.csproj\" />\r\n    <ProjectReference Include=\"..\\FSharp\\FSharp.csproj\" />\r\n    <ProjectReference Include=\"..\\Php\\Php.csproj\" />\r\n    <ProjectReference Include=\"..\\Testing\\Testing.csproj\" />\r\n    <ProjectReference Include=\"..\\VisualBasic\\VisualBasic.csproj\" />\r\n  </ItemGroup>\r\n  \r\n  <Target Name=\"ChangeAliasesOfStrongNameAssemblies\" BeforeTargets=\"FindReferenceAssembliesForReferences;ResolveReferences\">\r\n    <ItemGroup>\r\n      <ReferencePath Condition=\"'%(FileName)' == 'Peachpie.Microsoft.CodeAnalysis'\">\r\n        <Aliases>peachpie</Aliases>\r\n      </ReferencePath>\r\n    </ItemGroup>\r\n  </Target>\r\n\r\n  <Target Name=\"CopySdkReferenceAssemblies\" AfterTargets=\"ResolveReferences\" Condition=\"'$(TargetFramework)' == 'netcoreapp3.1'\">\r\n    <ItemGroup>\r\n      <Content Include=\"@(Reference->'%(RootDir)%(Directory)%(Filename)%(Extension)')\" Link=\"@(Reference->'ref-assemblies\\%(Filename)%(Extension)')\" Condition=\"$([System.String]::new('%(Filename)').StartsWith('System')) or '%(Filename)' == 'netstandard'\">\r\n        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\r\n      </Content>\r\n      <Content Include=\"@(Reference->'%(RootDir)%(Directory)%(Filename).xml')\" Link=\"@(Reference->'ref-assemblies\\%(Filename).xml')\" Condition=\"($([System.String]::new('%(Filename)').StartsWith('System')) or '%(Filename)' == 'netstandard')&#xD;&#xA;                          and Exists('%(RootDir)%(Directory)%(Filename).xml')\">\r\n        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\r\n      </Content>\r\n    </ItemGroup>\r\n  </Target>\r\n</Project>\r\n"
  },
  {
    "path": "Tests/TypeCharHandlerTests.cs",
    "content": "using System;\r\nusing System.Linq;\r\nusing System.Threading.Tasks;\r\nusing MirrorSharp.Internal;\r\nusing MirrorSharp.Testing;\r\nusing MirrorSharp.Testing.Internal.Results;\r\nusing MirrorSharp.Tests.Internal;\r\nusing Xunit;\r\n\r\n// ReSharper disable HeapView.BoxingAllocation\r\n\r\nnamespace MirrorSharp.Tests {\r\n    using static CommandIds;\r\n\r\n    public class TypeCharHandlerTests {\r\n        [Theory]\r\n        [InlineData('\\u0216')]\r\n        [InlineData('月')]\r\n        [InlineData('❀')]\r\n        public async Task ExecuteAsync_HandlesUnicodeChar(char @char) {\r\n            var driver = MirrorSharpTestDriver.New();\r\n            await driver.SendAsync(TypeChar, @char);\r\n            Assert.Equal(@char.ToString(), driver.Session.GetText());\r\n        }\r\n\r\n        [Fact]\r\n        public async Task ExecuteAsync_InsertsSingleChar() {\r\n            var driver = MirrorSharpTestDriver.New().SetTextWithCursor(\"class A| {}\");\r\n            await driver.SendAsync(TypeChar, '1');\r\n\r\n            Assert.Equal(\"class A1 {}\", driver.Session.GetText());\r\n        }\r\n\r\n        [Fact]\r\n        public async Task ExecuteAsync_MovesCursorBySingleChar() {\r\n            var driver = MirrorSharpTestDriver.New().SetTextWithCursor(\"class A| {}\");\r\n            var cursorPosition = driver.Session.CursorPosition;\r\n            await driver.SendAsync(TypeChar, '1');\r\n\r\n            Assert.Equal(cursorPosition + 1, driver.Session.CursorPosition);\r\n        }\r\n\r\n        [Fact]\r\n        public async Task ExecuteAsync_ProducesExpectedCompletion() {\r\n            var driver = MirrorSharpTestDriver.New().SetTextWithCursor(@\"\r\n                class A { public int x; }\r\n                class B { void M(A a) { a| } }\r\n            \");\r\n            var result = await driver.SendWithRequiredResultAsync<CompletionsResult>(TypeChar, '.');\r\n\r\n            Assert.Equal(\r\n                new[] { \"x\" }.Concat(ObjectMembers.AllNames).OrderBy(n => n),\r\n                result.Completions.Select(i => i.DisplayText).OrderBy(n => n)\r\n            );\r\n        }\r\n\r\n        [Fact]\r\n        public async Task ExecuteAsync_ProducesExpectedCompletionWithSuggestionItem_InLambdaContext() {\r\n            var driver = MirrorSharpTestDriver.New().SetTextWithCursor(@\"class C { void M() { System.Action a = | } }\");\r\n            var result = await driver.SendWithRequiredResultAsync<CompletionsResult>(TypeChar, 's');\r\n\r\n            Assert.Equal(\"<lambda expression>\", result.Suggestion?.DisplayText);\r\n        }\r\n\r\n        [Fact]\r\n        public async Task ExecuteAsync_ProducesExpectedCompletionWithMatchPriority_InEnumContext() {\r\n            var driver = MirrorSharpTestDriver.New().SetTextWithCursor(@\"\r\n                using System;\r\n                class C { void M() { new DateTime().DayOfWeek =| } }\r\n            \");\r\n            var result = await driver.SendWithRequiredResultAsync<CompletionsResult>(TypeChar, ' ');\r\n            var dayOfWeek = result.Completions.FirstOrDefault(c => c.DisplayText == nameof(DayOfWeek));\r\n            var maxPriority = result.Completions.Select(c => c.Priority ?? 0).Max();\r\n\r\n            Assert.NotNull(dayOfWeek?.Priority);\r\n            Assert.NotEqual(0, dayOfWeek!.Priority);\r\n            Assert.Equal(maxPriority, dayOfWeek.Priority);\r\n        }\r\n\r\n        [Fact]\r\n        public async Task ExecuteAsync_DoesNotProduceCompletion_IfCompletionListIsEmpty() {\r\n            var driver = MirrorSharpTestDriver.New().SetTextWithCursor(@\"class C { void M() { Console| } }\");\r\n            var result = await driver.SendWithOptionalResultAsync<CompletionsResult>(TypeChar, '.');\r\n\r\n            Assert.Null(result);\r\n        }\r\n\r\n        [Theory]\r\n        [InlineData(\"void M(int a) {}\", new[] { \"void C.M(int a)\" })]\r\n        [InlineData(\"void M(int a, string b) {}\", new[] { \"void C.M(int a, string b)\" })]\r\n        [InlineData(\"void M(int a) {} void M(string b) {}\", new[] { \"void C.M(int a)\", \"void C.M(string b)\" })]\r\n        public async Task ExecuteAsync_ProducesExpectedSignatureHelp(string methods, string[] expected) {\r\n            var driver = MirrorSharpTestDriver.New().SetTextWithCursor(@\"\r\n                class C {\r\n                    \" + methods + @\"\r\n                    void T() { M| }\r\n                }\r\n            \");\r\n            var result = await driver.SendWithRequiredResultAsync<SignaturesResult>(TypeChar, '(');\r\n            Assert.Equal(expected, result.Signatures.Select(s => s.ToString(markSelected: false)));\r\n        }\r\n\r\n        [Theory]\r\n        [InlineData(\"void M(int a, int b, int c) {}\", \"void C.M(int a, *int b*, int c)\")]\r\n        public async Task ExecuteAsync_ProducesSignatureHelpWithSelectedParameter(string methods, string expected) {\r\n            var driver = MirrorSharpTestDriver.New().SetTextWithCursor(@\"\r\n                class C {\r\n                    \" + methods + @\"\r\n                    void T() { M(1| }\r\n                }\r\n            \");\r\n            var result = await driver.SendWithRequiredResultAsync<SignaturesResult>(TypeChar, ',');\r\n            var signature = result.Signatures.Single();\r\n            Assert.Equal(expected, signature.ToString());\r\n        }\r\n\r\n        [Theory]\r\n        [InlineData(\"void M(int a) {} void M(int a, int b) {}\", \"void C.M(int a, int b)\")]\r\n        public async Task ExecuteAsync_ProducesSignatureHelpWithSelectedSignature(string methods, string expectedSelected) {\r\n            var driver = MirrorSharpTestDriver.New().SetTextWithCursor(@\"\r\n                class C {\r\n                    \" + methods + @\"\r\n                    void T() { M(1| }\r\n                }\r\n            \");\r\n            var result = await driver.SendWithRequiredResultAsync<SignaturesResult>(TypeChar, ',');\r\n            var selected = result.Signatures.Single(s => s.Selected);\r\n            Assert.Equal(expectedSelected, string.Join(\"\", selected.Parts.Select(p => p.Text)));\r\n        }\r\n\r\n        [Fact]\r\n        public async Task ExecuteAsync_ProducesEmptySignatureHelp_OnClosingParenthesis() {\r\n            var driver = MirrorSharpTestDriver.New().SetTextWithCursor(@\"\r\n                class C {\r\n                    void M() {}\r\n                    void T() { M| }\r\n                }\r\n            \");\r\n            await driver.SendAsync(TypeChar, '(');\r\n            var result = await driver.SendWithRequiredResultAsync<SignaturesResult>(TypeChar, ')');\r\n            Assert.Equal(0, result.Signatures.Count);\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Tests/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETCoreApp,Version=v3.1\": {\r\n      \"coverlet.collector\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[1.0.1, )\",\r\n        \"resolved\": \"1.0.1\",\r\n        \"contentHash\": \"RAuno8s7DBGo2IdV/1d8YSnXMd/728K3PBT5R6/kfGx1yunBZmavlaFQfhGe7Q7N2nUMkvVET+7ITn3+KSg+Uw==\"\r\n      },\r\n      \"Microsoft.NET.Test.Sdk\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[16.2.0, )\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"56w1drIQqpMgg3IxHcfra/jXOngiD4pbl0j6TNeJMlOQGlZ8wCMlyRTvn6Crd/FgGjwKbWLurdOHNGrfzLtl6A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeCoverage\": \"16.2.0\",\r\n          \"Microsoft.TestPlatform.TestHost\": \"16.2.0\"\r\n        }\r\n      },\r\n      \"SourceMock\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.10.0, )\",\r\n        \"resolved\": \"0.10.0\",\r\n        \"contentHash\": \"Dd/YMTTRZSDR34HgVEgfMoZfOTId3Ns0vehFcdLVwMuKLgMcg7/4Oj80qX112np9siR2C4vL3qfT1I9ahzxu9Q==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"xunit\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.4.1, )\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"XNR3Yz9QTtec16O0aKcO6+baVNpXmOnPUxDkCY97J+8krUYxPvXT1szYYEUdKk4sB8GOI2YbAjRIOm8ZnXRfzQ==\",\r\n        \"dependencies\": {\r\n          \"xunit.analyzers\": \"0.10.0\",\r\n          \"xunit.assert\": \"[2.4.1]\",\r\n          \"xunit.core\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"xunit.runner.visualstudio\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.4.0, )\",\r\n        \"resolved\": \"2.4.0\",\r\n        \"contentHash\": \"3eq5cGXbEJkqW9nwLuXwtxy9B5gMA8i7HW4rN63AhAvy5UvEcQbZnve23wx/oPrkyg/4CbfNhxkBezS0b1oUdQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NET.Test.Sdk\": \"15.0.0\"\r\n        }\r\n      },\r\n      \"Devsense.PHP.Parser\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.4.51\",\r\n        \"contentHash\": \"QBFG8qrGJqvvH4sHGt1ym7Mg9w7RYJOkr0KvJoXg71lAu7ON8klLwefKP5MampoPTDm1TYf8CxWn1kFZRWpBnA==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"FSharp.Compiler.Service\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"43.8.300\",\r\n        \"contentHash\": \"CoPjQYXXwmYkkHm+yxBHSW9IJVLpvwkKGEzXa5A6ebf8v6GfYaxZc5G+VHojDr586oezp1elFemu+A1WWH095A==\",\r\n        \"dependencies\": {\r\n          \"FSharp.Core\": \"[8.0.300]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"7.0.2\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Reflection.Emit\": \"4.7.0\",\r\n          \"System.Reflection.Metadata\": \"7.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"FSharp.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.300\",\r\n        \"contentHash\": \"Jv44fV7TNglyMku89lQcA4Q6mFKLyHb2bs1Yb72nvSVc+cHplEnoZ4XQUaaTLJGUTx/iMqcrkYGtaLzkkIhpaA==\"\r\n      },\r\n      \"HtmlAgilityPack\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.7\",\r\n        \"contentHash\": \"mpkJPBYXdqFVy5pjTKFzE2W4rZIHv+pOaShCp44Rn/+jNw/ApS3RxDNDYO59QFUNSUMD4GP0jBTIwvPDjC3W7Q==\",\r\n        \"dependencies\": {\r\n          \"System.Net.Http\": \"4.3.2\",\r\n          \"System.Xml.XPath\": \"4.3.0\",\r\n          \"System.Xml.XPath.XmlDocument\": \"4.3.0\",\r\n          \"System.Xml.XmlDocument\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Build.Framework\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"jleteC0seumLGTmTVwob97lcwPj/dfgzL/V3g/VVcMZgo2Ic7jzdy8AYpByPDh8e3uRq0SjCl6HOFCjhy5GzRQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Build.Utilities.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"pU3GnHcXp8VRMGKxdJCq+tixfhFn+QwEbpqmZmc/nqFHFyuhlGwjonWZMIWcwuCv/8EHgxoOttFvna1vrN+RrA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Build.Framework\": \"17.12.6\",\r\n          \"Microsoft.NET.StringTools\": \"17.12.6\",\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Configuration.ConfigurationManager\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.4\",\r\n        \"contentHash\": \"alIJhS0VUg/7x5AsHEoovh/wRZ0RfCSS7k5pDSqpRLTyuMTtRgj6OJJPRApRhJHOGYYsLakf1hKeXFoDwKwNkg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"N5yQdGy+M4kimVG7hwCeGTCfgYjK2o5b/Shumkb/rCC+/SAkvP1HUAYK+vxPFS7dLJNtXLRsmPHKj3fnyNWnrw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"2.9.4\",\r\n          \"System.Collections.Immutable\": \"1.5.0\",\r\n          \"System.Memory\": \"4.5.3\",\r\n          \"System.Reflection.Metadata\": \"1.6.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\",\r\n          \"System.Text.Encoding.CodePages\": \"4.5.1\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"WDUIhTHem38H6VJ98x2Ssq0fweakJHnHYl7vbG8ARnsAwLoJKCQCy78EeY1oRrCKG42j0v6JVljKkeqSDA28UA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"t9uIwsLzT5zQ1Q3ZIpwE4EOnAf/lGdbQwyeqhyO/BJ+AWDt267Hxlz5k6ypPy14Z6+PW6pTggAGz6MwN31RElQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"dHs/UyfLgzsVC4FjTi/x+H+yQifgOnpe3rSN8GwkHWjnidePZ3kSqr1JHmFDf5HTQEydYwrwCAfQ0JSzhsEqDA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"lvMC69ABN/YEaw3ke4cQRqBYZ2V7DJTOT8QXIeAJGJUfwVHTBN0iq2O5zZQrYnnUN2wmeCzCoAg59PKBosVO7g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": \"2.9.5\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\",\r\n          \"Microsoft.DiaSymReader\": \"1.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.5\",\r\n        \"contentHash\": \"SqwdTocsxU7u0Y8am67BY7KSLAhrtDXdBBwt0Nv9TxLVzPBPtPPFS2bHUsxucpOBMBmc10rWE1eJ+IDrr/0/nQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"F7fc/G+0ocOYkKSCJ7Y8Q7eAEkAdG5RYODI9FtSl2Hm8zIDBVA3NccCm98gaOvCamLfMHYqeOjpb3yJnnw3m/w==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"TGhM/EF5JWIt83ghkOrch+hhv7cwcvxzmIfhgF8oddd6hZAEkYaeup5BTxaJtHf8Me6TDQqoIWEEGsz5PdkBdA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"Oi4AUxMKAYpx7nHNh7jUO8X18JFCzwtIfu/yDzGzOBpo50591AF7EEdv99geAEidGtmJqbzQ6uRk5dEOL+7F/Q==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"NfBz3b5hFSbO+7xsCNryD+p8axsIJFTG7qM3jvMTC/MqYrU6b8E1b6JoRj5rJSOBB+pSunk+CMqyGQTOWHeDUg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"System.Composition\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeCoverage\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"fKiUOhhMP3IN1qM2tDHPWzW4JRbriFkIPiIzKUwMWT+Q+80bycxkLLCvxmVFoeA7gvWegNbTUjaX7mL3MM9XKg==\"\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.3.0\",\r\n        \"contentHash\": \"/fn1Tfo7j7k/slViPlM8azJuxQmri7FZ8dQ+gTeLbI29leN/1VK0U/BFcRdJNctsRCUgyKJ2q+I0Tjq07Rc1/Q==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader.Native\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.3.3\",\r\n        \"contentHash\": \"mjATkm+L2UlP35gO/ExNutLDfgX4iiwz1l/8sYVoeGHp5WnkEDu0NfIEsC4Oy/pCYeRw0/6SGB+kArJVNNvENQ==\"\r\n      },\r\n      \"Microsoft.DotNet.PlatformAbstractions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.4\",\r\n        \"contentHash\": \"2HjSGp63VCLQaeGadrLYR868g25mJHr+TFF81yWCaClzjUbU2vNDx6km7SUgPnoLVksE/1e7in88eh+oPtc4aQ==\",\r\n        \"dependencies\": {\r\n          \"System.AppContext\": \"4.1.0\",\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.IO.FileSystem\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Runtime.InteropServices\": \"4.1.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Extensions.DependencyInjection\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.0\",\r\n        \"contentHash\": \"wakg18gHYiUL1pcjjyZuYk6OvDpbSw1E7IWxm78TMepsr+gQ8W0tWzuRm0q/9RFblngwPwo15rrgZSUV51W5Iw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Extensions.DependencyInjection.Abstractions\": \"2.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Extensions.DependencyInjection.Abstractions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.0\",\r\n        \"contentHash\": \"eUdJ0Q/GfVyUJc0Jal5L1QZLceL78pvEM9wEKcHeI24KorqMDoVX+gWsMGLulQMfOwsUaPtkpQM2pFERTzSfSg==\"\r\n      },\r\n      \"Microsoft.Extensions.DependencyModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.4\",\r\n        \"contentHash\": \"jnHAeijsfJFQXdXmnYK/NhQIkgBUeth//RZZkf0ldIKC+jARbf7YxbA9uTrs/EPhuQxHXaDxVuMyscgmL+UqfA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.DotNet.PlatformAbstractions\": \"2.0.4\",\r\n          \"Newtonsoft.Json\": \"9.0.1\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Dynamic.Runtime\": \"4.0.11\",\r\n          \"System.Linq\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"Microsoft.IO.RecyclableMemoryStream\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.2.0\",\r\n        \"contentHash\": \"uyjY/cqomw1irT4L7lDeg4sJ36MsjHg3wKqpGrBAdzvZaxo85yMF+sAA9RIzTV92fDxuUzjqksMqA0+SNMkMgA==\"\r\n      },\r\n      \"Microsoft.NET.StringTools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"w8Ehofqte5bJoR+Fa3f6JwkwFEkGtXxqvQHGOVOSHDzgNVySvL5FSNhavbQSZ864el9c3rjdLPLAtBW8dq6fmg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==\"\r\n      },\r\n      \"Microsoft.NETCore.Targets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.3\",\r\n        \"contentHash\": \"3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==\"\r\n      },\r\n      \"Microsoft.TestPlatform.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"RAyBf87uZ5XjRE953LlxqILpD1SqwQM6bXwxPUCAPPEy0uv12R+eKnFL7yaeLVHInMKkNNh1iD/cDOVDfSgllA==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.0\",\r\n          \"System.ComponentModel.EventBasedAsync\": \"4.0.11\",\r\n          \"System.ComponentModel.TypeConverter\": \"4.1.0\",\r\n          \"System.Diagnostics.Process\": \"4.1.0\",\r\n          \"System.Diagnostics.TextWriterTraceListener\": \"4.0.0\",\r\n          \"System.Diagnostics.TraceSource\": \"4.0.0\",\r\n          \"System.Reflection.Metadata\": \"1.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.0.0\",\r\n          \"System.Runtime.Loader\": \"4.0.0\",\r\n          \"System.Runtime.Serialization.Json\": \"4.0.2\",\r\n          \"System.Runtime.Serialization.Primitives\": \"4.1.1\",\r\n          \"System.Threading.Thread\": \"4.0.0\",\r\n          \"System.Xml.XPath.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"Microsoft.TestPlatform.TestHost\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"PogSQ40KgkZjEBdC6KBGpMtuvFFCIdoJAMmK7CAHWyTXCfN1cPN8j0TFJKh+LneSg+y0QQDP23STMF609KhHQw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.TestPlatform.ObjectModel\": \"16.2.0\",\r\n          \"Newtonsoft.Json\": \"9.0.1\"\r\n        }\r\n      },\r\n      \"Microsoft.Win32.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Win32.Registry\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"5.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"MySqlConnector\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.42.1\",\r\n        \"contentHash\": \"7jS8P+XOw+vS/reuwEEGhtAKvagiOEtOsu5/46Bnuiw+DgOjAFgMSojkiVaZi9DHcatP8jgmjY67iDGVZByQng==\"\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.1\",\r\n        \"contentHash\": \"WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.Win32.Primitives\": \"4.3.0\",\r\n          \"System.AppContext\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Console\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.Compression.ZipFile\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Net.Http\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Net.Sockets\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Timer\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\",\r\n          \"System.Xml.XDocument\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Newtonsoft.Json\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"13.0.3\",\r\n        \"contentHash\": \"HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==\"\r\n      },\r\n      \"Peachpie.App\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"LZcCc6XsKW7MBRKne6KGgwDKPyr/gJb53BJhRVfRlXWFjRecuBqLwjXLWpPvXR57o/MwvZ+iv//iC2NYucIpwQ==\",\r\n        \"dependencies\": {\r\n          \"Peachpie.Library\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Library.MsSql\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Library.MySql\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Library.Network\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Library.PDO\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Library.Scripting\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Library.XmlDom\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Runtime\": \"0.9.0-CI01101\"\r\n        }\r\n      },\r\n      \"Peachpie.CodeAnalysis\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"SULo4KfDz/nW3I1x1FV/oy04myBa7BkZGyV/e4OzPLsX8vb0pL8Q0nLHsoOJx0CWxBehlXU98APdVB+U0BNfDg==\",\r\n        \"dependencies\": {\r\n          \"Devsense.Php.Parser\": \"1.4.51\",\r\n          \"Peachpie.Microsoft.CodeAnalysis\": \"0.6.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Immutable\": \"1.4.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Reflection.Metadata\": \"1.5.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Peachpie.Library\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"gbYwLhop0tmTn4V+QSlbTct6vu7SDFqUmoLE5wtoyKmTR9B9GNV8kSuhkugYQ6lGt/331KS/9rfm7DAdkOxFUw==\",\r\n        \"dependencies\": {\r\n          \"Peachpie.Runtime\": \"0.9.0-CI01101\"\r\n        }\r\n      },\r\n      \"Peachpie.Library.MsSql\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"y7ROu/fhHwGF6nyg6HH4ilJyPPhds8vq3mCqs5yhDf7KpqwAJ9s8dU0rRxz9XAoT1ZPu7+Te4uCETLzCGVtGuA==\",\r\n        \"dependencies\": {\r\n          \"Peachpie.Library\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Runtime\": \"0.9.0-CI01101\",\r\n          \"System.Data.SqlClient\": \"4.4.3\"\r\n        }\r\n      },\r\n      \"Peachpie.Library.MySql\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"WeN1dTTTRR3XrMXAS48fkLCNHX5dP7iv9uFw3tjXvJBZkaQQrpiFjZ3WS+wxbgxyiqZ/skNhzpGQB828FY4coQ==\",\r\n        \"dependencies\": {\r\n          \"MySqlConnector\": \"0.42.1\",\r\n          \"Peachpie.Library\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Runtime\": \"0.9.0-CI01101\"\r\n        }\r\n      },\r\n      \"Peachpie.Library.Network\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"Bx8GO4SahFi1gk/zvkOzYbifygQiEdXECdCnbz7OzmCbN6VB7m1eCJozYXEEAO4nIBhptICaL5RgFRi+uTKPJA==\",\r\n        \"dependencies\": {\r\n          \"Peachpie.Library\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Runtime\": \"0.9.0-CI01101\"\r\n        }\r\n      },\r\n      \"Peachpie.Library.PDO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"AtQ6pVUgYCdSIQE1Txk4HD1Vv8pe0Q3thD7dc/m96lWYqUimHVb+PovOZxbC0DM2XdpthemArUAZL8l3NDHCGg==\",\r\n        \"dependencies\": {\r\n          \"Peachpie.Library\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Runtime\": \"0.9.0-CI01101\"\r\n        }\r\n      },\r\n      \"Peachpie.Library.Scripting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"lm2LUVlCUrtg9+M1pFWpBdn+0GOE5SieHlA+dI910gnk3DpDhWO+Ic1hHJG0j1EkjntuuPmrZruOKobjj40slA==\",\r\n        \"dependencies\": {\r\n          \"Devsense.Php.Parser\": \"1.4.51\",\r\n          \"Peachpie.CodeAnalysis\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Library\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Library.XmlDom\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Microsoft.CodeAnalysis\": \"0.6.0\",\r\n          \"Peachpie.Runtime\": \"0.9.0-CI01101\",\r\n          \"System.Runtime.Loader\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Peachpie.Library.XmlDom\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"JcABdbNABlVgF+/fPujLZwcUZguOaJknP/Jr2gP1BamVSgFHVnCV3uTP8Wmu21EoQGk6mrGD+qDNoKwNUXpKrw==\",\r\n        \"dependencies\": {\r\n          \"HtmlAgilityPack\": \"1.6.7\",\r\n          \"Peachpie.Library\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Runtime\": \"0.9.0-CI01101\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\",\r\n          \"System.Xml.XPath\": \"4.3.0\",\r\n          \"System.Xml.XPath.XmlDocument\": \"4.3.0\",\r\n          \"System.Xml.XmlDocument\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Peachpie.Microsoft.CodeAnalysis\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.6.0\",\r\n        \"contentHash\": \"pw0Nm3V2bvhG9EN/eAI6dUGYrDjwApgQbEgjPiuLJK9iN4QyXYwn589kxhvimVWGSJHOakkDemfQFunyxOqSow==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.DiaSymReader.Native\": \"1.3.3\",\r\n          \"System.Collections.Immutable\": \"1.3.1\",\r\n          \"System.Reflection.Metadata\": \"1.4.2\",\r\n          \"System.Runtime.Serialization.Json\": \"4.0.3\"\r\n        }\r\n      },\r\n      \"Peachpie.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"EUN0raglMAuLUxEWsRZpvxQowfZbEZ96DyeK1ZhwD/KVQpnzzO8lZrd5/yc3i5FAOupJpVm4/040xdEyqC4LzQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Extensions.DependencyInjection\": \"2.0.0\",\r\n          \"Microsoft.Extensions.DependencyModel\": \"2.0.4\",\r\n          \"System.Composition\": \"1.1.0\",\r\n          \"System.Memory\": \"4.5.0\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==\"\r\n      },\r\n      \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==\"\r\n      },\r\n      \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==\"\r\n      },\r\n      \"runtime.native.System\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==\",\r\n        \"dependencies\": {\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==\",\r\n        \"dependencies\": {\r\n          \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==\"\r\n      },\r\n      \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==\"\r\n      },\r\n      \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==\"\r\n      },\r\n      \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==\"\r\n      },\r\n      \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==\"\r\n      },\r\n      \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==\"\r\n      },\r\n      \"System.AppContext\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Concurrent\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Collections.NonGeneric\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"hMxFT2RhhlffyCdKLDXjx8WEC5JfCvNozAZxCablAuFRH74SCV4AgzE8yJCh/73bFnEoZgJ9MJmkjQ0dJmnKqA==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Collections.Specialized\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"/HKQyVP0yH1I0YtK7KJL/28snxHNH/bi+0lgk/+MbURF6ULhAE31MDI+NZDerNWu264YbxklXCCygISgm+HMug==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.NonGeneric\": \"4.0.1\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Globalization.Extensions\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.ComponentModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"oBZFnm7seFiVfugsIyOvQCWobNZs7FzqDV/B7tx20Ep/l3UUFCPDkdTnCNaJZTU27zjeODmy2C/cP60u3D4c9w==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.EventBasedAsync\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.11\",\r\n        \"contentHash\": \"Z7SO6vvQIR84daPE4uhaNdef9CjgjDMGYkas8epUhf0U3WGuaGgZ0Mm4QuNycMdbHUY8KEdZrtgxonkAiJaAlA==\",\r\n        \"dependencies\": {\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"sc/7eVCdxPrp3ljpgTKVaQGUXiW05phNWvtv/m2kocXqrUQvTVWKou1Edas2aDjTThLPZOxPYIGNb/HN0QjURg==\",\r\n        \"dependencies\": {\r\n          \"System.ComponentModel\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.TypeConverter\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"MnDAlaeJZy9pdB5ZdOlwdxfpI+LJQ6e0hmH7d2+y2LkiD8DRJynyDYl4Xxf3fWFm7SbEwBZh4elcfzONQLOoQw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Collections.NonGeneric\": \"4.0.1\",\r\n          \"System.Collections.Specialized\": \"4.0.1\",\r\n          \"System.ComponentModel\": \"4.0.1\",\r\n          \"System.ComponentModel.Primitives\": \"4.1.0\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"rLsB/X6sp4cLPPlyPVuTBQbtG2IdSdKc6tFImxopz9s5po4Og5sQ8rA7GPxpTsrQ5UXS1IxdaqFwxtse4eLolw==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.1.0\",\r\n          \"System.Composition.Convention\": \"1.1.0\",\r\n          \"System.Composition.Hosting\": \"1.1.0\",\r\n          \"System.Composition.Runtime\": \"1.1.0\",\r\n          \"System.Composition.TypedParts\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"S7Ybny/58VGS+5uanotm7f2k7Iv3ufdv0eDA8adZ345pE27zr+9bxhHw/rXXMVltRdoUuyB1O4YpYT1lVwkM0w==\"\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"lqiuITNCKJ/JlXzmum0mr+1HDCJ6mN/+1C4ouXpvLKpUA+zal7EsRvfHxy+kVVPrPMaFU9dLQkBxV/GFVnJoXA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"D5M3oBOxCeHe4WVNtqKnFA3UMt53uIdUMGgustecwh7kmzE7k+Co+CFPLpQVPdyBhmB8WxicaESa41QLZ0ZlgA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.Runtime\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"dLbtnVmOiD4k1/YA4LfV2nEZX4jdgizvSzvVIffOp3AXU468n5IsDbwwbCHSUmnfqoJ5unYR+hEmN1U3gBmDRg==\"\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"SlACsoBPQpeL8dAjQXttv9d5Y/790UmxnlP2yk1w94T2vMcHOa7i9XGUKCB81BGMWstR2FF9ZEftm8rIdhMEvg==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.1.0\",\r\n          \"System.Composition.Hosting\": \"1.1.0\",\r\n          \"System.Composition.Runtime\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Configuration.ConfigurationManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Console\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Data.SqlClient\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.9.0\",\r\n        \"contentHash\": \"j4KJO+vC62NyUtNHz854njEqXbT8OmAa5jb1nrGfYWBOcggyYUQE0w/snXeaCjdvkSKWuUD+hfvlbN8pTrJTXg==\"\r\n      },\r\n      \"System.Diagnostics.Debug\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.DiagnosticSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.2\",\r\n        \"contentHash\": \"hYr3I9N9811e0Bjf2WNwAGGyTuAFbbTgX1RPLt/3Wbm68x3IGcX5Cl75CMmgT6WlNwLQ2tCCWfqYPpypjaf2xA==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Process\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"mpVZ5bnlSs3tTeJ6jYyDJEIa6tavhAd88lxq1zbYhkkCu0Pno2+gHXcvZcoygq2d8JxW3gojXqNJMTAshduqZA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.0.1\",\r\n          \"Microsoft.Win32.Primitives\": \"4.0.1\",\r\n          \"Microsoft.Win32.Registry\": \"4.0.0\",\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.IO.FileSystem\": \"4.0.1\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Runtime.Handles\": \"4.0.1\",\r\n          \"System.Runtime.InteropServices\": \"4.1.0\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Text.Encoding.Extensions\": \"4.0.11\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\",\r\n          \"System.Threading.Thread\": \"4.0.0\",\r\n          \"System.Threading.ThreadPool\": \"4.0.10\",\r\n          \"runtime.native.System\": \"4.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.TextWriterTraceListener\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"w36Dr8yKy8xP150qPANe7Td+/zOI3G62ImRcHDIEW+oUXUuTKZHd4DHmqRx5+x8RXd85v3tXd1uhNTfsr+yxjA==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.TraceSource\": \"4.0.0\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.TraceSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"6WVCczFZKXwpWpzd/iJkYnsmWTSFFiU24Xx/YdHXBcu+nFI/ehTgeqdJQFbtRPzbrO3KtRNjvkhtj4t5/WwWsA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.0.1\",\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"runtime.native.System\": \"4.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tracing\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Dynamic.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.11\",\r\n        \"contentHash\": \"db34f6LHYM0U0JpE+sOmjar27BnqTVkbLJhgfwMpTdgTigG/Hna3m2MYVwnFzGGKnEJk2UXFuoVTr8WUbU91/A==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Linq.Expressions\": \"4.1.0\",\r\n          \"System.ObjectModel\": \"4.0.12\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Emit\": \"4.0.1\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Globalization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Calendars\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.IO.Compression\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression.ZipFile\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq.Expressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\"\r\n      },\r\n      \"System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.4\",\r\n        \"contentHash\": \"aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Extensions\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"System.Net.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Net.Sockets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Private.DataContractSerialization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.2\",\r\n        \"contentHash\": \"e700XsW/HO7qlnatKyVXEFHJMNXDkPOkn4pmpddXcJk6KEsnYIpJUHDFycHKB3mRVsgRtUYiDRbRKhecwo2ezg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Collections.Concurrent\": \"4.0.12\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.0.1\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.0.1\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Runtime.Serialization.Primitives\": \"4.1.1\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Text.Encoding.Extensions\": \"4.0.11\",\r\n          \"System.Text.RegularExpressions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\",\r\n          \"System.Xml.XmlSerializer\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Reflection\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"VR4kk8XLKebQ4MZuKuIni/7oh+QGFmZW3qORd1GvBq/8026OpW501SzT/oypwiQl4TvT8ErnReh/NzY9u+C6wQ==\"\r\n      },\r\n      \"System.Reflection.Emit.ILGeneration\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.Lightweight\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"MclTG61lsD9sYdpNz9xsKBzjsmsfCtcMZYXz/IUr2zlhaTaABonlr1ESeompTgM+Xk+IwtGYU7/voh3YWB/fWw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Memory\": \"4.5.5\"\r\n        }\r\n      },\r\n      \"System.Reflection.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.TypeExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Resources.ResourceManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.3\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==\"\r\n      },\r\n      \"System.Runtime.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Handles\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices.RuntimeInformation\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Loader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DHMaRn8D8YCK2GG2pw+UzNxn/OHVfaWx7OTLBD/hPegHZZgcZh3H6seWegrC4BYwsfuGrywIuT+MQs+rPqRLTQ==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Numerics\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==\",\r\n        \"dependencies\": {\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Serialization.Json\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.3\",\r\n        \"contentHash\": \"siAQb9mZmY7dsBtdbC0OE7W1/y4DGgrIRHTghtN40v79wAvHluBm1wzlrCauCWMyp6WVxkcTzoesjZnx5+fM9g==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Private.DataContractSerialization\": \"4.1.2\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Serialization.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.1\",\r\n        \"contentHash\": \"HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==\",\r\n        \"dependencies\": {\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Security.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"5.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Algorithms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Cng\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Csp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.ProtectedData\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.X509Certificates\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Cng\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Csp\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Principal.Windows\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==\"\r\n      },\r\n      \"System.Text.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"LSyCblMpvOe0N3E+8e0skHcrIhgV2huaNcjUUEa8hRtgEAm36aGkRoC8Jxlb6Ra6GSfF29ftduPNywin8XolzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.RegularExpressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"N0kNRrWe4+nXOWlpLT4LAY5brb8caNFlUuIRpraCVMDLYutKkol1aV079rQjLuSxKMJT2SpBQsYX9xbcTMmzwg==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.1\"\r\n        }\r\n      },\r\n      \"System.Threading\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.3\",\r\n        \"contentHash\": \"+MvhNtcvIbqmhANyKu91jQnvIRVSTiaOiFNfKWwXGHG48YAb4I/TyH8spsySiPYla7gKal5ZnF3teJqZAximyQ==\"\r\n      },\r\n      \"System.Threading.Thread\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Threading.ThreadPool\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.10\",\r\n        \"contentHash\": \"IMXgB5Vf/5Qw1kpoVgJMOvUO1l32aC+qC3OaIZjWJOjvcxuxNWOK2ZTWWYXfij22NHxT2j1yWX5vlAeQWld9vA==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Handles\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"System.Threading.Timer\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.ReaderWriter\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XmlDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"lJ8AxvkX7GQxpC6GFCeBj8ThYVyQczx2+f/cWHJU8tjS7YfI6Cv6bon70jVEgs2CiFbmmM8b9j1oZVx0dSI2Ww==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XmlSerializer\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.11\",\r\n        \"contentHash\": \"FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Emit\": \"4.0.1\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.0.1\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Text.RegularExpressions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"System.Xml.XPath\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"v1JQ5SETnQusqmS3RwStF7vwQ3L02imIzl++sewmt23VGygix04pEH+FCj1yWb+z4GDzKiljr1W7Wfvrx0YwgA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XPath.XmlDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"A/uxsWi/Ifzkmd4ArTLISMbfFs6XpRPsXZonrIqyTY70xi8t+mDtvSM5Os0RqyRDobjMBwIDHDL4NOIbkDwf7A==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\",\r\n          \"System.Xml.XPath\": \"4.3.0\",\r\n          \"System.Xml.XmlDocument\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"xunit.abstractions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==\"\r\n      },\r\n      \"xunit.analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.10.0\",\r\n        \"contentHash\": \"4/IDFCJfIeg6bix9apmUtIMwvOsiwqdEexeO/R2D4GReIGPLIRODTpId/l4LRSrAJk9lEO3Zx1H0Zx6uohJDNg==\"\r\n      },\r\n      \"xunit.assert\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"O/Oe0BS5RmSsM+LQOb041TzuPo5MdH2Rov+qXGS37X+KFG1Hxz7kopYklM5+1Y+tRGeXrOx5+Xne1RuqLFQoyQ==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"xunit.core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"Zsj5OMU6JasNGERXZy8s72+pcheG6Q15atS5XpZXqAtULuyQiQ6XNnUsp1gyfC6WgqScqMvySiEHmHcOG6Eg0Q==\",\r\n        \"dependencies\": {\r\n          \"xunit.extensibility.core\": \"[2.4.1]\",\r\n          \"xunit.extensibility.execution\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"xunit.extensibility.core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"yKZKm/8QNZnBnGZFD9SewkllHBiK0DThybQD/G4PiAmQjKtEZyHi6ET70QPU9KtSMJGRYS6Syk7EyR2EVDU4Kg==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\",\r\n          \"xunit.abstractions\": \"2.0.3\"\r\n        }\r\n      },\r\n      \"xunit.extensibility.execution\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"7e/1jqBpcb7frLkB6XDrHCGXAbKN4Rtdb88epYxCSRQuZDRW8UtTfdTEVpdTl8s4T56e07hOBVd4G0OdCxIY2A==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\",\r\n          \"xunit.extensibility.core\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Features\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1, )\",\r\n          \"System.Memory\": \"[4.5.5, )\",\r\n          \"System.Net.Http\": \"[4.3.4, )\",\r\n          \"System.Text.RegularExpressions\": \"[4.3.1, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.FSharp\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"FSharp.Compiler.Service\": \"[43.8.300, )\",\r\n          \"FSharp.Core\": \"[8.0.300, )\",\r\n          \"Microsoft.Build.Utilities.Core\": \"[17.12.6, )\",\r\n          \"Microsoft.IO.RecyclableMemoryStream\": \"[2.2.0, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Php\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\",\r\n          \"Newtonsoft.Json\": \"[13.0.3, )\",\r\n          \"Peachpie.App\": \"[0.9.0-CI01101, )\",\r\n          \"Peachpie.CodeAnalysis\": \"[0.9.0-CI01101, )\",\r\n          \"System.Data.SqlClient\": \"[4.9.0, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Testing\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\",\r\n          \"Newtonsoft.Json\": \"[13.0.3, )\",\r\n          \"System.Buffers\": \"[4.5.1, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.VisualBasic\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Features\": \"[3.3.1, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\"\r\n        }\r\n      }\r\n    },\r\n    \".NETFramework,Version=v4.7.1\": {\r\n      \"coverlet.collector\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[1.0.1, )\",\r\n        \"resolved\": \"1.0.1\",\r\n        \"contentHash\": \"RAuno8s7DBGo2IdV/1d8YSnXMd/728K3PBT5R6/kfGx1yunBZmavlaFQfhGe7Q7N2nUMkvVET+7ITn3+KSg+Uw==\"\r\n      },\r\n      \"Microsoft.NET.Test.Sdk\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[16.2.0, )\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"56w1drIQqpMgg3IxHcfra/jXOngiD4pbl0j6TNeJMlOQGlZ8wCMlyRTvn6Crd/FgGjwKbWLurdOHNGrfzLtl6A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeCoverage\": \"16.2.0\"\r\n        }\r\n      },\r\n      \"SourceMock\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.10.0, )\",\r\n        \"resolved\": \"0.10.0\",\r\n        \"contentHash\": \"Dd/YMTTRZSDR34HgVEgfMoZfOTId3Ns0vehFcdLVwMuKLgMcg7/4Oj80qX112np9siR2C4vL3qfT1I9ahzxu9Q==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"xunit\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.4.1, )\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"XNR3Yz9QTtec16O0aKcO6+baVNpXmOnPUxDkCY97J+8krUYxPvXT1szYYEUdKk4sB8GOI2YbAjRIOm8ZnXRfzQ==\",\r\n        \"dependencies\": {\r\n          \"xunit.analyzers\": \"0.10.0\",\r\n          \"xunit.assert\": \"[2.4.1]\",\r\n          \"xunit.core\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"xunit.runner.visualstudio\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.4.0, )\",\r\n        \"resolved\": \"2.4.0\",\r\n        \"contentHash\": \"3eq5cGXbEJkqW9nwLuXwtxy9B5gMA8i7HW4rN63AhAvy5UvEcQbZnve23wx/oPrkyg/4CbfNhxkBezS0b1oUdQ==\"\r\n      },\r\n      \"Devsense.PHP.Parser\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.4.51\",\r\n        \"contentHash\": \"QBFG8qrGJqvvH4sHGt1ym7Mg9w7RYJOkr0KvJoXg71lAu7ON8klLwefKP5MampoPTDm1TYf8CxWn1kFZRWpBnA==\"\r\n      },\r\n      \"FSharp.Compiler.Service\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"43.8.300\",\r\n        \"contentHash\": \"CoPjQYXXwmYkkHm+yxBHSW9IJVLpvwkKGEzXa5A6ebf8v6GfYaxZc5G+VHojDr586oezp1elFemu+A1WWH095A==\",\r\n        \"dependencies\": {\r\n          \"FSharp.Core\": \"[8.0.300]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"7.0.2\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Reflection.Emit\": \"4.7.0\",\r\n          \"System.Reflection.Metadata\": \"7.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"FSharp.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.300\",\r\n        \"contentHash\": \"Jv44fV7TNglyMku89lQcA4Q6mFKLyHb2bs1Yb72nvSVc+cHplEnoZ4XQUaaTLJGUTx/iMqcrkYGtaLzkkIhpaA==\"\r\n      },\r\n      \"HtmlAgilityPack\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.7\",\r\n        \"contentHash\": \"mpkJPBYXdqFVy5pjTKFzE2W4rZIHv+pOaShCp44Rn/+jNw/ApS3RxDNDYO59QFUNSUMD4GP0jBTIwvPDjC3W7Q==\"\r\n      },\r\n      \"Microsoft.Build.Framework\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"jleteC0seumLGTmTVwob97lcwPj/dfgzL/V3g/VVcMZgo2Ic7jzdy8AYpByPDh8e3uRq0SjCl6HOFCjhy5GzRQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Build.Utilities.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"pU3GnHcXp8VRMGKxdJCq+tixfhFn+QwEbpqmZmc/nqFHFyuhlGwjonWZMIWcwuCv/8EHgxoOttFvna1vrN+RrA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Build.Framework\": \"17.12.6\",\r\n          \"Microsoft.NET.StringTools\": \"17.12.6\",\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Configuration.ConfigurationManager\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.4\",\r\n        \"contentHash\": \"alIJhS0VUg/7x5AsHEoovh/wRZ0RfCSS7k5pDSqpRLTyuMTtRgj6OJJPRApRhJHOGYYsLakf1hKeXFoDwKwNkg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"N5yQdGy+M4kimVG7hwCeGTCfgYjK2o5b/Shumkb/rCC+/SAkvP1HUAYK+vxPFS7dLJNtXLRsmPHKj3fnyNWnrw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"2.9.4\",\r\n          \"System.Collections.Immutable\": \"1.5.0\",\r\n          \"System.Memory\": \"4.5.3\",\r\n          \"System.Reflection.Metadata\": \"1.6.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\",\r\n          \"System.Text.Encoding.CodePages\": \"4.5.1\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"WDUIhTHem38H6VJ98x2Ssq0fweakJHnHYl7vbG8ARnsAwLoJKCQCy78EeY1oRrCKG42j0v6JVljKkeqSDA28UA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"t9uIwsLzT5zQ1Q3ZIpwE4EOnAf/lGdbQwyeqhyO/BJ+AWDt267Hxlz5k6ypPy14Z6+PW6pTggAGz6MwN31RElQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"dHs/UyfLgzsVC4FjTi/x+H+yQifgOnpe3rSN8GwkHWjnidePZ3kSqr1JHmFDf5HTQEydYwrwCAfQ0JSzhsEqDA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"lvMC69ABN/YEaw3ke4cQRqBYZ2V7DJTOT8QXIeAJGJUfwVHTBN0iq2O5zZQrYnnUN2wmeCzCoAg59PKBosVO7g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": \"2.9.5\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\",\r\n          \"Microsoft.DiaSymReader\": \"1.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.5\",\r\n        \"contentHash\": \"SqwdTocsxU7u0Y8am67BY7KSLAhrtDXdBBwt0Nv9TxLVzPBPtPPFS2bHUsxucpOBMBmc10rWE1eJ+IDrr/0/nQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"F7fc/G+0ocOYkKSCJ7Y8Q7eAEkAdG5RYODI9FtSl2Hm8zIDBVA3NccCm98gaOvCamLfMHYqeOjpb3yJnnw3m/w==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"TGhM/EF5JWIt83ghkOrch+hhv7cwcvxzmIfhgF8oddd6hZAEkYaeup5BTxaJtHf8Me6TDQqoIWEEGsz5PdkBdA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"Oi4AUxMKAYpx7nHNh7jUO8X18JFCzwtIfu/yDzGzOBpo50591AF7EEdv99geAEidGtmJqbzQ6uRk5dEOL+7F/Q==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"NfBz3b5hFSbO+7xsCNryD+p8axsIJFTG7qM3jvMTC/MqYrU6b8E1b6JoRj5rJSOBB+pSunk+CMqyGQTOWHeDUg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"System.Composition\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeCoverage\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"fKiUOhhMP3IN1qM2tDHPWzW4JRbriFkIPiIzKUwMWT+Q+80bycxkLLCvxmVFoeA7gvWegNbTUjaX7mL3MM9XKg==\"\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.3.0\",\r\n        \"contentHash\": \"/fn1Tfo7j7k/slViPlM8azJuxQmri7FZ8dQ+gTeLbI29leN/1VK0U/BFcRdJNctsRCUgyKJ2q+I0Tjq07Rc1/Q==\"\r\n      },\r\n      \"Microsoft.DiaSymReader.Native\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.3.3\",\r\n        \"contentHash\": \"mjATkm+L2UlP35gO/ExNutLDfgX4iiwz1l/8sYVoeGHp5WnkEDu0NfIEsC4Oy/pCYeRw0/6SGB+kArJVNNvENQ==\"\r\n      },\r\n      \"Microsoft.DotNet.PlatformAbstractions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.4\",\r\n        \"contentHash\": \"2HjSGp63VCLQaeGadrLYR868g25mJHr+TFF81yWCaClzjUbU2vNDx6km7SUgPnoLVksE/1e7in88eh+oPtc4aQ==\"\r\n      },\r\n      \"Microsoft.Extensions.DependencyInjection\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.0\",\r\n        \"contentHash\": \"wakg18gHYiUL1pcjjyZuYk6OvDpbSw1E7IWxm78TMepsr+gQ8W0tWzuRm0q/9RFblngwPwo15rrgZSUV51W5Iw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Extensions.DependencyInjection.Abstractions\": \"2.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Extensions.DependencyInjection.Abstractions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.0\",\r\n        \"contentHash\": \"eUdJ0Q/GfVyUJc0Jal5L1QZLceL78pvEM9wEKcHeI24KorqMDoVX+gWsMGLulQMfOwsUaPtkpQM2pFERTzSfSg==\"\r\n      },\r\n      \"Microsoft.Extensions.DependencyModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.4\",\r\n        \"contentHash\": \"jnHAeijsfJFQXdXmnYK/NhQIkgBUeth//RZZkf0ldIKC+jARbf7YxbA9uTrs/EPhuQxHXaDxVuMyscgmL+UqfA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.DotNet.PlatformAbstractions\": \"2.0.4\",\r\n          \"Newtonsoft.Json\": \"9.0.1\"\r\n        }\r\n      },\r\n      \"Microsoft.IO.RecyclableMemoryStream\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.2.0\",\r\n        \"contentHash\": \"uyjY/cqomw1irT4L7lDeg4sJ36MsjHg3wKqpGrBAdzvZaxo85yMF+sAA9RIzTV92fDxuUzjqksMqA0+SNMkMgA==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.NET.StringTools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"w8Ehofqte5bJoR+Fa3f6JwkwFEkGtXxqvQHGOVOSHDzgNVySvL5FSNhavbQSZ864el9c3rjdLPLAtBW8dq6fmg==\"\r\n      },\r\n      \"Microsoft.Win32.Registry\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"5.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"MySqlConnector\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.42.1\",\r\n        \"contentHash\": \"7jS8P+XOw+vS/reuwEEGhtAKvagiOEtOsu5/46Bnuiw+DgOjAFgMSojkiVaZi9DHcatP8jgmjY67iDGVZByQng==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.4.0\",\r\n          \"System.Memory\": \"4.5.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Newtonsoft.Json\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"13.0.3\",\r\n        \"contentHash\": \"HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==\"\r\n      },\r\n      \"Peachpie.App\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"LZcCc6XsKW7MBRKne6KGgwDKPyr/gJb53BJhRVfRlXWFjRecuBqLwjXLWpPvXR57o/MwvZ+iv//iC2NYucIpwQ==\",\r\n        \"dependencies\": {\r\n          \"Peachpie.Library\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Library.MsSql\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Library.MySql\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Library.Network\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Library.PDO\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Library.Scripting\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Library.XmlDom\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Runtime\": \"0.9.0-CI01101\"\r\n        }\r\n      },\r\n      \"Peachpie.CodeAnalysis\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"SULo4KfDz/nW3I1x1FV/oy04myBa7BkZGyV/e4OzPLsX8vb0pL8Q0nLHsoOJx0CWxBehlXU98APdVB+U0BNfDg==\",\r\n        \"dependencies\": {\r\n          \"Devsense.Php.Parser\": \"1.4.51\",\r\n          \"Peachpie.Microsoft.CodeAnalysis\": \"0.6.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Immutable\": \"1.4.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Reflection.Metadata\": \"1.5.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Peachpie.Library\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"gbYwLhop0tmTn4V+QSlbTct6vu7SDFqUmoLE5wtoyKmTR9B9GNV8kSuhkugYQ6lGt/331KS/9rfm7DAdkOxFUw==\",\r\n        \"dependencies\": {\r\n          \"Peachpie.Runtime\": \"0.9.0-CI01101\"\r\n        }\r\n      },\r\n      \"Peachpie.Library.MsSql\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"y7ROu/fhHwGF6nyg6HH4ilJyPPhds8vq3mCqs5yhDf7KpqwAJ9s8dU0rRxz9XAoT1ZPu7+Te4uCETLzCGVtGuA==\",\r\n        \"dependencies\": {\r\n          \"Peachpie.Library\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Runtime\": \"0.9.0-CI01101\",\r\n          \"System.Data.SqlClient\": \"4.4.3\"\r\n        }\r\n      },\r\n      \"Peachpie.Library.MySql\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"WeN1dTTTRR3XrMXAS48fkLCNHX5dP7iv9uFw3tjXvJBZkaQQrpiFjZ3WS+wxbgxyiqZ/skNhzpGQB828FY4coQ==\",\r\n        \"dependencies\": {\r\n          \"MySqlConnector\": \"0.42.1\",\r\n          \"Peachpie.Library\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Runtime\": \"0.9.0-CI01101\"\r\n        }\r\n      },\r\n      \"Peachpie.Library.Network\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"Bx8GO4SahFi1gk/zvkOzYbifygQiEdXECdCnbz7OzmCbN6VB7m1eCJozYXEEAO4nIBhptICaL5RgFRi+uTKPJA==\",\r\n        \"dependencies\": {\r\n          \"Peachpie.Library\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Runtime\": \"0.9.0-CI01101\"\r\n        }\r\n      },\r\n      \"Peachpie.Library.PDO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"AtQ6pVUgYCdSIQE1Txk4HD1Vv8pe0Q3thD7dc/m96lWYqUimHVb+PovOZxbC0DM2XdpthemArUAZL8l3NDHCGg==\",\r\n        \"dependencies\": {\r\n          \"Peachpie.Library\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Runtime\": \"0.9.0-CI01101\"\r\n        }\r\n      },\r\n      \"Peachpie.Library.Scripting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"lm2LUVlCUrtg9+M1pFWpBdn+0GOE5SieHlA+dI910gnk3DpDhWO+Ic1hHJG0j1EkjntuuPmrZruOKobjj40slA==\",\r\n        \"dependencies\": {\r\n          \"Devsense.Php.Parser\": \"1.4.51\",\r\n          \"Peachpie.CodeAnalysis\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Library\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Library.XmlDom\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Microsoft.CodeAnalysis\": \"0.6.0\",\r\n          \"Peachpie.Runtime\": \"0.9.0-CI01101\",\r\n          \"System.Runtime.Loader\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Peachpie.Library.XmlDom\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"JcABdbNABlVgF+/fPujLZwcUZguOaJknP/Jr2gP1BamVSgFHVnCV3uTP8Wmu21EoQGk6mrGD+qDNoKwNUXpKrw==\",\r\n        \"dependencies\": {\r\n          \"HtmlAgilityPack\": \"1.6.7\",\r\n          \"Peachpie.Library\": \"0.9.0-CI01101\",\r\n          \"Peachpie.Runtime\": \"0.9.0-CI01101\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\",\r\n          \"System.Xml.XPath\": \"4.3.0\",\r\n          \"System.Xml.XPath.XmlDocument\": \"4.3.0\",\r\n          \"System.Xml.XmlDocument\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Peachpie.Microsoft.CodeAnalysis\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.6.0\",\r\n        \"contentHash\": \"pw0Nm3V2bvhG9EN/eAI6dUGYrDjwApgQbEgjPiuLJK9iN4QyXYwn589kxhvimVWGSJHOakkDemfQFunyxOqSow==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.DiaSymReader.Native\": \"1.3.3\",\r\n          \"System.Collections.Immutable\": \"1.3.1\",\r\n          \"System.Reflection.Metadata\": \"1.4.2\",\r\n          \"System.Runtime.Serialization.Json\": \"4.0.3\"\r\n        }\r\n      },\r\n      \"Peachpie.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.9.0-CI01101\",\r\n        \"contentHash\": \"EUN0raglMAuLUxEWsRZpvxQowfZbEZ96DyeK1ZhwD/KVQpnzzO8lZrd5/yc3i5FAOupJpVm4/040xdEyqC4LzQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Extensions.DependencyInjection\": \"2.0.0\",\r\n          \"Microsoft.Extensions.DependencyModel\": \"2.0.4\",\r\n          \"System.Composition\": \"1.1.0\",\r\n          \"System.Memory\": \"4.5.0\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==\"\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"rLsB/X6sp4cLPPlyPVuTBQbtG2IdSdKc6tFImxopz9s5po4Og5sQ8rA7GPxpTsrQ5UXS1IxdaqFwxtse4eLolw==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.1.0\",\r\n          \"System.Composition.Convention\": \"1.1.0\",\r\n          \"System.Composition.Hosting\": \"1.1.0\",\r\n          \"System.Composition.Runtime\": \"1.1.0\",\r\n          \"System.Composition.TypedParts\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"S7Ybny/58VGS+5uanotm7f2k7Iv3ufdv0eDA8adZ345pE27zr+9bxhHw/rXXMVltRdoUuyB1O4YpYT1lVwkM0w==\"\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"lqiuITNCKJ/JlXzmum0mr+1HDCJ6mN/+1C4ouXpvLKpUA+zal7EsRvfHxy+kVVPrPMaFU9dLQkBxV/GFVnJoXA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"D5M3oBOxCeHe4WVNtqKnFA3UMt53uIdUMGgustecwh7kmzE7k+Co+CFPLpQVPdyBhmB8WxicaESa41QLZ0ZlgA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.Runtime\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"dLbtnVmOiD4k1/YA4LfV2nEZX4jdgizvSzvVIffOp3AXU468n5IsDbwwbCHSUmnfqoJ5unYR+hEmN1U3gBmDRg==\"\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.0\",\r\n        \"contentHash\": \"SlACsoBPQpeL8dAjQXttv9d5Y/790UmxnlP2yk1w94T2vMcHOa7i9XGUKCB81BGMWstR2FF9ZEftm8rIdhMEvg==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.1.0\",\r\n          \"System.Composition.Hosting\": \"1.1.0\",\r\n          \"System.Composition.Runtime\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"System.Configuration.ConfigurationManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==\"\r\n      },\r\n      \"System.Data.SqlClient\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.9.0\",\r\n        \"contentHash\": \"j4KJO+vC62NyUtNHz854njEqXbT8OmAa5jb1nrGfYWBOcggyYUQE0w/snXeaCjdvkSKWuUD+hfvlbN8pTrJTXg==\"\r\n      },\r\n      \"System.Diagnostics.Debug\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==\"\r\n      },\r\n      \"System.Diagnostics.DiagnosticSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.2\",\r\n        \"contentHash\": \"hYr3I9N9811e0Bjf2WNwAGGyTuAFbbTgX1RPLt/3Wbm68x3IGcX5Cl75CMmgT6WlNwLQ2tCCWfqYPpypjaf2xA==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.IO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==\"\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.4\",\r\n        \"contentHash\": \"aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Numerics.Vectors\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==\"\r\n      },\r\n      \"System.Reflection.Emit\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"VR4kk8XLKebQ4MZuKuIni/7oh+QGFmZW3qORd1GvBq/8026OpW501SzT/oypwiQl4TvT8ErnReh/NzY9u+C6wQ==\"\r\n      },\r\n      \"System.Reflection.Emit.Lightweight\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==\"\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"MclTG61lsD9sYdpNz9xsKBzjsmsfCtcMZYXz/IUr2zlhaTaABonlr1ESeompTgM+Xk+IwtGYU7/voh3YWB/fWw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Memory\": \"4.5.5\"\r\n        }\r\n      },\r\n      \"System.Resources.ResourceManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==\"\r\n      },\r\n      \"System.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==\"\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==\"\r\n      },\r\n      \"System.Runtime.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==\"\r\n      },\r\n      \"System.Runtime.Handles\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==\"\r\n      },\r\n      \"System.Runtime.InteropServices\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Loader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DHMaRn8D8YCK2GG2pw+UzNxn/OHVfaWx7OTLBD/hPegHZZgcZh3H6seWegrC4BYwsfuGrywIuT+MQs+rPqRLTQ==\"\r\n      },\r\n      \"System.Runtime.Serialization.Json\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.3\",\r\n        \"contentHash\": \"siAQb9mZmY7dsBtdbC0OE7W1/y4DGgrIRHTghtN40v79wAvHluBm1wzlrCauCWMyp6WVxkcTzoesjZnx5+fM9g==\"\r\n      },\r\n      \"System.Security.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Algorithms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==\"\r\n      },\r\n      \"System.Security.Cryptography.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==\"\r\n      },\r\n      \"System.Security.Cryptography.X509Certificates\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Principal.Windows\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==\"\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"LSyCblMpvOe0N3E+8e0skHcrIhgV2huaNcjUUEa8hRtgEAm36aGkRoC8Jxlb6Ra6GSfF29ftduPNywin8XolzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==\"\r\n      },\r\n      \"System.Text.RegularExpressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"N0kNRrWe4+nXOWlpLT4LAY5brb8caNFlUuIRpraCVMDLYutKkol1aV079rQjLuSxKMJT2SpBQsYX9xbcTMmzwg==\"\r\n      },\r\n      \"System.Threading\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==\"\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.3\",\r\n        \"contentHash\": \"+MvhNtcvIbqmhANyKu91jQnvIRVSTiaOiFNfKWwXGHG48YAb4I/TyH8spsySiPYla7gKal5ZnF3teJqZAximyQ==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      },\r\n      \"System.Xml.ReaderWriter\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==\"\r\n      },\r\n      \"System.Xml.XmlDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"lJ8AxvkX7GQxpC6GFCeBj8ThYVyQczx2+f/cWHJU8tjS7YfI6Cv6bon70jVEgs2CiFbmmM8b9j1oZVx0dSI2Ww==\"\r\n      },\r\n      \"System.Xml.XPath\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"v1JQ5SETnQusqmS3RwStF7vwQ3L02imIzl++sewmt23VGygix04pEH+FCj1yWb+z4GDzKiljr1W7Wfvrx0YwgA==\"\r\n      },\r\n      \"System.Xml.XPath.XmlDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"A/uxsWi/Ifzkmd4ArTLISMbfFs6XpRPsXZonrIqyTY70xi8t+mDtvSM5Os0RqyRDobjMBwIDHDL4NOIbkDwf7A==\",\r\n        \"dependencies\": {\r\n          \"System.Xml.XPath\": \"4.3.0\",\r\n          \"System.Xml.XmlDocument\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"xunit.abstractions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==\"\r\n      },\r\n      \"xunit.analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.10.0\",\r\n        \"contentHash\": \"4/IDFCJfIeg6bix9apmUtIMwvOsiwqdEexeO/R2D4GReIGPLIRODTpId/l4LRSrAJk9lEO3Zx1H0Zx6uohJDNg==\"\r\n      },\r\n      \"xunit.assert\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"O/Oe0BS5RmSsM+LQOb041TzuPo5MdH2Rov+qXGS37X+KFG1Hxz7kopYklM5+1Y+tRGeXrOx5+Xne1RuqLFQoyQ==\"\r\n      },\r\n      \"xunit.core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"Zsj5OMU6JasNGERXZy8s72+pcheG6Q15atS5XpZXqAtULuyQiQ6XNnUsp1gyfC6WgqScqMvySiEHmHcOG6Eg0Q==\",\r\n        \"dependencies\": {\r\n          \"xunit.extensibility.core\": \"[2.4.1]\",\r\n          \"xunit.extensibility.execution\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"xunit.extensibility.core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"yKZKm/8QNZnBnGZFD9SewkllHBiK0DThybQD/G4PiAmQjKtEZyHi6ET70QPU9KtSMJGRYS6Syk7EyR2EVDU4Kg==\",\r\n        \"dependencies\": {\r\n          \"xunit.abstractions\": \"2.0.3\"\r\n        }\r\n      },\r\n      \"xunit.extensibility.execution\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"7e/1jqBpcb7frLkB6XDrHCGXAbKN4Rtdb88epYxCSRQuZDRW8UtTfdTEVpdTl8s4T56e07hOBVd4G0OdCxIY2A==\",\r\n        \"dependencies\": {\r\n          \"xunit.extensibility.core\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Features\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1, )\",\r\n          \"System.Memory\": \"[4.5.5, )\",\r\n          \"System.Net.Http\": \"[4.3.4, )\",\r\n          \"System.Text.RegularExpressions\": \"[4.3.1, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.FSharp\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"FSharp.Compiler.Service\": \"[43.8.300, )\",\r\n          \"FSharp.Core\": \"[8.0.300, )\",\r\n          \"Microsoft.Build.Utilities.Core\": \"[17.12.6, )\",\r\n          \"Microsoft.IO.RecyclableMemoryStream\": \"[2.2.0, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Php\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\",\r\n          \"Newtonsoft.Json\": \"[13.0.3, )\",\r\n          \"Peachpie.App\": \"[0.9.0-CI01101, )\",\r\n          \"Peachpie.CodeAnalysis\": \"[0.9.0-CI01101, )\",\r\n          \"System.Data.SqlClient\": \"[4.9.0, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Testing\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\",\r\n          \"Newtonsoft.Json\": \"[13.0.3, )\",\r\n          \"System.Buffers\": \"[4.5.1, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.VisualBasic\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Features\": \"[3.3.1, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Tests.Roslyn410/Tests.Roslyn410.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\r\n  <PropertyGroup>\r\n    <TargetFramework>net7.0</TargetFramework>\r\n    <IsPackable>false</IsPackable>\r\n    <AssemblyName>MirrorSharp.Tests.Roslyn410</AssemblyName>\r\n    <RootNamespace>MirrorSharp.Tests</RootNamespace>\r\n    <IsPackable>false</IsPackable>\r\n    <NoWarn>VSTHRD200; RS1035</NoWarn>\r\n    <EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>\r\n  </PropertyGroup>\r\n\r\n  <ItemGroup>\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis\" Version=\"4.10.0\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.CSharp.Features\" Version=\"4.10.0\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.VisualBasic.Features\" Version=\"4.10.0\" />\r\n    <PackageReference Include=\"Microsoft.NET.Test.Sdk\" Version=\"16.2.0\" />\r\n    <PackageReference Include=\"SourceMock\" Version=\"0.10.0\" />\r\n    <!-- Avoids vulnerability in version referenced by Microsoft.CodeAnalysis.Features -->\r\n    <PackageReference Include=\"System.Text.Json\" Version=\"9.0.0\" />\r\n    <PackageReference Include=\"xunit\" Version=\"2.4.1\" />\r\n    <PackageReference Include=\"xunit.runner.visualstudio\" Version=\"2.4.0\" />\r\n    <PackageReference Include=\"coverlet.collector\" Version=\"1.0.1\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <ProjectReference Include=\"..\\Common\\Common.csproj\" />\r\n    <ProjectReference Include=\"..\\FSharp\\FSharp.csproj\" />\r\n    <ProjectReference Include=\"..\\Testing\\Testing.csproj\" />\r\n    <ProjectReference Include=\"..\\VisualBasic\\VisualBasic.csproj\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <Compile Include=\"../Tests/**/*.cs\" Exclude=\"../Tests/obj/**; ../Tests/Php*.cs; ../Tests/FSharp/*.cs\" />\r\n  </ItemGroup>\r\n\r\n  <Target Name=\"CopySdkReferenceAssemblies\" AfterTargets=\"ResolveReferences\">\r\n    <ItemGroup>\r\n      <Content Include=\"@(Reference->'%(RootDir)%(Directory)%(Filename)%(Extension)')\"\r\n               Link=\"@(Reference->'ref-assemblies\\%(Filename)%(Extension)')\"\r\n               Condition=\"$([System.String]::new('%(Filename)').StartsWith('System')) or '%(Filename)' == 'netstandard'\">\r\n        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\r\n      </Content>\r\n      <Content Include=\"@(Reference->'%(RootDir)%(Directory)%(Filename).xml')\"\r\n               Link=\"@(Reference->'ref-assemblies\\%(Filename).xml')\"\r\n               Condition=\"($([System.String]::new('%(Filename)').StartsWith('System')) or '%(Filename)' == 'netstandard')\r\n                          and Exists('%(RootDir)%(Directory)%(Filename).xml')\">\r\n        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\r\n      </Content>\r\n    </ItemGroup>\r\n  </Target>\r\n</Project>"
  },
  {
    "path": "Tests.Roslyn410/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \"net7.0\": {\r\n      \"coverlet.collector\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[1.0.1, )\",\r\n        \"resolved\": \"1.0.1\",\r\n        \"contentHash\": \"RAuno8s7DBGo2IdV/1d8YSnXMd/728K3PBT5R6/kfGx1yunBZmavlaFQfhGe7Q7N2nUMkvVET+7ITn3+KSg+Uw==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.10.0, )\",\r\n        \"resolved\": \"4.10.0\",\r\n        \"contentHash\": \"UcAcN8FmV9Xesj9XQKqpeJxyOqofb0fsgMn97gnTeSQINrmbxMe5j2NlhHGkVl2qEZ/rXQcRcGth8K4AXdbprQ==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"8.0.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.10.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.10.0]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.10.0, )\",\r\n        \"resolved\": \"4.10.0\",\r\n        \"contentHash\": \"L/cf5GyMCVxpD9AhB4E+yKYpf0bpnNghmjZpmdSFiX+amntgLspGi1itryqMWiuQHP8VGE5UkZmr2tb9dU2D+Q==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.3.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.10.0]\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.10.0]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.10.0]\",\r\n          \"Microsoft.CodeAnalysis.Elfie\": \"1.0.0\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[4.10.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.10.0]\",\r\n          \"Microsoft.DiaSymReader\": \"2.0.0\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.Configuration.ConfigurationManager\": \"8.0.0\",\r\n          \"System.Diagnostics.EventLog\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\",\r\n          \"System.Text.Encodings.Web\": \"8.0.0\",\r\n          \"System.Text.Json\": \"8.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.10.0, )\",\r\n        \"resolved\": \"4.10.0\",\r\n        \"contentHash\": \"oRpHpTl/A7vDP0U4oARRymgyb4sl8kYKC6HK/HCm83ER8YOEEuZkoxCXT2iwjkdlzZytu14sXL2Ga1jaDDnaOA==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.3.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Elfie\": \"1.0.0\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[4.10.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.10.0]\",\r\n          \"Microsoft.DiaSymReader\": \"2.0.0\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.Configuration.ConfigurationManager\": \"8.0.0\",\r\n          \"System.Diagnostics.EventLog\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\",\r\n          \"System.Text.Encodings.Web\": \"8.0.0\",\r\n          \"System.Text.Json\": \"8.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.NET.Test.Sdk\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[16.2.0, )\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"56w1drIQqpMgg3IxHcfra/jXOngiD4pbl0j6TNeJMlOQGlZ8wCMlyRTvn6Crd/FgGjwKbWLurdOHNGrfzLtl6A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeCoverage\": \"16.2.0\",\r\n          \"Microsoft.TestPlatform.TestHost\": \"16.2.0\"\r\n        }\r\n      },\r\n      \"SourceMock\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.10.0, )\",\r\n        \"resolved\": \"0.10.0\",\r\n        \"contentHash\": \"Dd/YMTTRZSDR34HgVEgfMoZfOTId3Ns0vehFcdLVwMuKLgMcg7/4Oj80qX112np9siR2C4vL3qfT1I9ahzxu9Q==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.Json\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[9.0.0, )\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"js7+qAu/9mQvnhA4EfGMZNEzXtJCDxgkgj8ohuxq/Qxv+R56G+ljefhiJHOxTNiw54q8vmABCWUwkMulNdlZ4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"9.0.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.IO.Pipelines\": \"9.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encodings.Web\": \"9.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"xunit\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.4.1, )\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"XNR3Yz9QTtec16O0aKcO6+baVNpXmOnPUxDkCY97J+8krUYxPvXT1szYYEUdKk4sB8GOI2YbAjRIOm8ZnXRfzQ==\",\r\n        \"dependencies\": {\r\n          \"xunit.analyzers\": \"0.10.0\",\r\n          \"xunit.assert\": \"[2.4.1]\",\r\n          \"xunit.core\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"xunit.runner.visualstudio\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.4.0, )\",\r\n        \"resolved\": \"2.4.0\",\r\n        \"contentHash\": \"3eq5cGXbEJkqW9nwLuXwtxy9B5gMA8i7HW4rN63AhAvy5UvEcQbZnve23wx/oPrkyg/4CbfNhxkBezS0b1oUdQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NET.Test.Sdk\": \"15.0.0\"\r\n        }\r\n      },\r\n      \"FSharp.Compiler.Service\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"43.8.300\",\r\n        \"contentHash\": \"CoPjQYXXwmYkkHm+yxBHSW9IJVLpvwkKGEzXa5A6ebf8v6GfYaxZc5G+VHojDr586oezp1elFemu+A1WWH095A==\",\r\n        \"dependencies\": {\r\n          \"FSharp.Core\": \"[8.0.300]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"7.0.2\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Reflection.Emit\": \"4.7.0\",\r\n          \"System.Reflection.Metadata\": \"7.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"FSharp.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.300\",\r\n        \"contentHash\": \"Jv44fV7TNglyMku89lQcA4Q6mFKLyHb2bs1Yb72nvSVc+cHplEnoZ4XQUaaTLJGUTx/iMqcrkYGtaLzkkIhpaA==\"\r\n      },\r\n      \"Humanizer.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.14.1\",\r\n        \"contentHash\": \"lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==\"\r\n      },\r\n      \"Microsoft.Bcl.AsyncInterfaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"owmu2Cr3IQ8yQiBleBHlGk8dSQ12oaF2e7TpzwJKEl4m84kkZJjEY1n33L67Y3zM5jPOjmmbdHjbfiL0RqcMRQ==\"\r\n      },\r\n      \"Microsoft.Build.Framework\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"jleteC0seumLGTmTVwob97lcwPj/dfgzL/V3g/VVcMZgo2Ic7jzdy8AYpByPDh8e3uRq0SjCl6HOFCjhy5GzRQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Build.Utilities.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"pU3GnHcXp8VRMGKxdJCq+tixfhFn+QwEbpqmZmc/nqFHFyuhlGwjonWZMIWcwuCv/8EHgxoOttFvna1vrN+RrA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Build.Framework\": \"17.12.6\",\r\n          \"Microsoft.NET.StringTools\": \"17.12.6\",\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Configuration.ConfigurationManager\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.4\",\r\n        \"contentHash\": \"AxkxcPR+rheX0SmvpLVIGLhOUXAKG56a64kV9VQZ4y9gR9ZmPXnqZvHJnmwLSwzrEP6junUF11vuc+aqo5r68g==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.AnalyzerUtilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"gyQ70pJ4T7hu/s0+QnEaXtYfeG/JrttGnxHJlrhpxsQjRIUGuRhVwNBtkHHYOrUAZ/l47L98/NiJX6QmTwAyrg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.10.0\",\r\n        \"contentHash\": \"7O4+dn0fNKykPpEB1i8/5EKzwD3fuu/shdbbnnsBmdiHMaBz6telOubDFwPwLQQ/PvOAWTFIWWTyAOmWvXRD2g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.10.0\",\r\n        \"contentHash\": \"iifqKy3KvCgPABHFbFlSxjEoE+OItZGuZ191NM/TWV750m1jMypr7BtrP65ET+OK2KNVupO8S8xCtxbNqw056A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.10.0]\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.10.0\",\r\n        \"contentHash\": \"s8qbD2i3zdol8QNcrCVw9URW71DUdg1UF0XCxxIaQoYbdpcKVy2DG127560psiqLEKxAEWA/DOFwL9CY2qGq1g==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.10.0]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.10.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.10.0]\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Elfie\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.0\",\r\n        \"contentHash\": \"r12elUp4MRjdnRfxEP+xqVSUUfG3yIJTBEJGwbfvF5oU4m0jb9HC0gFG28V/dAkYGMkRmHVi3qvrnBLQSw9X3Q==\",\r\n        \"dependencies\": {\r\n          \"System.Configuration.ConfigurationManager\": \"4.5.0\",\r\n          \"System.Data.DataSetExtensions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.10.0\",\r\n        \"contentHash\": \"me9ngfonU2Kkx+uMM2IC7HLQUaC8pDnQa5LW3GRlk5mcGJ1KLWeab+2+qgr1ltScAzh41vXkkwf8RbXiWBBR1g==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.3.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.10.0]\",\r\n          \"Microsoft.CodeAnalysis.Elfie\": \"1.0.0\",\r\n          \"Microsoft.CodeAnalysis.Scripting.Common\": \"[4.10.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.10.0]\",\r\n          \"Microsoft.DiaSymReader\": \"2.0.0\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.Configuration.ConfigurationManager\": \"8.0.0\",\r\n          \"System.Diagnostics.EventLog\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\",\r\n          \"System.Text.Encodings.Web\": \"8.0.0\",\r\n          \"System.Text.Json\": \"8.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Scripting.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.10.0\",\r\n        \"contentHash\": \"L+IbItJyxtLcbSxRXvdJRCGMW9IgHXZvNl5VcuFMcb49nFnhqrm79y50GOukSyBccF0WlnalbjRK/Beb2aKJbw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.10.0]\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.10.0\",\r\n        \"contentHash\": \"rqdpLqrACQwhr7pr21OCEpmSZthdWF7TfimCH9IUt+FCXLfpqNTkgB7qAF2ypVJTT5sc+hY1IQWeDPjSyJ3REg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.10.0]\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.10.0\",\r\n        \"contentHash\": \"i0dtZ531kx7DiCBAzyrvEcYpK/tZQAJDmSKIQW3kENl5wPenOkQePvYNFZRrvOGzSgK5uZVs0Y3xW/B1ZCcQFA==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.10.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[4.10.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.10.0]\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.10.0\",\r\n        \"contentHash\": \"lSMNGNeROSbxvbgzJyQfJpLJM0BFRrSgxYs4BZuZvpL8TuyUorEYa/HCJDcclhSRhr76LGiTT5lfLu5QFoFF6A==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.10.0]\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeCoverage\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"fKiUOhhMP3IN1qM2tDHPWzW4JRbriFkIPiIzKUwMWT+Q+80bycxkLLCvxmVFoeA7gvWegNbTUjaX7mL3MM9XKg==\"\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.0\",\r\n        \"contentHash\": \"QcZrCETsBJqy/vQpFtJc+jSXQ0K5sucQ6NUFbTNVHD4vfZZOwjZ/3sBzczkC4DityhD3AVO/+K/+9ioLs1AgRA==\"\r\n      },\r\n      \"Microsoft.IO.RecyclableMemoryStream\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.2.0\",\r\n        \"contentHash\": \"uyjY/cqomw1irT4L7lDeg4sJ36MsjHg3wKqpGrBAdzvZaxo85yMF+sAA9RIzTV92fDxuUzjqksMqA0+SNMkMgA==\"\r\n      },\r\n      \"Microsoft.NET.StringTools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"w8Ehofqte5bJoR+Fa3f6JwkwFEkGtXxqvQHGOVOSHDzgNVySvL5FSNhavbQSZ864el9c3rjdLPLAtBW8dq6fmg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==\"\r\n      },\r\n      \"Microsoft.NETCore.Targets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.3\",\r\n        \"contentHash\": \"3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==\"\r\n      },\r\n      \"Microsoft.TestPlatform.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"RAyBf87uZ5XjRE953LlxqILpD1SqwQM6bXwxPUCAPPEy0uv12R+eKnFL7yaeLVHInMKkNNh1iD/cDOVDfSgllA==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.0\",\r\n          \"System.ComponentModel.EventBasedAsync\": \"4.0.11\",\r\n          \"System.ComponentModel.TypeConverter\": \"4.1.0\",\r\n          \"System.Diagnostics.Process\": \"4.1.0\",\r\n          \"System.Diagnostics.TextWriterTraceListener\": \"4.0.0\",\r\n          \"System.Diagnostics.TraceSource\": \"4.0.0\",\r\n          \"System.Reflection.Metadata\": \"1.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.0.0\",\r\n          \"System.Runtime.Loader\": \"4.0.0\",\r\n          \"System.Runtime.Serialization.Json\": \"4.0.2\",\r\n          \"System.Runtime.Serialization.Primitives\": \"4.1.1\",\r\n          \"System.Threading.Thread\": \"4.0.0\",\r\n          \"System.Xml.XPath.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"Microsoft.TestPlatform.TestHost\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"PogSQ40KgkZjEBdC6KBGpMtuvFFCIdoJAMmK7CAHWyTXCfN1cPN8j0TFJKh+LneSg+y0QQDP23STMF609KhHQw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.TestPlatform.ObjectModel\": \"16.2.0\",\r\n          \"Newtonsoft.Json\": \"9.0.1\"\r\n        }\r\n      },\r\n      \"Microsoft.Win32.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Win32.Registry\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"5.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.1\",\r\n        \"contentHash\": \"WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.Win32.Primitives\": \"4.3.0\",\r\n          \"System.AppContext\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Console\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.Compression.ZipFile\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Net.Http\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Net.Sockets\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Timer\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\",\r\n          \"System.Xml.XDocument\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Newtonsoft.Json\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"13.0.3\",\r\n        \"contentHash\": \"HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==\"\r\n      },\r\n      \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==\"\r\n      },\r\n      \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==\"\r\n      },\r\n      \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==\"\r\n      },\r\n      \"runtime.native.System\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==\",\r\n        \"dependencies\": {\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==\",\r\n        \"dependencies\": {\r\n          \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==\"\r\n      },\r\n      \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==\"\r\n      },\r\n      \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==\"\r\n      },\r\n      \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==\"\r\n      },\r\n      \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==\"\r\n      },\r\n      \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==\"\r\n      },\r\n      \"System.AppContext\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Concurrent\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg==\"\r\n      },\r\n      \"System.Collections.NonGeneric\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"hMxFT2RhhlffyCdKLDXjx8WEC5JfCvNozAZxCablAuFRH74SCV4AgzE8yJCh/73bFnEoZgJ9MJmkjQ0dJmnKqA==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Collections.Specialized\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"/HKQyVP0yH1I0YtK7KJL/28snxHNH/bi+0lgk/+MbURF6ULhAE31MDI+NZDerNWu264YbxklXCCygISgm+HMug==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.NonGeneric\": \"4.0.1\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Globalization.Extensions\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.ComponentModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"oBZFnm7seFiVfugsIyOvQCWobNZs7FzqDV/B7tx20Ep/l3UUFCPDkdTnCNaJZTU27zjeODmy2C/cP60u3D4c9w==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.EventBasedAsync\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.11\",\r\n        \"contentHash\": \"Z7SO6vvQIR84daPE4uhaNdef9CjgjDMGYkas8epUhf0U3WGuaGgZ0Mm4QuNycMdbHUY8KEdZrtgxonkAiJaAlA==\",\r\n        \"dependencies\": {\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"sc/7eVCdxPrp3ljpgTKVaQGUXiW05phNWvtv/m2kocXqrUQvTVWKou1Edas2aDjTThLPZOxPYIGNb/HN0QjURg==\",\r\n        \"dependencies\": {\r\n          \"System.ComponentModel\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.TypeConverter\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"MnDAlaeJZy9pdB5ZdOlwdxfpI+LJQ6e0hmH7d2+y2LkiD8DRJynyDYl4Xxf3fWFm7SbEwBZh4elcfzONQLOoQw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Collections.NonGeneric\": \"4.0.1\",\r\n          \"System.Collections.Specialized\": \"4.0.1\",\r\n          \"System.ComponentModel\": \"4.0.1\",\r\n          \"System.ComponentModel.Primitives\": \"4.1.0\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"E9oO9olNNxA39J8CxQwf7ceIPm+j/B/PhYpyK9M4LhN/OLLRw6u5fNInkhVqaWueMB9iXxYqnwqwgz+W91loIA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"8.0.0\",\r\n          \"System.Composition.Convention\": \"8.0.0\",\r\n          \"System.Composition.Hosting\": \"8.0.0\",\r\n          \"System.Composition.Runtime\": \"8.0.0\",\r\n          \"System.Composition.TypedParts\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"NyElSuvmBMYdn2iPG0n29i7Igu0bq99izOP3MAtEwskY3OP9jqsavvVmPn9lesVaj/KT/o/QkNjA43dOJTsDQw==\"\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"UuVkc1B3vQU/LzEbWLMZ1aYVssv4rpShzf8wPEyrUqoGNqdYKREmB8bXR73heOMKkwS6ZnPz3PjGODT2MenukQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"qwbONqoxlazxcbiohvb3t1JWZgKIKcRdXS5uEeLbo5wtuBupIbAvdC3PYTAeBCZrZeERvrtAbhYHuuS43Zr1bQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.Runtime\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"G+kRyB5/6+3ucRRQz+DF4uSHGqpkK8Q4ilVdbt4zvxpmvLVZNmSkyFAQpJLcbOyVF85aomJx0m+TGMDVlwx7ZQ==\"\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"DsSklhuA+Dsgo3ZZrar8hjBFvq1wa1grrkNCTt+6SoX3vq0Vy+HXJnVXrU/nNH1BjlGH684A7h4hJQHZd/u5mA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"8.0.0\",\r\n          \"System.Composition.Hosting\": \"8.0.0\",\r\n          \"System.Composition.Runtime\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Configuration.ConfigurationManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.EventLog\": \"8.0.0\",\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Console\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Data.DataSetExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"221clPs1445HkTBZPL+K9sDBdJRB8UN8rgjO3ztB0CQ26z//fmJXtlsr6whGatscsKGBrhJl5bwJuKSA8mwFOw==\"\r\n      },\r\n      \"System.Diagnostics.Debug\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.DiagnosticSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.2\",\r\n        \"contentHash\": \"hYr3I9N9811e0Bjf2WNwAGGyTuAFbbTgX1RPLt/3Wbm68x3IGcX5Cl75CMmgT6WlNwLQ2tCCWfqYPpypjaf2xA==\"\r\n      },\r\n      \"System.Diagnostics.EventLog\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"fdYxcRjQqTTacKId/2IECojlDSFvp7LP5N78+0z/xH7v/Tuw5ZAxu23Y6PTCRinqyu2ePx+Gn1098NC6jM6d+A==\"\r\n      },\r\n      \"System.Diagnostics.Process\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"mpVZ5bnlSs3tTeJ6jYyDJEIa6tavhAd88lxq1zbYhkkCu0Pno2+gHXcvZcoygq2d8JxW3gojXqNJMTAshduqZA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.0.1\",\r\n          \"Microsoft.Win32.Primitives\": \"4.0.1\",\r\n          \"Microsoft.Win32.Registry\": \"4.0.0\",\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.IO.FileSystem\": \"4.0.1\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Runtime.Handles\": \"4.0.1\",\r\n          \"System.Runtime.InteropServices\": \"4.1.0\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Text.Encoding.Extensions\": \"4.0.11\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\",\r\n          \"System.Threading.Thread\": \"4.0.0\",\r\n          \"System.Threading.ThreadPool\": \"4.0.10\",\r\n          \"runtime.native.System\": \"4.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.TextWriterTraceListener\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"w36Dr8yKy8xP150qPANe7Td+/zOI3G62ImRcHDIEW+oUXUuTKZHd4DHmqRx5+x8RXd85v3tXd1uhNTfsr+yxjA==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.TraceSource\": \"4.0.0\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.TraceSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"6WVCczFZKXwpWpzd/iJkYnsmWTSFFiU24Xx/YdHXBcu+nFI/ehTgeqdJQFbtRPzbrO3KtRNjvkhtj4t5/WwWsA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.0.1\",\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"runtime.native.System\": \"4.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tracing\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Calendars\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.IO.Compression\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression.ZipFile\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Pipelines\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"eA3cinogwaNB4jdjQHOP3Z3EuyiDII7MT35jgtnsA4vkn0LUrrSHsU0nzHTzFzmaFYeKV7MYyMxOocFzsBHpTw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Linq\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq.Expressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\"\r\n      },\r\n      \"System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.4\",\r\n        \"contentHash\": \"aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Extensions\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"System.Net.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Net.Sockets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Numerics.Vectors\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==\"\r\n      },\r\n      \"System.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Private.DataContractSerialization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.1\",\r\n        \"contentHash\": \"lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Collections.Concurrent\": \"4.0.12\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.0.1\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.0.1\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Runtime.Serialization.Primitives\": \"4.1.1\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Text.Encoding.Extensions\": \"4.0.11\",\r\n          \"System.Text.RegularExpressions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\",\r\n          \"System.Xml.XmlSerializer\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Reflection\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"VR4kk8XLKebQ4MZuKuIni/7oh+QGFmZW3qORd1GvBq/8026OpW501SzT/oypwiQl4TvT8ErnReh/NzY9u+C6wQ==\"\r\n      },\r\n      \"System.Reflection.Emit.ILGeneration\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.Lightweight\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"ptvgrFh7PvWI8bcVqG5rsA/weWM09EnthFHR5SCnS6IN+P4mj6rE1lBDC4U8HL9/57htKAqy4KQ3bBj84cfYyQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.TypeExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Resources.ResourceManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.3\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==\"\r\n      },\r\n      \"System.Runtime.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Handles\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices.RuntimeInformation\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Loader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"4UN78GOVU/mbDFcXkEWtetJT/sJ0yic2gGk1HSlSpWI0TDf421xnrZTDZnwNBapk1GQeYN7U1lTj/aQB1by6ow==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Numerics\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==\",\r\n        \"dependencies\": {\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Serialization.Json\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.2\",\r\n        \"contentHash\": \"+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Private.DataContractSerialization\": \"4.1.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Serialization.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.1\",\r\n        \"contentHash\": \"HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==\",\r\n        \"dependencies\": {\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Security.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"5.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Algorithms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Cng\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Csp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.ProtectedData\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg==\"\r\n      },\r\n      \"System.Security.Cryptography.X509Certificates\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Cng\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Csp\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Principal.Windows\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==\"\r\n      },\r\n      \"System.Text.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"LSyCblMpvOe0N3E+8e0skHcrIhgV2huaNcjUUEa8hRtgEAm36aGkRoC8Jxlb6Ra6GSfF29ftduPNywin8XolzQ==\"\r\n      },\r\n      \"System.Text.Encoding.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encodings.Web\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"e2hMgAErLbKyUUwt18qSBf9T5Y+SFAL3ZedM8fLupkVj8Rj2PZ9oxQ37XX2LF8fTO1wNIxvKpihD7Of7D/NxZw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.RegularExpressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"N0kNRrWe4+nXOWlpLT4LAY5brb8caNFlUuIRpraCVMDLYutKkol1aV079rQjLuSxKMJT2SpBQsYX9xbcTMmzwg==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.1\"\r\n        }\r\n      },\r\n      \"System.Threading\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Channels\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"qmeeYNROMsONF6ndEZcIQ+VxR4Q/TX/7uIVLJqtwIWL7dDWeh0l1UIqgo4wYyjG//5lUNhwkLDSFl+pAWO6oiA==\"\r\n      },\r\n      \"System.Threading.Tasks\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.4\",\r\n        \"contentHash\": \"zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==\"\r\n      },\r\n      \"System.Threading.Thread\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Threading.ThreadPool\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.10\",\r\n        \"contentHash\": \"IMXgB5Vf/5Qw1kpoVgJMOvUO1l32aC+qC3OaIZjWJOjvcxuxNWOK2ZTWWYXfij22NHxT2j1yWX5vlAeQWld9vA==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Handles\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"System.Threading.Timer\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.ReaderWriter\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XmlDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"2eZu6IP+etFVBBFUFzw2w6J21DqIN5eL9Y8r8JfJWUmV28Z5P0SNU01oCisVHQgHsDhHPnmq2s1hJrJCFZWloQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Xml.XmlSerializer\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.11\",\r\n        \"contentHash\": \"FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Emit\": \"4.0.1\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.0.1\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Text.RegularExpressions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"System.Xml.XPath\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"UWd1H+1IJ9Wlq5nognZ/XJdyj8qPE4XufBUkAW59ijsCPjZkZe0MUzKKJFBr+ZWBe5Wq1u1d5f2CYgE93uH7DA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Xml.XPath.XmlDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"Zm2BdeanuncYs3NhCj4c9e1x3EXFzFBVv2wPEc/Dj4ZbI9R8ecLSR5frAsx4zJCPBtKQreQ7Q/KxJEohJZbfzA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XPath\": \"4.0.1\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"xunit.abstractions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==\"\r\n      },\r\n      \"xunit.analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.10.0\",\r\n        \"contentHash\": \"4/IDFCJfIeg6bix9apmUtIMwvOsiwqdEexeO/R2D4GReIGPLIRODTpId/l4LRSrAJk9lEO3Zx1H0Zx6uohJDNg==\"\r\n      },\r\n      \"xunit.assert\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"O/Oe0BS5RmSsM+LQOb041TzuPo5MdH2Rov+qXGS37X+KFG1Hxz7kopYklM5+1Y+tRGeXrOx5+Xne1RuqLFQoyQ==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"xunit.core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"Zsj5OMU6JasNGERXZy8s72+pcheG6Q15atS5XpZXqAtULuyQiQ6XNnUsp1gyfC6WgqScqMvySiEHmHcOG6Eg0Q==\",\r\n        \"dependencies\": {\r\n          \"xunit.extensibility.core\": \"[2.4.1]\",\r\n          \"xunit.extensibility.execution\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"xunit.extensibility.core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"yKZKm/8QNZnBnGZFD9SewkllHBiK0DThybQD/G4PiAmQjKtEZyHi6ET70QPU9KtSMJGRYS6Syk7EyR2EVDU4Kg==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\",\r\n          \"xunit.abstractions\": \"2.0.3\"\r\n        }\r\n      },\r\n      \"xunit.extensibility.execution\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"7e/1jqBpcb7frLkB6XDrHCGXAbKN4Rtdb88epYxCSRQuZDRW8UtTfdTEVpdTl8s4T56e07hOBVd4G0OdCxIY2A==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\",\r\n          \"xunit.extensibility.core\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Features\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1, )\",\r\n          \"System.Memory\": \"[4.5.5, )\",\r\n          \"System.Net.Http\": \"[4.3.4, )\",\r\n          \"System.Text.RegularExpressions\": \"[4.3.1, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.FSharp\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"FSharp.Compiler.Service\": \"[43.8.300, )\",\r\n          \"FSharp.Core\": \"[8.0.300, )\",\r\n          \"Microsoft.Build.Utilities.Core\": \"[17.12.6, )\",\r\n          \"Microsoft.IO.RecyclableMemoryStream\": \"[2.2.0, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Testing\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\",\r\n          \"Newtonsoft.Json\": \"[13.0.3, )\",\r\n          \"System.Buffers\": \"[4.5.1, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.VisualBasic\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Features\": \"[3.3.1, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Tests.Roslyn411/Tests.Roslyn411.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\r\n  <PropertyGroup>\r\n    <TargetFramework>net7.0</TargetFramework>\r\n    <IsPackable>false</IsPackable>\r\n    <AssemblyName>MirrorSharp.Tests.Roslyn411</AssemblyName>\r\n    <RootNamespace>MirrorSharp.Tests</RootNamespace>\r\n    <IsPackable>false</IsPackable>\r\n    <NoWarn>VSTHRD200; RS1035</NoWarn>\r\n    <EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>\r\n  </PropertyGroup>\r\n\r\n  <ItemGroup>\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis\" Version=\"4.11.0\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.CSharp.Features\" Version=\"4.11.0\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.VisualBasic.Features\" Version=\"4.11.0\" />\r\n    <PackageReference Include=\"Microsoft.NET.Test.Sdk\" Version=\"16.2.0\" />\r\n    <PackageReference Include=\"SourceMock\" Version=\"0.10.0\" />\r\n    <!-- Avoids vulnerability in version referenced by Microsoft.CodeAnalysis.Features -->\r\n    <PackageReference Include=\"System.Text.Json\" Version=\"9.0.0\" />\r\n    <PackageReference Include=\"xunit\" Version=\"2.4.1\" />\r\n    <PackageReference Include=\"xunit.runner.visualstudio\" Version=\"2.4.0\" />\r\n    <PackageReference Include=\"coverlet.collector\" Version=\"1.0.1\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <ProjectReference Include=\"..\\Common\\Common.csproj\" />\r\n    <ProjectReference Include=\"..\\FSharp\\FSharp.csproj\" />\r\n    <ProjectReference Include=\"..\\Testing\\Testing.csproj\" />\r\n    <ProjectReference Include=\"..\\VisualBasic\\VisualBasic.csproj\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <Compile Include=\"../Tests/**/*.cs\" Exclude=\"../Tests/obj/**; ../Tests/Php*.cs; ../Tests/FSharp/*.cs\" />\r\n  </ItemGroup>\r\n\r\n  <Target Name=\"CopySdkReferenceAssemblies\" AfterTargets=\"ResolveReferences\">\r\n    <ItemGroup>\r\n      <Content Include=\"@(Reference->'%(RootDir)%(Directory)%(Filename)%(Extension)')\"\r\n               Link=\"@(Reference->'ref-assemblies\\%(Filename)%(Extension)')\"\r\n               Condition=\"$([System.String]::new('%(Filename)').StartsWith('System')) or '%(Filename)' == 'netstandard'\">\r\n        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\r\n      </Content>\r\n      <Content Include=\"@(Reference->'%(RootDir)%(Directory)%(Filename).xml')\"\r\n               Link=\"@(Reference->'ref-assemblies\\%(Filename).xml')\"\r\n               Condition=\"($([System.String]::new('%(Filename)').StartsWith('System')) or '%(Filename)' == 'netstandard')\r\n                          and Exists('%(RootDir)%(Directory)%(Filename).xml')\">\r\n        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\r\n      </Content>\r\n    </ItemGroup>\r\n  </Target>\r\n</Project>"
  },
  {
    "path": "Tests.Roslyn411/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \"net7.0\": {\r\n      \"coverlet.collector\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[1.0.1, )\",\r\n        \"resolved\": \"1.0.1\",\r\n        \"contentHash\": \"RAuno8s7DBGo2IdV/1d8YSnXMd/728K3PBT5R6/kfGx1yunBZmavlaFQfhGe7Q7N2nUMkvVET+7ITn3+KSg+Uw==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.11.0, )\",\r\n        \"resolved\": \"4.11.0\",\r\n        \"contentHash\": \"liYhSvQO+cFgshRdrL1CVXwrTd7oP5PnYyE6hfwosv9zmnxszFIgI3ysWG9wXt3iLL1mvdWhtciuiQqZAgTbZQ==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"8.0.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.11.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.11.0]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.11.0, )\",\r\n        \"resolved\": \"4.11.0\",\r\n        \"contentHash\": \"R7zl0ONqKgy0qlmrd52h5x3Dn6m0/UsijIvBwGt5jQBF0bZhb4TgNqIdoAawhzRXrRMVyIKqLfSrcpmA3Pjbaw==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.3.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.11.0]\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.11.0]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.11.0]\",\r\n          \"Microsoft.CodeAnalysis.Elfie\": \"1.0.0\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[4.11.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.11.0]\",\r\n          \"Microsoft.DiaSymReader\": \"2.0.0\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.Configuration.ConfigurationManager\": \"8.0.0\",\r\n          \"System.Diagnostics.EventLog\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\",\r\n          \"System.Text.Encodings.Web\": \"8.0.0\",\r\n          \"System.Text.Json\": \"8.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.11.0, )\",\r\n        \"resolved\": \"4.11.0\",\r\n        \"contentHash\": \"ANUQAb+RDiGXIn3hBEUgIc8Mq21s89YoC5kbYTp4+8ytAAroHgdDkKUMuuLw7MxXAOuPBN4itugiR9FVRzds0g==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.3.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Elfie\": \"1.0.0\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[4.11.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.11.0]\",\r\n          \"Microsoft.DiaSymReader\": \"2.0.0\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.Configuration.ConfigurationManager\": \"8.0.0\",\r\n          \"System.Diagnostics.EventLog\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\",\r\n          \"System.Text.Encodings.Web\": \"8.0.0\",\r\n          \"System.Text.Json\": \"8.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.NET.Test.Sdk\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[16.2.0, )\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"56w1drIQqpMgg3IxHcfra/jXOngiD4pbl0j6TNeJMlOQGlZ8wCMlyRTvn6Crd/FgGjwKbWLurdOHNGrfzLtl6A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeCoverage\": \"16.2.0\",\r\n          \"Microsoft.TestPlatform.TestHost\": \"16.2.0\"\r\n        }\r\n      },\r\n      \"SourceMock\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.10.0, )\",\r\n        \"resolved\": \"0.10.0\",\r\n        \"contentHash\": \"Dd/YMTTRZSDR34HgVEgfMoZfOTId3Ns0vehFcdLVwMuKLgMcg7/4Oj80qX112np9siR2C4vL3qfT1I9ahzxu9Q==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.Json\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[9.0.0, )\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"js7+qAu/9mQvnhA4EfGMZNEzXtJCDxgkgj8ohuxq/Qxv+R56G+ljefhiJHOxTNiw54q8vmABCWUwkMulNdlZ4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"9.0.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.IO.Pipelines\": \"9.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encodings.Web\": \"9.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"xunit\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.4.1, )\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"XNR3Yz9QTtec16O0aKcO6+baVNpXmOnPUxDkCY97J+8krUYxPvXT1szYYEUdKk4sB8GOI2YbAjRIOm8ZnXRfzQ==\",\r\n        \"dependencies\": {\r\n          \"xunit.analyzers\": \"0.10.0\",\r\n          \"xunit.assert\": \"[2.4.1]\",\r\n          \"xunit.core\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"xunit.runner.visualstudio\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.4.0, )\",\r\n        \"resolved\": \"2.4.0\",\r\n        \"contentHash\": \"3eq5cGXbEJkqW9nwLuXwtxy9B5gMA8i7HW4rN63AhAvy5UvEcQbZnve23wx/oPrkyg/4CbfNhxkBezS0b1oUdQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NET.Test.Sdk\": \"15.0.0\"\r\n        }\r\n      },\r\n      \"FSharp.Compiler.Service\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"43.8.300\",\r\n        \"contentHash\": \"CoPjQYXXwmYkkHm+yxBHSW9IJVLpvwkKGEzXa5A6ebf8v6GfYaxZc5G+VHojDr586oezp1elFemu+A1WWH095A==\",\r\n        \"dependencies\": {\r\n          \"FSharp.Core\": \"[8.0.300]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"7.0.2\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Reflection.Emit\": \"4.7.0\",\r\n          \"System.Reflection.Metadata\": \"7.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"FSharp.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.300\",\r\n        \"contentHash\": \"Jv44fV7TNglyMku89lQcA4Q6mFKLyHb2bs1Yb72nvSVc+cHplEnoZ4XQUaaTLJGUTx/iMqcrkYGtaLzkkIhpaA==\"\r\n      },\r\n      \"Humanizer.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.14.1\",\r\n        \"contentHash\": \"lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==\"\r\n      },\r\n      \"Microsoft.Bcl.AsyncInterfaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"owmu2Cr3IQ8yQiBleBHlGk8dSQ12oaF2e7TpzwJKEl4m84kkZJjEY1n33L67Y3zM5jPOjmmbdHjbfiL0RqcMRQ==\"\r\n      },\r\n      \"Microsoft.Build.Framework\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"jleteC0seumLGTmTVwob97lcwPj/dfgzL/V3g/VVcMZgo2Ic7jzdy8AYpByPDh8e3uRq0SjCl6HOFCjhy5GzRQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Build.Utilities.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"pU3GnHcXp8VRMGKxdJCq+tixfhFn+QwEbpqmZmc/nqFHFyuhlGwjonWZMIWcwuCv/8EHgxoOttFvna1vrN+RrA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Build.Framework\": \"17.12.6\",\r\n          \"Microsoft.NET.StringTools\": \"17.12.6\",\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Configuration.ConfigurationManager\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.4\",\r\n        \"contentHash\": \"AxkxcPR+rheX0SmvpLVIGLhOUXAKG56a64kV9VQZ4y9gR9ZmPXnqZvHJnmwLSwzrEP6junUF11vuc+aqo5r68g==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.AnalyzerUtilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"gyQ70pJ4T7hu/s0+QnEaXtYfeG/JrttGnxHJlrhpxsQjRIUGuRhVwNBtkHHYOrUAZ/l47L98/NiJX6QmTwAyrg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.11.0\",\r\n        \"contentHash\": \"djf8ujmqYImFgB04UGtcsEhHrzVqzHowS+EEl/Yunc5LdrYrZhGBWUTXoCF0NzYXJxtfuD+UVQarWpvrNc94Qg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.11.0\",\r\n        \"contentHash\": \"6XYi2EusI8JT4y2l/F3VVVS+ISoIX9nqHsZRaG6W5aFeJ5BEuBosHfT/ABb73FN0RZ1Z3cj2j7cL28SToJPXOw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.11.0]\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.11.0\",\r\n        \"contentHash\": \"/oRJPIMvzOfiunIegSF6FEa4VvBAUSXlbLDKxyzXuOZN9nLHg3fHuX6Mr9JZLNIupbe2xqQZEmfsPxgB01vCmg==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.11.0]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.11.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.11.0]\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Elfie\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.0\",\r\n        \"contentHash\": \"r12elUp4MRjdnRfxEP+xqVSUUfG3yIJTBEJGwbfvF5oU4m0jb9HC0gFG28V/dAkYGMkRmHVi3qvrnBLQSw9X3Q==\",\r\n        \"dependencies\": {\r\n          \"System.Configuration.ConfigurationManager\": \"4.5.0\",\r\n          \"System.Data.DataSetExtensions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.11.0\",\r\n        \"contentHash\": \"9NHLy1xke8/HvxupBJlvZB0PT8TYQA1jp7SlwO9I8a3L3pt/FUsziR6ePCe7W0T5A10j/C4WmS+GQJytuCgU4g==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.3.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.11.0]\",\r\n          \"Microsoft.CodeAnalysis.Elfie\": \"1.0.0\",\r\n          \"Microsoft.CodeAnalysis.Scripting.Common\": \"[4.11.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.11.0]\",\r\n          \"Microsoft.DiaSymReader\": \"2.0.0\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.Configuration.ConfigurationManager\": \"8.0.0\",\r\n          \"System.Diagnostics.EventLog\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\",\r\n          \"System.Text.Encodings.Web\": \"8.0.0\",\r\n          \"System.Text.Json\": \"8.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Scripting.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.11.0\",\r\n        \"contentHash\": \"UHZIAKQcLB00N7AvMoyEYLw8qvFmGcKffEm/M2dEqYz2TWUtQW2j0+nGglbt9VwOId6TrDZGQlGjX90VNFak/w==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.11.0]\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.11.0\",\r\n        \"contentHash\": \"1ypssIzZvsDtzyN8tFqZdKS8cl7MAQQ6eBjHGCJ9paLNlmnBd2kCo1GRr8kO0yWaFN/Io2JXaTeeHRDZLiKKyw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.11.0]\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.11.0\",\r\n        \"contentHash\": \"mXpuVE6TW+YbXbErkNFCy0iH5OY3HOva+CUpGxOJcLXol9/vevigR1FtC9lOl7fFB55r+T+lG/WAXd5nLsiDGg==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.11.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[4.11.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.11.0]\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.11.0\",\r\n        \"contentHash\": \"UtwEt42V7/LnvAcschSlmUXRLEj0poX1H7QeFbY5bezcS+tJBCssAq8C7GfisgIA0qZPo2xzOrwKGBbg51CetA==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.11.0]\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeCoverage\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"fKiUOhhMP3IN1qM2tDHPWzW4JRbriFkIPiIzKUwMWT+Q+80bycxkLLCvxmVFoeA7gvWegNbTUjaX7mL3MM9XKg==\"\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.0\",\r\n        \"contentHash\": \"QcZrCETsBJqy/vQpFtJc+jSXQ0K5sucQ6NUFbTNVHD4vfZZOwjZ/3sBzczkC4DityhD3AVO/+K/+9ioLs1AgRA==\"\r\n      },\r\n      \"Microsoft.IO.RecyclableMemoryStream\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.2.0\",\r\n        \"contentHash\": \"uyjY/cqomw1irT4L7lDeg4sJ36MsjHg3wKqpGrBAdzvZaxo85yMF+sAA9RIzTV92fDxuUzjqksMqA0+SNMkMgA==\"\r\n      },\r\n      \"Microsoft.NET.StringTools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"w8Ehofqte5bJoR+Fa3f6JwkwFEkGtXxqvQHGOVOSHDzgNVySvL5FSNhavbQSZ864el9c3rjdLPLAtBW8dq6fmg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==\"\r\n      },\r\n      \"Microsoft.NETCore.Targets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.3\",\r\n        \"contentHash\": \"3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==\"\r\n      },\r\n      \"Microsoft.TestPlatform.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"RAyBf87uZ5XjRE953LlxqILpD1SqwQM6bXwxPUCAPPEy0uv12R+eKnFL7yaeLVHInMKkNNh1iD/cDOVDfSgllA==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.0\",\r\n          \"System.ComponentModel.EventBasedAsync\": \"4.0.11\",\r\n          \"System.ComponentModel.TypeConverter\": \"4.1.0\",\r\n          \"System.Diagnostics.Process\": \"4.1.0\",\r\n          \"System.Diagnostics.TextWriterTraceListener\": \"4.0.0\",\r\n          \"System.Diagnostics.TraceSource\": \"4.0.0\",\r\n          \"System.Reflection.Metadata\": \"1.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.0.0\",\r\n          \"System.Runtime.Loader\": \"4.0.0\",\r\n          \"System.Runtime.Serialization.Json\": \"4.0.2\",\r\n          \"System.Runtime.Serialization.Primitives\": \"4.1.1\",\r\n          \"System.Threading.Thread\": \"4.0.0\",\r\n          \"System.Xml.XPath.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"Microsoft.TestPlatform.TestHost\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"PogSQ40KgkZjEBdC6KBGpMtuvFFCIdoJAMmK7CAHWyTXCfN1cPN8j0TFJKh+LneSg+y0QQDP23STMF609KhHQw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.TestPlatform.ObjectModel\": \"16.2.0\",\r\n          \"Newtonsoft.Json\": \"9.0.1\"\r\n        }\r\n      },\r\n      \"Microsoft.Win32.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Win32.Registry\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"5.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.1\",\r\n        \"contentHash\": \"WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.Win32.Primitives\": \"4.3.0\",\r\n          \"System.AppContext\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Console\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.Compression.ZipFile\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Net.Http\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Net.Sockets\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Timer\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\",\r\n          \"System.Xml.XDocument\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Newtonsoft.Json\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"13.0.3\",\r\n        \"contentHash\": \"HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==\"\r\n      },\r\n      \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==\"\r\n      },\r\n      \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==\"\r\n      },\r\n      \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==\"\r\n      },\r\n      \"runtime.native.System\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==\",\r\n        \"dependencies\": {\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==\",\r\n        \"dependencies\": {\r\n          \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==\"\r\n      },\r\n      \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==\"\r\n      },\r\n      \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==\"\r\n      },\r\n      \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==\"\r\n      },\r\n      \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==\"\r\n      },\r\n      \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==\"\r\n      },\r\n      \"System.AppContext\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Concurrent\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg==\"\r\n      },\r\n      \"System.Collections.NonGeneric\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"hMxFT2RhhlffyCdKLDXjx8WEC5JfCvNozAZxCablAuFRH74SCV4AgzE8yJCh/73bFnEoZgJ9MJmkjQ0dJmnKqA==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Collections.Specialized\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"/HKQyVP0yH1I0YtK7KJL/28snxHNH/bi+0lgk/+MbURF6ULhAE31MDI+NZDerNWu264YbxklXCCygISgm+HMug==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.NonGeneric\": \"4.0.1\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Globalization.Extensions\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.ComponentModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"oBZFnm7seFiVfugsIyOvQCWobNZs7FzqDV/B7tx20Ep/l3UUFCPDkdTnCNaJZTU27zjeODmy2C/cP60u3D4c9w==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.EventBasedAsync\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.11\",\r\n        \"contentHash\": \"Z7SO6vvQIR84daPE4uhaNdef9CjgjDMGYkas8epUhf0U3WGuaGgZ0Mm4QuNycMdbHUY8KEdZrtgxonkAiJaAlA==\",\r\n        \"dependencies\": {\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"sc/7eVCdxPrp3ljpgTKVaQGUXiW05phNWvtv/m2kocXqrUQvTVWKou1Edas2aDjTThLPZOxPYIGNb/HN0QjURg==\",\r\n        \"dependencies\": {\r\n          \"System.ComponentModel\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.TypeConverter\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"MnDAlaeJZy9pdB5ZdOlwdxfpI+LJQ6e0hmH7d2+y2LkiD8DRJynyDYl4Xxf3fWFm7SbEwBZh4elcfzONQLOoQw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Collections.NonGeneric\": \"4.0.1\",\r\n          \"System.Collections.Specialized\": \"4.0.1\",\r\n          \"System.ComponentModel\": \"4.0.1\",\r\n          \"System.ComponentModel.Primitives\": \"4.1.0\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"E9oO9olNNxA39J8CxQwf7ceIPm+j/B/PhYpyK9M4LhN/OLLRw6u5fNInkhVqaWueMB9iXxYqnwqwgz+W91loIA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"8.0.0\",\r\n          \"System.Composition.Convention\": \"8.0.0\",\r\n          \"System.Composition.Hosting\": \"8.0.0\",\r\n          \"System.Composition.Runtime\": \"8.0.0\",\r\n          \"System.Composition.TypedParts\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"NyElSuvmBMYdn2iPG0n29i7Igu0bq99izOP3MAtEwskY3OP9jqsavvVmPn9lesVaj/KT/o/QkNjA43dOJTsDQw==\"\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"UuVkc1B3vQU/LzEbWLMZ1aYVssv4rpShzf8wPEyrUqoGNqdYKREmB8bXR73heOMKkwS6ZnPz3PjGODT2MenukQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"qwbONqoxlazxcbiohvb3t1JWZgKIKcRdXS5uEeLbo5wtuBupIbAvdC3PYTAeBCZrZeERvrtAbhYHuuS43Zr1bQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.Runtime\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"G+kRyB5/6+3ucRRQz+DF4uSHGqpkK8Q4ilVdbt4zvxpmvLVZNmSkyFAQpJLcbOyVF85aomJx0m+TGMDVlwx7ZQ==\"\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"DsSklhuA+Dsgo3ZZrar8hjBFvq1wa1grrkNCTt+6SoX3vq0Vy+HXJnVXrU/nNH1BjlGH684A7h4hJQHZd/u5mA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"8.0.0\",\r\n          \"System.Composition.Hosting\": \"8.0.0\",\r\n          \"System.Composition.Runtime\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Configuration.ConfigurationManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.EventLog\": \"8.0.0\",\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Console\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Data.DataSetExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"221clPs1445HkTBZPL+K9sDBdJRB8UN8rgjO3ztB0CQ26z//fmJXtlsr6whGatscsKGBrhJl5bwJuKSA8mwFOw==\"\r\n      },\r\n      \"System.Diagnostics.Debug\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.DiagnosticSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.2\",\r\n        \"contentHash\": \"hYr3I9N9811e0Bjf2WNwAGGyTuAFbbTgX1RPLt/3Wbm68x3IGcX5Cl75CMmgT6WlNwLQ2tCCWfqYPpypjaf2xA==\"\r\n      },\r\n      \"System.Diagnostics.EventLog\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"fdYxcRjQqTTacKId/2IECojlDSFvp7LP5N78+0z/xH7v/Tuw5ZAxu23Y6PTCRinqyu2ePx+Gn1098NC6jM6d+A==\"\r\n      },\r\n      \"System.Diagnostics.Process\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"mpVZ5bnlSs3tTeJ6jYyDJEIa6tavhAd88lxq1zbYhkkCu0Pno2+gHXcvZcoygq2d8JxW3gojXqNJMTAshduqZA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.0.1\",\r\n          \"Microsoft.Win32.Primitives\": \"4.0.1\",\r\n          \"Microsoft.Win32.Registry\": \"4.0.0\",\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.IO.FileSystem\": \"4.0.1\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Runtime.Handles\": \"4.0.1\",\r\n          \"System.Runtime.InteropServices\": \"4.1.0\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Text.Encoding.Extensions\": \"4.0.11\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\",\r\n          \"System.Threading.Thread\": \"4.0.0\",\r\n          \"System.Threading.ThreadPool\": \"4.0.10\",\r\n          \"runtime.native.System\": \"4.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.TextWriterTraceListener\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"w36Dr8yKy8xP150qPANe7Td+/zOI3G62ImRcHDIEW+oUXUuTKZHd4DHmqRx5+x8RXd85v3tXd1uhNTfsr+yxjA==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.TraceSource\": \"4.0.0\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.TraceSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"6WVCczFZKXwpWpzd/iJkYnsmWTSFFiU24Xx/YdHXBcu+nFI/ehTgeqdJQFbtRPzbrO3KtRNjvkhtj4t5/WwWsA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.0.1\",\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"runtime.native.System\": \"4.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tracing\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Calendars\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.IO.Compression\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression.ZipFile\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Pipelines\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"eA3cinogwaNB4jdjQHOP3Z3EuyiDII7MT35jgtnsA4vkn0LUrrSHsU0nzHTzFzmaFYeKV7MYyMxOocFzsBHpTw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Linq\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq.Expressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\"\r\n      },\r\n      \"System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.4\",\r\n        \"contentHash\": \"aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Extensions\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"System.Net.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Net.Sockets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Numerics.Vectors\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==\"\r\n      },\r\n      \"System.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Private.DataContractSerialization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.1\",\r\n        \"contentHash\": \"lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Collections.Concurrent\": \"4.0.12\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.0.1\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.0.1\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Runtime.Serialization.Primitives\": \"4.1.1\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Text.Encoding.Extensions\": \"4.0.11\",\r\n          \"System.Text.RegularExpressions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\",\r\n          \"System.Xml.XmlSerializer\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Reflection\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"VR4kk8XLKebQ4MZuKuIni/7oh+QGFmZW3qORd1GvBq/8026OpW501SzT/oypwiQl4TvT8ErnReh/NzY9u+C6wQ==\"\r\n      },\r\n      \"System.Reflection.Emit.ILGeneration\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.Lightweight\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"ptvgrFh7PvWI8bcVqG5rsA/weWM09EnthFHR5SCnS6IN+P4mj6rE1lBDC4U8HL9/57htKAqy4KQ3bBj84cfYyQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.TypeExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Resources.ResourceManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.3\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==\"\r\n      },\r\n      \"System.Runtime.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Handles\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices.RuntimeInformation\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Loader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"4UN78GOVU/mbDFcXkEWtetJT/sJ0yic2gGk1HSlSpWI0TDf421xnrZTDZnwNBapk1GQeYN7U1lTj/aQB1by6ow==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Numerics\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==\",\r\n        \"dependencies\": {\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Serialization.Json\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.2\",\r\n        \"contentHash\": \"+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Private.DataContractSerialization\": \"4.1.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Serialization.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.1\",\r\n        \"contentHash\": \"HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==\",\r\n        \"dependencies\": {\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Security.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"5.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Algorithms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Cng\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Csp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.ProtectedData\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg==\"\r\n      },\r\n      \"System.Security.Cryptography.X509Certificates\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Cng\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Csp\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Principal.Windows\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==\"\r\n      },\r\n      \"System.Text.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"LSyCblMpvOe0N3E+8e0skHcrIhgV2huaNcjUUEa8hRtgEAm36aGkRoC8Jxlb6Ra6GSfF29ftduPNywin8XolzQ==\"\r\n      },\r\n      \"System.Text.Encoding.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encodings.Web\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"e2hMgAErLbKyUUwt18qSBf9T5Y+SFAL3ZedM8fLupkVj8Rj2PZ9oxQ37XX2LF8fTO1wNIxvKpihD7Of7D/NxZw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.RegularExpressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"N0kNRrWe4+nXOWlpLT4LAY5brb8caNFlUuIRpraCVMDLYutKkol1aV079rQjLuSxKMJT2SpBQsYX9xbcTMmzwg==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.1\"\r\n        }\r\n      },\r\n      \"System.Threading\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Channels\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"qmeeYNROMsONF6ndEZcIQ+VxR4Q/TX/7uIVLJqtwIWL7dDWeh0l1UIqgo4wYyjG//5lUNhwkLDSFl+pAWO6oiA==\"\r\n      },\r\n      \"System.Threading.Tasks\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.4\",\r\n        \"contentHash\": \"zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==\"\r\n      },\r\n      \"System.Threading.Thread\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Threading.ThreadPool\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.10\",\r\n        \"contentHash\": \"IMXgB5Vf/5Qw1kpoVgJMOvUO1l32aC+qC3OaIZjWJOjvcxuxNWOK2ZTWWYXfij22NHxT2j1yWX5vlAeQWld9vA==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Handles\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"System.Threading.Timer\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.ReaderWriter\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XmlDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"2eZu6IP+etFVBBFUFzw2w6J21DqIN5eL9Y8r8JfJWUmV28Z5P0SNU01oCisVHQgHsDhHPnmq2s1hJrJCFZWloQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Xml.XmlSerializer\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.11\",\r\n        \"contentHash\": \"FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Emit\": \"4.0.1\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.0.1\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Text.RegularExpressions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"System.Xml.XPath\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"UWd1H+1IJ9Wlq5nognZ/XJdyj8qPE4XufBUkAW59ijsCPjZkZe0MUzKKJFBr+ZWBe5Wq1u1d5f2CYgE93uH7DA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Xml.XPath.XmlDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"Zm2BdeanuncYs3NhCj4c9e1x3EXFzFBVv2wPEc/Dj4ZbI9R8ecLSR5frAsx4zJCPBtKQreQ7Q/KxJEohJZbfzA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XPath\": \"4.0.1\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"xunit.abstractions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==\"\r\n      },\r\n      \"xunit.analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.10.0\",\r\n        \"contentHash\": \"4/IDFCJfIeg6bix9apmUtIMwvOsiwqdEexeO/R2D4GReIGPLIRODTpId/l4LRSrAJk9lEO3Zx1H0Zx6uohJDNg==\"\r\n      },\r\n      \"xunit.assert\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"O/Oe0BS5RmSsM+LQOb041TzuPo5MdH2Rov+qXGS37X+KFG1Hxz7kopYklM5+1Y+tRGeXrOx5+Xne1RuqLFQoyQ==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"xunit.core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"Zsj5OMU6JasNGERXZy8s72+pcheG6Q15atS5XpZXqAtULuyQiQ6XNnUsp1gyfC6WgqScqMvySiEHmHcOG6Eg0Q==\",\r\n        \"dependencies\": {\r\n          \"xunit.extensibility.core\": \"[2.4.1]\",\r\n          \"xunit.extensibility.execution\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"xunit.extensibility.core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"yKZKm/8QNZnBnGZFD9SewkllHBiK0DThybQD/G4PiAmQjKtEZyHi6ET70QPU9KtSMJGRYS6Syk7EyR2EVDU4Kg==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\",\r\n          \"xunit.abstractions\": \"2.0.3\"\r\n        }\r\n      },\r\n      \"xunit.extensibility.execution\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"7e/1jqBpcb7frLkB6XDrHCGXAbKN4Rtdb88epYxCSRQuZDRW8UtTfdTEVpdTl8s4T56e07hOBVd4G0OdCxIY2A==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\",\r\n          \"xunit.extensibility.core\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Features\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1, )\",\r\n          \"System.Memory\": \"[4.5.5, )\",\r\n          \"System.Net.Http\": \"[4.3.4, )\",\r\n          \"System.Text.RegularExpressions\": \"[4.3.1, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.FSharp\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"FSharp.Compiler.Service\": \"[43.8.300, )\",\r\n          \"FSharp.Core\": \"[8.0.300, )\",\r\n          \"Microsoft.Build.Utilities.Core\": \"[17.12.6, )\",\r\n          \"Microsoft.IO.RecyclableMemoryStream\": \"[2.2.0, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Testing\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\",\r\n          \"Newtonsoft.Json\": \"[13.0.3, )\",\r\n          \"System.Buffers\": \"[4.5.1, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.VisualBasic\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Features\": \"[3.3.1, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Tests.Roslyn44/Tests.Roslyn44.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n  <PropertyGroup>\n    <TargetFramework>netcoreapp3.1</TargetFramework>\n    <IsPackable>false</IsPackable>\n    <AssemblyName>MirrorSharp.Tests.Roslyn44</AssemblyName>\n    <RootNamespace>MirrorSharp.Tests</RootNamespace>\n    <IsPackable>false</IsPackable>\n    <NoWarn>VSTHRD200</NoWarn>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"Microsoft.CodeAnalysis\" Version=\"4.4.0\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis.CSharp.Features\" Version=\"4.4.0\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis.VisualBasic.Features\" Version=\"4.4.0\" />\n    <PackageReference Include=\"Microsoft.NET.Test.Sdk\" Version=\"16.2.0\" />\n    <PackageReference Include=\"SourceMock\" Version=\"0.10.0\" />\n    <!-- Avoids vulnerability in version referenced by Microsoft.CodeAnalysis.Features -->\n    <PackageReference Include=\"System.Text.Json\" Version=\"9.0.0\" />\n    <PackageReference Include=\"xunit\" Version=\"2.4.1\" />\n    <PackageReference Include=\"xunit.runner.visualstudio\" Version=\"2.4.0\" />\n    <PackageReference Include=\"coverlet.collector\" Version=\"1.0.1\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\Common\\Common.csproj\" />\n    <ProjectReference Include=\"..\\FSharp\\FSharp.csproj\" />\n    <ProjectReference Include=\"..\\Testing\\Testing.csproj\" />\n    <ProjectReference Include=\"..\\VisualBasic\\VisualBasic.csproj\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <Compile Include=\"../Tests/**/*.cs\" Exclude=\"../Tests/obj/**; ../Tests/Php*.cs; ../Tests/FSharp/*.cs\" />\n  </ItemGroup>\n\n  <Target Name=\"CopySdkReferenceAssemblies\" AfterTargets=\"ResolveReferences\">\n    <ItemGroup>\n      <Content Include=\"@(Reference->'%(RootDir)%(Directory)%(Filename)%(Extension)')\"\n               Link=\"@(Reference->'ref-assemblies\\%(Filename)%(Extension)')\"\n               Condition=\"$([System.String]::new('%(Filename)').StartsWith('System')) or '%(Filename)' == 'netstandard'\">\n        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n      </Content>\n      <Content Include=\"@(Reference->'%(RootDir)%(Directory)%(Filename).xml')\"\n               Link=\"@(Reference->'ref-assemblies\\%(Filename).xml')\"\n               Condition=\"($([System.String]::new('%(Filename)').StartsWith('System')) or '%(Filename)' == 'netstandard')\n                          and Exists('%(RootDir)%(Directory)%(Filename).xml')\">\n        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n      </Content>\n    </ItemGroup>\n  </Target>\n</Project>"
  },
  {
    "path": "Tests.Roslyn44/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETCoreApp,Version=v3.1\": {\r\n      \"coverlet.collector\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[1.0.1, )\",\r\n        \"resolved\": \"1.0.1\",\r\n        \"contentHash\": \"RAuno8s7DBGo2IdV/1d8YSnXMd/728K3PBT5R6/kfGx1yunBZmavlaFQfhGe7Q7N2nUMkvVET+7ITn3+KSg+Uw==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.4.0, )\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"mXJYgxqyjIy6Zd+1pFMkl0CtIY4coLFAzidr4RGeWW0tjB8nEWpye7h6PtoavRJa6j5KeGXZsqYGvMwqI8dx6Q==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.4.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.4.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.4.0, )\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"Un4XeiWD8Xo4A/Q6Wrkrt9UCas6EaP/ZfQAHXNjde5ULkvliWzvy0/ZlXzlPo6L/Xoon1BWOFMprIQWCjuLq9A==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.4.0]\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.4.0]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.4.0]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[4.4.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.4.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.4.0, )\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"4/qjzH0BG3CnQxKvAL3wWE0eFj9hZnlus7P0NIYltWQfm9ytHrRncgUd4EpcSp+8+x7zlrrxnZiIXSl5bilvZQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.4.0]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[4.4.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[4.4.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.4.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.4.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.NET.Test.Sdk\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[16.2.0, )\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"56w1drIQqpMgg3IxHcfra/jXOngiD4pbl0j6TNeJMlOQGlZ8wCMlyRTvn6Crd/FgGjwKbWLurdOHNGrfzLtl6A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeCoverage\": \"16.2.0\",\r\n          \"Microsoft.TestPlatform.TestHost\": \"16.2.0\"\r\n        }\r\n      },\r\n      \"SourceMock\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.10.0, )\",\r\n        \"resolved\": \"0.10.0\",\r\n        \"contentHash\": \"Dd/YMTTRZSDR34HgVEgfMoZfOTId3Ns0vehFcdLVwMuKLgMcg7/4Oj80qX112np9siR2C4vL3qfT1I9ahzxu9Q==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.Json\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[9.0.0, )\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"js7+qAu/9mQvnhA4EfGMZNEzXtJCDxgkgj8ohuxq/Qxv+R56G+ljefhiJHOxTNiw54q8vmABCWUwkMulNdlZ4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"9.0.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.IO.Pipelines\": \"9.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encodings.Web\": \"9.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"xunit\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.4.1, )\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"XNR3Yz9QTtec16O0aKcO6+baVNpXmOnPUxDkCY97J+8krUYxPvXT1szYYEUdKk4sB8GOI2YbAjRIOm8ZnXRfzQ==\",\r\n        \"dependencies\": {\r\n          \"xunit.analyzers\": \"0.10.0\",\r\n          \"xunit.assert\": \"[2.4.1]\",\r\n          \"xunit.core\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"xunit.runner.visualstudio\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.4.0, )\",\r\n        \"resolved\": \"2.4.0\",\r\n        \"contentHash\": \"3eq5cGXbEJkqW9nwLuXwtxy9B5gMA8i7HW4rN63AhAvy5UvEcQbZnve23wx/oPrkyg/4CbfNhxkBezS0b1oUdQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NET.Test.Sdk\": \"15.0.0\"\r\n        }\r\n      },\r\n      \"FSharp.Compiler.Service\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"43.8.300\",\r\n        \"contentHash\": \"CoPjQYXXwmYkkHm+yxBHSW9IJVLpvwkKGEzXa5A6ebf8v6GfYaxZc5G+VHojDr586oezp1elFemu+A1WWH095A==\",\r\n        \"dependencies\": {\r\n          \"FSharp.Core\": \"[8.0.300]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"7.0.2\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Reflection.Emit\": \"4.7.0\",\r\n          \"System.Reflection.Metadata\": \"7.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"FSharp.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.300\",\r\n        \"contentHash\": \"Jv44fV7TNglyMku89lQcA4Q6mFKLyHb2bs1Yb72nvSVc+cHplEnoZ4XQUaaTLJGUTx/iMqcrkYGtaLzkkIhpaA==\"\r\n      },\r\n      \"Humanizer.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.14.1\",\r\n        \"contentHash\": \"lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==\"\r\n      },\r\n      \"Microsoft.Bcl.AsyncInterfaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"owmu2Cr3IQ8yQiBleBHlGk8dSQ12oaF2e7TpzwJKEl4m84kkZJjEY1n33L67Y3zM5jPOjmmbdHjbfiL0RqcMRQ==\"\r\n      },\r\n      \"Microsoft.Build.Framework\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"jleteC0seumLGTmTVwob97lcwPj/dfgzL/V3g/VVcMZgo2Ic7jzdy8AYpByPDh8e3uRq0SjCl6HOFCjhy5GzRQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Build.Utilities.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"pU3GnHcXp8VRMGKxdJCq+tixfhFn+QwEbpqmZmc/nqFHFyuhlGwjonWZMIWcwuCv/8EHgxoOttFvna1vrN+RrA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Build.Framework\": \"17.12.6\",\r\n          \"Microsoft.NET.StringTools\": \"17.12.6\",\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Configuration.ConfigurationManager\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.3\",\r\n        \"contentHash\": \"j/rOZtLMVJjrfLRlAMckJLPW/1rze9MT1yfWqSIbUPGRu1m1P0fuo9PmqapwsmePfGB5PJrudQLvmUOAMF0DqQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.AnalyzerUtilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"gyQ70pJ4T7hu/s0+QnEaXtYfeG/JrttGnxHJlrhpxsQjRIUGuRhVwNBtkHHYOrUAZ/l47L98/NiJX6QmTwAyrg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"JfHupS/B7Jb5MZoYkFFABn3mux0wQgxi2D8F/rJYZeRBK2ZOyk7TjQ2Kq9rh6W/DCh0KNbbSbn5qoFar+ueHqw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.3\",\r\n          \"System.Collections.Immutable\": \"6.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Reflection.Metadata\": \"5.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"6.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"eD2w0xHRoaqK07hjlOKGR9eLNy3nimiGNeCClNax1NDgS/+DBtBqCjXelOa+TNy99kIB3nHhUqDmr46nDXy/RQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.4.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"ADmI2jcwJP9GgBsVx2l0Bo0v3Hn4hHBg1uJ5zHd230mkO8rUJBLZu2h3tCbpwJMkpAIRtrxuZDD5uNfiyz0Q5Q==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.4.0]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.4.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.4.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Elfie\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.0\",\r\n        \"contentHash\": \"r12elUp4MRjdnRfxEP+xqVSUUfG3yIJTBEJGwbfvF5oU4m0jb9HC0gFG28V/dAkYGMkRmHVi3qvrnBLQSw9X3Q==\",\r\n        \"dependencies\": {\r\n          \"System.Configuration.ConfigurationManager\": \"4.5.0\",\r\n          \"System.Data.DataSetExtensions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"0LEXWpaDlZMl5lOnM872FuBmcDD99qKp4QmmFsMpJjnq7f21KuNchdyuSdh9pdpibl2JfdMWrvA56y5dKc6EPQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.3.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.4.0]\",\r\n          \"Microsoft.CodeAnalysis.Elfie\": \"1.0.0\",\r\n          \"Microsoft.CodeAnalysis.Scripting.Common\": \"[4.4.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.4.0]\",\r\n          \"Microsoft.DiaSymReader\": \"1.4.0\",\r\n          \"System.Text.Json\": \"6.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Scripting.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"RkAwCFJ8LfN7TfbWDejm50nucPxVoG/vDh0qVIoGx1U2FZhaBct72U4lGIACLuYsa0dIlC7Y0ivBemfDHnqWmA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.4.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"+GsWdmbKcjJ9ggduM6+ZI4pMI/2doX+BLbQNEQcF2oytpwzeBgyJpA3FgUWtRGBhPidzaKOj4/BMezlzn0VqxA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.4.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"B+r34TW1GhlbuntW5072Prm2BOk3dvdzg9yEzYmuR7jgMRZqFyypCLjizNTzWb7omEX4OfCWckDFCHH01XK10g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.4.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[4.4.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.4.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"6KzmmTIUU7qInQldcSPaW0nkrO71zlFPhoiabFBhkokEit49rLx4Kr/G3agBchYzirScrXibqgTRQkvx9WcJTw==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"6.0.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.4.0]\",\r\n          \"System.Composition\": \"6.0.0\",\r\n          \"System.IO.Pipelines\": \"6.0.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeCoverage\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"fKiUOhhMP3IN1qM2tDHPWzW4JRbriFkIPiIzKUwMWT+Q+80bycxkLLCvxmVFoeA7gvWegNbTUjaX7mL3MM9XKg==\"\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.4.0\",\r\n        \"contentHash\": \"iLtWq5/W5ePzSraavAFeXAbasE6REDByizTz6M8yQO3e4jf+6pRqPLdNCSvnSfKRVqsF7y/lTVWhqlf89ttweg==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"Microsoft.IO.RecyclableMemoryStream\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.2.0\",\r\n        \"contentHash\": \"uyjY/cqomw1irT4L7lDeg4sJ36MsjHg3wKqpGrBAdzvZaxo85yMF+sAA9RIzTV92fDxuUzjqksMqA0+SNMkMgA==\"\r\n      },\r\n      \"Microsoft.NET.StringTools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"w8Ehofqte5bJoR+Fa3f6JwkwFEkGtXxqvQHGOVOSHDzgNVySvL5FSNhavbQSZ864el9c3rjdLPLAtBW8dq6fmg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==\"\r\n      },\r\n      \"Microsoft.NETCore.Targets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.3\",\r\n        \"contentHash\": \"3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==\"\r\n      },\r\n      \"Microsoft.TestPlatform.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"RAyBf87uZ5XjRE953LlxqILpD1SqwQM6bXwxPUCAPPEy0uv12R+eKnFL7yaeLVHInMKkNNh1iD/cDOVDfSgllA==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.0\",\r\n          \"System.ComponentModel.EventBasedAsync\": \"4.0.11\",\r\n          \"System.ComponentModel.TypeConverter\": \"4.1.0\",\r\n          \"System.Diagnostics.Process\": \"4.1.0\",\r\n          \"System.Diagnostics.TextWriterTraceListener\": \"4.0.0\",\r\n          \"System.Diagnostics.TraceSource\": \"4.0.0\",\r\n          \"System.Reflection.Metadata\": \"1.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.0.0\",\r\n          \"System.Runtime.Loader\": \"4.0.0\",\r\n          \"System.Runtime.Serialization.Json\": \"4.0.2\",\r\n          \"System.Runtime.Serialization.Primitives\": \"4.1.1\",\r\n          \"System.Threading.Thread\": \"4.0.0\",\r\n          \"System.Xml.XPath.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"Microsoft.TestPlatform.TestHost\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"PogSQ40KgkZjEBdC6KBGpMtuvFFCIdoJAMmK7CAHWyTXCfN1cPN8j0TFJKh+LneSg+y0QQDP23STMF609KhHQw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.TestPlatform.ObjectModel\": \"16.2.0\",\r\n          \"Newtonsoft.Json\": \"9.0.1\"\r\n        }\r\n      },\r\n      \"Microsoft.Win32.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Win32.Registry\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"5.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.1\",\r\n        \"contentHash\": \"WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.Win32.Primitives\": \"4.3.0\",\r\n          \"System.AppContext\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Console\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.Compression.ZipFile\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Net.Http\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Net.Sockets\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Timer\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\",\r\n          \"System.Xml.XDocument\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Newtonsoft.Json\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"13.0.3\",\r\n        \"contentHash\": \"HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==\"\r\n      },\r\n      \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==\"\r\n      },\r\n      \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==\"\r\n      },\r\n      \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==\"\r\n      },\r\n      \"runtime.native.System\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==\",\r\n        \"dependencies\": {\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==\",\r\n        \"dependencies\": {\r\n          \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==\"\r\n      },\r\n      \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==\"\r\n      },\r\n      \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==\"\r\n      },\r\n      \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==\"\r\n      },\r\n      \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==\"\r\n      },\r\n      \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==\"\r\n      },\r\n      \"System.AppContext\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Concurrent\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Collections.NonGeneric\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"hMxFT2RhhlffyCdKLDXjx8WEC5JfCvNozAZxCablAuFRH74SCV4AgzE8yJCh/73bFnEoZgJ9MJmkjQ0dJmnKqA==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Collections.Specialized\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"/HKQyVP0yH1I0YtK7KJL/28snxHNH/bi+0lgk/+MbURF6ULhAE31MDI+NZDerNWu264YbxklXCCygISgm+HMug==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.NonGeneric\": \"4.0.1\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Globalization.Extensions\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.ComponentModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"oBZFnm7seFiVfugsIyOvQCWobNZs7FzqDV/B7tx20Ep/l3UUFCPDkdTnCNaJZTU27zjeODmy2C/cP60u3D4c9w==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.EventBasedAsync\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.11\",\r\n        \"contentHash\": \"Z7SO6vvQIR84daPE4uhaNdef9CjgjDMGYkas8epUhf0U3WGuaGgZ0Mm4QuNycMdbHUY8KEdZrtgxonkAiJaAlA==\",\r\n        \"dependencies\": {\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"sc/7eVCdxPrp3ljpgTKVaQGUXiW05phNWvtv/m2kocXqrUQvTVWKou1Edas2aDjTThLPZOxPYIGNb/HN0QjURg==\",\r\n        \"dependencies\": {\r\n          \"System.ComponentModel\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.TypeConverter\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"MnDAlaeJZy9pdB5ZdOlwdxfpI+LJQ6e0hmH7d2+y2LkiD8DRJynyDYl4Xxf3fWFm7SbEwBZh4elcfzONQLOoQw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Collections.NonGeneric\": \"4.0.1\",\r\n          \"System.Collections.Specialized\": \"4.0.1\",\r\n          \"System.ComponentModel\": \"4.0.1\",\r\n          \"System.ComponentModel.Primitives\": \"4.1.0\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"d7wMuKQtfsxUa7S13tITC8n1cQzewuhD5iDjZtK2prwFfKVzdYtgrTHgjaV03Zq7feGQ5gkP85tJJntXwInsJA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"6.0.0\",\r\n          \"System.Composition.Convention\": \"6.0.0\",\r\n          \"System.Composition.Hosting\": \"6.0.0\",\r\n          \"System.Composition.Runtime\": \"6.0.0\",\r\n          \"System.Composition.TypedParts\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"WK1nSDLByK/4VoC7fkNiFuTVEiperuCN/Hyn+VN30R+W2ijO1d0Z2Qm0ScEl9xkSn1G2MyapJi8xpf4R8WRa/w==\"\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"XYi4lPRdu5bM4JVJ3/UIHAiG6V6lWWUlkhB9ab4IOq0FrRsp0F4wTyV4Dj+Ds+efoXJ3qbLqlvaUozDO7OLeXA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"w/wXjj7kvxuHPLdzZ0PAUt++qJl03t7lENmb2Oev0n3zbxyNULbWBlnd5J5WUMMv15kg5o+/TCZFb6lSwfaUUQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.Runtime\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"qkRH/YBaMPTnzxrS5RDk1juvqed4A6HOD/CwRcDGyPpYps1J27waBddiiq1y93jk2ZZ9wuA/kynM+NO0kb3PKg==\"\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"iUR1eHrL8Cwd82neQCJ00MpwNIBs4NZgXzrPqx8NJf/k4+mwBO0XCRmHYJT4OLSwDDqh5nBLJWkz5cROnrGhRA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"6.0.0\",\r\n          \"System.Composition.Hosting\": \"6.0.0\",\r\n          \"System.Composition.Runtime\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Configuration.ConfigurationManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Console\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Data.DataSetExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"221clPs1445HkTBZPL+K9sDBdJRB8UN8rgjO3ztB0CQ26z//fmJXtlsr6whGatscsKGBrhJl5bwJuKSA8mwFOw==\"\r\n      },\r\n      \"System.Diagnostics.Debug\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.DiagnosticSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.2\",\r\n        \"contentHash\": \"hYr3I9N9811e0Bjf2WNwAGGyTuAFbbTgX1RPLt/3Wbm68x3IGcX5Cl75CMmgT6WlNwLQ2tCCWfqYPpypjaf2xA==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Process\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"mpVZ5bnlSs3tTeJ6jYyDJEIa6tavhAd88lxq1zbYhkkCu0Pno2+gHXcvZcoygq2d8JxW3gojXqNJMTAshduqZA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.0.1\",\r\n          \"Microsoft.Win32.Primitives\": \"4.0.1\",\r\n          \"Microsoft.Win32.Registry\": \"4.0.0\",\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.IO.FileSystem\": \"4.0.1\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Runtime.Handles\": \"4.0.1\",\r\n          \"System.Runtime.InteropServices\": \"4.1.0\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Text.Encoding.Extensions\": \"4.0.11\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\",\r\n          \"System.Threading.Thread\": \"4.0.0\",\r\n          \"System.Threading.ThreadPool\": \"4.0.10\",\r\n          \"runtime.native.System\": \"4.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.TextWriterTraceListener\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"w36Dr8yKy8xP150qPANe7Td+/zOI3G62ImRcHDIEW+oUXUuTKZHd4DHmqRx5+x8RXd85v3tXd1uhNTfsr+yxjA==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.TraceSource\": \"4.0.0\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.TraceSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"6WVCczFZKXwpWpzd/iJkYnsmWTSFFiU24Xx/YdHXBcu+nFI/ehTgeqdJQFbtRPzbrO3KtRNjvkhtj4t5/WwWsA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.0.1\",\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"runtime.native.System\": \"4.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tracing\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Calendars\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.IO.Compression\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression.ZipFile\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Pipelines\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"eA3cinogwaNB4jdjQHOP3Z3EuyiDII7MT35jgtnsA4vkn0LUrrSHsU0nzHTzFzmaFYeKV7MYyMxOocFzsBHpTw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Linq\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq.Expressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\"\r\n      },\r\n      \"System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.4\",\r\n        \"contentHash\": \"aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Extensions\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"System.Net.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Net.Sockets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Private.DataContractSerialization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.1\",\r\n        \"contentHash\": \"lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Collections.Concurrent\": \"4.0.12\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.0.1\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.0.1\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Runtime.Serialization.Primitives\": \"4.1.1\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Text.Encoding.Extensions\": \"4.0.11\",\r\n          \"System.Text.RegularExpressions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\",\r\n          \"System.Xml.XmlSerializer\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Reflection\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"VR4kk8XLKebQ4MZuKuIni/7oh+QGFmZW3qORd1GvBq/8026OpW501SzT/oypwiQl4TvT8ErnReh/NzY9u+C6wQ==\"\r\n      },\r\n      \"System.Reflection.Emit.ILGeneration\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.Lightweight\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"MclTG61lsD9sYdpNz9xsKBzjsmsfCtcMZYXz/IUr2zlhaTaABonlr1ESeompTgM+Xk+IwtGYU7/voh3YWB/fWw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Memory\": \"4.5.5\"\r\n        }\r\n      },\r\n      \"System.Reflection.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.TypeExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Resources.ResourceManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.3\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==\"\r\n      },\r\n      \"System.Runtime.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Handles\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices.RuntimeInformation\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Loader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"4UN78GOVU/mbDFcXkEWtetJT/sJ0yic2gGk1HSlSpWI0TDf421xnrZTDZnwNBapk1GQeYN7U1lTj/aQB1by6ow==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Numerics\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==\",\r\n        \"dependencies\": {\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Serialization.Json\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.2\",\r\n        \"contentHash\": \"+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Private.DataContractSerialization\": \"4.1.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Serialization.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.1\",\r\n        \"contentHash\": \"HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==\",\r\n        \"dependencies\": {\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Security.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"5.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Algorithms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Cng\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Csp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.ProtectedData\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.X509Certificates\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Cng\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Csp\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Principal.Windows\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==\"\r\n      },\r\n      \"System.Text.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"LSyCblMpvOe0N3E+8e0skHcrIhgV2huaNcjUUEa8hRtgEAm36aGkRoC8Jxlb6Ra6GSfF29ftduPNywin8XolzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encodings.Web\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"e2hMgAErLbKyUUwt18qSBf9T5Y+SFAL3ZedM8fLupkVj8Rj2PZ9oxQ37XX2LF8fTO1wNIxvKpihD7Of7D/NxZw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.RegularExpressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"N0kNRrWe4+nXOWlpLT4LAY5brb8caNFlUuIRpraCVMDLYutKkol1aV079rQjLuSxKMJT2SpBQsYX9xbcTMmzwg==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.1\"\r\n        }\r\n      },\r\n      \"System.Threading\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.4\",\r\n        \"contentHash\": \"zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==\"\r\n      },\r\n      \"System.Threading.Thread\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Threading.ThreadPool\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.10\",\r\n        \"contentHash\": \"IMXgB5Vf/5Qw1kpoVgJMOvUO1l32aC+qC3OaIZjWJOjvcxuxNWOK2ZTWWYXfij22NHxT2j1yWX5vlAeQWld9vA==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Handles\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"System.Threading.Timer\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.ReaderWriter\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XmlDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"2eZu6IP+etFVBBFUFzw2w6J21DqIN5eL9Y8r8JfJWUmV28Z5P0SNU01oCisVHQgHsDhHPnmq2s1hJrJCFZWloQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Xml.XmlSerializer\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.11\",\r\n        \"contentHash\": \"FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Emit\": \"4.0.1\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.0.1\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Text.RegularExpressions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"System.Xml.XPath\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"UWd1H+1IJ9Wlq5nognZ/XJdyj8qPE4XufBUkAW59ijsCPjZkZe0MUzKKJFBr+ZWBe5Wq1u1d5f2CYgE93uH7DA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Xml.XPath.XmlDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"Zm2BdeanuncYs3NhCj4c9e1x3EXFzFBVv2wPEc/Dj4ZbI9R8ecLSR5frAsx4zJCPBtKQreQ7Q/KxJEohJZbfzA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XPath\": \"4.0.1\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"xunit.abstractions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==\"\r\n      },\r\n      \"xunit.analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.10.0\",\r\n        \"contentHash\": \"4/IDFCJfIeg6bix9apmUtIMwvOsiwqdEexeO/R2D4GReIGPLIRODTpId/l4LRSrAJk9lEO3Zx1H0Zx6uohJDNg==\"\r\n      },\r\n      \"xunit.assert\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"O/Oe0BS5RmSsM+LQOb041TzuPo5MdH2Rov+qXGS37X+KFG1Hxz7kopYklM5+1Y+tRGeXrOx5+Xne1RuqLFQoyQ==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"xunit.core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"Zsj5OMU6JasNGERXZy8s72+pcheG6Q15atS5XpZXqAtULuyQiQ6XNnUsp1gyfC6WgqScqMvySiEHmHcOG6Eg0Q==\",\r\n        \"dependencies\": {\r\n          \"xunit.extensibility.core\": \"[2.4.1]\",\r\n          \"xunit.extensibility.execution\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"xunit.extensibility.core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"yKZKm/8QNZnBnGZFD9SewkllHBiK0DThybQD/G4PiAmQjKtEZyHi6ET70QPU9KtSMJGRYS6Syk7EyR2EVDU4Kg==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\",\r\n          \"xunit.abstractions\": \"2.0.3\"\r\n        }\r\n      },\r\n      \"xunit.extensibility.execution\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"7e/1jqBpcb7frLkB6XDrHCGXAbKN4Rtdb88epYxCSRQuZDRW8UtTfdTEVpdTl8s4T56e07hOBVd4G0OdCxIY2A==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\",\r\n          \"xunit.extensibility.core\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Features\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1, )\",\r\n          \"System.Memory\": \"[4.5.5, )\",\r\n          \"System.Net.Http\": \"[4.3.4, )\",\r\n          \"System.Text.RegularExpressions\": \"[4.3.1, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.FSharp\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"FSharp.Compiler.Service\": \"[43.8.300, )\",\r\n          \"FSharp.Core\": \"[8.0.300, )\",\r\n          \"Microsoft.Build.Utilities.Core\": \"[17.12.6, )\",\r\n          \"Microsoft.IO.RecyclableMemoryStream\": \"[2.2.0, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Testing\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\",\r\n          \"Newtonsoft.Json\": \"[13.0.3, )\",\r\n          \"System.Buffers\": \"[4.5.1, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.VisualBasic\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Features\": \"[3.3.1, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Tests.Roslyn45/Tests.Roslyn45.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n  <PropertyGroup>\n    <TargetFramework>netcoreapp3.1</TargetFramework>\n    <IsPackable>false</IsPackable>\n    <AssemblyName>MirrorSharp.Tests.Roslyn45</AssemblyName>\n    <RootNamespace>MirrorSharp.Tests</RootNamespace>\n    <IsPackable>false</IsPackable>\n    <NoWarn>VSTHRD200</NoWarn>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"Microsoft.CodeAnalysis\" Version=\"4.5.0\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis.CSharp.Features\" Version=\"4.5.0\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis.VisualBasic.Features\" Version=\"4.5.0\" />\n    <PackageReference Include=\"Microsoft.NET.Test.Sdk\" Version=\"16.2.0\" />\n    <PackageReference Include=\"SourceMock\" Version=\"0.10.0\" />\n    <!-- Avoids vulnerability in version referenced by Microsoft.CodeAnalysis.Features -->\n    <PackageReference Include=\"System.Text.Json\" Version=\"9.0.0\" />\n    <PackageReference Include=\"xunit\" Version=\"2.4.1\" />\n    <PackageReference Include=\"xunit.runner.visualstudio\" Version=\"2.4.0\" />\n    <PackageReference Include=\"coverlet.collector\" Version=\"1.0.1\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\Common\\Common.csproj\" />\n    <ProjectReference Include=\"..\\FSharp\\FSharp.csproj\" />\n    <ProjectReference Include=\"..\\Testing\\Testing.csproj\" />\n    <ProjectReference Include=\"..\\VisualBasic\\VisualBasic.csproj\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <Compile Include=\"../Tests/**/*.cs\" Exclude=\"../Tests/obj/**; ../Tests/Php*.cs; ../Tests/FSharp/*.cs\" />\n  </ItemGroup>\n\n  <Target Name=\"CopySdkReferenceAssemblies\" AfterTargets=\"ResolveReferences\">\n    <ItemGroup>\n      <Content Include=\"@(Reference->'%(RootDir)%(Directory)%(Filename)%(Extension)')\"\n               Link=\"@(Reference->'ref-assemblies\\%(Filename)%(Extension)')\"\n               Condition=\"$([System.String]::new('%(Filename)').StartsWith('System')) or '%(Filename)' == 'netstandard'\">\n        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n      </Content>\n      <Content Include=\"@(Reference->'%(RootDir)%(Directory)%(Filename).xml')\"\n               Link=\"@(Reference->'ref-assemblies\\%(Filename).xml')\"\n               Condition=\"($([System.String]::new('%(Filename)').StartsWith('System')) or '%(Filename)' == 'netstandard')\n                          and Exists('%(RootDir)%(Directory)%(Filename).xml')\">\n        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n      </Content>\n    </ItemGroup>\n  </Target>\n</Project>"
  },
  {
    "path": "Tests.Roslyn45/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETCoreApp,Version=v3.1\": {\r\n      \"coverlet.collector\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[1.0.1, )\",\r\n        \"resolved\": \"1.0.1\",\r\n        \"contentHash\": \"RAuno8s7DBGo2IdV/1d8YSnXMd/728K3PBT5R6/kfGx1yunBZmavlaFQfhGe7Q7N2nUMkvVET+7ITn3+KSg+Uw==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.5.0, )\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"UwAroliVgje2/NKkEIWXnF+yoN/LMw1slof+jCflZBTbXUvd9zbKHq1rBvqo4QAwTNl2/oTXUDPNI006V+1luw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.5.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.5.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.5.0, )\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"yKRpeT+WdVm1Cs6+3JUwJByep1t1L+sKyKBjFBWkjB+pkFN4IkXLNH55JQwVo1rOijDGyugCvB0Oop02I4iUcw==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.5.0]\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.5.0]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.5.0]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[4.5.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.5.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.5.0, )\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"hUdEdwbXoWpVqunytd8sDrqFoxanK3AV/nnOTAJ3SkQKtmoQqj9jwqO3GAl8tI44HWpV3IyPvd0fEfBpsORKDw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.5.0]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[4.5.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[4.5.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.5.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.5.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.NET.Test.Sdk\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[16.2.0, )\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"56w1drIQqpMgg3IxHcfra/jXOngiD4pbl0j6TNeJMlOQGlZ8wCMlyRTvn6Crd/FgGjwKbWLurdOHNGrfzLtl6A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeCoverage\": \"16.2.0\",\r\n          \"Microsoft.TestPlatform.TestHost\": \"16.2.0\"\r\n        }\r\n      },\r\n      \"SourceMock\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.10.0, )\",\r\n        \"resolved\": \"0.10.0\",\r\n        \"contentHash\": \"Dd/YMTTRZSDR34HgVEgfMoZfOTId3Ns0vehFcdLVwMuKLgMcg7/4Oj80qX112np9siR2C4vL3qfT1I9ahzxu9Q==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.Json\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[9.0.0, )\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"js7+qAu/9mQvnhA4EfGMZNEzXtJCDxgkgj8ohuxq/Qxv+R56G+ljefhiJHOxTNiw54q8vmABCWUwkMulNdlZ4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"9.0.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.IO.Pipelines\": \"9.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encodings.Web\": \"9.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"xunit\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.4.1, )\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"XNR3Yz9QTtec16O0aKcO6+baVNpXmOnPUxDkCY97J+8krUYxPvXT1szYYEUdKk4sB8GOI2YbAjRIOm8ZnXRfzQ==\",\r\n        \"dependencies\": {\r\n          \"xunit.analyzers\": \"0.10.0\",\r\n          \"xunit.assert\": \"[2.4.1]\",\r\n          \"xunit.core\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"xunit.runner.visualstudio\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.4.0, )\",\r\n        \"resolved\": \"2.4.0\",\r\n        \"contentHash\": \"3eq5cGXbEJkqW9nwLuXwtxy9B5gMA8i7HW4rN63AhAvy5UvEcQbZnve23wx/oPrkyg/4CbfNhxkBezS0b1oUdQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NET.Test.Sdk\": \"15.0.0\"\r\n        }\r\n      },\r\n      \"FSharp.Compiler.Service\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"43.8.300\",\r\n        \"contentHash\": \"CoPjQYXXwmYkkHm+yxBHSW9IJVLpvwkKGEzXa5A6ebf8v6GfYaxZc5G+VHojDr586oezp1elFemu+A1WWH095A==\",\r\n        \"dependencies\": {\r\n          \"FSharp.Core\": \"[8.0.300]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"7.0.2\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Reflection.Emit\": \"4.7.0\",\r\n          \"System.Reflection.Metadata\": \"7.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"FSharp.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.300\",\r\n        \"contentHash\": \"Jv44fV7TNglyMku89lQcA4Q6mFKLyHb2bs1Yb72nvSVc+cHplEnoZ4XQUaaTLJGUTx/iMqcrkYGtaLzkkIhpaA==\"\r\n      },\r\n      \"Humanizer.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.14.1\",\r\n        \"contentHash\": \"lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==\"\r\n      },\r\n      \"Microsoft.Bcl.AsyncInterfaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"owmu2Cr3IQ8yQiBleBHlGk8dSQ12oaF2e7TpzwJKEl4m84kkZJjEY1n33L67Y3zM5jPOjmmbdHjbfiL0RqcMRQ==\"\r\n      },\r\n      \"Microsoft.Build.Framework\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"jleteC0seumLGTmTVwob97lcwPj/dfgzL/V3g/VVcMZgo2Ic7jzdy8AYpByPDh8e3uRq0SjCl6HOFCjhy5GzRQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Build.Utilities.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"pU3GnHcXp8VRMGKxdJCq+tixfhFn+QwEbpqmZmc/nqFHFyuhlGwjonWZMIWcwuCv/8EHgxoOttFvna1vrN+RrA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Build.Framework\": \"17.12.6\",\r\n          \"Microsoft.NET.StringTools\": \"17.12.6\",\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Configuration.ConfigurationManager\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.3\",\r\n        \"contentHash\": \"j/rOZtLMVJjrfLRlAMckJLPW/1rze9MT1yfWqSIbUPGRu1m1P0fuo9PmqapwsmePfGB5PJrudQLvmUOAMF0DqQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.AnalyzerUtilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"gyQ70pJ4T7hu/s0+QnEaXtYfeG/JrttGnxHJlrhpxsQjRIUGuRhVwNBtkHHYOrUAZ/l47L98/NiJX6QmTwAyrg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"lwAbIZNdnY0SUNoDmZHkVUwLO8UyNnyyh1t/4XsbFxi4Ounb3xszIYZaWhyj5ZjyfcwqwmtMbE7fUTVCqQEIdQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.3\",\r\n          \"System.Collections.Immutable\": \"6.0.0\",\r\n          \"System.Reflection.Metadata\": \"6.0.1\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"cM59oMKAOxvdv76bdmaKPy5hfj+oR+zxikWoueEB7CwTko7mt9sVKZI8Qxlov0C/LuKEG+WQwifepqL3vuTiBQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.5.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"h74wTpmGOp4yS4hj+EvNzEiPgg/KVs2wmSfTZ81upJZOtPkJsVkgfsgtxxqmAeapjT/vLKfmYV0bS8n5MNVP+g==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.5.0]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.5.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.5.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Elfie\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.0\",\r\n        \"contentHash\": \"r12elUp4MRjdnRfxEP+xqVSUUfG3yIJTBEJGwbfvF5oU4m0jb9HC0gFG28V/dAkYGMkRmHVi3qvrnBLQSw9X3Q==\",\r\n        \"dependencies\": {\r\n          \"System.Configuration.ConfigurationManager\": \"4.5.0\",\r\n          \"System.Data.DataSetExtensions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"L6NaZz/qTt3htWKyG2tnsBVhSG7MBcUwwjzYzainprX3V3SUTlOuNuliQhC0y8ggj1mF8rkhqVgtPTS/5nLc2w==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.3.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.5.0]\",\r\n          \"Microsoft.CodeAnalysis.Elfie\": \"1.0.0\",\r\n          \"Microsoft.CodeAnalysis.Scripting.Common\": \"[4.5.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.5.0]\",\r\n          \"Microsoft.DiaSymReader\": \"1.4.0\",\r\n          \"System.Text.Json\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Scripting.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"ruWwzk9H5uJ+BQOMZQh77bjd74Z2KZjJP01y/tpfB6qsRi8s+EjhvzNmG7wDx0uRwmOCksKDS0MeMu3D1uKzZQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.5.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"6I4xrLh2g09c8OjLwOQEtD1ONB+FV2kYcZqbb2/LrPHCi19Ept0q9TQd78J2oKJpTrw3kLJfh9oj1sYf80/cmg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.5.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"A98Ibs/HCsDloQlzDyK8BiY3+pEXeih54pdayUtdawjUSsEVCPN8hCTAxqC/nWOpzVwbW7k30tfxTH1fQqlr4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.5.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[4.5.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.5.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"l4dDRmGELXG72XZaonnOeORyD/T5RpEu5LGHOUIhnv+MmUWDY/m1kWXGwtcgQ5CJ5ynkFiRnIYzTKXYjUs7rbw==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"6.0.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.5.0]\",\r\n          \"System.Composition\": \"6.0.0\",\r\n          \"System.IO.Pipelines\": \"6.0.3\",\r\n          \"System.Threading.Channels\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeCoverage\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"fKiUOhhMP3IN1qM2tDHPWzW4JRbriFkIPiIzKUwMWT+Q+80bycxkLLCvxmVFoeA7gvWegNbTUjaX7mL3MM9XKg==\"\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.4.0\",\r\n        \"contentHash\": \"iLtWq5/W5ePzSraavAFeXAbasE6REDByizTz6M8yQO3e4jf+6pRqPLdNCSvnSfKRVqsF7y/lTVWhqlf89ttweg==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"Microsoft.IO.RecyclableMemoryStream\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.2.0\",\r\n        \"contentHash\": \"uyjY/cqomw1irT4L7lDeg4sJ36MsjHg3wKqpGrBAdzvZaxo85yMF+sAA9RIzTV92fDxuUzjqksMqA0+SNMkMgA==\"\r\n      },\r\n      \"Microsoft.NET.StringTools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"w8Ehofqte5bJoR+Fa3f6JwkwFEkGtXxqvQHGOVOSHDzgNVySvL5FSNhavbQSZ864el9c3rjdLPLAtBW8dq6fmg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==\"\r\n      },\r\n      \"Microsoft.NETCore.Targets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.3\",\r\n        \"contentHash\": \"3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==\"\r\n      },\r\n      \"Microsoft.TestPlatform.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"RAyBf87uZ5XjRE953LlxqILpD1SqwQM6bXwxPUCAPPEy0uv12R+eKnFL7yaeLVHInMKkNNh1iD/cDOVDfSgllA==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.0\",\r\n          \"System.ComponentModel.EventBasedAsync\": \"4.0.11\",\r\n          \"System.ComponentModel.TypeConverter\": \"4.1.0\",\r\n          \"System.Diagnostics.Process\": \"4.1.0\",\r\n          \"System.Diagnostics.TextWriterTraceListener\": \"4.0.0\",\r\n          \"System.Diagnostics.TraceSource\": \"4.0.0\",\r\n          \"System.Reflection.Metadata\": \"1.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.0.0\",\r\n          \"System.Runtime.Loader\": \"4.0.0\",\r\n          \"System.Runtime.Serialization.Json\": \"4.0.2\",\r\n          \"System.Runtime.Serialization.Primitives\": \"4.1.1\",\r\n          \"System.Threading.Thread\": \"4.0.0\",\r\n          \"System.Xml.XPath.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"Microsoft.TestPlatform.TestHost\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"PogSQ40KgkZjEBdC6KBGpMtuvFFCIdoJAMmK7CAHWyTXCfN1cPN8j0TFJKh+LneSg+y0QQDP23STMF609KhHQw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.TestPlatform.ObjectModel\": \"16.2.0\",\r\n          \"Newtonsoft.Json\": \"9.0.1\"\r\n        }\r\n      },\r\n      \"Microsoft.Win32.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Win32.Registry\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"5.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.1\",\r\n        \"contentHash\": \"WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.Win32.Primitives\": \"4.3.0\",\r\n          \"System.AppContext\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Console\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.Compression.ZipFile\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Net.Http\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Net.Sockets\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Timer\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\",\r\n          \"System.Xml.XDocument\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Newtonsoft.Json\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"13.0.3\",\r\n        \"contentHash\": \"HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==\"\r\n      },\r\n      \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==\"\r\n      },\r\n      \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==\"\r\n      },\r\n      \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==\"\r\n      },\r\n      \"runtime.native.System\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==\",\r\n        \"dependencies\": {\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==\",\r\n        \"dependencies\": {\r\n          \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==\"\r\n      },\r\n      \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==\"\r\n      },\r\n      \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==\"\r\n      },\r\n      \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==\"\r\n      },\r\n      \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==\"\r\n      },\r\n      \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==\"\r\n      },\r\n      \"System.AppContext\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Concurrent\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Collections.NonGeneric\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"hMxFT2RhhlffyCdKLDXjx8WEC5JfCvNozAZxCablAuFRH74SCV4AgzE8yJCh/73bFnEoZgJ9MJmkjQ0dJmnKqA==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Collections.Specialized\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"/HKQyVP0yH1I0YtK7KJL/28snxHNH/bi+0lgk/+MbURF6ULhAE31MDI+NZDerNWu264YbxklXCCygISgm+HMug==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.NonGeneric\": \"4.0.1\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Globalization.Extensions\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.ComponentModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"oBZFnm7seFiVfugsIyOvQCWobNZs7FzqDV/B7tx20Ep/l3UUFCPDkdTnCNaJZTU27zjeODmy2C/cP60u3D4c9w==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.EventBasedAsync\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.11\",\r\n        \"contentHash\": \"Z7SO6vvQIR84daPE4uhaNdef9CjgjDMGYkas8epUhf0U3WGuaGgZ0Mm4QuNycMdbHUY8KEdZrtgxonkAiJaAlA==\",\r\n        \"dependencies\": {\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"sc/7eVCdxPrp3ljpgTKVaQGUXiW05phNWvtv/m2kocXqrUQvTVWKou1Edas2aDjTThLPZOxPYIGNb/HN0QjURg==\",\r\n        \"dependencies\": {\r\n          \"System.ComponentModel\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.TypeConverter\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"MnDAlaeJZy9pdB5ZdOlwdxfpI+LJQ6e0hmH7d2+y2LkiD8DRJynyDYl4Xxf3fWFm7SbEwBZh4elcfzONQLOoQw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Collections.NonGeneric\": \"4.0.1\",\r\n          \"System.Collections.Specialized\": \"4.0.1\",\r\n          \"System.ComponentModel\": \"4.0.1\",\r\n          \"System.ComponentModel.Primitives\": \"4.1.0\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"d7wMuKQtfsxUa7S13tITC8n1cQzewuhD5iDjZtK2prwFfKVzdYtgrTHgjaV03Zq7feGQ5gkP85tJJntXwInsJA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"6.0.0\",\r\n          \"System.Composition.Convention\": \"6.0.0\",\r\n          \"System.Composition.Hosting\": \"6.0.0\",\r\n          \"System.Composition.Runtime\": \"6.0.0\",\r\n          \"System.Composition.TypedParts\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"WK1nSDLByK/4VoC7fkNiFuTVEiperuCN/Hyn+VN30R+W2ijO1d0Z2Qm0ScEl9xkSn1G2MyapJi8xpf4R8WRa/w==\"\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"XYi4lPRdu5bM4JVJ3/UIHAiG6V6lWWUlkhB9ab4IOq0FrRsp0F4wTyV4Dj+Ds+efoXJ3qbLqlvaUozDO7OLeXA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"w/wXjj7kvxuHPLdzZ0PAUt++qJl03t7lENmb2Oev0n3zbxyNULbWBlnd5J5WUMMv15kg5o+/TCZFb6lSwfaUUQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.Runtime\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"qkRH/YBaMPTnzxrS5RDk1juvqed4A6HOD/CwRcDGyPpYps1J27waBddiiq1y93jk2ZZ9wuA/kynM+NO0kb3PKg==\"\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"iUR1eHrL8Cwd82neQCJ00MpwNIBs4NZgXzrPqx8NJf/k4+mwBO0XCRmHYJT4OLSwDDqh5nBLJWkz5cROnrGhRA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"6.0.0\",\r\n          \"System.Composition.Hosting\": \"6.0.0\",\r\n          \"System.Composition.Runtime\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Configuration.ConfigurationManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Console\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Data.DataSetExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"221clPs1445HkTBZPL+K9sDBdJRB8UN8rgjO3ztB0CQ26z//fmJXtlsr6whGatscsKGBrhJl5bwJuKSA8mwFOw==\"\r\n      },\r\n      \"System.Diagnostics.Debug\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.DiagnosticSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.2\",\r\n        \"contentHash\": \"hYr3I9N9811e0Bjf2WNwAGGyTuAFbbTgX1RPLt/3Wbm68x3IGcX5Cl75CMmgT6WlNwLQ2tCCWfqYPpypjaf2xA==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Process\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"mpVZ5bnlSs3tTeJ6jYyDJEIa6tavhAd88lxq1zbYhkkCu0Pno2+gHXcvZcoygq2d8JxW3gojXqNJMTAshduqZA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.0.1\",\r\n          \"Microsoft.Win32.Primitives\": \"4.0.1\",\r\n          \"Microsoft.Win32.Registry\": \"4.0.0\",\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.IO.FileSystem\": \"4.0.1\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Runtime.Handles\": \"4.0.1\",\r\n          \"System.Runtime.InteropServices\": \"4.1.0\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Text.Encoding.Extensions\": \"4.0.11\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\",\r\n          \"System.Threading.Thread\": \"4.0.0\",\r\n          \"System.Threading.ThreadPool\": \"4.0.10\",\r\n          \"runtime.native.System\": \"4.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.TextWriterTraceListener\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"w36Dr8yKy8xP150qPANe7Td+/zOI3G62ImRcHDIEW+oUXUuTKZHd4DHmqRx5+x8RXd85v3tXd1uhNTfsr+yxjA==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.TraceSource\": \"4.0.0\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.TraceSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"6WVCczFZKXwpWpzd/iJkYnsmWTSFFiU24Xx/YdHXBcu+nFI/ehTgeqdJQFbtRPzbrO3KtRNjvkhtj4t5/WwWsA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.0.1\",\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"runtime.native.System\": \"4.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tracing\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Calendars\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.IO.Compression\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression.ZipFile\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Pipelines\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"eA3cinogwaNB4jdjQHOP3Z3EuyiDII7MT35jgtnsA4vkn0LUrrSHsU0nzHTzFzmaFYeKV7MYyMxOocFzsBHpTw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Linq\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq.Expressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\"\r\n      },\r\n      \"System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.4\",\r\n        \"contentHash\": \"aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Extensions\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"System.Net.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Net.Sockets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Private.DataContractSerialization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.1\",\r\n        \"contentHash\": \"lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Collections.Concurrent\": \"4.0.12\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.0.1\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.0.1\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Runtime.Serialization.Primitives\": \"4.1.1\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Text.Encoding.Extensions\": \"4.0.11\",\r\n          \"System.Text.RegularExpressions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\",\r\n          \"System.Xml.XmlSerializer\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Reflection\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"VR4kk8XLKebQ4MZuKuIni/7oh+QGFmZW3qORd1GvBq/8026OpW501SzT/oypwiQl4TvT8ErnReh/NzY9u+C6wQ==\"\r\n      },\r\n      \"System.Reflection.Emit.ILGeneration\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.Lightweight\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"MclTG61lsD9sYdpNz9xsKBzjsmsfCtcMZYXz/IUr2zlhaTaABonlr1ESeompTgM+Xk+IwtGYU7/voh3YWB/fWw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Memory\": \"4.5.5\"\r\n        }\r\n      },\r\n      \"System.Reflection.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.TypeExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Resources.ResourceManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.3\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==\"\r\n      },\r\n      \"System.Runtime.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Handles\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices.RuntimeInformation\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Loader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"4UN78GOVU/mbDFcXkEWtetJT/sJ0yic2gGk1HSlSpWI0TDf421xnrZTDZnwNBapk1GQeYN7U1lTj/aQB1by6ow==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Numerics\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==\",\r\n        \"dependencies\": {\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Serialization.Json\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.2\",\r\n        \"contentHash\": \"+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Private.DataContractSerialization\": \"4.1.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Serialization.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.1\",\r\n        \"contentHash\": \"HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==\",\r\n        \"dependencies\": {\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Security.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"5.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Algorithms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Cng\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Csp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.ProtectedData\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.X509Certificates\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Cng\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Csp\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Principal.Windows\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==\"\r\n      },\r\n      \"System.Text.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"LSyCblMpvOe0N3E+8e0skHcrIhgV2huaNcjUUEa8hRtgEAm36aGkRoC8Jxlb6Ra6GSfF29ftduPNywin8XolzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encodings.Web\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"e2hMgAErLbKyUUwt18qSBf9T5Y+SFAL3ZedM8fLupkVj8Rj2PZ9oxQ37XX2LF8fTO1wNIxvKpihD7Of7D/NxZw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.RegularExpressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"N0kNRrWe4+nXOWlpLT4LAY5brb8caNFlUuIRpraCVMDLYutKkol1aV079rQjLuSxKMJT2SpBQsYX9xbcTMmzwg==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.1\"\r\n        }\r\n      },\r\n      \"System.Threading\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Channels\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==\"\r\n      },\r\n      \"System.Threading.Tasks\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.4\",\r\n        \"contentHash\": \"zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==\"\r\n      },\r\n      \"System.Threading.Thread\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Threading.ThreadPool\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.10\",\r\n        \"contentHash\": \"IMXgB5Vf/5Qw1kpoVgJMOvUO1l32aC+qC3OaIZjWJOjvcxuxNWOK2ZTWWYXfij22NHxT2j1yWX5vlAeQWld9vA==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Handles\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"System.Threading.Timer\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.ReaderWriter\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XmlDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"2eZu6IP+etFVBBFUFzw2w6J21DqIN5eL9Y8r8JfJWUmV28Z5P0SNU01oCisVHQgHsDhHPnmq2s1hJrJCFZWloQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Xml.XmlSerializer\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.11\",\r\n        \"contentHash\": \"FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Emit\": \"4.0.1\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.0.1\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Text.RegularExpressions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"System.Xml.XPath\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"UWd1H+1IJ9Wlq5nognZ/XJdyj8qPE4XufBUkAW59ijsCPjZkZe0MUzKKJFBr+ZWBe5Wq1u1d5f2CYgE93uH7DA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Xml.XPath.XmlDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"Zm2BdeanuncYs3NhCj4c9e1x3EXFzFBVv2wPEc/Dj4ZbI9R8ecLSR5frAsx4zJCPBtKQreQ7Q/KxJEohJZbfzA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XPath\": \"4.0.1\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"xunit.abstractions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==\"\r\n      },\r\n      \"xunit.analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.10.0\",\r\n        \"contentHash\": \"4/IDFCJfIeg6bix9apmUtIMwvOsiwqdEexeO/R2D4GReIGPLIRODTpId/l4LRSrAJk9lEO3Zx1H0Zx6uohJDNg==\"\r\n      },\r\n      \"xunit.assert\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"O/Oe0BS5RmSsM+LQOb041TzuPo5MdH2Rov+qXGS37X+KFG1Hxz7kopYklM5+1Y+tRGeXrOx5+Xne1RuqLFQoyQ==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"xunit.core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"Zsj5OMU6JasNGERXZy8s72+pcheG6Q15atS5XpZXqAtULuyQiQ6XNnUsp1gyfC6WgqScqMvySiEHmHcOG6Eg0Q==\",\r\n        \"dependencies\": {\r\n          \"xunit.extensibility.core\": \"[2.4.1]\",\r\n          \"xunit.extensibility.execution\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"xunit.extensibility.core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"yKZKm/8QNZnBnGZFD9SewkllHBiK0DThybQD/G4PiAmQjKtEZyHi6ET70QPU9KtSMJGRYS6Syk7EyR2EVDU4Kg==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\",\r\n          \"xunit.abstractions\": \"2.0.3\"\r\n        }\r\n      },\r\n      \"xunit.extensibility.execution\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"7e/1jqBpcb7frLkB6XDrHCGXAbKN4Rtdb88epYxCSRQuZDRW8UtTfdTEVpdTl8s4T56e07hOBVd4G0OdCxIY2A==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\",\r\n          \"xunit.extensibility.core\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Features\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1, )\",\r\n          \"System.Memory\": \"[4.5.5, )\",\r\n          \"System.Net.Http\": \"[4.3.4, )\",\r\n          \"System.Text.RegularExpressions\": \"[4.3.1, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.FSharp\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"FSharp.Compiler.Service\": \"[43.8.300, )\",\r\n          \"FSharp.Core\": \"[8.0.300, )\",\r\n          \"Microsoft.Build.Utilities.Core\": \"[17.12.6, )\",\r\n          \"Microsoft.IO.RecyclableMemoryStream\": \"[2.2.0, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Testing\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\",\r\n          \"Newtonsoft.Json\": \"[13.0.3, )\",\r\n          \"System.Buffers\": \"[4.5.1, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.VisualBasic\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Features\": \"[3.3.1, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Tests.Roslyn46/Tests.Roslyn46.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n  <PropertyGroup>\n    <TargetFramework>netcoreapp3.1</TargetFramework>\n    <IsPackable>false</IsPackable>\n    <AssemblyName>MirrorSharp.Tests.Roslyn46</AssemblyName>\n    <RootNamespace>MirrorSharp.Tests</RootNamespace>\n    <IsPackable>false</IsPackable>\n    <NoWarn>VSTHRD200; RS1035</NoWarn>\n    <EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"Microsoft.CodeAnalysis\" Version=\"4.6.0\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis.CSharp.Features\" Version=\"4.6.0\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis.VisualBasic.Features\" Version=\"4.6.0\" />\n    <PackageReference Include=\"Microsoft.NET.Test.Sdk\" Version=\"16.2.0\" />\n    <PackageReference Include=\"SourceMock\" Version=\"0.10.0\" />\n    <!-- Avoids vulnerability in version referenced by Microsoft.CodeAnalysis.Features -->\n    <PackageReference Include=\"System.Text.Json\" Version=\"9.0.0\" />\n    <PackageReference Include=\"xunit\" Version=\"2.4.1\" />\n    <PackageReference Include=\"xunit.runner.visualstudio\" Version=\"2.4.0\" />\n    <PackageReference Include=\"coverlet.collector\" Version=\"1.0.1\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\Common\\Common.csproj\" />\n    <ProjectReference Include=\"..\\FSharp\\FSharp.csproj\" />\n    <ProjectReference Include=\"..\\Testing\\Testing.csproj\" />\n    <ProjectReference Include=\"..\\VisualBasic\\VisualBasic.csproj\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <Compile Include=\"../Tests/**/*.cs\" Exclude=\"../Tests/obj/**; ../Tests/Php*.cs; ../Tests/FSharp/*.cs\" />\n  </ItemGroup>\n\n  <Target Name=\"CopySdkReferenceAssemblies\" AfterTargets=\"ResolveReferences\">\n    <ItemGroup>\n      <Content Include=\"@(Reference->'%(RootDir)%(Directory)%(Filename)%(Extension)')\"\n               Link=\"@(Reference->'ref-assemblies\\%(Filename)%(Extension)')\"\n               Condition=\"$([System.String]::new('%(Filename)').StartsWith('System')) or '%(Filename)' == 'netstandard'\">\n        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n      </Content>\n      <Content Include=\"@(Reference->'%(RootDir)%(Directory)%(Filename).xml')\"\n               Link=\"@(Reference->'ref-assemblies\\%(Filename).xml')\"\n               Condition=\"($([System.String]::new('%(Filename)').StartsWith('System')) or '%(Filename)' == 'netstandard')\n                          and Exists('%(RootDir)%(Directory)%(Filename).xml')\">\n        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n      </Content>\n    </ItemGroup>\n  </Target>\n</Project>"
  },
  {
    "path": "Tests.Roslyn46/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETCoreApp,Version=v3.1\": {\r\n      \"coverlet.collector\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[1.0.1, )\",\r\n        \"resolved\": \"1.0.1\",\r\n        \"contentHash\": \"RAuno8s7DBGo2IdV/1d8YSnXMd/728K3PBT5R6/kfGx1yunBZmavlaFQfhGe7Q7N2nUMkvVET+7ITn3+KSg+Uw==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.6.0, )\",\r\n        \"resolved\": \"4.6.0\",\r\n        \"contentHash\": \"yPqWIFXnnwujlLIl6wRiVEITn9M3M+/xZrqim8a4BupBXfDUFY6ku+cM9YiDcG+Dk18jfNqUgdONLFjRJrrEYw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.6.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.6.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.6.0, )\",\r\n        \"resolved\": \"4.6.0\",\r\n        \"contentHash\": \"iAnCOKPpJwNTzAkUlv9U+9LEOGsTyJ7Z+RF4kNEVpvf+xCU13AWpTWyVFa8ZUX9cwHEPuEqzGo7f2yGxL89iIw==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.6.0]\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.6.0]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.6.0]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[4.6.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.6.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.6.0, )\",\r\n        \"resolved\": \"4.6.0\",\r\n        \"contentHash\": \"mqKEMoMegrzQOe1O1hZVGBcrQ08H7NWrLjnq3bDauG+dIbWHREBWTva2cktQOI+pa1+I+01tl2gcuk3ZX9WJ4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.6.0]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[4.6.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[4.6.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.6.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.6.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.NET.Test.Sdk\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[16.2.0, )\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"56w1drIQqpMgg3IxHcfra/jXOngiD4pbl0j6TNeJMlOQGlZ8wCMlyRTvn6Crd/FgGjwKbWLurdOHNGrfzLtl6A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeCoverage\": \"16.2.0\",\r\n          \"Microsoft.TestPlatform.TestHost\": \"16.2.0\"\r\n        }\r\n      },\r\n      \"SourceMock\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.10.0, )\",\r\n        \"resolved\": \"0.10.0\",\r\n        \"contentHash\": \"Dd/YMTTRZSDR34HgVEgfMoZfOTId3Ns0vehFcdLVwMuKLgMcg7/4Oj80qX112np9siR2C4vL3qfT1I9ahzxu9Q==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.Json\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[9.0.0, )\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"js7+qAu/9mQvnhA4EfGMZNEzXtJCDxgkgj8ohuxq/Qxv+R56G+ljefhiJHOxTNiw54q8vmABCWUwkMulNdlZ4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"9.0.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.IO.Pipelines\": \"9.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encodings.Web\": \"9.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"xunit\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.4.1, )\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"XNR3Yz9QTtec16O0aKcO6+baVNpXmOnPUxDkCY97J+8krUYxPvXT1szYYEUdKk4sB8GOI2YbAjRIOm8ZnXRfzQ==\",\r\n        \"dependencies\": {\r\n          \"xunit.analyzers\": \"0.10.0\",\r\n          \"xunit.assert\": \"[2.4.1]\",\r\n          \"xunit.core\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"xunit.runner.visualstudio\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.4.0, )\",\r\n        \"resolved\": \"2.4.0\",\r\n        \"contentHash\": \"3eq5cGXbEJkqW9nwLuXwtxy9B5gMA8i7HW4rN63AhAvy5UvEcQbZnve23wx/oPrkyg/4CbfNhxkBezS0b1oUdQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NET.Test.Sdk\": \"15.0.0\"\r\n        }\r\n      },\r\n      \"FSharp.Compiler.Service\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"43.8.300\",\r\n        \"contentHash\": \"CoPjQYXXwmYkkHm+yxBHSW9IJVLpvwkKGEzXa5A6ebf8v6GfYaxZc5G+VHojDr586oezp1elFemu+A1WWH095A==\",\r\n        \"dependencies\": {\r\n          \"FSharp.Core\": \"[8.0.300]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"7.0.2\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Reflection.Emit\": \"4.7.0\",\r\n          \"System.Reflection.Metadata\": \"7.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"FSharp.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.300\",\r\n        \"contentHash\": \"Jv44fV7TNglyMku89lQcA4Q6mFKLyHb2bs1Yb72nvSVc+cHplEnoZ4XQUaaTLJGUTx/iMqcrkYGtaLzkkIhpaA==\"\r\n      },\r\n      \"Humanizer.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.14.1\",\r\n        \"contentHash\": \"lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==\"\r\n      },\r\n      \"Microsoft.Bcl.AsyncInterfaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"owmu2Cr3IQ8yQiBleBHlGk8dSQ12oaF2e7TpzwJKEl4m84kkZJjEY1n33L67Y3zM5jPOjmmbdHjbfiL0RqcMRQ==\"\r\n      },\r\n      \"Microsoft.Build.Framework\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"jleteC0seumLGTmTVwob97lcwPj/dfgzL/V3g/VVcMZgo2Ic7jzdy8AYpByPDh8e3uRq0SjCl6HOFCjhy5GzRQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Build.Utilities.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"pU3GnHcXp8VRMGKxdJCq+tixfhFn+QwEbpqmZmc/nqFHFyuhlGwjonWZMIWcwuCv/8EHgxoOttFvna1vrN+RrA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Build.Framework\": \"17.12.6\",\r\n          \"Microsoft.NET.StringTools\": \"17.12.6\",\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Configuration.ConfigurationManager\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.4\",\r\n        \"contentHash\": \"AxkxcPR+rheX0SmvpLVIGLhOUXAKG56a64kV9VQZ4y9gR9ZmPXnqZvHJnmwLSwzrEP6junUF11vuc+aqo5r68g==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.AnalyzerUtilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"gyQ70pJ4T7hu/s0+QnEaXtYfeG/JrttGnxHJlrhpxsQjRIUGuRhVwNBtkHHYOrUAZ/l47L98/NiJX6QmTwAyrg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.6.0\",\r\n        \"contentHash\": \"N3uLvekc7DjvE1BX8YW7UH7ldjA4ps/Tun2YmOoSIItJrh1gnQIMKUbK1c3uQUx2NHbLibVZI4o/VB9xb4B7tA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Reflection.Metadata\": \"7.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.6.0\",\r\n        \"contentHash\": \"9pyFZUN2Lyu3C0Xfs49kezfH+CzQHMibGsQeQPu0P+GWyH2XXDwmyZ6jAaKQGNUXOJfC2OK01hWMJTJY315uDQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.6.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.6.0\",\r\n        \"contentHash\": \"xQa3Ir0HifjTrH01bk2JSjHcU4JxC1LBQw1wC9Ewf3Y2sNttQOn73tQaZcye2Lwrm0Kiec+Vuee8HsEgGIvOnQ==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.6.0]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.6.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.6.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Elfie\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.0\",\r\n        \"contentHash\": \"r12elUp4MRjdnRfxEP+xqVSUUfG3yIJTBEJGwbfvF5oU4m0jb9HC0gFG28V/dAkYGMkRmHVi3qvrnBLQSw9X3Q==\",\r\n        \"dependencies\": {\r\n          \"System.Configuration.ConfigurationManager\": \"4.5.0\",\r\n          \"System.Data.DataSetExtensions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.6.0\",\r\n        \"contentHash\": \"dusZtHb/+BjjDLDc6L9QBOl3IDK12z6AucdYsK1WgmOa0WZ64b77hU1XnK1N5rUV/+UPMITMbBFP/GoV722Z3Q==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.3.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.6.0]\",\r\n          \"Microsoft.CodeAnalysis.Elfie\": \"1.0.0\",\r\n          \"Microsoft.CodeAnalysis.Scripting.Common\": \"[4.6.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.6.0]\",\r\n          \"Microsoft.DiaSymReader\": \"1.4.0\",\r\n          \"System.Text.Json\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Scripting.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.6.0\",\r\n        \"contentHash\": \"BprguoVYmzRKvBtIDV0mkpGur5V385zqf2aPejBVcBwX9oTJORs/aPric8S2RmV+FKZj6Sj6jbmT4nwOvBQHbg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.6.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.6.0\",\r\n        \"contentHash\": \"k4RDHX2z4bY5lvc4hVUf6EvIoACbMsXhK4NtRupatM1Qitpoqz7O7QMx+or/kNNffs5uTo1Apc2S7NWuKjx3cA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.6.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.6.0\",\r\n        \"contentHash\": \"7HzRjpwMAl0AB8/0ccUk89cP1B7U8isLV6SkSpoJbDL7IOGjXIuI3CAyHqy58a51zqtal5SDTIzhzgQgRLkytw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.6.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[4.6.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.6.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.6.0\",\r\n        \"contentHash\": \"KnBOTRwn2Tt4JXuec+P4aVO4N6zKZDACwtVA++mnZUHujmPG5xWX7whoEIW4bAp1nuAugnn0K9xpuaRBtRltpg==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"7.0.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.6.0]\",\r\n          \"System.Composition\": \"7.0.0\",\r\n          \"System.IO.Pipelines\": \"7.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeCoverage\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"fKiUOhhMP3IN1qM2tDHPWzW4JRbriFkIPiIzKUwMWT+Q+80bycxkLLCvxmVFoeA7gvWegNbTUjaX7mL3MM9XKg==\"\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.4.0\",\r\n        \"contentHash\": \"iLtWq5/W5ePzSraavAFeXAbasE6REDByizTz6M8yQO3e4jf+6pRqPLdNCSvnSfKRVqsF7y/lTVWhqlf89ttweg==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"Microsoft.IO.RecyclableMemoryStream\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.2.0\",\r\n        \"contentHash\": \"uyjY/cqomw1irT4L7lDeg4sJ36MsjHg3wKqpGrBAdzvZaxo85yMF+sAA9RIzTV92fDxuUzjqksMqA0+SNMkMgA==\"\r\n      },\r\n      \"Microsoft.NET.StringTools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"w8Ehofqte5bJoR+Fa3f6JwkwFEkGtXxqvQHGOVOSHDzgNVySvL5FSNhavbQSZ864el9c3rjdLPLAtBW8dq6fmg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==\"\r\n      },\r\n      \"Microsoft.NETCore.Targets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.3\",\r\n        \"contentHash\": \"3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==\"\r\n      },\r\n      \"Microsoft.TestPlatform.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"RAyBf87uZ5XjRE953LlxqILpD1SqwQM6bXwxPUCAPPEy0uv12R+eKnFL7yaeLVHInMKkNNh1iD/cDOVDfSgllA==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.0\",\r\n          \"System.ComponentModel.EventBasedAsync\": \"4.0.11\",\r\n          \"System.ComponentModel.TypeConverter\": \"4.1.0\",\r\n          \"System.Diagnostics.Process\": \"4.1.0\",\r\n          \"System.Diagnostics.TextWriterTraceListener\": \"4.0.0\",\r\n          \"System.Diagnostics.TraceSource\": \"4.0.0\",\r\n          \"System.Reflection.Metadata\": \"1.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.0.0\",\r\n          \"System.Runtime.Loader\": \"4.0.0\",\r\n          \"System.Runtime.Serialization.Json\": \"4.0.2\",\r\n          \"System.Runtime.Serialization.Primitives\": \"4.1.1\",\r\n          \"System.Threading.Thread\": \"4.0.0\",\r\n          \"System.Xml.XPath.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"Microsoft.TestPlatform.TestHost\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"PogSQ40KgkZjEBdC6KBGpMtuvFFCIdoJAMmK7CAHWyTXCfN1cPN8j0TFJKh+LneSg+y0QQDP23STMF609KhHQw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.TestPlatform.ObjectModel\": \"16.2.0\",\r\n          \"Newtonsoft.Json\": \"9.0.1\"\r\n        }\r\n      },\r\n      \"Microsoft.Win32.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Win32.Registry\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"5.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.1\",\r\n        \"contentHash\": \"WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.Win32.Primitives\": \"4.3.0\",\r\n          \"System.AppContext\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Console\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.Compression.ZipFile\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Net.Http\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Net.Sockets\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Timer\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\",\r\n          \"System.Xml.XDocument\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Newtonsoft.Json\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"13.0.3\",\r\n        \"contentHash\": \"HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==\"\r\n      },\r\n      \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==\"\r\n      },\r\n      \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==\"\r\n      },\r\n      \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==\"\r\n      },\r\n      \"runtime.native.System\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==\",\r\n        \"dependencies\": {\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==\",\r\n        \"dependencies\": {\r\n          \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==\"\r\n      },\r\n      \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==\"\r\n      },\r\n      \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==\"\r\n      },\r\n      \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==\"\r\n      },\r\n      \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==\"\r\n      },\r\n      \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==\"\r\n      },\r\n      \"System.AppContext\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Concurrent\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Collections.NonGeneric\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"hMxFT2RhhlffyCdKLDXjx8WEC5JfCvNozAZxCablAuFRH74SCV4AgzE8yJCh/73bFnEoZgJ9MJmkjQ0dJmnKqA==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Collections.Specialized\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"/HKQyVP0yH1I0YtK7KJL/28snxHNH/bi+0lgk/+MbURF6ULhAE31MDI+NZDerNWu264YbxklXCCygISgm+HMug==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.NonGeneric\": \"4.0.1\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Globalization.Extensions\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.ComponentModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"oBZFnm7seFiVfugsIyOvQCWobNZs7FzqDV/B7tx20Ep/l3UUFCPDkdTnCNaJZTU27zjeODmy2C/cP60u3D4c9w==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.EventBasedAsync\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.11\",\r\n        \"contentHash\": \"Z7SO6vvQIR84daPE4uhaNdef9CjgjDMGYkas8epUhf0U3WGuaGgZ0Mm4QuNycMdbHUY8KEdZrtgxonkAiJaAlA==\",\r\n        \"dependencies\": {\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"sc/7eVCdxPrp3ljpgTKVaQGUXiW05phNWvtv/m2kocXqrUQvTVWKou1Edas2aDjTThLPZOxPYIGNb/HN0QjURg==\",\r\n        \"dependencies\": {\r\n          \"System.ComponentModel\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.TypeConverter\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"MnDAlaeJZy9pdB5ZdOlwdxfpI+LJQ6e0hmH7d2+y2LkiD8DRJynyDYl4Xxf3fWFm7SbEwBZh4elcfzONQLOoQw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Collections.NonGeneric\": \"4.0.1\",\r\n          \"System.Collections.Specialized\": \"4.0.1\",\r\n          \"System.ComponentModel\": \"4.0.1\",\r\n          \"System.ComponentModel.Primitives\": \"4.1.0\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"tRwgcAkDd85O8Aq6zHDANzQaq380cek9lbMg5Qma46u5BZXq/G+XvIYmu+UI+BIIZ9zssXLYrkTykEqxxvhcmg==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"7.0.0\",\r\n          \"System.Composition.Convention\": \"7.0.0\",\r\n          \"System.Composition.Hosting\": \"7.0.0\",\r\n          \"System.Composition.Runtime\": \"7.0.0\",\r\n          \"System.Composition.TypedParts\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"2QzClqjElKxgI1jK1Jztnq44/8DmSuTSGGahXqQ4TdEV0h9s2KikQZIgcEqVzR7OuWDFPGLHIprBJGQEPr8fAQ==\"\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"IMhTlpCs4HmlD8B+J8/kWfwX7vrBBOs6xyjSTzBlYSs7W4OET4tlkR/Sg9NG8jkdJH9Mymq0qGdYS1VPqRTBnQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"eB6gwN9S+54jCTBJ5bpwMOVerKeUfGGTYCzz3QgDr1P55Gg/Wb27ShfPIhLMjmZ3MoAKu8uUSv6fcCdYJTN7Bg==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.Runtime\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"aZJ1Zr5Txe925rbo4742XifEyW0MIni1eiUebmcrP3HwLXZ3IbXUj4MFMUH/RmnJOAQiS401leg/2Sz1MkApDw==\"\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"ZK0KNPfbtxVceTwh+oHNGUOYV2WNOHReX2AXipuvkURC7s/jPwoWfsu3SnDBDgofqbiWr96geofdQ2erm/KTHg==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"7.0.0\",\r\n          \"System.Composition.Hosting\": \"7.0.0\",\r\n          \"System.Composition.Runtime\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"System.Configuration.ConfigurationManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==\",\r\n        \"dependencies\": {\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Console\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Data.DataSetExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"221clPs1445HkTBZPL+K9sDBdJRB8UN8rgjO3ztB0CQ26z//fmJXtlsr6whGatscsKGBrhJl5bwJuKSA8mwFOw==\"\r\n      },\r\n      \"System.Diagnostics.Debug\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.DiagnosticSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.2\",\r\n        \"contentHash\": \"hYr3I9N9811e0Bjf2WNwAGGyTuAFbbTgX1RPLt/3Wbm68x3IGcX5Cl75CMmgT6WlNwLQ2tCCWfqYPpypjaf2xA==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Process\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"mpVZ5bnlSs3tTeJ6jYyDJEIa6tavhAd88lxq1zbYhkkCu0Pno2+gHXcvZcoygq2d8JxW3gojXqNJMTAshduqZA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.0.1\",\r\n          \"Microsoft.Win32.Primitives\": \"4.0.1\",\r\n          \"Microsoft.Win32.Registry\": \"4.0.0\",\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.IO.FileSystem\": \"4.0.1\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Runtime.Handles\": \"4.0.1\",\r\n          \"System.Runtime.InteropServices\": \"4.1.0\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Text.Encoding.Extensions\": \"4.0.11\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\",\r\n          \"System.Threading.Thread\": \"4.0.0\",\r\n          \"System.Threading.ThreadPool\": \"4.0.10\",\r\n          \"runtime.native.System\": \"4.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.TextWriterTraceListener\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"w36Dr8yKy8xP150qPANe7Td+/zOI3G62ImRcHDIEW+oUXUuTKZHd4DHmqRx5+x8RXd85v3tXd1uhNTfsr+yxjA==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.TraceSource\": \"4.0.0\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.TraceSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"6WVCczFZKXwpWpzd/iJkYnsmWTSFFiU24Xx/YdHXBcu+nFI/ehTgeqdJQFbtRPzbrO3KtRNjvkhtj4t5/WwWsA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.0.1\",\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"runtime.native.System\": \"4.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tracing\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Calendars\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.IO.Compression\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression.ZipFile\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Pipelines\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"eA3cinogwaNB4jdjQHOP3Z3EuyiDII7MT35jgtnsA4vkn0LUrrSHsU0nzHTzFzmaFYeKV7MYyMxOocFzsBHpTw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Linq\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq.Expressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\"\r\n      },\r\n      \"System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.4\",\r\n        \"contentHash\": \"aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Extensions\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"System.Net.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Net.Sockets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Private.DataContractSerialization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.1\",\r\n        \"contentHash\": \"lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Collections.Concurrent\": \"4.0.12\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.0.1\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.0.1\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Runtime.Serialization.Primitives\": \"4.1.1\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Text.Encoding.Extensions\": \"4.0.11\",\r\n          \"System.Text.RegularExpressions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\",\r\n          \"System.Xml.XmlSerializer\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Reflection\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"VR4kk8XLKebQ4MZuKuIni/7oh+QGFmZW3qORd1GvBq/8026OpW501SzT/oypwiQl4TvT8ErnReh/NzY9u+C6wQ==\"\r\n      },\r\n      \"System.Reflection.Emit.ILGeneration\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.Lightweight\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"MclTG61lsD9sYdpNz9xsKBzjsmsfCtcMZYXz/IUr2zlhaTaABonlr1ESeompTgM+Xk+IwtGYU7/voh3YWB/fWw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Memory\": \"4.5.5\"\r\n        }\r\n      },\r\n      \"System.Reflection.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.TypeExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Resources.ResourceManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.3\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==\"\r\n      },\r\n      \"System.Runtime.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Handles\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices.RuntimeInformation\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Loader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"4UN78GOVU/mbDFcXkEWtetJT/sJ0yic2gGk1HSlSpWI0TDf421xnrZTDZnwNBapk1GQeYN7U1lTj/aQB1by6ow==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Numerics\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==\",\r\n        \"dependencies\": {\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Serialization.Json\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.2\",\r\n        \"contentHash\": \"+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Private.DataContractSerialization\": \"4.1.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Serialization.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.1\",\r\n        \"contentHash\": \"HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==\",\r\n        \"dependencies\": {\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Security.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"5.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Algorithms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Cng\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Csp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.ProtectedData\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.X509Certificates\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Cng\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Csp\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Principal.Windows\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==\"\r\n      },\r\n      \"System.Text.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"LSyCblMpvOe0N3E+8e0skHcrIhgV2huaNcjUUEa8hRtgEAm36aGkRoC8Jxlb6Ra6GSfF29ftduPNywin8XolzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encodings.Web\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"e2hMgAErLbKyUUwt18qSBf9T5Y+SFAL3ZedM8fLupkVj8Rj2PZ9oxQ37XX2LF8fTO1wNIxvKpihD7Of7D/NxZw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.RegularExpressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"N0kNRrWe4+nXOWlpLT4LAY5brb8caNFlUuIRpraCVMDLYutKkol1aV079rQjLuSxKMJT2SpBQsYX9xbcTMmzwg==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.1\"\r\n        }\r\n      },\r\n      \"System.Threading\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Channels\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"qmeeYNROMsONF6ndEZcIQ+VxR4Q/TX/7uIVLJqtwIWL7dDWeh0l1UIqgo4wYyjG//5lUNhwkLDSFl+pAWO6oiA==\"\r\n      },\r\n      \"System.Threading.Tasks\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.4\",\r\n        \"contentHash\": \"zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==\"\r\n      },\r\n      \"System.Threading.Thread\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Threading.ThreadPool\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.10\",\r\n        \"contentHash\": \"IMXgB5Vf/5Qw1kpoVgJMOvUO1l32aC+qC3OaIZjWJOjvcxuxNWOK2ZTWWYXfij22NHxT2j1yWX5vlAeQWld9vA==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Handles\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"System.Threading.Timer\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.ReaderWriter\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XmlDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"2eZu6IP+etFVBBFUFzw2w6J21DqIN5eL9Y8r8JfJWUmV28Z5P0SNU01oCisVHQgHsDhHPnmq2s1hJrJCFZWloQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Xml.XmlSerializer\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.11\",\r\n        \"contentHash\": \"FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Emit\": \"4.0.1\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.0.1\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Text.RegularExpressions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"System.Xml.XPath\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"UWd1H+1IJ9Wlq5nognZ/XJdyj8qPE4XufBUkAW59ijsCPjZkZe0MUzKKJFBr+ZWBe5Wq1u1d5f2CYgE93uH7DA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Xml.XPath.XmlDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"Zm2BdeanuncYs3NhCj4c9e1x3EXFzFBVv2wPEc/Dj4ZbI9R8ecLSR5frAsx4zJCPBtKQreQ7Q/KxJEohJZbfzA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XPath\": \"4.0.1\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"xunit.abstractions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==\"\r\n      },\r\n      \"xunit.analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.10.0\",\r\n        \"contentHash\": \"4/IDFCJfIeg6bix9apmUtIMwvOsiwqdEexeO/R2D4GReIGPLIRODTpId/l4LRSrAJk9lEO3Zx1H0Zx6uohJDNg==\"\r\n      },\r\n      \"xunit.assert\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"O/Oe0BS5RmSsM+LQOb041TzuPo5MdH2Rov+qXGS37X+KFG1Hxz7kopYklM5+1Y+tRGeXrOx5+Xne1RuqLFQoyQ==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"xunit.core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"Zsj5OMU6JasNGERXZy8s72+pcheG6Q15atS5XpZXqAtULuyQiQ6XNnUsp1gyfC6WgqScqMvySiEHmHcOG6Eg0Q==\",\r\n        \"dependencies\": {\r\n          \"xunit.extensibility.core\": \"[2.4.1]\",\r\n          \"xunit.extensibility.execution\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"xunit.extensibility.core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"yKZKm/8QNZnBnGZFD9SewkllHBiK0DThybQD/G4PiAmQjKtEZyHi6ET70QPU9KtSMJGRYS6Syk7EyR2EVDU4Kg==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\",\r\n          \"xunit.abstractions\": \"2.0.3\"\r\n        }\r\n      },\r\n      \"xunit.extensibility.execution\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"7e/1jqBpcb7frLkB6XDrHCGXAbKN4Rtdb88epYxCSRQuZDRW8UtTfdTEVpdTl8s4T56e07hOBVd4G0OdCxIY2A==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\",\r\n          \"xunit.extensibility.core\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Features\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1, )\",\r\n          \"System.Memory\": \"[4.5.5, )\",\r\n          \"System.Net.Http\": \"[4.3.4, )\",\r\n          \"System.Text.RegularExpressions\": \"[4.3.1, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.FSharp\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"FSharp.Compiler.Service\": \"[43.8.300, )\",\r\n          \"FSharp.Core\": \"[8.0.300, )\",\r\n          \"Microsoft.Build.Utilities.Core\": \"[17.12.6, )\",\r\n          \"Microsoft.IO.RecyclableMemoryStream\": \"[2.2.0, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Testing\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\",\r\n          \"Newtonsoft.Json\": \"[13.0.3, )\",\r\n          \"System.Buffers\": \"[4.5.1, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.VisualBasic\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Features\": \"[3.3.1, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Tests.Roslyn47/Tests.Roslyn47.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\r\n  <PropertyGroup>\r\n    <TargetFramework>net7.0</TargetFramework>\r\n    <IsPackable>false</IsPackable>\r\n    <AssemblyName>MirrorSharp.Tests.Roslyn47</AssemblyName>\r\n    <RootNamespace>MirrorSharp.Tests</RootNamespace>\r\n    <IsPackable>false</IsPackable>\r\n    <NoWarn>VSTHRD200; RS1035</NoWarn>\r\n    <EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>\r\n  </PropertyGroup>\r\n\r\n  <ItemGroup>\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis\" Version=\"4.7.0\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.CSharp.Features\" Version=\"4.7.0\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.VisualBasic.Features\" Version=\"4.7.0\" />\r\n    <PackageReference Include=\"Microsoft.NET.Test.Sdk\" Version=\"16.2.0\" />\r\n    <PackageReference Include=\"SourceMock\" Version=\"0.10.0\" />\r\n    <!-- Avoids vulnerability in version referenced by Microsoft.CodeAnalysis.Features -->\r\n    <PackageReference Include=\"System.Text.Json\" Version=\"9.0.0\" />\r\n    <PackageReference Include=\"xunit\" Version=\"2.4.1\" />\r\n    <PackageReference Include=\"xunit.runner.visualstudio\" Version=\"2.4.0\" />\r\n    <PackageReference Include=\"coverlet.collector\" Version=\"1.0.1\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <ProjectReference Include=\"..\\Common\\Common.csproj\" />\r\n    <ProjectReference Include=\"..\\FSharp\\FSharp.csproj\" />\r\n    <ProjectReference Include=\"..\\Testing\\Testing.csproj\" />\r\n    <ProjectReference Include=\"..\\VisualBasic\\VisualBasic.csproj\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <Compile Include=\"../Tests/**/*.cs\" Exclude=\"../Tests/obj/**; ../Tests/Php*.cs; ../Tests/FSharp/*.cs\" />\r\n  </ItemGroup>\r\n\r\n  <Target Name=\"CopySdkReferenceAssemblies\" AfterTargets=\"ResolveReferences\">\r\n    <ItemGroup>\r\n      <Content Include=\"@(Reference->'%(RootDir)%(Directory)%(Filename)%(Extension)')\"\r\n               Link=\"@(Reference->'ref-assemblies\\%(Filename)%(Extension)')\"\r\n               Condition=\"$([System.String]::new('%(Filename)').StartsWith('System')) or '%(Filename)' == 'netstandard'\">\r\n        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\r\n      </Content>\r\n      <Content Include=\"@(Reference->'%(RootDir)%(Directory)%(Filename).xml')\"\r\n               Link=\"@(Reference->'ref-assemblies\\%(Filename).xml')\"\r\n               Condition=\"($([System.String]::new('%(Filename)').StartsWith('System')) or '%(Filename)' == 'netstandard')\r\n                          and Exists('%(RootDir)%(Directory)%(Filename).xml')\">\r\n        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\r\n      </Content>\r\n    </ItemGroup>\r\n  </Target>\r\n</Project>"
  },
  {
    "path": "Tests.Roslyn47/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \"net7.0\": {\r\n      \"coverlet.collector\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[1.0.1, )\",\r\n        \"resolved\": \"1.0.1\",\r\n        \"contentHash\": \"RAuno8s7DBGo2IdV/1d8YSnXMd/728K3PBT5R6/kfGx1yunBZmavlaFQfhGe7Q7N2nUMkvVET+7ITn3+KSg+Uw==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.7.0, )\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"zJQG1aUshI5R28EmVPnXgtVL5sLLAGOelLNkMlEKH3yh4sLUVPepitRe+HM0lSRLoTSu/ya0prwtUDku9xsZWQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.7.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.7.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.7.0, )\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"34A0Y4qkE8sYuffLDVbhqdKQnQvN7EfY4DufGVTGStWHkkkhclA6ag2TM9ZmLHpRerIQKbrWqhd/8k0EQ24HDg==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.7.0]\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.7.0]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.7.0]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[4.7.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.7.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.7.0, )\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"tZ3R+0CcWYN30uCPpDDhXIaklvBPh9iqAatuExB0InRUNienUY3QvyzhnvXIE+eFz/iozggvQwk+oui7ob3FWg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.7.0]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[4.7.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[4.7.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.7.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.7.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.NET.Test.Sdk\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[16.2.0, )\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"56w1drIQqpMgg3IxHcfra/jXOngiD4pbl0j6TNeJMlOQGlZ8wCMlyRTvn6Crd/FgGjwKbWLurdOHNGrfzLtl6A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeCoverage\": \"16.2.0\",\r\n          \"Microsoft.TestPlatform.TestHost\": \"16.2.0\"\r\n        }\r\n      },\r\n      \"SourceMock\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.10.0, )\",\r\n        \"resolved\": \"0.10.0\",\r\n        \"contentHash\": \"Dd/YMTTRZSDR34HgVEgfMoZfOTId3Ns0vehFcdLVwMuKLgMcg7/4Oj80qX112np9siR2C4vL3qfT1I9ahzxu9Q==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.Json\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[9.0.0, )\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"js7+qAu/9mQvnhA4EfGMZNEzXtJCDxgkgj8ohuxq/Qxv+R56G+ljefhiJHOxTNiw54q8vmABCWUwkMulNdlZ4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"9.0.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.IO.Pipelines\": \"9.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encodings.Web\": \"9.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"xunit\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.4.1, )\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"XNR3Yz9QTtec16O0aKcO6+baVNpXmOnPUxDkCY97J+8krUYxPvXT1szYYEUdKk4sB8GOI2YbAjRIOm8ZnXRfzQ==\",\r\n        \"dependencies\": {\r\n          \"xunit.analyzers\": \"0.10.0\",\r\n          \"xunit.assert\": \"[2.4.1]\",\r\n          \"xunit.core\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"xunit.runner.visualstudio\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.4.0, )\",\r\n        \"resolved\": \"2.4.0\",\r\n        \"contentHash\": \"3eq5cGXbEJkqW9nwLuXwtxy9B5gMA8i7HW4rN63AhAvy5UvEcQbZnve23wx/oPrkyg/4CbfNhxkBezS0b1oUdQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NET.Test.Sdk\": \"15.0.0\"\r\n        }\r\n      },\r\n      \"FSharp.Compiler.Service\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"43.8.300\",\r\n        \"contentHash\": \"CoPjQYXXwmYkkHm+yxBHSW9IJVLpvwkKGEzXa5A6ebf8v6GfYaxZc5G+VHojDr586oezp1elFemu+A1WWH095A==\",\r\n        \"dependencies\": {\r\n          \"FSharp.Core\": \"[8.0.300]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"7.0.2\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Reflection.Emit\": \"4.7.0\",\r\n          \"System.Reflection.Metadata\": \"7.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"FSharp.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.300\",\r\n        \"contentHash\": \"Jv44fV7TNglyMku89lQcA4Q6mFKLyHb2bs1Yb72nvSVc+cHplEnoZ4XQUaaTLJGUTx/iMqcrkYGtaLzkkIhpaA==\"\r\n      },\r\n      \"Humanizer.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.14.1\",\r\n        \"contentHash\": \"lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==\"\r\n      },\r\n      \"Microsoft.Bcl.AsyncInterfaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"owmu2Cr3IQ8yQiBleBHlGk8dSQ12oaF2e7TpzwJKEl4m84kkZJjEY1n33L67Y3zM5jPOjmmbdHjbfiL0RqcMRQ==\"\r\n      },\r\n      \"Microsoft.Build.Framework\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"jleteC0seumLGTmTVwob97lcwPj/dfgzL/V3g/VVcMZgo2Ic7jzdy8AYpByPDh8e3uRq0SjCl6HOFCjhy5GzRQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Build.Utilities.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"pU3GnHcXp8VRMGKxdJCq+tixfhFn+QwEbpqmZmc/nqFHFyuhlGwjonWZMIWcwuCv/8EHgxoOttFvna1vrN+RrA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Build.Framework\": \"17.12.6\",\r\n          \"Microsoft.NET.StringTools\": \"17.12.6\",\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Configuration.ConfigurationManager\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.4\",\r\n        \"contentHash\": \"AxkxcPR+rheX0SmvpLVIGLhOUXAKG56a64kV9VQZ4y9gR9ZmPXnqZvHJnmwLSwzrEP6junUF11vuc+aqo5r68g==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.AnalyzerUtilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"gyQ70pJ4T7hu/s0+QnEaXtYfeG/JrttGnxHJlrhpxsQjRIUGuRhVwNBtkHHYOrUAZ/l47L98/NiJX6QmTwAyrg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"pD5S14xMUebSGYe75kt0q/aaS/ftvktSo/pEv7aX7hNPHfdZS+SZeXvkvcffGxWkunYOyRF9m1oN7zzSdYj9dQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Reflection.Metadata\": \"7.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"JHCP2L6lB0oJ3tQoHkC67SFZxW+KbJVOnAo+6L01K5r/NlBlSUhTk5nUAldWhTVwGdzqNeHqGtnEqpsCmGSwQA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.7.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"SGTp5f22SJJKTHzNe3cfk57KHX7sYxrnfG9juXrbIidt3pooKMnxMN9aBCI/smMCLLB7RHITJrbzGCKvYhBqpA==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.7.0]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.7.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.7.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Elfie\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.0\",\r\n        \"contentHash\": \"r12elUp4MRjdnRfxEP+xqVSUUfG3yIJTBEJGwbfvF5oU4m0jb9HC0gFG28V/dAkYGMkRmHVi3qvrnBLQSw9X3Q==\",\r\n        \"dependencies\": {\r\n          \"System.Configuration.ConfigurationManager\": \"4.5.0\",\r\n          \"System.Data.DataSetExtensions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"HTYbcr0djPBYTijN4EbvVi4tdNUQMHflKM8OkfD2RmYDZm4pH4/3AwrLrziKMMUS07PPpGKZkb/io93zjzWDYg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.3.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.7.0]\",\r\n          \"Microsoft.CodeAnalysis.Elfie\": \"1.0.0\",\r\n          \"Microsoft.CodeAnalysis.Scripting.Common\": \"[4.7.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.7.0]\",\r\n          \"Microsoft.DiaSymReader\": \"2.0.0\",\r\n          \"System.Text.Json\": \"7.0.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Scripting.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"/rooxKDFwy5XnhXdhGfk0I7zaPuLg6G+jPlS0r0gxmdgYwhqIvLBRm2DMyI2WthxwGtPTCo2LqhCc5i5+JEnaw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.7.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"smGPrhgifTZqPbUQ5UoHOtcKGIG1nHGGOy7lbQ0Td/ByrVQ9UEmOTDPvIOhhzYc9LNQo2zmxRTXTvkx+PJVARA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.7.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"TfMS0+BFJ6YXsyqmSuGcTFC1/vtED35X4oMIDLrpAboNmgrx0ukR83pVKE2cGpF5ck9DzCmWvZNPHNiKc7d99g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.7.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[4.7.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.7.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"izjaI7OzNQnIiIJJQ5nLETA98rSWyCjkmup55bdLXWjUKYsFt/kz94uedtzGaWOOgTyHPRhQG9kgr6wNIZXxjA==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"7.0.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.7.0]\",\r\n          \"System.Composition\": \"7.0.0\",\r\n          \"System.IO.Pipelines\": \"7.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeCoverage\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"fKiUOhhMP3IN1qM2tDHPWzW4JRbriFkIPiIzKUwMWT+Q+80bycxkLLCvxmVFoeA7gvWegNbTUjaX7mL3MM9XKg==\"\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.0\",\r\n        \"contentHash\": \"QcZrCETsBJqy/vQpFtJc+jSXQ0K5sucQ6NUFbTNVHD4vfZZOwjZ/3sBzczkC4DityhD3AVO/+K/+9ioLs1AgRA==\"\r\n      },\r\n      \"Microsoft.IO.RecyclableMemoryStream\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.2.0\",\r\n        \"contentHash\": \"uyjY/cqomw1irT4L7lDeg4sJ36MsjHg3wKqpGrBAdzvZaxo85yMF+sAA9RIzTV92fDxuUzjqksMqA0+SNMkMgA==\"\r\n      },\r\n      \"Microsoft.NET.StringTools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"w8Ehofqte5bJoR+Fa3f6JwkwFEkGtXxqvQHGOVOSHDzgNVySvL5FSNhavbQSZ864el9c3rjdLPLAtBW8dq6fmg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==\"\r\n      },\r\n      \"Microsoft.NETCore.Targets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.3\",\r\n        \"contentHash\": \"3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==\"\r\n      },\r\n      \"Microsoft.TestPlatform.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"RAyBf87uZ5XjRE953LlxqILpD1SqwQM6bXwxPUCAPPEy0uv12R+eKnFL7yaeLVHInMKkNNh1iD/cDOVDfSgllA==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.0\",\r\n          \"System.ComponentModel.EventBasedAsync\": \"4.0.11\",\r\n          \"System.ComponentModel.TypeConverter\": \"4.1.0\",\r\n          \"System.Diagnostics.Process\": \"4.1.0\",\r\n          \"System.Diagnostics.TextWriterTraceListener\": \"4.0.0\",\r\n          \"System.Diagnostics.TraceSource\": \"4.0.0\",\r\n          \"System.Reflection.Metadata\": \"1.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.0.0\",\r\n          \"System.Runtime.Loader\": \"4.0.0\",\r\n          \"System.Runtime.Serialization.Json\": \"4.0.2\",\r\n          \"System.Runtime.Serialization.Primitives\": \"4.1.1\",\r\n          \"System.Threading.Thread\": \"4.0.0\",\r\n          \"System.Xml.XPath.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"Microsoft.TestPlatform.TestHost\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"PogSQ40KgkZjEBdC6KBGpMtuvFFCIdoJAMmK7CAHWyTXCfN1cPN8j0TFJKh+LneSg+y0QQDP23STMF609KhHQw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.TestPlatform.ObjectModel\": \"16.2.0\",\r\n          \"Newtonsoft.Json\": \"9.0.1\"\r\n        }\r\n      },\r\n      \"Microsoft.Win32.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Win32.Registry\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"5.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.1\",\r\n        \"contentHash\": \"WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.Win32.Primitives\": \"4.3.0\",\r\n          \"System.AppContext\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Console\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.Compression.ZipFile\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Net.Http\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Net.Sockets\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Timer\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\",\r\n          \"System.Xml.XDocument\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Newtonsoft.Json\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"13.0.3\",\r\n        \"contentHash\": \"HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==\"\r\n      },\r\n      \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==\"\r\n      },\r\n      \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==\"\r\n      },\r\n      \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==\"\r\n      },\r\n      \"runtime.native.System\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==\",\r\n        \"dependencies\": {\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==\",\r\n        \"dependencies\": {\r\n          \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==\"\r\n      },\r\n      \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==\"\r\n      },\r\n      \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==\"\r\n      },\r\n      \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==\"\r\n      },\r\n      \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==\"\r\n      },\r\n      \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==\"\r\n      },\r\n      \"System.AppContext\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Concurrent\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg==\"\r\n      },\r\n      \"System.Collections.NonGeneric\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"hMxFT2RhhlffyCdKLDXjx8WEC5JfCvNozAZxCablAuFRH74SCV4AgzE8yJCh/73bFnEoZgJ9MJmkjQ0dJmnKqA==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Collections.Specialized\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"/HKQyVP0yH1I0YtK7KJL/28snxHNH/bi+0lgk/+MbURF6ULhAE31MDI+NZDerNWu264YbxklXCCygISgm+HMug==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.NonGeneric\": \"4.0.1\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Globalization.Extensions\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.ComponentModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"oBZFnm7seFiVfugsIyOvQCWobNZs7FzqDV/B7tx20Ep/l3UUFCPDkdTnCNaJZTU27zjeODmy2C/cP60u3D4c9w==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.EventBasedAsync\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.11\",\r\n        \"contentHash\": \"Z7SO6vvQIR84daPE4uhaNdef9CjgjDMGYkas8epUhf0U3WGuaGgZ0Mm4QuNycMdbHUY8KEdZrtgxonkAiJaAlA==\",\r\n        \"dependencies\": {\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"sc/7eVCdxPrp3ljpgTKVaQGUXiW05phNWvtv/m2kocXqrUQvTVWKou1Edas2aDjTThLPZOxPYIGNb/HN0QjURg==\",\r\n        \"dependencies\": {\r\n          \"System.ComponentModel\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.TypeConverter\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"MnDAlaeJZy9pdB5ZdOlwdxfpI+LJQ6e0hmH7d2+y2LkiD8DRJynyDYl4Xxf3fWFm7SbEwBZh4elcfzONQLOoQw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Collections.NonGeneric\": \"4.0.1\",\r\n          \"System.Collections.Specialized\": \"4.0.1\",\r\n          \"System.ComponentModel\": \"4.0.1\",\r\n          \"System.ComponentModel.Primitives\": \"4.1.0\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"tRwgcAkDd85O8Aq6zHDANzQaq380cek9lbMg5Qma46u5BZXq/G+XvIYmu+UI+BIIZ9zssXLYrkTykEqxxvhcmg==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"7.0.0\",\r\n          \"System.Composition.Convention\": \"7.0.0\",\r\n          \"System.Composition.Hosting\": \"7.0.0\",\r\n          \"System.Composition.Runtime\": \"7.0.0\",\r\n          \"System.Composition.TypedParts\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"2QzClqjElKxgI1jK1Jztnq44/8DmSuTSGGahXqQ4TdEV0h9s2KikQZIgcEqVzR7OuWDFPGLHIprBJGQEPr8fAQ==\"\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"IMhTlpCs4HmlD8B+J8/kWfwX7vrBBOs6xyjSTzBlYSs7W4OET4tlkR/Sg9NG8jkdJH9Mymq0qGdYS1VPqRTBnQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"eB6gwN9S+54jCTBJ5bpwMOVerKeUfGGTYCzz3QgDr1P55Gg/Wb27ShfPIhLMjmZ3MoAKu8uUSv6fcCdYJTN7Bg==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.Runtime\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"aZJ1Zr5Txe925rbo4742XifEyW0MIni1eiUebmcrP3HwLXZ3IbXUj4MFMUH/RmnJOAQiS401leg/2Sz1MkApDw==\"\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"ZK0KNPfbtxVceTwh+oHNGUOYV2WNOHReX2AXipuvkURC7s/jPwoWfsu3SnDBDgofqbiWr96geofdQ2erm/KTHg==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"7.0.0\",\r\n          \"System.Composition.Hosting\": \"7.0.0\",\r\n          \"System.Composition.Runtime\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"System.Configuration.ConfigurationManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.EventLog\": \"8.0.0\",\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Console\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Data.DataSetExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"221clPs1445HkTBZPL+K9sDBdJRB8UN8rgjO3ztB0CQ26z//fmJXtlsr6whGatscsKGBrhJl5bwJuKSA8mwFOw==\"\r\n      },\r\n      \"System.Diagnostics.Debug\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.DiagnosticSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.2\",\r\n        \"contentHash\": \"hYr3I9N9811e0Bjf2WNwAGGyTuAFbbTgX1RPLt/3Wbm68x3IGcX5Cl75CMmgT6WlNwLQ2tCCWfqYPpypjaf2xA==\"\r\n      },\r\n      \"System.Diagnostics.EventLog\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"fdYxcRjQqTTacKId/2IECojlDSFvp7LP5N78+0z/xH7v/Tuw5ZAxu23Y6PTCRinqyu2ePx+Gn1098NC6jM6d+A==\"\r\n      },\r\n      \"System.Diagnostics.Process\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"mpVZ5bnlSs3tTeJ6jYyDJEIa6tavhAd88lxq1zbYhkkCu0Pno2+gHXcvZcoygq2d8JxW3gojXqNJMTAshduqZA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.0.1\",\r\n          \"Microsoft.Win32.Primitives\": \"4.0.1\",\r\n          \"Microsoft.Win32.Registry\": \"4.0.0\",\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.IO.FileSystem\": \"4.0.1\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Runtime.Handles\": \"4.0.1\",\r\n          \"System.Runtime.InteropServices\": \"4.1.0\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Text.Encoding.Extensions\": \"4.0.11\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\",\r\n          \"System.Threading.Thread\": \"4.0.0\",\r\n          \"System.Threading.ThreadPool\": \"4.0.10\",\r\n          \"runtime.native.System\": \"4.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.TextWriterTraceListener\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"w36Dr8yKy8xP150qPANe7Td+/zOI3G62ImRcHDIEW+oUXUuTKZHd4DHmqRx5+x8RXd85v3tXd1uhNTfsr+yxjA==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.TraceSource\": \"4.0.0\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.TraceSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"6WVCczFZKXwpWpzd/iJkYnsmWTSFFiU24Xx/YdHXBcu+nFI/ehTgeqdJQFbtRPzbrO3KtRNjvkhtj4t5/WwWsA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.0.1\",\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"runtime.native.System\": \"4.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tracing\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Calendars\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.IO.Compression\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression.ZipFile\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Pipelines\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"eA3cinogwaNB4jdjQHOP3Z3EuyiDII7MT35jgtnsA4vkn0LUrrSHsU0nzHTzFzmaFYeKV7MYyMxOocFzsBHpTw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Linq\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq.Expressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\"\r\n      },\r\n      \"System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.4\",\r\n        \"contentHash\": \"aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Extensions\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"System.Net.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Net.Sockets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Private.DataContractSerialization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.1\",\r\n        \"contentHash\": \"lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Collections.Concurrent\": \"4.0.12\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.0.1\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.0.1\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Runtime.Serialization.Primitives\": \"4.1.1\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Text.Encoding.Extensions\": \"4.0.11\",\r\n          \"System.Text.RegularExpressions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\",\r\n          \"System.Xml.XmlSerializer\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Reflection\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"VR4kk8XLKebQ4MZuKuIni/7oh+QGFmZW3qORd1GvBq/8026OpW501SzT/oypwiQl4TvT8ErnReh/NzY9u+C6wQ==\"\r\n      },\r\n      \"System.Reflection.Emit.ILGeneration\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.Lightweight\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"MclTG61lsD9sYdpNz9xsKBzjsmsfCtcMZYXz/IUr2zlhaTaABonlr1ESeompTgM+Xk+IwtGYU7/voh3YWB/fWw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.TypeExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Resources.ResourceManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.3\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==\"\r\n      },\r\n      \"System.Runtime.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Handles\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices.RuntimeInformation\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Loader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"4UN78GOVU/mbDFcXkEWtetJT/sJ0yic2gGk1HSlSpWI0TDf421xnrZTDZnwNBapk1GQeYN7U1lTj/aQB1by6ow==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Numerics\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==\",\r\n        \"dependencies\": {\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Serialization.Json\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.2\",\r\n        \"contentHash\": \"+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Private.DataContractSerialization\": \"4.1.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Serialization.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.1\",\r\n        \"contentHash\": \"HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==\",\r\n        \"dependencies\": {\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Security.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"5.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Algorithms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Cng\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Csp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.ProtectedData\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg==\"\r\n      },\r\n      \"System.Security.Cryptography.X509Certificates\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Cng\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Csp\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Principal.Windows\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==\"\r\n      },\r\n      \"System.Text.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"LSyCblMpvOe0N3E+8e0skHcrIhgV2huaNcjUUEa8hRtgEAm36aGkRoC8Jxlb6Ra6GSfF29ftduPNywin8XolzQ==\"\r\n      },\r\n      \"System.Text.Encoding.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encodings.Web\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"e2hMgAErLbKyUUwt18qSBf9T5Y+SFAL3ZedM8fLupkVj8Rj2PZ9oxQ37XX2LF8fTO1wNIxvKpihD7Of7D/NxZw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.RegularExpressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"N0kNRrWe4+nXOWlpLT4LAY5brb8caNFlUuIRpraCVMDLYutKkol1aV079rQjLuSxKMJT2SpBQsYX9xbcTMmzwg==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.1\"\r\n        }\r\n      },\r\n      \"System.Threading\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Channels\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"qmeeYNROMsONF6ndEZcIQ+VxR4Q/TX/7uIVLJqtwIWL7dDWeh0l1UIqgo4wYyjG//5lUNhwkLDSFl+pAWO6oiA==\"\r\n      },\r\n      \"System.Threading.Tasks\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.4\",\r\n        \"contentHash\": \"zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==\"\r\n      },\r\n      \"System.Threading.Thread\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Threading.ThreadPool\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.10\",\r\n        \"contentHash\": \"IMXgB5Vf/5Qw1kpoVgJMOvUO1l32aC+qC3OaIZjWJOjvcxuxNWOK2ZTWWYXfij22NHxT2j1yWX5vlAeQWld9vA==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Handles\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"System.Threading.Timer\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.ReaderWriter\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XmlDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"2eZu6IP+etFVBBFUFzw2w6J21DqIN5eL9Y8r8JfJWUmV28Z5P0SNU01oCisVHQgHsDhHPnmq2s1hJrJCFZWloQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Xml.XmlSerializer\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.11\",\r\n        \"contentHash\": \"FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Emit\": \"4.0.1\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.0.1\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Text.RegularExpressions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"System.Xml.XPath\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"UWd1H+1IJ9Wlq5nognZ/XJdyj8qPE4XufBUkAW59ijsCPjZkZe0MUzKKJFBr+ZWBe5Wq1u1d5f2CYgE93uH7DA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Xml.XPath.XmlDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"Zm2BdeanuncYs3NhCj4c9e1x3EXFzFBVv2wPEc/Dj4ZbI9R8ecLSR5frAsx4zJCPBtKQreQ7Q/KxJEohJZbfzA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XPath\": \"4.0.1\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"xunit.abstractions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==\"\r\n      },\r\n      \"xunit.analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.10.0\",\r\n        \"contentHash\": \"4/IDFCJfIeg6bix9apmUtIMwvOsiwqdEexeO/R2D4GReIGPLIRODTpId/l4LRSrAJk9lEO3Zx1H0Zx6uohJDNg==\"\r\n      },\r\n      \"xunit.assert\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"O/Oe0BS5RmSsM+LQOb041TzuPo5MdH2Rov+qXGS37X+KFG1Hxz7kopYklM5+1Y+tRGeXrOx5+Xne1RuqLFQoyQ==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"xunit.core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"Zsj5OMU6JasNGERXZy8s72+pcheG6Q15atS5XpZXqAtULuyQiQ6XNnUsp1gyfC6WgqScqMvySiEHmHcOG6Eg0Q==\",\r\n        \"dependencies\": {\r\n          \"xunit.extensibility.core\": \"[2.4.1]\",\r\n          \"xunit.extensibility.execution\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"xunit.extensibility.core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"yKZKm/8QNZnBnGZFD9SewkllHBiK0DThybQD/G4PiAmQjKtEZyHi6ET70QPU9KtSMJGRYS6Syk7EyR2EVDU4Kg==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\",\r\n          \"xunit.abstractions\": \"2.0.3\"\r\n        }\r\n      },\r\n      \"xunit.extensibility.execution\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"7e/1jqBpcb7frLkB6XDrHCGXAbKN4Rtdb88epYxCSRQuZDRW8UtTfdTEVpdTl8s4T56e07hOBVd4G0OdCxIY2A==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\",\r\n          \"xunit.extensibility.core\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Features\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1, )\",\r\n          \"System.Memory\": \"[4.5.5, )\",\r\n          \"System.Net.Http\": \"[4.3.4, )\",\r\n          \"System.Text.RegularExpressions\": \"[4.3.1, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.FSharp\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"FSharp.Compiler.Service\": \"[43.8.300, )\",\r\n          \"FSharp.Core\": \"[8.0.300, )\",\r\n          \"Microsoft.Build.Utilities.Core\": \"[17.12.6, )\",\r\n          \"Microsoft.IO.RecyclableMemoryStream\": \"[2.2.0, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Testing\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\",\r\n          \"Newtonsoft.Json\": \"[13.0.3, )\",\r\n          \"System.Buffers\": \"[4.5.1, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.VisualBasic\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Features\": \"[3.3.1, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Tests.Roslyn48/Tests.Roslyn48.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\r\n  <PropertyGroup>\r\n    <TargetFramework>net7.0</TargetFramework>\r\n    <IsPackable>false</IsPackable>\r\n    <AssemblyName>MirrorSharp.Tests.Roslyn48</AssemblyName>\r\n    <RootNamespace>MirrorSharp.Tests</RootNamespace>\r\n    <IsPackable>false</IsPackable>\r\n    <NoWarn>VSTHRD200; RS1035</NoWarn>\r\n    <EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>\r\n  </PropertyGroup>\r\n\r\n  <ItemGroup>\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis\" Version=\"4.8.0\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.CSharp.Features\" Version=\"4.8.0\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.VisualBasic.Features\" Version=\"4.8.0\" />\r\n    <PackageReference Include=\"Microsoft.NET.Test.Sdk\" Version=\"16.2.0\" />\r\n    <PackageReference Include=\"SourceMock\" Version=\"0.10.0\" />\r\n    <!-- Avoids vulnerability in version referenced by Microsoft.CodeAnalysis.Features -->\r\n    <PackageReference Include=\"System.Text.Json\" Version=\"9.0.0\" />\r\n    <PackageReference Include=\"xunit\" Version=\"2.4.1\" />\r\n    <PackageReference Include=\"xunit.runner.visualstudio\" Version=\"2.4.0\" />\r\n    <PackageReference Include=\"coverlet.collector\" Version=\"1.0.1\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <ProjectReference Include=\"..\\Common\\Common.csproj\" />\r\n    <ProjectReference Include=\"..\\FSharp\\FSharp.csproj\" />\r\n    <ProjectReference Include=\"..\\Testing\\Testing.csproj\" />\r\n    <ProjectReference Include=\"..\\VisualBasic\\VisualBasic.csproj\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <Compile Include=\"../Tests/**/*.cs\" Exclude=\"../Tests/obj/**; ../Tests/Php*.cs; ../Tests/FSharp/*.cs\" />\r\n  </ItemGroup>\r\n\r\n  <Target Name=\"CopySdkReferenceAssemblies\" AfterTargets=\"ResolveReferences\">\r\n    <ItemGroup>\r\n      <Content Include=\"@(Reference->'%(RootDir)%(Directory)%(Filename)%(Extension)')\"\r\n               Link=\"@(Reference->'ref-assemblies\\%(Filename)%(Extension)')\"\r\n               Condition=\"$([System.String]::new('%(Filename)').StartsWith('System')) or '%(Filename)' == 'netstandard'\">\r\n        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\r\n      </Content>\r\n      <Content Include=\"@(Reference->'%(RootDir)%(Directory)%(Filename).xml')\"\r\n               Link=\"@(Reference->'ref-assemblies\\%(Filename).xml')\"\r\n               Condition=\"($([System.String]::new('%(Filename)').StartsWith('System')) or '%(Filename)' == 'netstandard')\r\n                          and Exists('%(RootDir)%(Directory)%(Filename).xml')\">\r\n        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\r\n      </Content>\r\n    </ItemGroup>\r\n  </Target>\r\n</Project>"
  },
  {
    "path": "Tests.Roslyn48/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \"net7.0\": {\r\n      \"coverlet.collector\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[1.0.1, )\",\r\n        \"resolved\": \"1.0.1\",\r\n        \"contentHash\": \"RAuno8s7DBGo2IdV/1d8YSnXMd/728K3PBT5R6/kfGx1yunBZmavlaFQfhGe7Q7N2nUMkvVET+7ITn3+KSg+Uw==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.8.0, )\",\r\n        \"resolved\": \"4.8.0\",\r\n        \"contentHash\": \"g5eTgZVyBr4k1zxvJeVrJ1nDvBHrDt7XX2Uo7UWRoF9GdzOv9od4WtOeL1/e86ifgwX/H7H1Vs5u2OCdv0HYpQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.8.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.8.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.8.0, )\",\r\n        \"resolved\": \"4.8.0\",\r\n        \"contentHash\": \"Gpas3l8PE1xz1VDIJNMkYuoFPXtuALxybP04caXh9avC2a0elsoBdukndkJXVZgdKPwraf0a98s7tjqnEk5QIQ==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.8.0]\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.8.0]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.8.0]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[4.8.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.8.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.8.0, )\",\r\n        \"resolved\": \"4.8.0\",\r\n        \"contentHash\": \"++BSJJYthCgHVfYJdzC7U1NwekDCgsGC3vjc2dWAX+AuMi5IGj4HlhbbwPfqq2VED4w0lcOqyhAmU6AxLu4Dhg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.8.0]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[4.8.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[4.8.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.8.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.8.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.NET.Test.Sdk\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[16.2.0, )\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"56w1drIQqpMgg3IxHcfra/jXOngiD4pbl0j6TNeJMlOQGlZ8wCMlyRTvn6Crd/FgGjwKbWLurdOHNGrfzLtl6A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeCoverage\": \"16.2.0\",\r\n          \"Microsoft.TestPlatform.TestHost\": \"16.2.0\"\r\n        }\r\n      },\r\n      \"SourceMock\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.10.0, )\",\r\n        \"resolved\": \"0.10.0\",\r\n        \"contentHash\": \"Dd/YMTTRZSDR34HgVEgfMoZfOTId3Ns0vehFcdLVwMuKLgMcg7/4Oj80qX112np9siR2C4vL3qfT1I9ahzxu9Q==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.Json\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[9.0.0, )\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"js7+qAu/9mQvnhA4EfGMZNEzXtJCDxgkgj8ohuxq/Qxv+R56G+ljefhiJHOxTNiw54q8vmABCWUwkMulNdlZ4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"9.0.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.IO.Pipelines\": \"9.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encodings.Web\": \"9.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"xunit\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.4.1, )\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"XNR3Yz9QTtec16O0aKcO6+baVNpXmOnPUxDkCY97J+8krUYxPvXT1szYYEUdKk4sB8GOI2YbAjRIOm8ZnXRfzQ==\",\r\n        \"dependencies\": {\r\n          \"xunit.analyzers\": \"0.10.0\",\r\n          \"xunit.assert\": \"[2.4.1]\",\r\n          \"xunit.core\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"xunit.runner.visualstudio\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.4.0, )\",\r\n        \"resolved\": \"2.4.0\",\r\n        \"contentHash\": \"3eq5cGXbEJkqW9nwLuXwtxy9B5gMA8i7HW4rN63AhAvy5UvEcQbZnve23wx/oPrkyg/4CbfNhxkBezS0b1oUdQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NET.Test.Sdk\": \"15.0.0\"\r\n        }\r\n      },\r\n      \"FSharp.Compiler.Service\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"43.8.300\",\r\n        \"contentHash\": \"CoPjQYXXwmYkkHm+yxBHSW9IJVLpvwkKGEzXa5A6ebf8v6GfYaxZc5G+VHojDr586oezp1elFemu+A1WWH095A==\",\r\n        \"dependencies\": {\r\n          \"FSharp.Core\": \"[8.0.300]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"7.0.2\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Reflection.Emit\": \"4.7.0\",\r\n          \"System.Reflection.Metadata\": \"7.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"FSharp.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.300\",\r\n        \"contentHash\": \"Jv44fV7TNglyMku89lQcA4Q6mFKLyHb2bs1Yb72nvSVc+cHplEnoZ4XQUaaTLJGUTx/iMqcrkYGtaLzkkIhpaA==\"\r\n      },\r\n      \"Humanizer.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.14.1\",\r\n        \"contentHash\": \"lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==\"\r\n      },\r\n      \"Microsoft.Bcl.AsyncInterfaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"owmu2Cr3IQ8yQiBleBHlGk8dSQ12oaF2e7TpzwJKEl4m84kkZJjEY1n33L67Y3zM5jPOjmmbdHjbfiL0RqcMRQ==\"\r\n      },\r\n      \"Microsoft.Build.Framework\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"jleteC0seumLGTmTVwob97lcwPj/dfgzL/V3g/VVcMZgo2Ic7jzdy8AYpByPDh8e3uRq0SjCl6HOFCjhy5GzRQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Build.Utilities.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"pU3GnHcXp8VRMGKxdJCq+tixfhFn+QwEbpqmZmc/nqFHFyuhlGwjonWZMIWcwuCv/8EHgxoOttFvna1vrN+RrA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Build.Framework\": \"17.12.6\",\r\n          \"Microsoft.NET.StringTools\": \"17.12.6\",\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Configuration.ConfigurationManager\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.4\",\r\n        \"contentHash\": \"AxkxcPR+rheX0SmvpLVIGLhOUXAKG56a64kV9VQZ4y9gR9ZmPXnqZvHJnmwLSwzrEP6junUF11vuc+aqo5r68g==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.AnalyzerUtilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"gyQ70pJ4T7hu/s0+QnEaXtYfeG/JrttGnxHJlrhpxsQjRIUGuRhVwNBtkHHYOrUAZ/l47L98/NiJX6QmTwAyrg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.8.0\",\r\n        \"contentHash\": \"/jR+e/9aT+BApoQJABlVCKnnggGQbvGh7BKq2/wI1LamxC+LbzhcLj4Vj7gXCofl1n4E521YfF9w0WcASGg/KA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Reflection.Metadata\": \"7.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.8.0\",\r\n        \"contentHash\": \"+3+qfdb/aaGD8PZRCrsdobbzGs1m9u119SkkJt8e/mk3xLJz/udLtS2T6nY27OTXxBBw10HzAbC8Z9w08VyP/g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.8.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.8.0\",\r\n        \"contentHash\": \"3amm4tq4Lo8/BGvg9p3BJh3S9nKq2wqCXfS7138i69TUpo/bD+XvD0hNurpEBtcNZhi1FyutiomKJqVF39ugYA==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.8.0]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.8.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.8.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Elfie\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.0\",\r\n        \"contentHash\": \"r12elUp4MRjdnRfxEP+xqVSUUfG3yIJTBEJGwbfvF5oU4m0jb9HC0gFG28V/dAkYGMkRmHVi3qvrnBLQSw9X3Q==\",\r\n        \"dependencies\": {\r\n          \"System.Configuration.ConfigurationManager\": \"4.5.0\",\r\n          \"System.Data.DataSetExtensions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.8.0\",\r\n        \"contentHash\": \"sCVzMtSETGE16KeScwwlVfxaKRbUMSf/cgRPRPMJuou37SLT7XkIBzJu4e7mlFTzpJbfalV5tOcKpUtLO3eJAg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.3.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.8.0]\",\r\n          \"Microsoft.CodeAnalysis.Elfie\": \"1.0.0\",\r\n          \"Microsoft.CodeAnalysis.Scripting.Common\": \"[4.8.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.8.0]\",\r\n          \"Microsoft.DiaSymReader\": \"2.0.0\",\r\n          \"System.Text.Json\": \"7.0.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Scripting.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.8.0\",\r\n        \"contentHash\": \"ysiNNbAASVhV9wEd5oY2x99EwaVYtB13XZRjHsgWT/R1mQkxZF8jWsf7JWaZxD1+jNoz1QCQ6nbe+vr+6QvlFA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.8.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.8.0\",\r\n        \"contentHash\": \"kfHPh/etcWypMDYfHxgfitgJMhi986OFCICb76RPcA1Toordf6bBYEJytWr2L5CNdkXFWuw5qTkrlsktBav4VA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.8.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.8.0\",\r\n        \"contentHash\": \"4fNpQX8LRV0ZCfB6+rr9s61zdhNpN6Bgow/kmvsO2Gm5KtzbOUPijbUZex26wJwRHyW+ZYoatTRd449A7+D3Wg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.8.0]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[4.8.0]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.8.0]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.8.0\",\r\n        \"contentHash\": \"LXyV+MJKsKRu3FGJA3OmSk40OUIa/dQCFLOnm5X8MNcujx7hzGu8o+zjXlb/cy5xUdZK2UKYb9YaQ2E8m9QehQ==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"7.0.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.8.0]\",\r\n          \"System.Composition\": \"7.0.0\",\r\n          \"System.IO.Pipelines\": \"7.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeCoverage\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"fKiUOhhMP3IN1qM2tDHPWzW4JRbriFkIPiIzKUwMWT+Q+80bycxkLLCvxmVFoeA7gvWegNbTUjaX7mL3MM9XKg==\"\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.0\",\r\n        \"contentHash\": \"QcZrCETsBJqy/vQpFtJc+jSXQ0K5sucQ6NUFbTNVHD4vfZZOwjZ/3sBzczkC4DityhD3AVO/+K/+9ioLs1AgRA==\"\r\n      },\r\n      \"Microsoft.IO.RecyclableMemoryStream\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.2.0\",\r\n        \"contentHash\": \"uyjY/cqomw1irT4L7lDeg4sJ36MsjHg3wKqpGrBAdzvZaxo85yMF+sAA9RIzTV92fDxuUzjqksMqA0+SNMkMgA==\"\r\n      },\r\n      \"Microsoft.NET.StringTools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"w8Ehofqte5bJoR+Fa3f6JwkwFEkGtXxqvQHGOVOSHDzgNVySvL5FSNhavbQSZ864el9c3rjdLPLAtBW8dq6fmg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==\"\r\n      },\r\n      \"Microsoft.NETCore.Targets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.3\",\r\n        \"contentHash\": \"3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==\"\r\n      },\r\n      \"Microsoft.TestPlatform.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"RAyBf87uZ5XjRE953LlxqILpD1SqwQM6bXwxPUCAPPEy0uv12R+eKnFL7yaeLVHInMKkNNh1iD/cDOVDfSgllA==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.0\",\r\n          \"System.ComponentModel.EventBasedAsync\": \"4.0.11\",\r\n          \"System.ComponentModel.TypeConverter\": \"4.1.0\",\r\n          \"System.Diagnostics.Process\": \"4.1.0\",\r\n          \"System.Diagnostics.TextWriterTraceListener\": \"4.0.0\",\r\n          \"System.Diagnostics.TraceSource\": \"4.0.0\",\r\n          \"System.Reflection.Metadata\": \"1.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.0.0\",\r\n          \"System.Runtime.Loader\": \"4.0.0\",\r\n          \"System.Runtime.Serialization.Json\": \"4.0.2\",\r\n          \"System.Runtime.Serialization.Primitives\": \"4.1.1\",\r\n          \"System.Threading.Thread\": \"4.0.0\",\r\n          \"System.Xml.XPath.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"Microsoft.TestPlatform.TestHost\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"PogSQ40KgkZjEBdC6KBGpMtuvFFCIdoJAMmK7CAHWyTXCfN1cPN8j0TFJKh+LneSg+y0QQDP23STMF609KhHQw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.TestPlatform.ObjectModel\": \"16.2.0\",\r\n          \"Newtonsoft.Json\": \"9.0.1\"\r\n        }\r\n      },\r\n      \"Microsoft.Win32.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Win32.Registry\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"5.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.1\",\r\n        \"contentHash\": \"WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.Win32.Primitives\": \"4.3.0\",\r\n          \"System.AppContext\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Console\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.Compression.ZipFile\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Net.Http\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Net.Sockets\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Timer\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\",\r\n          \"System.Xml.XDocument\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Newtonsoft.Json\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"13.0.3\",\r\n        \"contentHash\": \"HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==\"\r\n      },\r\n      \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==\"\r\n      },\r\n      \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==\"\r\n      },\r\n      \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==\"\r\n      },\r\n      \"runtime.native.System\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==\",\r\n        \"dependencies\": {\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==\",\r\n        \"dependencies\": {\r\n          \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==\"\r\n      },\r\n      \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==\"\r\n      },\r\n      \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==\"\r\n      },\r\n      \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==\"\r\n      },\r\n      \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==\"\r\n      },\r\n      \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==\"\r\n      },\r\n      \"System.AppContext\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Concurrent\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg==\"\r\n      },\r\n      \"System.Collections.NonGeneric\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"hMxFT2RhhlffyCdKLDXjx8WEC5JfCvNozAZxCablAuFRH74SCV4AgzE8yJCh/73bFnEoZgJ9MJmkjQ0dJmnKqA==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Collections.Specialized\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"/HKQyVP0yH1I0YtK7KJL/28snxHNH/bi+0lgk/+MbURF6ULhAE31MDI+NZDerNWu264YbxklXCCygISgm+HMug==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.NonGeneric\": \"4.0.1\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Globalization.Extensions\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.ComponentModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"oBZFnm7seFiVfugsIyOvQCWobNZs7FzqDV/B7tx20Ep/l3UUFCPDkdTnCNaJZTU27zjeODmy2C/cP60u3D4c9w==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.EventBasedAsync\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.11\",\r\n        \"contentHash\": \"Z7SO6vvQIR84daPE4uhaNdef9CjgjDMGYkas8epUhf0U3WGuaGgZ0Mm4QuNycMdbHUY8KEdZrtgxonkAiJaAlA==\",\r\n        \"dependencies\": {\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"sc/7eVCdxPrp3ljpgTKVaQGUXiW05phNWvtv/m2kocXqrUQvTVWKou1Edas2aDjTThLPZOxPYIGNb/HN0QjURg==\",\r\n        \"dependencies\": {\r\n          \"System.ComponentModel\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.TypeConverter\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"MnDAlaeJZy9pdB5ZdOlwdxfpI+LJQ6e0hmH7d2+y2LkiD8DRJynyDYl4Xxf3fWFm7SbEwBZh4elcfzONQLOoQw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Collections.NonGeneric\": \"4.0.1\",\r\n          \"System.Collections.Specialized\": \"4.0.1\",\r\n          \"System.ComponentModel\": \"4.0.1\",\r\n          \"System.ComponentModel.Primitives\": \"4.1.0\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"tRwgcAkDd85O8Aq6zHDANzQaq380cek9lbMg5Qma46u5BZXq/G+XvIYmu+UI+BIIZ9zssXLYrkTykEqxxvhcmg==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"7.0.0\",\r\n          \"System.Composition.Convention\": \"7.0.0\",\r\n          \"System.Composition.Hosting\": \"7.0.0\",\r\n          \"System.Composition.Runtime\": \"7.0.0\",\r\n          \"System.Composition.TypedParts\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"2QzClqjElKxgI1jK1Jztnq44/8DmSuTSGGahXqQ4TdEV0h9s2KikQZIgcEqVzR7OuWDFPGLHIprBJGQEPr8fAQ==\"\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"IMhTlpCs4HmlD8B+J8/kWfwX7vrBBOs6xyjSTzBlYSs7W4OET4tlkR/Sg9NG8jkdJH9Mymq0qGdYS1VPqRTBnQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"eB6gwN9S+54jCTBJ5bpwMOVerKeUfGGTYCzz3QgDr1P55Gg/Wb27ShfPIhLMjmZ3MoAKu8uUSv6fcCdYJTN7Bg==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.Runtime\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"aZJ1Zr5Txe925rbo4742XifEyW0MIni1eiUebmcrP3HwLXZ3IbXUj4MFMUH/RmnJOAQiS401leg/2Sz1MkApDw==\"\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"ZK0KNPfbtxVceTwh+oHNGUOYV2WNOHReX2AXipuvkURC7s/jPwoWfsu3SnDBDgofqbiWr96geofdQ2erm/KTHg==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"7.0.0\",\r\n          \"System.Composition.Hosting\": \"7.0.0\",\r\n          \"System.Composition.Runtime\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"System.Configuration.ConfigurationManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.EventLog\": \"8.0.0\",\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Console\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Data.DataSetExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"221clPs1445HkTBZPL+K9sDBdJRB8UN8rgjO3ztB0CQ26z//fmJXtlsr6whGatscsKGBrhJl5bwJuKSA8mwFOw==\"\r\n      },\r\n      \"System.Diagnostics.Debug\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.DiagnosticSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.2\",\r\n        \"contentHash\": \"hYr3I9N9811e0Bjf2WNwAGGyTuAFbbTgX1RPLt/3Wbm68x3IGcX5Cl75CMmgT6WlNwLQ2tCCWfqYPpypjaf2xA==\"\r\n      },\r\n      \"System.Diagnostics.EventLog\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"fdYxcRjQqTTacKId/2IECojlDSFvp7LP5N78+0z/xH7v/Tuw5ZAxu23Y6PTCRinqyu2ePx+Gn1098NC6jM6d+A==\"\r\n      },\r\n      \"System.Diagnostics.Process\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"mpVZ5bnlSs3tTeJ6jYyDJEIa6tavhAd88lxq1zbYhkkCu0Pno2+gHXcvZcoygq2d8JxW3gojXqNJMTAshduqZA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.0.1\",\r\n          \"Microsoft.Win32.Primitives\": \"4.0.1\",\r\n          \"Microsoft.Win32.Registry\": \"4.0.0\",\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.IO.FileSystem\": \"4.0.1\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Runtime.Handles\": \"4.0.1\",\r\n          \"System.Runtime.InteropServices\": \"4.1.0\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Text.Encoding.Extensions\": \"4.0.11\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\",\r\n          \"System.Threading.Thread\": \"4.0.0\",\r\n          \"System.Threading.ThreadPool\": \"4.0.10\",\r\n          \"runtime.native.System\": \"4.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.TextWriterTraceListener\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"w36Dr8yKy8xP150qPANe7Td+/zOI3G62ImRcHDIEW+oUXUuTKZHd4DHmqRx5+x8RXd85v3tXd1uhNTfsr+yxjA==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.TraceSource\": \"4.0.0\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.TraceSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"6WVCczFZKXwpWpzd/iJkYnsmWTSFFiU24Xx/YdHXBcu+nFI/ehTgeqdJQFbtRPzbrO3KtRNjvkhtj4t5/WwWsA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.0.1\",\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"runtime.native.System\": \"4.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tracing\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Calendars\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.IO.Compression\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression.ZipFile\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Pipelines\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"eA3cinogwaNB4jdjQHOP3Z3EuyiDII7MT35jgtnsA4vkn0LUrrSHsU0nzHTzFzmaFYeKV7MYyMxOocFzsBHpTw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Linq\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq.Expressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\"\r\n      },\r\n      \"System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.4\",\r\n        \"contentHash\": \"aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Extensions\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"System.Net.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Net.Sockets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Private.DataContractSerialization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.1\",\r\n        \"contentHash\": \"lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Collections.Concurrent\": \"4.0.12\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.0.1\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.0.1\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Runtime.Serialization.Primitives\": \"4.1.1\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Text.Encoding.Extensions\": \"4.0.11\",\r\n          \"System.Text.RegularExpressions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\",\r\n          \"System.Xml.XmlSerializer\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Reflection\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"VR4kk8XLKebQ4MZuKuIni/7oh+QGFmZW3qORd1GvBq/8026OpW501SzT/oypwiQl4TvT8ErnReh/NzY9u+C6wQ==\"\r\n      },\r\n      \"System.Reflection.Emit.ILGeneration\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.Lightweight\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"MclTG61lsD9sYdpNz9xsKBzjsmsfCtcMZYXz/IUr2zlhaTaABonlr1ESeompTgM+Xk+IwtGYU7/voh3YWB/fWw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.TypeExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Resources.ResourceManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.3\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==\"\r\n      },\r\n      \"System.Runtime.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Handles\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices.RuntimeInformation\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Loader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"4UN78GOVU/mbDFcXkEWtetJT/sJ0yic2gGk1HSlSpWI0TDf421xnrZTDZnwNBapk1GQeYN7U1lTj/aQB1by6ow==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Numerics\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==\",\r\n        \"dependencies\": {\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Serialization.Json\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.2\",\r\n        \"contentHash\": \"+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Private.DataContractSerialization\": \"4.1.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Serialization.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.1\",\r\n        \"contentHash\": \"HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==\",\r\n        \"dependencies\": {\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Security.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"5.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Algorithms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Cng\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Csp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.ProtectedData\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg==\"\r\n      },\r\n      \"System.Security.Cryptography.X509Certificates\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Cng\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Csp\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Principal.Windows\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==\"\r\n      },\r\n      \"System.Text.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"LSyCblMpvOe0N3E+8e0skHcrIhgV2huaNcjUUEa8hRtgEAm36aGkRoC8Jxlb6Ra6GSfF29ftduPNywin8XolzQ==\"\r\n      },\r\n      \"System.Text.Encoding.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encodings.Web\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"e2hMgAErLbKyUUwt18qSBf9T5Y+SFAL3ZedM8fLupkVj8Rj2PZ9oxQ37XX2LF8fTO1wNIxvKpihD7Of7D/NxZw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.RegularExpressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"N0kNRrWe4+nXOWlpLT4LAY5brb8caNFlUuIRpraCVMDLYutKkol1aV079rQjLuSxKMJT2SpBQsYX9xbcTMmzwg==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.1\"\r\n        }\r\n      },\r\n      \"System.Threading\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Channels\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"qmeeYNROMsONF6ndEZcIQ+VxR4Q/TX/7uIVLJqtwIWL7dDWeh0l1UIqgo4wYyjG//5lUNhwkLDSFl+pAWO6oiA==\"\r\n      },\r\n      \"System.Threading.Tasks\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.4\",\r\n        \"contentHash\": \"zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==\"\r\n      },\r\n      \"System.Threading.Thread\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Threading.ThreadPool\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.10\",\r\n        \"contentHash\": \"IMXgB5Vf/5Qw1kpoVgJMOvUO1l32aC+qC3OaIZjWJOjvcxuxNWOK2ZTWWYXfij22NHxT2j1yWX5vlAeQWld9vA==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Handles\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"System.Threading.Timer\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.ReaderWriter\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XmlDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"2eZu6IP+etFVBBFUFzw2w6J21DqIN5eL9Y8r8JfJWUmV28Z5P0SNU01oCisVHQgHsDhHPnmq2s1hJrJCFZWloQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Xml.XmlSerializer\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.11\",\r\n        \"contentHash\": \"FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Emit\": \"4.0.1\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.0.1\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Text.RegularExpressions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"System.Xml.XPath\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"UWd1H+1IJ9Wlq5nognZ/XJdyj8qPE4XufBUkAW59ijsCPjZkZe0MUzKKJFBr+ZWBe5Wq1u1d5f2CYgE93uH7DA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Xml.XPath.XmlDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"Zm2BdeanuncYs3NhCj4c9e1x3EXFzFBVv2wPEc/Dj4ZbI9R8ecLSR5frAsx4zJCPBtKQreQ7Q/KxJEohJZbfzA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XPath\": \"4.0.1\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"xunit.abstractions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==\"\r\n      },\r\n      \"xunit.analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.10.0\",\r\n        \"contentHash\": \"4/IDFCJfIeg6bix9apmUtIMwvOsiwqdEexeO/R2D4GReIGPLIRODTpId/l4LRSrAJk9lEO3Zx1H0Zx6uohJDNg==\"\r\n      },\r\n      \"xunit.assert\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"O/Oe0BS5RmSsM+LQOb041TzuPo5MdH2Rov+qXGS37X+KFG1Hxz7kopYklM5+1Y+tRGeXrOx5+Xne1RuqLFQoyQ==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"xunit.core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"Zsj5OMU6JasNGERXZy8s72+pcheG6Q15atS5XpZXqAtULuyQiQ6XNnUsp1gyfC6WgqScqMvySiEHmHcOG6Eg0Q==\",\r\n        \"dependencies\": {\r\n          \"xunit.extensibility.core\": \"[2.4.1]\",\r\n          \"xunit.extensibility.execution\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"xunit.extensibility.core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"yKZKm/8QNZnBnGZFD9SewkllHBiK0DThybQD/G4PiAmQjKtEZyHi6ET70QPU9KtSMJGRYS6Syk7EyR2EVDU4Kg==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\",\r\n          \"xunit.abstractions\": \"2.0.3\"\r\n        }\r\n      },\r\n      \"xunit.extensibility.execution\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"7e/1jqBpcb7frLkB6XDrHCGXAbKN4Rtdb88epYxCSRQuZDRW8UtTfdTEVpdTl8s4T56e07hOBVd4G0OdCxIY2A==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\",\r\n          \"xunit.extensibility.core\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Features\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1, )\",\r\n          \"System.Memory\": \"[4.5.5, )\",\r\n          \"System.Net.Http\": \"[4.3.4, )\",\r\n          \"System.Text.RegularExpressions\": \"[4.3.1, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.FSharp\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"FSharp.Compiler.Service\": \"[43.8.300, )\",\r\n          \"FSharp.Core\": \"[8.0.300, )\",\r\n          \"Microsoft.Build.Utilities.Core\": \"[17.12.6, )\",\r\n          \"Microsoft.IO.RecyclableMemoryStream\": \"[2.2.0, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Testing\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\",\r\n          \"Newtonsoft.Json\": \"[13.0.3, )\",\r\n          \"System.Buffers\": \"[4.5.1, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.VisualBasic\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Features\": \"[3.3.1, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Tests.Roslyn49/Tests.Roslyn49.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\r\n  <PropertyGroup>\r\n    <TargetFramework>net7.0</TargetFramework>\r\n    <IsPackable>false</IsPackable>\r\n    <AssemblyName>MirrorSharp.Tests.Roslyn49</AssemblyName>\r\n    <RootNamespace>MirrorSharp.Tests</RootNamespace>\r\n    <IsPackable>false</IsPackable>\r\n    <NoWarn>VSTHRD200; RS1035</NoWarn>\r\n    <EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>\r\n  </PropertyGroup>\r\n\r\n  <ItemGroup>\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis\" Version=\"4.9.2\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.CSharp.Features\" Version=\"4.9.2\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.VisualBasic.Features\" Version=\"4.9.2\" />\r\n    <PackageReference Include=\"Microsoft.NET.Test.Sdk\" Version=\"16.2.0\" />\r\n    <PackageReference Include=\"SourceMock\" Version=\"0.10.0\" />\r\n    <!-- Avoids vulnerability in version referenced by Microsoft.CodeAnalysis.Features -->\r\n    <PackageReference Include=\"System.Text.Json\" Version=\"9.0.0\" />\r\n    <PackageReference Include=\"xunit\" Version=\"2.4.1\" />\r\n    <PackageReference Include=\"xunit.runner.visualstudio\" Version=\"2.4.0\" />\r\n    <PackageReference Include=\"coverlet.collector\" Version=\"1.0.1\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <ProjectReference Include=\"..\\Common\\Common.csproj\" />\r\n    <ProjectReference Include=\"..\\FSharp\\FSharp.csproj\" />\r\n    <ProjectReference Include=\"..\\Testing\\Testing.csproj\" />\r\n    <ProjectReference Include=\"..\\VisualBasic\\VisualBasic.csproj\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <Compile Include=\"../Tests/**/*.cs\" Exclude=\"../Tests/obj/**; ../Tests/Php*.cs; ../Tests/FSharp/*.cs\" />\r\n  </ItemGroup>\r\n\r\n  <Target Name=\"CopySdkReferenceAssemblies\" AfterTargets=\"ResolveReferences\">\r\n    <ItemGroup>\r\n      <Content Include=\"@(Reference->'%(RootDir)%(Directory)%(Filename)%(Extension)')\"\r\n               Link=\"@(Reference->'ref-assemblies\\%(Filename)%(Extension)')\"\r\n               Condition=\"$([System.String]::new('%(Filename)').StartsWith('System')) or '%(Filename)' == 'netstandard'\">\r\n        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\r\n      </Content>\r\n      <Content Include=\"@(Reference->'%(RootDir)%(Directory)%(Filename).xml')\"\r\n               Link=\"@(Reference->'ref-assemblies\\%(Filename).xml')\"\r\n               Condition=\"($([System.String]::new('%(Filename)').StartsWith('System')) or '%(Filename)' == 'netstandard')\r\n                          and Exists('%(RootDir)%(Directory)%(Filename).xml')\">\r\n        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\r\n      </Content>\r\n    </ItemGroup>\r\n  </Target>\r\n</Project>"
  },
  {
    "path": "Tests.Roslyn49/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \"net7.0\": {\r\n      \"coverlet.collector\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[1.0.1, )\",\r\n        \"resolved\": \"1.0.1\",\r\n        \"contentHash\": \"RAuno8s7DBGo2IdV/1d8YSnXMd/728K3PBT5R6/kfGx1yunBZmavlaFQfhGe7Q7N2nUMkvVET+7ITn3+KSg+Uw==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.9.2, )\",\r\n        \"resolved\": \"4.9.2\",\r\n        \"contentHash\": \"J2r/KAYUifHSGjYJmG30ozSJI9akYp04rj9NQW5maiUrtywJ/edtFeWChTNdGl3l+FqdryPBeqg4k33XgxxitA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.9.2]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.9.2]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.9.2, )\",\r\n        \"resolved\": \"4.9.2\",\r\n        \"contentHash\": \"xWXrqiQjo/JV6ZBCLcVDPFuwahM1N0YsJjigK+Hcxb4HSDlulBcu0/MbdWOd20vbyXM51FOcBPjmSbRtPnFZCg==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.9.2]\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.9.2]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.9.2]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[4.9.2]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.9.2]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.9.2, )\",\r\n        \"resolved\": \"4.9.2\",\r\n        \"contentHash\": \"CAMi+FwINGa4EmcV+TGEaY9PXdnTKnOQAHvnFpXufNvU3bYJY5SuRzXNrVAaqG3lRYjDzifaRVZ6VplplqoEQQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.9.2]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[4.9.2]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[4.9.2]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.9.2]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.9.2]\"\r\n        }\r\n      },\r\n      \"Microsoft.NET.Test.Sdk\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[16.2.0, )\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"56w1drIQqpMgg3IxHcfra/jXOngiD4pbl0j6TNeJMlOQGlZ8wCMlyRTvn6Crd/FgGjwKbWLurdOHNGrfzLtl6A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeCoverage\": \"16.2.0\",\r\n          \"Microsoft.TestPlatform.TestHost\": \"16.2.0\"\r\n        }\r\n      },\r\n      \"SourceMock\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.10.0, )\",\r\n        \"resolved\": \"0.10.0\",\r\n        \"contentHash\": \"Dd/YMTTRZSDR34HgVEgfMoZfOTId3Ns0vehFcdLVwMuKLgMcg7/4Oj80qX112np9siR2C4vL3qfT1I9ahzxu9Q==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.Json\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[9.0.0, )\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"js7+qAu/9mQvnhA4EfGMZNEzXtJCDxgkgj8ohuxq/Qxv+R56G+ljefhiJHOxTNiw54q8vmABCWUwkMulNdlZ4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"9.0.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.IO.Pipelines\": \"9.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encodings.Web\": \"9.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"xunit\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.4.1, )\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"XNR3Yz9QTtec16O0aKcO6+baVNpXmOnPUxDkCY97J+8krUYxPvXT1szYYEUdKk4sB8GOI2YbAjRIOm8ZnXRfzQ==\",\r\n        \"dependencies\": {\r\n          \"xunit.analyzers\": \"0.10.0\",\r\n          \"xunit.assert\": \"[2.4.1]\",\r\n          \"xunit.core\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"xunit.runner.visualstudio\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.4.0, )\",\r\n        \"resolved\": \"2.4.0\",\r\n        \"contentHash\": \"3eq5cGXbEJkqW9nwLuXwtxy9B5gMA8i7HW4rN63AhAvy5UvEcQbZnve23wx/oPrkyg/4CbfNhxkBezS0b1oUdQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NET.Test.Sdk\": \"15.0.0\"\r\n        }\r\n      },\r\n      \"FSharp.Compiler.Service\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"43.8.300\",\r\n        \"contentHash\": \"CoPjQYXXwmYkkHm+yxBHSW9IJVLpvwkKGEzXa5A6ebf8v6GfYaxZc5G+VHojDr586oezp1elFemu+A1WWH095A==\",\r\n        \"dependencies\": {\r\n          \"FSharp.Core\": \"[8.0.300]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"7.0.2\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Reflection.Emit\": \"4.7.0\",\r\n          \"System.Reflection.Metadata\": \"7.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"FSharp.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.300\",\r\n        \"contentHash\": \"Jv44fV7TNglyMku89lQcA4Q6mFKLyHb2bs1Yb72nvSVc+cHplEnoZ4XQUaaTLJGUTx/iMqcrkYGtaLzkkIhpaA==\"\r\n      },\r\n      \"Humanizer.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.14.1\",\r\n        \"contentHash\": \"lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==\"\r\n      },\r\n      \"Microsoft.Bcl.AsyncInterfaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"owmu2Cr3IQ8yQiBleBHlGk8dSQ12oaF2e7TpzwJKEl4m84kkZJjEY1n33L67Y3zM5jPOjmmbdHjbfiL0RqcMRQ==\"\r\n      },\r\n      \"Microsoft.Build.Framework\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"jleteC0seumLGTmTVwob97lcwPj/dfgzL/V3g/VVcMZgo2Ic7jzdy8AYpByPDh8e3uRq0SjCl6HOFCjhy5GzRQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Build.Utilities.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"pU3GnHcXp8VRMGKxdJCq+tixfhFn+QwEbpqmZmc/nqFHFyuhlGwjonWZMIWcwuCv/8EHgxoOttFvna1vrN+RrA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Build.Framework\": \"17.12.6\",\r\n          \"Microsoft.NET.StringTools\": \"17.12.6\",\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Configuration.ConfigurationManager\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.4\",\r\n        \"contentHash\": \"AxkxcPR+rheX0SmvpLVIGLhOUXAKG56a64kV9VQZ4y9gR9ZmPXnqZvHJnmwLSwzrEP6junUF11vuc+aqo5r68g==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.AnalyzerUtilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"gyQ70pJ4T7hu/s0+QnEaXtYfeG/JrttGnxHJlrhpxsQjRIUGuRhVwNBtkHHYOrUAZ/l47L98/NiJX6QmTwAyrg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.9.2\",\r\n        \"contentHash\": \"M5PThug7b2AdxL7xKmQs50KzAQTl9jENw5jMT3iUt16k+DAFlw1S87juU3UuPs3gvBm8trMBSOEvSFDr31c9Vw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.3.4\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.9.2\",\r\n        \"contentHash\": \"HGIo7E9Mf3exAJbUdYpDFfLoYkSVaHDJXPyusWTYUTBaOPCowGw+Gap5McE1w+K+ryIXre72oiqL88sQHmHBmg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.9.2]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.9.2\",\r\n        \"contentHash\": \"c74oxEil3fiZ3nXchnIgY6mXS4roHGiQBT6p3X6dMWokVqluHiqi3PNcXyxH8N/w28rQeXprF3mca83rPPNrMw==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.9.2]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.9.2]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.9.2]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Elfie\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.0\",\r\n        \"contentHash\": \"r12elUp4MRjdnRfxEP+xqVSUUfG3yIJTBEJGwbfvF5oU4m0jb9HC0gFG28V/dAkYGMkRmHVi3qvrnBLQSw9X3Q==\",\r\n        \"dependencies\": {\r\n          \"System.Configuration.ConfigurationManager\": \"4.5.0\",\r\n          \"System.Data.DataSetExtensions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.9.2\",\r\n        \"contentHash\": \"6Pd4zVKeOmXD3Bas0wZN6+HN+xarIVkGgQSoaCD4wotvIkV/v1VQgmLvqKBwcUtFilh6b0Uxt0Wpqbcg3xdk8A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.3.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.9.2]\",\r\n          \"Microsoft.CodeAnalysis.Elfie\": \"1.0.0\",\r\n          \"Microsoft.CodeAnalysis.Scripting.Common\": \"[4.9.2]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.9.2]\",\r\n          \"Microsoft.DiaSymReader\": \"2.0.0\",\r\n          \"System.Text.Json\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Scripting.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.9.2\",\r\n        \"contentHash\": \"h06oBYNt+WxCVsXk+k68Zzs5dzkUwDNbXwJ/rMTbyPKem9C3Hr+cydfQK9ibCvofvGheATTdCE6KGSVjK3jxJQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.9.2]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.9.2\",\r\n        \"contentHash\": \"7Yt2bP7XwAQP2Y3GLyEMrVSAhYiFCjQbtegjL1ac0aHRosZ5YZ2Ruk6p3YAXJLuZ4kH1RtasQq2l4QDtql4AvQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.9.2]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.9.2\",\r\n        \"contentHash\": \"ZY3rNE9jNKdOiwjgZdZIenDItjNVVI5PSCyeMEBF8pZ2v0V9poOAQWlBxlsWGrQyqGFdi0zn/PUyQ6xo+RZS/g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.9.2]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[4.9.2]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.9.2]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.9.2\",\r\n        \"contentHash\": \"sgBlkBjKwUdpbtwM7SnBdOxvQxuaTtO9F8QgvKY5cH/OnlwDTZqmkK8hfDbhxv9wnN2wME10BL2vIv1fLJwFGA==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.9.2]\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Threading.Channels\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeCoverage\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"fKiUOhhMP3IN1qM2tDHPWzW4JRbriFkIPiIzKUwMWT+Q+80bycxkLLCvxmVFoeA7gvWegNbTUjaX7mL3MM9XKg==\"\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.0\",\r\n        \"contentHash\": \"QcZrCETsBJqy/vQpFtJc+jSXQ0K5sucQ6NUFbTNVHD4vfZZOwjZ/3sBzczkC4DityhD3AVO/+K/+9ioLs1AgRA==\"\r\n      },\r\n      \"Microsoft.IO.RecyclableMemoryStream\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.2.0\",\r\n        \"contentHash\": \"uyjY/cqomw1irT4L7lDeg4sJ36MsjHg3wKqpGrBAdzvZaxo85yMF+sAA9RIzTV92fDxuUzjqksMqA0+SNMkMgA==\"\r\n      },\r\n      \"Microsoft.NET.StringTools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"w8Ehofqte5bJoR+Fa3f6JwkwFEkGtXxqvQHGOVOSHDzgNVySvL5FSNhavbQSZ864el9c3rjdLPLAtBW8dq6fmg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==\"\r\n      },\r\n      \"Microsoft.NETCore.Targets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.3\",\r\n        \"contentHash\": \"3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==\"\r\n      },\r\n      \"Microsoft.TestPlatform.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"RAyBf87uZ5XjRE953LlxqILpD1SqwQM6bXwxPUCAPPEy0uv12R+eKnFL7yaeLVHInMKkNNh1iD/cDOVDfSgllA==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.0\",\r\n          \"System.ComponentModel.EventBasedAsync\": \"4.0.11\",\r\n          \"System.ComponentModel.TypeConverter\": \"4.1.0\",\r\n          \"System.Diagnostics.Process\": \"4.1.0\",\r\n          \"System.Diagnostics.TextWriterTraceListener\": \"4.0.0\",\r\n          \"System.Diagnostics.TraceSource\": \"4.0.0\",\r\n          \"System.Reflection.Metadata\": \"1.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.0.0\",\r\n          \"System.Runtime.Loader\": \"4.0.0\",\r\n          \"System.Runtime.Serialization.Json\": \"4.0.2\",\r\n          \"System.Runtime.Serialization.Primitives\": \"4.1.1\",\r\n          \"System.Threading.Thread\": \"4.0.0\",\r\n          \"System.Xml.XPath.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"Microsoft.TestPlatform.TestHost\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"PogSQ40KgkZjEBdC6KBGpMtuvFFCIdoJAMmK7CAHWyTXCfN1cPN8j0TFJKh+LneSg+y0QQDP23STMF609KhHQw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.TestPlatform.ObjectModel\": \"16.2.0\",\r\n          \"Newtonsoft.Json\": \"9.0.1\"\r\n        }\r\n      },\r\n      \"Microsoft.Win32.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Win32.Registry\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"5.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.1\",\r\n        \"contentHash\": \"WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.Win32.Primitives\": \"4.3.0\",\r\n          \"System.AppContext\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Console\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.Compression.ZipFile\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Net.Http\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Net.Sockets\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Timer\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\",\r\n          \"System.Xml.XDocument\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Newtonsoft.Json\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"13.0.3\",\r\n        \"contentHash\": \"HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==\"\r\n      },\r\n      \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==\"\r\n      },\r\n      \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==\"\r\n      },\r\n      \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==\"\r\n      },\r\n      \"runtime.native.System\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==\",\r\n        \"dependencies\": {\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==\",\r\n        \"dependencies\": {\r\n          \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==\"\r\n      },\r\n      \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==\"\r\n      },\r\n      \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==\"\r\n      },\r\n      \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==\"\r\n      },\r\n      \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==\"\r\n      },\r\n      \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==\"\r\n      },\r\n      \"System.AppContext\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Concurrent\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg==\"\r\n      },\r\n      \"System.Collections.NonGeneric\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"hMxFT2RhhlffyCdKLDXjx8WEC5JfCvNozAZxCablAuFRH74SCV4AgzE8yJCh/73bFnEoZgJ9MJmkjQ0dJmnKqA==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Collections.Specialized\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"/HKQyVP0yH1I0YtK7KJL/28snxHNH/bi+0lgk/+MbURF6ULhAE31MDI+NZDerNWu264YbxklXCCygISgm+HMug==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.NonGeneric\": \"4.0.1\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Globalization.Extensions\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.ComponentModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"oBZFnm7seFiVfugsIyOvQCWobNZs7FzqDV/B7tx20Ep/l3UUFCPDkdTnCNaJZTU27zjeODmy2C/cP60u3D4c9w==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.EventBasedAsync\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.11\",\r\n        \"contentHash\": \"Z7SO6vvQIR84daPE4uhaNdef9CjgjDMGYkas8epUhf0U3WGuaGgZ0Mm4QuNycMdbHUY8KEdZrtgxonkAiJaAlA==\",\r\n        \"dependencies\": {\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"sc/7eVCdxPrp3ljpgTKVaQGUXiW05phNWvtv/m2kocXqrUQvTVWKou1Edas2aDjTThLPZOxPYIGNb/HN0QjURg==\",\r\n        \"dependencies\": {\r\n          \"System.ComponentModel\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.TypeConverter\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"MnDAlaeJZy9pdB5ZdOlwdxfpI+LJQ6e0hmH7d2+y2LkiD8DRJynyDYl4Xxf3fWFm7SbEwBZh4elcfzONQLOoQw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Collections.NonGeneric\": \"4.0.1\",\r\n          \"System.Collections.Specialized\": \"4.0.1\",\r\n          \"System.ComponentModel\": \"4.0.1\",\r\n          \"System.ComponentModel.Primitives\": \"4.1.0\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"E9oO9olNNxA39J8CxQwf7ceIPm+j/B/PhYpyK9M4LhN/OLLRw6u5fNInkhVqaWueMB9iXxYqnwqwgz+W91loIA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"8.0.0\",\r\n          \"System.Composition.Convention\": \"8.0.0\",\r\n          \"System.Composition.Hosting\": \"8.0.0\",\r\n          \"System.Composition.Runtime\": \"8.0.0\",\r\n          \"System.Composition.TypedParts\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"NyElSuvmBMYdn2iPG0n29i7Igu0bq99izOP3MAtEwskY3OP9jqsavvVmPn9lesVaj/KT/o/QkNjA43dOJTsDQw==\"\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"UuVkc1B3vQU/LzEbWLMZ1aYVssv4rpShzf8wPEyrUqoGNqdYKREmB8bXR73heOMKkwS6ZnPz3PjGODT2MenukQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"qwbONqoxlazxcbiohvb3t1JWZgKIKcRdXS5uEeLbo5wtuBupIbAvdC3PYTAeBCZrZeERvrtAbhYHuuS43Zr1bQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.Runtime\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"G+kRyB5/6+3ucRRQz+DF4uSHGqpkK8Q4ilVdbt4zvxpmvLVZNmSkyFAQpJLcbOyVF85aomJx0m+TGMDVlwx7ZQ==\"\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"DsSklhuA+Dsgo3ZZrar8hjBFvq1wa1grrkNCTt+6SoX3vq0Vy+HXJnVXrU/nNH1BjlGH684A7h4hJQHZd/u5mA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"8.0.0\",\r\n          \"System.Composition.Hosting\": \"8.0.0\",\r\n          \"System.Composition.Runtime\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Configuration.ConfigurationManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.EventLog\": \"8.0.0\",\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Console\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Data.DataSetExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"221clPs1445HkTBZPL+K9sDBdJRB8UN8rgjO3ztB0CQ26z//fmJXtlsr6whGatscsKGBrhJl5bwJuKSA8mwFOw==\"\r\n      },\r\n      \"System.Diagnostics.Debug\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.DiagnosticSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.2\",\r\n        \"contentHash\": \"hYr3I9N9811e0Bjf2WNwAGGyTuAFbbTgX1RPLt/3Wbm68x3IGcX5Cl75CMmgT6WlNwLQ2tCCWfqYPpypjaf2xA==\"\r\n      },\r\n      \"System.Diagnostics.EventLog\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"fdYxcRjQqTTacKId/2IECojlDSFvp7LP5N78+0z/xH7v/Tuw5ZAxu23Y6PTCRinqyu2ePx+Gn1098NC6jM6d+A==\"\r\n      },\r\n      \"System.Diagnostics.Process\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"mpVZ5bnlSs3tTeJ6jYyDJEIa6tavhAd88lxq1zbYhkkCu0Pno2+gHXcvZcoygq2d8JxW3gojXqNJMTAshduqZA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.0.1\",\r\n          \"Microsoft.Win32.Primitives\": \"4.0.1\",\r\n          \"Microsoft.Win32.Registry\": \"4.0.0\",\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.IO.FileSystem\": \"4.0.1\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Runtime.Handles\": \"4.0.1\",\r\n          \"System.Runtime.InteropServices\": \"4.1.0\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Text.Encoding.Extensions\": \"4.0.11\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\",\r\n          \"System.Threading.Thread\": \"4.0.0\",\r\n          \"System.Threading.ThreadPool\": \"4.0.10\",\r\n          \"runtime.native.System\": \"4.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.TextWriterTraceListener\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"w36Dr8yKy8xP150qPANe7Td+/zOI3G62ImRcHDIEW+oUXUuTKZHd4DHmqRx5+x8RXd85v3tXd1uhNTfsr+yxjA==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.TraceSource\": \"4.0.0\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.TraceSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"6WVCczFZKXwpWpzd/iJkYnsmWTSFFiU24Xx/YdHXBcu+nFI/ehTgeqdJQFbtRPzbrO3KtRNjvkhtj4t5/WwWsA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.0.1\",\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"runtime.native.System\": \"4.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tracing\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Calendars\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.IO.Compression\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression.ZipFile\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Pipelines\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"eA3cinogwaNB4jdjQHOP3Z3EuyiDII7MT35jgtnsA4vkn0LUrrSHsU0nzHTzFzmaFYeKV7MYyMxOocFzsBHpTw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Linq\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq.Expressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\"\r\n      },\r\n      \"System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.4\",\r\n        \"contentHash\": \"aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Extensions\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"System.Net.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Net.Sockets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Private.DataContractSerialization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.1\",\r\n        \"contentHash\": \"lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Collections.Concurrent\": \"4.0.12\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.0.1\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.0.1\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Runtime.Serialization.Primitives\": \"4.1.1\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Text.Encoding.Extensions\": \"4.0.11\",\r\n          \"System.Text.RegularExpressions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\",\r\n          \"System.Xml.XmlSerializer\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Reflection\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"VR4kk8XLKebQ4MZuKuIni/7oh+QGFmZW3qORd1GvBq/8026OpW501SzT/oypwiQl4TvT8ErnReh/NzY9u+C6wQ==\"\r\n      },\r\n      \"System.Reflection.Emit.ILGeneration\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.Lightweight\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"ptvgrFh7PvWI8bcVqG5rsA/weWM09EnthFHR5SCnS6IN+P4mj6rE1lBDC4U8HL9/57htKAqy4KQ3bBj84cfYyQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.TypeExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Resources.ResourceManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.3\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==\"\r\n      },\r\n      \"System.Runtime.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Handles\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices.RuntimeInformation\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Loader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"4UN78GOVU/mbDFcXkEWtetJT/sJ0yic2gGk1HSlSpWI0TDf421xnrZTDZnwNBapk1GQeYN7U1lTj/aQB1by6ow==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Numerics\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==\",\r\n        \"dependencies\": {\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Serialization.Json\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.2\",\r\n        \"contentHash\": \"+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Private.DataContractSerialization\": \"4.1.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Serialization.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.1\",\r\n        \"contentHash\": \"HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==\",\r\n        \"dependencies\": {\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Security.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"5.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Algorithms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Cng\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Csp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.ProtectedData\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg==\"\r\n      },\r\n      \"System.Security.Cryptography.X509Certificates\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Cng\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Csp\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Principal.Windows\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==\"\r\n      },\r\n      \"System.Text.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"LSyCblMpvOe0N3E+8e0skHcrIhgV2huaNcjUUEa8hRtgEAm36aGkRoC8Jxlb6Ra6GSfF29ftduPNywin8XolzQ==\"\r\n      },\r\n      \"System.Text.Encoding.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encodings.Web\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"e2hMgAErLbKyUUwt18qSBf9T5Y+SFAL3ZedM8fLupkVj8Rj2PZ9oxQ37XX2LF8fTO1wNIxvKpihD7Of7D/NxZw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.RegularExpressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"N0kNRrWe4+nXOWlpLT4LAY5brb8caNFlUuIRpraCVMDLYutKkol1aV079rQjLuSxKMJT2SpBQsYX9xbcTMmzwg==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.1\"\r\n        }\r\n      },\r\n      \"System.Threading\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Channels\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"CMaFr7v+57RW7uZfZkPExsPB6ljwzhjACWW1gfU35Y56rk72B/Wu+sTqxVmGSk4SFUlPc3cjeKND0zktziyjBA==\"\r\n      },\r\n      \"System.Threading.Tasks\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.4\",\r\n        \"contentHash\": \"zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==\"\r\n      },\r\n      \"System.Threading.Thread\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Threading.ThreadPool\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.10\",\r\n        \"contentHash\": \"IMXgB5Vf/5Qw1kpoVgJMOvUO1l32aC+qC3OaIZjWJOjvcxuxNWOK2ZTWWYXfij22NHxT2j1yWX5vlAeQWld9vA==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Handles\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"System.Threading.Timer\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.ReaderWriter\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XmlDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"2eZu6IP+etFVBBFUFzw2w6J21DqIN5eL9Y8r8JfJWUmV28Z5P0SNU01oCisVHQgHsDhHPnmq2s1hJrJCFZWloQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Xml.XmlSerializer\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.11\",\r\n        \"contentHash\": \"FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Emit\": \"4.0.1\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.0.1\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Text.RegularExpressions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"System.Xml.XPath\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"UWd1H+1IJ9Wlq5nognZ/XJdyj8qPE4XufBUkAW59ijsCPjZkZe0MUzKKJFBr+ZWBe5Wq1u1d5f2CYgE93uH7DA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Xml.XPath.XmlDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"Zm2BdeanuncYs3NhCj4c9e1x3EXFzFBVv2wPEc/Dj4ZbI9R8ecLSR5frAsx4zJCPBtKQreQ7Q/KxJEohJZbfzA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XPath\": \"4.0.1\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"xunit.abstractions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==\"\r\n      },\r\n      \"xunit.analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.10.0\",\r\n        \"contentHash\": \"4/IDFCJfIeg6bix9apmUtIMwvOsiwqdEexeO/R2D4GReIGPLIRODTpId/l4LRSrAJk9lEO3Zx1H0Zx6uohJDNg==\"\r\n      },\r\n      \"xunit.assert\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"O/Oe0BS5RmSsM+LQOb041TzuPo5MdH2Rov+qXGS37X+KFG1Hxz7kopYklM5+1Y+tRGeXrOx5+Xne1RuqLFQoyQ==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"xunit.core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"Zsj5OMU6JasNGERXZy8s72+pcheG6Q15atS5XpZXqAtULuyQiQ6XNnUsp1gyfC6WgqScqMvySiEHmHcOG6Eg0Q==\",\r\n        \"dependencies\": {\r\n          \"xunit.extensibility.core\": \"[2.4.1]\",\r\n          \"xunit.extensibility.execution\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"xunit.extensibility.core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"yKZKm/8QNZnBnGZFD9SewkllHBiK0DThybQD/G4PiAmQjKtEZyHi6ET70QPU9KtSMJGRYS6Syk7EyR2EVDU4Kg==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\",\r\n          \"xunit.abstractions\": \"2.0.3\"\r\n        }\r\n      },\r\n      \"xunit.extensibility.execution\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"7e/1jqBpcb7frLkB6XDrHCGXAbKN4Rtdb88epYxCSRQuZDRW8UtTfdTEVpdTl8s4T56e07hOBVd4G0OdCxIY2A==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\",\r\n          \"xunit.extensibility.core\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Features\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1, )\",\r\n          \"System.Memory\": \"[4.5.5, )\",\r\n          \"System.Net.Http\": \"[4.3.4, )\",\r\n          \"System.Text.RegularExpressions\": \"[4.3.1, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.FSharp\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"FSharp.Compiler.Service\": \"[43.8.300, )\",\r\n          \"FSharp.Core\": \"[8.0.300, )\",\r\n          \"Microsoft.Build.Utilities.Core\": \"[17.12.6, )\",\r\n          \"Microsoft.IO.RecyclableMemoryStream\": \"[2.2.0, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Testing\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\",\r\n          \"Newtonsoft.Json\": \"[13.0.3, )\",\r\n          \"System.Buffers\": \"[4.5.1, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.VisualBasic\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Features\": \"[3.3.1, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "Tests.RoslynLatest/Tests.RoslynLatest.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\r\n  <PropertyGroup>\r\n    <TargetFramework>net7.0</TargetFramework>\r\n    <IsPackable>false</IsPackable>\r\n    <AssemblyName>MirrorSharp.Tests.RoslynLatest</AssemblyName>\r\n    <RootNamespace>MirrorSharp.Tests</RootNamespace>\r\n    <IsPackable>false</IsPackable>\r\n    <NoWarn>VSTHRD200; RS1035; RS1041; RS1038</NoWarn>\r\n    <EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>\r\n  </PropertyGroup>\r\n\r\n  <PropertyGroup>\r\n    <!-- https://dev.azure.com/dnceng/public/_artifacts/feed/dotnet-tools -->\r\n    <RestoreAdditionalProjectSources>\r\n      https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json;\r\n      https://pkgs.dev.azure.com/azure-public/vside/_packaging/vs-impl/nuget/v3/index.json\r\n    </RestoreAdditionalProjectSources>\r\n  </PropertyGroup>\r\n\r\n  <ItemGroup>\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis\" Version=\"4.13.0-2.24567.1\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.CSharp.Features\" Version=\"4.13.0-2.24567.1\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.VisualBasic.Features\" Version=\"4.13.0-2.24567.1\" />\r\n    <PackageReference Include=\"Microsoft.NET.Test.Sdk\" Version=\"16.2.0\" />\r\n    <PackageReference Include=\"SourceMock\" Version=\"0.10.0\" />\r\n    <!-- Avoids vulnerability in version referenced by Microsoft.CodeAnalysis.Features -->\r\n    <PackageReference Include=\"System.Text.Json\" Version=\"9.0.0\" />\r\n    <PackageReference Include=\"xunit\" Version=\"2.4.1\" />\r\n    <PackageReference Include=\"xunit.runner.visualstudio\" Version=\"2.4.0\" />\r\n    <PackageReference Include=\"coverlet.collector\" Version=\"1.0.1\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <ProjectReference Include=\"..\\Common\\Common.csproj\" />\r\n    <ProjectReference Include=\"..\\FSharp\\FSharp.csproj\" />\r\n    <ProjectReference Include=\"..\\Testing\\Testing.csproj\" />\r\n    <ProjectReference Include=\"..\\VisualBasic\\VisualBasic.csproj\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <Compile Include=\"../Tests/**/*.cs\" Exclude=\"../Tests/obj/**; ../Tests/Php*.cs; ../Tests/FSharp/*.cs\" />\r\n  </ItemGroup>\r\n\r\n  <Target Name=\"CopySdkReferenceAssemblies\" AfterTargets=\"ResolveReferences\">\r\n    <ItemGroup>\r\n      <Content Include=\"@(Reference->'%(RootDir)%(Directory)%(Filename)%(Extension)')\"\r\n               Link=\"@(Reference->'ref-assemblies\\%(Filename)%(Extension)')\"\r\n               Condition=\"$([System.String]::new('%(Filename)').StartsWith('System')) or '%(Filename)' == 'netstandard'\">\r\n        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\r\n      </Content>\r\n      <Content Include=\"@(Reference->'%(RootDir)%(Directory)%(Filename).xml')\"\r\n               Link=\"@(Reference->'ref-assemblies\\%(Filename).xml')\"\r\n               Condition=\"($([System.String]::new('%(Filename)').StartsWith('System')) or '%(Filename)' == 'netstandard')\r\n                          and Exists('%(RootDir)%(Directory)%(Filename).xml')\">\r\n        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\r\n      </Content>\r\n    </ItemGroup>\r\n  </Target>\r\n</Project>"
  },
  {
    "path": "Tests.RoslynLatest/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \"net7.0\": {\r\n      \"coverlet.collector\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[1.0.1, )\",\r\n        \"resolved\": \"1.0.1\",\r\n        \"contentHash\": \"RAuno8s7DBGo2IdV/1d8YSnXMd/728K3PBT5R6/kfGx1yunBZmavlaFQfhGe7Q7N2nUMkvVET+7ITn3+KSg+Uw==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.13.0-2.24567.1, )\",\r\n        \"resolved\": \"4.13.0-2.24567.1\",\r\n        \"contentHash\": \"5oFj9WZaKS/ClFe+RXNGBA8Esh0fSgZ22di4FEqWr9K8MGwBjxl8dmCvFnnS0oR+Apq6CxkAqqn8wA4gjM/c4g==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"8.0.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.11.0\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.13.0-2.24567.1]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.13.0-2.24567.1]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.13.0-2.24567.1, )\",\r\n        \"resolved\": \"4.13.0-2.24567.1\",\r\n        \"contentHash\": \"5t3rZ3hvYCh6HJ6eTCS14MShh+RKA97tfTSdRtvCT6pLrFQDfCSezwBRNX93TfKIqNuxtR1AR7A56RdelaoW+g==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"8.0.0\",\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.3.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.11.0\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.13.0-2.24567.1]\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[4.13.0-2.24567.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.13.0-2.24567.1]\",\r\n          \"Microsoft.CodeAnalysis.Elfie\": \"1.0.0\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[4.13.0-2.24567.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.13.0-2.24567.1]\",\r\n          \"Microsoft.DiaSymReader\": \"2.0.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.Configuration.ConfigurationManager\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Text.Encodings.Web\": \"8.0.0\",\r\n          \"System.Text.Json\": \"8.0.4\",\r\n          \"System.Threading.Channels\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[4.13.0-2.24567.1, )\",\r\n        \"resolved\": \"4.13.0-2.24567.1\",\r\n        \"contentHash\": \"FXzmnr4PNC2YxI/sadstuOVjNn5E86tfdO/0J49QwZITMqLwantgyOZfUaLlAskI1N2iY1iE9tIhxLtfkv+h6w==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"8.0.0\",\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.3.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.11.0\",\r\n          \"Microsoft.CodeAnalysis.Elfie\": \"1.0.0\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[4.13.0-2.24567.1]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[4.13.0-2.24567.1]\",\r\n          \"Microsoft.DiaSymReader\": \"2.0.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.Configuration.ConfigurationManager\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Text.Encodings.Web\": \"8.0.0\",\r\n          \"System.Text.Json\": \"8.0.4\",\r\n          \"System.Threading.Channels\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.NET.Test.Sdk\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[16.2.0, )\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"56w1drIQqpMgg3IxHcfra/jXOngiD4pbl0j6TNeJMlOQGlZ8wCMlyRTvn6Crd/FgGjwKbWLurdOHNGrfzLtl6A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeCoverage\": \"16.2.0\",\r\n          \"Microsoft.TestPlatform.TestHost\": \"16.2.0\"\r\n        }\r\n      },\r\n      \"SourceMock\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[0.10.0, )\",\r\n        \"resolved\": \"0.10.0\",\r\n        \"contentHash\": \"Dd/YMTTRZSDR34HgVEgfMoZfOTId3Ns0vehFcdLVwMuKLgMcg7/4Oj80qX112np9siR2C4vL3qfT1I9ahzxu9Q==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.Json\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[9.0.0, )\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"js7+qAu/9mQvnhA4EfGMZNEzXtJCDxgkgj8ohuxq/Qxv+R56G+ljefhiJHOxTNiw54q8vmABCWUwkMulNdlZ4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"9.0.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.IO.Pipelines\": \"9.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encodings.Web\": \"9.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"xunit\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.4.1, )\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"XNR3Yz9QTtec16O0aKcO6+baVNpXmOnPUxDkCY97J+8krUYxPvXT1szYYEUdKk4sB8GOI2YbAjRIOm8ZnXRfzQ==\",\r\n        \"dependencies\": {\r\n          \"xunit.analyzers\": \"0.10.0\",\r\n          \"xunit.assert\": \"[2.4.1]\",\r\n          \"xunit.core\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"xunit.runner.visualstudio\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.4.0, )\",\r\n        \"resolved\": \"2.4.0\",\r\n        \"contentHash\": \"3eq5cGXbEJkqW9nwLuXwtxy9B5gMA8i7HW4rN63AhAvy5UvEcQbZnve23wx/oPrkyg/4CbfNhxkBezS0b1oUdQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NET.Test.Sdk\": \"15.0.0\"\r\n        }\r\n      },\r\n      \"FSharp.Compiler.Service\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"43.8.300\",\r\n        \"contentHash\": \"CoPjQYXXwmYkkHm+yxBHSW9IJVLpvwkKGEzXa5A6ebf8v6GfYaxZc5G+VHojDr586oezp1elFemu+A1WWH095A==\",\r\n        \"dependencies\": {\r\n          \"FSharp.Core\": \"[8.0.300]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"7.0.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"7.0.2\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Reflection.Emit\": \"4.7.0\",\r\n          \"System.Reflection.Metadata\": \"7.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"FSharp.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.300\",\r\n        \"contentHash\": \"Jv44fV7TNglyMku89lQcA4Q6mFKLyHb2bs1Yb72nvSVc+cHplEnoZ4XQUaaTLJGUTx/iMqcrkYGtaLzkkIhpaA==\"\r\n      },\r\n      \"Humanizer.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.14.1\",\r\n        \"contentHash\": \"lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==\"\r\n      },\r\n      \"Microsoft.Bcl.AsyncInterfaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"owmu2Cr3IQ8yQiBleBHlGk8dSQ12oaF2e7TpzwJKEl4m84kkZJjEY1n33L67Y3zM5jPOjmmbdHjbfiL0RqcMRQ==\"\r\n      },\r\n      \"Microsoft.Build.Framework\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"jleteC0seumLGTmTVwob97lcwPj/dfgzL/V3g/VVcMZgo2Ic7jzdy8AYpByPDh8e3uRq0SjCl6HOFCjhy5GzRQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Build.Utilities.Core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"pU3GnHcXp8VRMGKxdJCq+tixfhFn+QwEbpqmZmc/nqFHFyuhlGwjonWZMIWcwuCv/8EHgxoOttFvna1vrN+RrA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.Build.Framework\": \"17.12.6\",\r\n          \"Microsoft.NET.StringTools\": \"17.12.6\",\r\n          \"Microsoft.Win32.Registry\": \"5.0.0\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Configuration.ConfigurationManager\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.11.0\",\r\n        \"contentHash\": \"v/EW3UE8/lbEYHoC2Qq7AR/DnmvpgdtAMndfQNmpuIMx/Mto8L5JnuCfdBYtgvalQOtfNCnxFejxuRrryvUTsg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.AnalyzerUtilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"gyQ70pJ4T7hu/s0+QnEaXtYfeG/JrttGnxHJlrhpxsQjRIUGuRhVwNBtkHHYOrUAZ/l47L98/NiJX6QmTwAyrg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.13.0-2.24567.1\",\r\n        \"contentHash\": \"C1695oHLtmpyu7xzRlIe/TOsFn/efHtWtopm7niK4YN7Kc8aEB0C+yhkk5u/VOuP7htshwKxIQtJIvoF4t2piA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.11.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.13.0-2.24567.1\",\r\n        \"contentHash\": \"zP+yI271YB8fu4a+VMeZca3We+bmR2S3NntxDKp0tEINtBHR9aRF+L7h2m9sqGdnzzyWOx8zXRLCjXwVV7on2A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.11.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.13.0-2.24567.1]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.13.0-2.24567.1\",\r\n        \"contentHash\": \"7bKg3UvVFulNRAU2TEp3agWDBz5kcrXf1fedhb7Lyu6jZYYpMrtvJcEwClK8mBLwMBo3BXzeh3JzSnIN9CPj3w==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"8.0.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.11.0\",\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[4.13.0-2.24567.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.13.0-2.24567.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.13.0-2.24567.1]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Elfie\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.0\",\r\n        \"contentHash\": \"r12elUp4MRjdnRfxEP+xqVSUUfG3yIJTBEJGwbfvF5oU4m0jb9HC0gFG28V/dAkYGMkRmHVi3qvrnBLQSw9X3Q==\",\r\n        \"dependencies\": {\r\n          \"System.Configuration.ConfigurationManager\": \"4.5.0\",\r\n          \"System.Data.DataSetExtensions\": \"4.5.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.13.0-2.24567.1\",\r\n        \"contentHash\": \"FQFV/E1lK98rROov+fn8nVrLKyddUj6+1+Ij+3AizZFbdX+w9iURO2naswL8XPDqEqXs0o4poHmSxzW4BqNOOQ==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"8.0.0\",\r\n          \"Microsoft.CodeAnalysis.AnalyzerUtilities\": \"3.3.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.11.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.13.0-2.24567.1]\",\r\n          \"Microsoft.CodeAnalysis.Elfie\": \"1.0.0\",\r\n          \"Microsoft.CodeAnalysis.Scripting.Common\": \"[4.13.0-2.24567.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.13.0-2.24567.1]\",\r\n          \"Microsoft.DiaSymReader\": \"2.0.0\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.Configuration.ConfigurationManager\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Text.Encodings.Web\": \"8.0.0\",\r\n          \"System.Text.Json\": \"8.0.4\",\r\n          \"System.Threading.Channels\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Scripting.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.13.0-2.24567.1\",\r\n        \"contentHash\": \"Pcw43Lcg1jKPfEjmCULtMpMwlwPkyPPIOcqYsXaRgasDAAkYKEnbk2cGMey3itBeYjLcUhldYVhRTK0kDalvew==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.11.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.13.0-2.24567.1]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.13.0-2.24567.1\",\r\n        \"contentHash\": \"/H6EaPiM4JIZ1zg7rnbqrFehcvJCcsOtvM5q8PMrWBFUibUHuZE6Epfdug3gynkzUzi5Db+d7S+GduX8dswYJQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.11.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.13.0-2.24567.1]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.13.0-2.24567.1\",\r\n        \"contentHash\": \"ZL8ZZKg3vv5dvS932wvtSF90/jJ2gwq/mZsqaBQW3hTLFf6mQyatYTPukd4NlyWjfAHRT17BnrF09CX1b0eCLg==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"8.0.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.11.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.13.0-2.24567.1]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[4.13.0-2.24567.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[4.13.0-2.24567.1]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.13.0-2.24567.1\",\r\n        \"contentHash\": \"Kv6DslBjsZLhqMv+0Yweq23w2HY789udSBGEME5/ePKr7UV3FZchR58LTkmABZ6LoHEfLli2WHxYVYJ0kIChaw==\",\r\n        \"dependencies\": {\r\n          \"Humanizer.Core\": \"2.14.1\",\r\n          \"Microsoft.Bcl.AsyncInterfaces\": \"8.0.0\",\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"3.11.0\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[4.13.0-2.24567.1]\",\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Collections.Immutable\": \"8.0.0\",\r\n          \"System.Composition\": \"8.0.0\",\r\n          \"System.IO.Pipelines\": \"8.0.0\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Numerics.Vectors\": \"4.5.0\",\r\n          \"System.Reflection.Metadata\": \"8.0.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\",\r\n          \"System.Text.Encoding.CodePages\": \"7.0.0\",\r\n          \"System.Threading.Channels\": \"7.0.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeCoverage\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"fKiUOhhMP3IN1qM2tDHPWzW4JRbriFkIPiIzKUwMWT+Q+80bycxkLLCvxmVFoeA7gvWegNbTUjaX7mL3MM9XKg==\"\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.0\",\r\n        \"contentHash\": \"QcZrCETsBJqy/vQpFtJc+jSXQ0K5sucQ6NUFbTNVHD4vfZZOwjZ/3sBzczkC4DityhD3AVO/+K/+9ioLs1AgRA==\"\r\n      },\r\n      \"Microsoft.IO.RecyclableMemoryStream\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.2.0\",\r\n        \"contentHash\": \"uyjY/cqomw1irT4L7lDeg4sJ36MsjHg3wKqpGrBAdzvZaxo85yMF+sAA9RIzTV92fDxuUzjqksMqA0+SNMkMgA==\"\r\n      },\r\n      \"Microsoft.NET.StringTools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"17.12.6\",\r\n        \"contentHash\": \"w8Ehofqte5bJoR+Fa3f6JwkwFEkGtXxqvQHGOVOSHDzgNVySvL5FSNhavbQSZ864el9c3rjdLPLAtBW8dq6fmg==\",\r\n        \"dependencies\": {\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==\"\r\n      },\r\n      \"Microsoft.NETCore.Targets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.3\",\r\n        \"contentHash\": \"3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==\"\r\n      },\r\n      \"Microsoft.TestPlatform.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"RAyBf87uZ5XjRE953LlxqILpD1SqwQM6bXwxPUCAPPEy0uv12R+eKnFL7yaeLVHInMKkNNh1iD/cDOVDfSgllA==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.0\",\r\n          \"System.ComponentModel.EventBasedAsync\": \"4.0.11\",\r\n          \"System.ComponentModel.TypeConverter\": \"4.1.0\",\r\n          \"System.Diagnostics.Process\": \"4.1.0\",\r\n          \"System.Diagnostics.TextWriterTraceListener\": \"4.0.0\",\r\n          \"System.Diagnostics.TraceSource\": \"4.0.0\",\r\n          \"System.Reflection.Metadata\": \"1.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.0.0\",\r\n          \"System.Runtime.Loader\": \"4.0.0\",\r\n          \"System.Runtime.Serialization.Json\": \"4.0.2\",\r\n          \"System.Runtime.Serialization.Primitives\": \"4.1.1\",\r\n          \"System.Threading.Thread\": \"4.0.0\",\r\n          \"System.Xml.XPath.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"Microsoft.TestPlatform.TestHost\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"16.2.0\",\r\n        \"contentHash\": \"PogSQ40KgkZjEBdC6KBGpMtuvFFCIdoJAMmK7CAHWyTXCfN1cPN8j0TFJKh+LneSg+y0QQDP23STMF609KhHQw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.TestPlatform.ObjectModel\": \"16.2.0\",\r\n          \"Newtonsoft.Json\": \"9.0.1\"\r\n        }\r\n      },\r\n      \"Microsoft.Win32.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Microsoft.Win32.Registry\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==\",\r\n        \"dependencies\": {\r\n          \"System.Security.AccessControl\": \"5.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.1\",\r\n        \"contentHash\": \"WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.Win32.Primitives\": \"4.3.0\",\r\n          \"System.AppContext\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Console\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.Compression.ZipFile\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Net.Http\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Net.Sockets\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices.RuntimeInformation\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Timer\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\",\r\n          \"System.Xml.XDocument\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"Newtonsoft.Json\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"13.0.3\",\r\n        \"contentHash\": \"HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==\"\r\n      },\r\n      \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==\"\r\n      },\r\n      \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==\"\r\n      },\r\n      \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==\"\r\n      },\r\n      \"runtime.native.System\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==\",\r\n        \"dependencies\": {\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==\",\r\n        \"dependencies\": {\r\n          \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==\"\r\n      },\r\n      \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==\"\r\n      },\r\n      \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==\"\r\n      },\r\n      \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==\"\r\n      },\r\n      \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==\"\r\n      },\r\n      \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==\"\r\n      },\r\n      \"System.AppContext\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Concurrent\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg==\"\r\n      },\r\n      \"System.Collections.NonGeneric\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"hMxFT2RhhlffyCdKLDXjx8WEC5JfCvNozAZxCablAuFRH74SCV4AgzE8yJCh/73bFnEoZgJ9MJmkjQ0dJmnKqA==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Collections.Specialized\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"/HKQyVP0yH1I0YtK7KJL/28snxHNH/bi+0lgk/+MbURF6ULhAE31MDI+NZDerNWu264YbxklXCCygISgm+HMug==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.NonGeneric\": \"4.0.1\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Globalization.Extensions\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.ComponentModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"oBZFnm7seFiVfugsIyOvQCWobNZs7FzqDV/B7tx20Ep/l3UUFCPDkdTnCNaJZTU27zjeODmy2C/cP60u3D4c9w==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.EventBasedAsync\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.11\",\r\n        \"contentHash\": \"Z7SO6vvQIR84daPE4uhaNdef9CjgjDMGYkas8epUhf0U3WGuaGgZ0Mm4QuNycMdbHUY8KEdZrtgxonkAiJaAlA==\",\r\n        \"dependencies\": {\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"sc/7eVCdxPrp3ljpgTKVaQGUXiW05phNWvtv/m2kocXqrUQvTVWKou1Edas2aDjTThLPZOxPYIGNb/HN0QjURg==\",\r\n        \"dependencies\": {\r\n          \"System.ComponentModel\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.ComponentModel.TypeConverter\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"MnDAlaeJZy9pdB5ZdOlwdxfpI+LJQ6e0hmH7d2+y2LkiD8DRJynyDYl4Xxf3fWFm7SbEwBZh4elcfzONQLOoQw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Collections.NonGeneric\": \"4.0.1\",\r\n          \"System.Collections.Specialized\": \"4.0.1\",\r\n          \"System.ComponentModel\": \"4.0.1\",\r\n          \"System.ComponentModel.Primitives\": \"4.1.0\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"E9oO9olNNxA39J8CxQwf7ceIPm+j/B/PhYpyK9M4LhN/OLLRw6u5fNInkhVqaWueMB9iXxYqnwqwgz+W91loIA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"8.0.0\",\r\n          \"System.Composition.Convention\": \"8.0.0\",\r\n          \"System.Composition.Hosting\": \"8.0.0\",\r\n          \"System.Composition.Runtime\": \"8.0.0\",\r\n          \"System.Composition.TypedParts\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"NyElSuvmBMYdn2iPG0n29i7Igu0bq99izOP3MAtEwskY3OP9jqsavvVmPn9lesVaj/KT/o/QkNjA43dOJTsDQw==\"\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"UuVkc1B3vQU/LzEbWLMZ1aYVssv4rpShzf8wPEyrUqoGNqdYKREmB8bXR73heOMKkwS6ZnPz3PjGODT2MenukQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"qwbONqoxlazxcbiohvb3t1JWZgKIKcRdXS5uEeLbo5wtuBupIbAvdC3PYTAeBCZrZeERvrtAbhYHuuS43Zr1bQ==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.Runtime\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"G+kRyB5/6+3ucRRQz+DF4uSHGqpkK8Q4ilVdbt4zvxpmvLVZNmSkyFAQpJLcbOyVF85aomJx0m+TGMDVlwx7ZQ==\"\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"DsSklhuA+Dsgo3ZZrar8hjBFvq1wa1grrkNCTt+6SoX3vq0Vy+HXJnVXrU/nNH1BjlGH684A7h4hJQHZd/u5mA==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"8.0.0\",\r\n          \"System.Composition.Hosting\": \"8.0.0\",\r\n          \"System.Composition.Runtime\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Configuration.ConfigurationManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.EventLog\": \"8.0.0\",\r\n          \"System.Security.Cryptography.ProtectedData\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Console\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Data.DataSetExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"221clPs1445HkTBZPL+K9sDBdJRB8UN8rgjO3ztB0CQ26z//fmJXtlsr6whGatscsKGBrhJl5bwJuKSA8mwFOw==\"\r\n      },\r\n      \"System.Diagnostics.Debug\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.DiagnosticSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.2\",\r\n        \"contentHash\": \"hYr3I9N9811e0Bjf2WNwAGGyTuAFbbTgX1RPLt/3Wbm68x3IGcX5Cl75CMmgT6WlNwLQ2tCCWfqYPpypjaf2xA==\"\r\n      },\r\n      \"System.Diagnostics.EventLog\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"fdYxcRjQqTTacKId/2IECojlDSFvp7LP5N78+0z/xH7v/Tuw5ZAxu23Y6PTCRinqyu2ePx+Gn1098NC6jM6d+A==\"\r\n      },\r\n      \"System.Diagnostics.Process\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.0\",\r\n        \"contentHash\": \"mpVZ5bnlSs3tTeJ6jYyDJEIa6tavhAd88lxq1zbYhkkCu0Pno2+gHXcvZcoygq2d8JxW3gojXqNJMTAshduqZA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.0.1\",\r\n          \"Microsoft.Win32.Primitives\": \"4.0.1\",\r\n          \"Microsoft.Win32.Registry\": \"4.0.0\",\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.IO.FileSystem\": \"4.0.1\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.0.1\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Runtime.Handles\": \"4.0.1\",\r\n          \"System.Runtime.InteropServices\": \"4.1.0\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Text.Encoding.Extensions\": \"4.0.11\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\",\r\n          \"System.Threading.Thread\": \"4.0.0\",\r\n          \"System.Threading.ThreadPool\": \"4.0.10\",\r\n          \"runtime.native.System\": \"4.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.TextWriterTraceListener\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"w36Dr8yKy8xP150qPANe7Td+/zOI3G62ImRcHDIEW+oUXUuTKZHd4DHmqRx5+x8RXd85v3tXd1uhNTfsr+yxjA==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.TraceSource\": \"4.0.0\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.TraceSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"6WVCczFZKXwpWpzd/iJkYnsmWTSFFiU24Xx/YdHXBcu+nFI/ehTgeqdJQFbtRPzbrO3KtRNjvkhtj4t5/WwWsA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.0.1\",\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"runtime.native.System\": \"4.0.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tracing\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Calendars\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.IO.Compression\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Compression.ZipFile\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.Compression\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.Pipelines\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"eA3cinogwaNB4jdjQHOP3Z3EuyiDII7MT35jgtnsA4vkn0LUrrSHsU0nzHTzFzmaFYeKV7MYyMxOocFzsBHpTw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.4\"\r\n        }\r\n      },\r\n      \"System.Linq\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq.Expressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\"\r\n      },\r\n      \"System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.4\",\r\n        \"contentHash\": \"aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Extensions\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"System.Net.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Net.Sockets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Numerics.Vectors\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.0\",\r\n        \"contentHash\": \"QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==\"\r\n      },\r\n      \"System.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Private.DataContractSerialization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.1\",\r\n        \"contentHash\": \"lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Collections.Concurrent\": \"4.0.12\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.0.1\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.0.1\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Runtime.Serialization.Primitives\": \"4.1.1\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Text.Encoding.Extensions\": \"4.0.11\",\r\n          \"System.Text.RegularExpressions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Threading.Tasks\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\",\r\n          \"System.Xml.XmlSerializer\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Reflection\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.7.0\",\r\n        \"contentHash\": \"VR4kk8XLKebQ4MZuKuIni/7oh+QGFmZW3qORd1GvBq/8026OpW501SzT/oypwiQl4TvT8ErnReh/NzY9u+C6wQ==\"\r\n      },\r\n      \"System.Reflection.Emit.ILGeneration\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.Lightweight\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"ptvgrFh7PvWI8bcVqG5rsA/weWM09EnthFHR5SCnS6IN+P4mj6rE1lBDC4U8HL9/57htKAqy4KQ3bBj84cfYyQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"8.0.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.TypeExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Resources.ResourceManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.3\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"6.0.0\",\r\n        \"contentHash\": \"/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==\"\r\n      },\r\n      \"System.Runtime.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Handles\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices.RuntimeInformation\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Loader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"4UN78GOVU/mbDFcXkEWtetJT/sJ0yic2gGk1HSlSpWI0TDf421xnrZTDZnwNBapk1GQeYN7U1lTj/aQB1by6ow==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Numerics\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==\",\r\n        \"dependencies\": {\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Serialization.Json\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.2\",\r\n        \"contentHash\": \"+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Private.DataContractSerialization\": \"4.1.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Serialization.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.1.1\",\r\n        \"contentHash\": \"HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==\",\r\n        \"dependencies\": {\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Security.AccessControl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"5.0.0\",\r\n          \"System.Security.Principal.Windows\": \"5.0.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Algorithms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Cng\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Csp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.ProtectedData\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"8.0.0\",\r\n        \"contentHash\": \"+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg==\"\r\n      },\r\n      \"System.Security.Cryptography.X509Certificates\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Cng\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Csp\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Principal.Windows\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"5.0.0\",\r\n        \"contentHash\": \"t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==\"\r\n      },\r\n      \"System.Text.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"LSyCblMpvOe0N3E+8e0skHcrIhgV2huaNcjUUEa8hRtgEAm36aGkRoC8Jxlb6Ra6GSfF29ftduPNywin8XolzQ==\"\r\n      },\r\n      \"System.Text.Encoding.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encodings.Web\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"9.0.0\",\r\n        \"contentHash\": \"e2hMgAErLbKyUUwt18qSBf9T5Y+SFAL3ZedM8fLupkVj8Rj2PZ9oxQ37XX2LF8fTO1wNIxvKpihD7Of7D/NxZw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Memory\": \"4.5.5\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"6.0.0\"\r\n        }\r\n      },\r\n      \"System.Text.RegularExpressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"N0kNRrWe4+nXOWlpLT4LAY5brb8caNFlUuIRpraCVMDLYutKkol1aV079rQjLuSxKMJT2SpBQsYX9xbcTMmzwg==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.1\"\r\n        }\r\n      },\r\n      \"System.Threading\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Channels\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"7.0.0\",\r\n        \"contentHash\": \"qmeeYNROMsONF6ndEZcIQ+VxR4Q/TX/7uIVLJqtwIWL7dDWeh0l1UIqgo4wYyjG//5lUNhwkLDSFl+pAWO6oiA==\"\r\n      },\r\n      \"System.Threading.Tasks\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.4\",\r\n        \"contentHash\": \"zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==\"\r\n      },\r\n      \"System.Threading.Thread\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.0\",\r\n        \"contentHash\": \"gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\"\r\n        }\r\n      },\r\n      \"System.Threading.ThreadPool\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.10\",\r\n        \"contentHash\": \"IMXgB5Vf/5Qw1kpoVgJMOvUO1l32aC+qC3OaIZjWJOjvcxuxNWOK2ZTWWYXfij22NHxT2j1yWX5vlAeQWld9vA==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Handles\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"System.Threading.Timer\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.ReaderWriter\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Text.Encoding.Extensions\": \"4.3.0\",\r\n          \"System.Text.RegularExpressions\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Xml.ReaderWriter\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Xml.XmlDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"2eZu6IP+etFVBBFUFzw2w6J21DqIN5eL9Y8r8JfJWUmV28Z5P0SNU01oCisVHQgHsDhHPnmq2s1hJrJCFZWloQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Text.Encoding\": \"4.0.11\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Xml.XmlSerializer\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.11\",\r\n        \"contentHash\": \"FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Linq\": \"4.1.0\",\r\n          \"System.Reflection\": \"4.1.0\",\r\n          \"System.Reflection.Emit\": \"4.0.1\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.0.1\",\r\n          \"System.Reflection.Extensions\": \"4.0.1\",\r\n          \"System.Reflection.Primitives\": \"4.0.1\",\r\n          \"System.Reflection.TypeExtensions\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Text.RegularExpressions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"System.Xml.XPath\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"UWd1H+1IJ9Wlq5nognZ/XJdyj8qPE4XufBUkAW59ijsCPjZkZe0MUzKKJFBr+ZWBe5Wq1u1d5f2CYgE93uH7DA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Diagnostics.Debug\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\"\r\n        }\r\n      },\r\n      \"System.Xml.XPath.XmlDocument\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.0.1\",\r\n        \"contentHash\": \"Zm2BdeanuncYs3NhCj4c9e1x3EXFzFBVv2wPEc/Dj4ZbI9R8ecLSR5frAsx4zJCPBtKQreQ7Q/KxJEohJZbfzA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.0.11\",\r\n          \"System.Globalization\": \"4.0.11\",\r\n          \"System.IO\": \"4.1.0\",\r\n          \"System.Resources.ResourceManager\": \"4.0.1\",\r\n          \"System.Runtime\": \"4.1.0\",\r\n          \"System.Runtime.Extensions\": \"4.1.0\",\r\n          \"System.Threading\": \"4.0.11\",\r\n          \"System.Xml.ReaderWriter\": \"4.0.11\",\r\n          \"System.Xml.XPath\": \"4.0.1\",\r\n          \"System.Xml.XmlDocument\": \"4.0.1\"\r\n        }\r\n      },\r\n      \"xunit.abstractions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==\"\r\n      },\r\n      \"xunit.analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"0.10.0\",\r\n        \"contentHash\": \"4/IDFCJfIeg6bix9apmUtIMwvOsiwqdEexeO/R2D4GReIGPLIRODTpId/l4LRSrAJk9lEO3Zx1H0Zx6uohJDNg==\"\r\n      },\r\n      \"xunit.assert\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"O/Oe0BS5RmSsM+LQOb041TzuPo5MdH2Rov+qXGS37X+KFG1Hxz7kopYklM5+1Y+tRGeXrOx5+Xne1RuqLFQoyQ==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"xunit.core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"Zsj5OMU6JasNGERXZy8s72+pcheG6Q15atS5XpZXqAtULuyQiQ6XNnUsp1gyfC6WgqScqMvySiEHmHcOG6Eg0Q==\",\r\n        \"dependencies\": {\r\n          \"xunit.extensibility.core\": \"[2.4.1]\",\r\n          \"xunit.extensibility.execution\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"xunit.extensibility.core\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"yKZKm/8QNZnBnGZFD9SewkllHBiK0DThybQD/G4PiAmQjKtEZyHi6ET70QPU9KtSMJGRYS6Syk7EyR2EVDU4Kg==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\",\r\n          \"xunit.abstractions\": \"2.0.3\"\r\n        }\r\n      },\r\n      \"xunit.extensibility.execution\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.4.1\",\r\n        \"contentHash\": \"7e/1jqBpcb7frLkB6XDrHCGXAbKN4Rtdb88epYxCSRQuZDRW8UtTfdTEVpdTl8s4T56e07hOBVd4G0OdCxIY2A==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\",\r\n          \"xunit.extensibility.core\": \"[2.4.1]\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Features\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1, )\",\r\n          \"System.Memory\": \"[4.5.5, )\",\r\n          \"System.Net.Http\": \"[4.3.4, )\",\r\n          \"System.Text.RegularExpressions\": \"[4.3.1, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.FSharp\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"FSharp.Compiler.Service\": \"[43.8.300, )\",\r\n          \"FSharp.Core\": \"[8.0.300, )\",\r\n          \"Microsoft.Build.Utilities.Core\": \"[17.12.6, )\",\r\n          \"Microsoft.IO.RecyclableMemoryStream\": \"[2.2.0, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Testing\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\",\r\n          \"Newtonsoft.Json\": \"[13.0.3, )\",\r\n          \"System.Buffers\": \"[4.5.1, )\"\r\n        }\r\n      },\r\n      \"MirrorSharp.VisualBasic\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Features\": \"[3.3.1, )\",\r\n          \"MirrorSharp.Common\": \"[3.0.9, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "VisualBasic/CHANGELOG.md",
    "content": "# Changelog\r\n\r\n## [3.0.0] - 2022-04-04\r\n## [3.0.0-test-2022-04-02-1] - 2021-04-02\r\n## [3.0.0-test-2022-04-01-1] - 2021-04-01\r\n\r\n### Changed\r\n- Updated to support MirrorSharp.Common 3.0.0\r\n\r\n## [2.1.2] - 2020-12-17\r\n\r\n### Changed\r\n- Updated to support MirrorSharp.Common 2.2.3\r\n\r\n## [2.1.1] - 2020-12-17\r\n\r\n### Changed\r\n- Updated to support MirrorSharp.Common 2.2.2\r\n\r\n## [2.1.0] - 2020-09-05\r\n## [2.1.0-preview-01] - 2020-08-28\r\n\r\n### Added\r\n- Ability to add custom Analyzers, e.g: `EnableVisualBasic(o => o.AnalyzerReferences = o.AnalyzerReferences.Add(...))`."
  },
  {
    "path": "VisualBasic/Internal/VisualBasicLanguage.cs",
    "content": "using Microsoft.CodeAnalysis;\r\nusing MirrorSharp.Internal.Roslyn;\r\n\r\nnamespace MirrorSharp.VisualBasic.Internal {\r\n    internal class VisualBasicLanguage : RoslynLanguageBase {\r\n        public VisualBasicLanguage(MirrorSharpVisualBasicOptions options) : base(\r\n            LanguageNames.VisualBasic,\r\n            \"Microsoft.CodeAnalysis.VisualBasic.Features\",\r\n            \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\",\r\n            options\r\n        ) {\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "VisualBasic/MirrorSharpOptionsExtensions.cs",
    "content": "using System;\r\nusing Microsoft.CodeAnalysis;\r\nusing MirrorSharp.Internal;\r\nusing MirrorSharp.VisualBasic;\r\nusing MirrorSharp.VisualBasic.Internal;\r\n\r\n// This is run only once, on startup, so:\r\n// ReSharper disable HeapView.ClosureAllocation\r\n\r\n// ReSharper disable once CheckNamespace\r\nnamespace MirrorSharp {\r\n    /// <summary>Extensions to <see cref=\"MirrorSharpOptions\" /> related to Visual Basic .NET.</summary>\r\n    public static class MirrorSharpOptionsExtensions {\r\n        /// <summary>Enables and configures Visual Basic .NET support in the <see cref=\"MirrorSharpOptions\" />.</summary>\r\n        /// <param name=\"options\">Options to configure</param>\r\n        /// <param name=\"setup\">Setup delegate used to configure <see cref=\"MirrorSharpVisualBasicOptions\" /></param>\r\n        /// <returns>Value of <paramref name=\"options\" />, for convenience.</returns>\r\n        public static MirrorSharpOptions EnableVisualBasic(this MirrorSharpOptions options, Action<MirrorSharpVisualBasicOptions>? setup = null) {\r\n            Argument.NotNull(nameof(options), options);\r\n            options.Languages.Add(LanguageNames.VisualBasic, () => {\r\n                var visualBasicOptions = new MirrorSharpVisualBasicOptions();\r\n                setup?.Invoke(visualBasicOptions);\r\n                return new VisualBasicLanguage(visualBasicOptions);\r\n            });\r\n            return options;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "VisualBasic/MirrorSharpVisualBasicOptions.cs",
    "content": "using System.Collections.Immutable;\r\nusing System.Reflection;\r\nusing Microsoft.CodeAnalysis;\r\nusing Microsoft.CodeAnalysis.Diagnostics;\r\nusing Microsoft.CodeAnalysis.VisualBasic;\r\nusing MirrorSharp.Advanced;\r\n\r\nnamespace MirrorSharp.VisualBasic {\r\n    /// <summary>MirrorSharp options for Visual Basic .NET</summary>\r\n    public class MirrorSharpVisualBasicOptions : MirrorSharpRoslynOptions<MirrorSharpVisualBasicOptions, VisualBasicParseOptions, VisualBasicCompilationOptions> {\r\n        internal MirrorSharpVisualBasicOptions() : base(\r\n            new VisualBasicParseOptions(),\r\n            new VisualBasicCompilationOptions(OutputKind.DynamicallyLinkedLibrary),\r\n            ImmutableList.Create<MetadataReference>(MetadataReference.CreateFromFile(typeof(object).GetTypeInfo().Assembly.Location)),\r\n            ImmutableList.Create<AnalyzerReference>(CreateAnalyzerReference(\"Microsoft.CodeAnalysis.VisualBasic.Features\"))\r\n        ) {\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "VisualBasic/PublicAPI.Shipped.txt",
    "content": "#nullable enable\r\nMirrorSharp.MirrorSharpOptionsExtensions\r\nMirrorSharp.VisualBasic.MirrorSharpVisualBasicOptions\r\nstatic MirrorSharp.MirrorSharpOptionsExtensions.EnableVisualBasic(this MirrorSharp.MirrorSharpOptions! options, System.Action<MirrorSharp.VisualBasic.MirrorSharpVisualBasicOptions!>? setup = null) -> MirrorSharp.MirrorSharpOptions!"
  },
  {
    "path": "VisualBasic/PublicAPI.Unshipped.txt",
    "content": ""
  },
  {
    "path": "VisualBasic/VisualBasic.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\r\n  <Import Project=\"../NuGet.Common.props\" />\r\n\r\n  <PropertyGroup>\r\n    <AssemblyName>MirrorSharp.VisualBasic</AssemblyName>\r\n    <RootNamespace>MirrorSharp.VisualBasic</RootNamespace>\r\n    <TargetFrameworks>netstandard2.0</TargetFrameworks>\r\n    <VersionPrefix>3.0.0</VersionPrefix>\r\n    <Description>MirrorSharp Visual Basic .NET support library. $(DescriptionSuffix)</Description>\r\n    <PackageTags>Roslyn;Visual Basic;CodeMirror</PackageTags>\r\n    <GenerateDocumentationFile>true</GenerateDocumentationFile>\r\n  </PropertyGroup>\r\n\r\n  <ItemGroup>\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.VisualBasic\" Version=\"3.3.1\" />\r\n    <PackageReference Include=\"Microsoft.CodeAnalysis.VisualBasic.Features\" Version=\"3.3.1\" />\r\n  </ItemGroup>\r\n\r\n  <ItemGroup>\r\n    <ProjectReference Include=\"..\\Common\\Common.csproj\" />\r\n  </ItemGroup>\r\n\r\n</Project>"
  },
  {
    "path": "VisualBasic/packages.lock.json",
    "content": "{\r\n  \"version\": 1,\r\n  \"dependencies\": {\r\n    \".NETStandard,Version=v2.0\": {\r\n      \"Microsoft.CodeAnalysis.PublicApiAnalyzers\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.0, )\",\r\n        \"resolved\": \"3.3.0\",\r\n        \"contentHash\": \"upaG6u/PxjkOj39Kk0DLmmA75acYChmv6/HnOUxvSgGWul53uPcVaPxBWCzkHDfIljyiq5qeIG+CatT8x8FAEA==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.1, )\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"F7fc/G+0ocOYkKSCJ7Y8Q7eAEkAdG5RYODI9FtSl2Hm8zIDBVA3NccCm98gaOvCamLfMHYqeOjpb3yJnnw3m/w==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Features\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[3.3.1, )\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"TGhM/EF5JWIt83ghkOrch+hhv7cwcvxzmIfhgF8oddd6hZAEkYaeup5BTxaJtHf8Me6TDQqoIWEEGsz5PdkBdA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"NETStandard.Library\": {\r\n        \"type\": \"Direct\",\r\n        \"requested\": \"[2.0.3, )\",\r\n        \"resolved\": \"2.0.3\",\r\n        \"contentHash\": \"st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Analyzers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.4\",\r\n        \"contentHash\": \"alIJhS0VUg/7x5AsHEoovh/wRZ0RfCSS7k5pDSqpRLTyuMTtRgj6OJJPRApRhJHOGYYsLakf1hKeXFoDwKwNkg==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"N5yQdGy+M4kimVG7hwCeGTCfgYjK2o5b/Shumkb/rCC+/SAkvP1HUAYK+vxPFS7dLJNtXLRsmPHKj3fnyNWnrw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Analyzers\": \"2.9.4\",\r\n          \"System.Collections.Immutable\": \"1.5.0\",\r\n          \"System.Memory\": \"4.5.3\",\r\n          \"System.Reflection.Metadata\": \"1.6.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\",\r\n          \"System.Text.Encoding.CodePages\": \"4.5.1\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"WDUIhTHem38H6VJ98x2Ssq0fweakJHnHYl7vbG8ARnsAwLoJKCQCy78EeY1oRrCKG42j0v6JVljKkeqSDA28UA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"t9uIwsLzT5zQ1Q3ZIpwE4EOnAf/lGdbQwyeqhyO/BJ+AWDt267Hxlz5k6ypPy14Z6+PW6pTggAGz6MwN31RElQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Workspaces\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Features\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.CSharp.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"dHs/UyfLgzsVC4FjTi/x+H+yQifgOnpe3rSN8GwkHWjnidePZ3kSqr1JHmFDf5HTQEydYwrwCAfQ0JSzhsEqDA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Features\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"lvMC69ABN/YEaw3ke4cQRqBYZ2V7DJTOT8QXIeAJGJUfwVHTBN0iq2O5zZQrYnnUN2wmeCzCoAg59PKBosVO7g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": \"2.9.5\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\",\r\n          \"Microsoft.DiaSymReader\": \"1.3.0\",\r\n          \"System.Threading.Tasks.Extensions\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.FlowAnalysis.Utilities\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"2.9.5\",\r\n        \"contentHash\": \"SqwdTocsxU7u0Y8am67BY7KSLAhrtDXdBBwt0Nv9TxLVzPBPtPPFS2bHUsxucpOBMBmc10rWE1eJ+IDrr/0/nQ==\"\r\n      },\r\n      \"Microsoft.CodeAnalysis.VisualBasic.Workspaces\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"Oi4AUxMKAYpx7nHNh7jUO8X18JFCzwtIfu/yDzGzOBpo50591AF7EEdv99geAEidGtmJqbzQ6uRk5dEOL+7F/Q==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.VisualBasic\": \"[3.3.1]\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1]\"\r\n        }\r\n      },\r\n      \"Microsoft.CodeAnalysis.Workspaces.Common\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"3.3.1\",\r\n        \"contentHash\": \"NfBz3b5hFSbO+7xsCNryD+p8axsIJFTG7qM3jvMTC/MqYrU6b8E1b6JoRj5rJSOBB+pSunk+CMqyGQTOWHeDUg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1]\",\r\n          \"System.Composition\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"Microsoft.DiaSymReader\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.3.0\",\r\n        \"contentHash\": \"/fn1Tfo7j7k/slViPlM8azJuxQmri7FZ8dQ+gTeLbI29leN/1VK0U/BFcRdJNctsRCUgyKJ2q+I0Tjq07Rc1/Q==\",\r\n        \"dependencies\": {\r\n          \"NETStandard.Library\": \"1.6.1\"\r\n        }\r\n      },\r\n      \"Microsoft.NETCore.Platforms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.1\",\r\n        \"contentHash\": \"TMBuzAHpTenGbGgk0SMTwyEkyijY/Eae4ZGsFNYJvAr/LDn1ku3Etp3FPxChmDp5HHF3kzJuoaa08N0xjqAJfQ==\"\r\n      },\r\n      \"Microsoft.NETCore.Targets\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.1.3\",\r\n        \"contentHash\": \"3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==\"\r\n      },\r\n      \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==\"\r\n      },\r\n      \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==\"\r\n      },\r\n      \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==\"\r\n      },\r\n      \"runtime.native.System\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==\",\r\n        \"dependencies\": {\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==\",\r\n        \"dependencies\": {\r\n          \"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\",\r\n          \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==\"\r\n      },\r\n      \"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==\"\r\n      },\r\n      \"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==\"\r\n      },\r\n      \"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==\"\r\n      },\r\n      \"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==\"\r\n      },\r\n      \"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==\"\r\n      },\r\n      \"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.2\",\r\n        \"contentHash\": \"leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==\"\r\n      },\r\n      \"System.Buffers\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==\"\r\n      },\r\n      \"System.Collections\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Concurrent\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Collections.Immutable\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.5.0\",\r\n        \"contentHash\": \"EXKiDFsChZW0RjrZ4FYHu9aW6+P4MCgEDCklsVseRfhoO0F+dXeMSsMRAlVXIo06kGJ/zv+2w1a2uc2+kxxSaQ==\"\r\n      },\r\n      \"System.Composition\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"I+D26qpYdoklyAVUdqwUBrEIckMNjAYnuPJy/h9dsQItpQwVREkDFs4b4tkBza0kT2Yk48Lcfsv2QQ9hWsh9Iw==\",\r\n        \"dependencies\": {\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Convention\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Composition.TypedParts\": \"1.0.31\"\r\n        }\r\n      },\r\n      \"System.Composition.AttributedModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"NHWhkM3ZkspmA0XJEsKdtTt1ViDYuojgSND3yHhTzwxepiwqZf+BCWuvCbjUt4fe0NxxQhUDGJ5km6sLjo9qnQ==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Convention\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"GLjh2Ju71k6C0qxMMtl4efHa68NmWeIUYh4fkUI8xbjQrEBvFmRwMDFcylT8/PR9SQbeeL48IkFxU/+gd0nYEQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Hosting\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"fN1bT4RX4vUqjbgoyuJFVUizAl2mYF5VAb+bVIxIYZSSc0BdnX+yGAxcavxJuDDCQ1K+/mdpgyEFc8e9ikjvrg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0LEJN+2NVM89CE4SekDrrk5tHV5LeATltkp+9WNYrR+Huiyt0vaCqHbbHtVAjPyeLWIc8dOz/3kthRBj32wGQg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Composition.TypedParts\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.0.31\",\r\n        \"contentHash\": \"0Zae/FtzeFgDBBuILeIbC/T9HMYbW4olAmi8XqqAGosSOWvXfiQLfARZEhiGd0LVXaYgXr0NhxiU1LldRP1fpQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Composition.AttributedModel\": \"1.0.31\",\r\n          \"System.Composition.Hosting\": \"1.0.31\",\r\n          \"System.Composition.Runtime\": \"1.0.31\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.Tools\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Linq.Expressions\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Debug\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.DiagnosticSource\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"tD6kosZnTAGdrEa0tZSuFyunMbt/5KYDnHdndJYGqZoNy00XVXyACd5d6KnE1YgYv3ne2CjtAfNXo/fwEhnKUA==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tools\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Diagnostics.Tracing\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Calendars\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Globalization.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.IO.FileSystem.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Linq.Expressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.ObjectModel\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Emit.Lightweight\": \"4.3.0\",\r\n          \"System.Reflection.Extensions\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Reflection.TypeExtensions\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Memory\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.5\",\r\n        \"contentHash\": \"XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==\",\r\n        \"dependencies\": {\r\n          \"System.Buffers\": \"4.5.1\",\r\n          \"System.Numerics.Vectors\": \"4.4.0\",\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.3\"\r\n        }\r\n      },\r\n      \"System.Net.Http\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.4\",\r\n        \"contentHash\": \"aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Diagnostics.DiagnosticSource\": \"4.3.0\",\r\n          \"System.Diagnostics.Tracing\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Extensions\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.Net.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Security.Cryptography.X509Certificates\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.2\"\r\n        }\r\n      },\r\n      \"System.Net.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Numerics.Vectors\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.4.0\",\r\n        \"contentHash\": \"UiLzLW+Lw6HLed1Hcg+8jSRttrbuXv7DANVj0DkL9g6EnnzbL75EB7EWsw5uRbhxd/4YdG8li5XizGWepmG3PQ==\"\r\n      },\r\n      \"System.ObjectModel\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==\",\r\n        \"dependencies\": {\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.ILGeneration\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Emit.Lightweight\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Emit.ILGeneration\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Metadata\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"1.6.0\",\r\n        \"contentHash\": \"COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==\",\r\n        \"dependencies\": {\r\n          \"System.Collections.Immutable\": \"1.5.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Reflection.TypeExtensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==\",\r\n        \"dependencies\": {\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Resources.ResourceManager\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.3\"\r\n        }\r\n      },\r\n      \"System.Runtime.CompilerServices.Unsafe\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.3\",\r\n        \"contentHash\": \"3TIsJhD1EiiT0w2CcDMN/iSSwnNnsrnbzeVHSKkaEgV85txMprmuO+Yq2AdSbeVGcg28pdNDTPK87tJhX7VFHw==\"\r\n      },\r\n      \"System.Runtime.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"qAtKMcHOAq9/zKkl0dwvF0T0pmgCQxX1rC49rJXoU8jq+lw6MC3uXy7nLFmjEI20T3Aq069eWz4LcYR64vEmJw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.1\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.3\",\r\n          \"System.Runtime\": \"4.3.1\"\r\n        }\r\n      },\r\n      \"System.Runtime.Handles\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.InteropServices\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Reflection.Primitives\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Runtime.Numerics\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==\",\r\n        \"dependencies\": {\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Algorithms\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.Apple\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Cng\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Csp\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Reflection\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Collections.Concurrent\": \"4.3.0\",\r\n          \"System.Linq\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.OpenSsl\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.Primitives\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==\",\r\n        \"dependencies\": {\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Security.Cryptography.X509Certificates\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Diagnostics.Debug\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Globalization.Calendars\": \"4.3.0\",\r\n          \"System.IO\": \"4.3.0\",\r\n          \"System.IO.FileSystem\": \"4.3.0\",\r\n          \"System.IO.FileSystem.Primitives\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Runtime.Extensions\": \"4.3.0\",\r\n          \"System.Runtime.Handles\": \"4.3.0\",\r\n          \"System.Runtime.InteropServices\": \"4.3.0\",\r\n          \"System.Runtime.Numerics\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Algorithms\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Cng\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Csp\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Encoding\": \"4.3.0\",\r\n          \"System.Security.Cryptography.OpenSsl\": \"4.3.0\",\r\n          \"System.Security.Cryptography.Primitives\": \"4.3.0\",\r\n          \"System.Text.Encoding\": \"4.3.0\",\r\n          \"System.Threading\": \"4.3.0\",\r\n          \"runtime.native.System\": \"4.3.0\",\r\n          \"runtime.native.System.Net.Http\": \"4.3.0\",\r\n          \"runtime.native.System.Security.Cryptography.OpenSsl\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Text.Encoding.CodePages\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.1\",\r\n        \"contentHash\": \"4J2JQXbftjPMppIHJ7IC+VXQ9XfEagN92vZZNoG12i+zReYlim5dMoXFC1Zzg7tsnKDM7JPo5bYfFK4Jheq44w==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      },\r\n      \"System.Text.RegularExpressions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.1\",\r\n        \"contentHash\": \"N0kNRrWe4+nXOWlpLT4LAY5brb8caNFlUuIRpraCVMDLYutKkol1aV079rQjLuSxKMJT2SpBQsYX9xbcTMmzwg==\",\r\n        \"dependencies\": {\r\n          \"System.Collections\": \"4.3.0\",\r\n          \"System.Globalization\": \"4.3.0\",\r\n          \"System.Resources.ResourceManager\": \"4.3.0\",\r\n          \"System.Runtime\": \"4.3.1\",\r\n          \"System.Runtime.Extensions\": \"4.3.1\",\r\n          \"System.Threading\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime\": \"4.3.0\",\r\n          \"System.Threading.Tasks\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.3.0\",\r\n        \"contentHash\": \"LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==\",\r\n        \"dependencies\": {\r\n          \"Microsoft.NETCore.Platforms\": \"1.1.0\",\r\n          \"Microsoft.NETCore.Targets\": \"1.1.0\",\r\n          \"System.Runtime\": \"4.3.0\"\r\n        }\r\n      },\r\n      \"System.Threading.Tasks.Extensions\": {\r\n        \"type\": \"Transitive\",\r\n        \"resolved\": \"4.5.3\",\r\n        \"contentHash\": \"+MvhNtcvIbqmhANyKu91jQnvIRVSTiaOiFNfKWwXGHG48YAb4I/TyH8spsySiPYla7gKal5ZnF3teJqZAximyQ==\",\r\n        \"dependencies\": {\r\n          \"System.Runtime.CompilerServices.Unsafe\": \"4.5.2\"\r\n        }\r\n      },\r\n      \"MirrorSharp.Common\": {\r\n        \"type\": \"Project\",\r\n        \"dependencies\": {\r\n          \"Microsoft.CodeAnalysis.CSharp\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.CSharp.Features\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Common\": \"[3.3.1, )\",\r\n          \"Microsoft.CodeAnalysis.Workspaces.Common\": \"[3.3.1, )\",\r\n          \"System.Memory\": \"[4.5.5, )\",\r\n          \"System.Net.Http\": \"[4.3.4, )\",\r\n          \"System.Text.RegularExpressions\": \"[4.3.1, )\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "WebAssets/.brackets.json",
    "content": "{\r\n    \"language\": {\r\n        \"javascript\": {\r\n            \"linting.prefer\": [\r\n                \"JSHint\"\r\n            ],\r\n            \"linting.usePreferredOnly\": true\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "WebAssets/.depcheckrc.json",
    "content": "{\r\n    \"ignore-patterns\": [\r\n        \".temp/\",\r\n        \"storybook-static/\"\r\n    ],\r\n    \"ignores\": [\r\n        \"@storybook/addon-measure\",\r\n        \"@storybook/addon-outline\",\r\n        \"@storybook/addon-viewport\",\r\n        \"@storybook/addon-actions\",\r\n        \"@storybook/addon-interactions\",\r\n        \"@storybook/builder-webpack5\",\r\n        \"@storybook/manager-webpack5\",\r\n        \"@types/jest\",\r\n        \"babel-plugin-add-import-extension\",\r\n        \"jest-environment-jsdom\",\r\n        \"ts-loader\",\r\n\r\n        \"depcheck\",\r\n        \"http-server\",\r\n        \"ts-unused-exports\"\r\n    ]\r\n}"
  },
  {
    "path": "WebAssets/.eslintrc.json",
    "content": "{\r\n    \"root\": true,\r\n    \"extends\": \"./src/.eslintrc.json\",\r\n    \"parserOptions\": {\r\n        // https://github.com/typescript-eslint/typescript-eslint/issues/540\r\n        \"project\": \"./tsconfig.json\"\r\n    }\r\n}"
  },
  {
    "path": "WebAssets/.npmrc",
    "content": "engine-strict = true"
  },
  {
    "path": "WebAssets/.storybook/main.cjs",
    "content": "const path = require('path');\r\n\r\nmodule.exports = {\r\n    stories: [\r\n        \"../src/**/*.stories.ts\"\r\n    ],\r\n    addons: [\r\n        \"@storybook/addon-viewport\",\r\n        \"@storybook/addon-measure\",\r\n        \"@storybook/addon-outline\",\r\n        \"@storybook/addon-actions\",\r\n        \"@storybook/addon-interactions\"\r\n    ],\r\n    core: {\r\n        builder: 'webpack5'\r\n    },\r\n    features: {\r\n        buildStoriesJson: true\r\n    },\r\n    webpackFinal(config) {;\r\n        const babelIndex = config.module.rules.findIndex(\r\n            r => r.use?.some(u => u.loader?.includes('babel-loader'))\r\n        );\r\n        if (babelIndex < 0)\r\n            throw new Error(\"Could not find babel-loader rule to replace\");\r\n\r\n        // It would be great to keep using Babel, but unfortunately\r\n        // Babel has a bug when transpiling to older ES (see _loop missing a param):\r\n        // https://babel.dev/repl#?browsers=ie%2011&build=&builtIns=false&corejs=false&spec=false&loose=false&code_lz=MYGwhgzhAEAa0G9rQFDIA4CcD2wCmUAFAG5ggCuBAlImstMNgHYQAuDI2E5mB0AvNADaAXQDcdZADNsmaIUYt2AazwBPaAEsm0UhWq169RW11lKAs_ohDVa8ZOOduvCADp05CAAtChGvwAfFaUVBJGAL50URFAA&debug=false&forceAllTransforms=false&shippedProposals=false&circleciRepo=&evaluate=false&fileSize=false&timeTravel=false&sourceType=module&lineWrap=true&presets=env%2Creact%2Cstage-2&prettier=false&targets=&version=7.20.12&externalPlugins=&assumptions=%7B%7D\r\n        // It seems almost impossible to target newer ES instead -- settings do not work\r\n        // as expected -- so it is easier to using a different loader.\r\n        config.module.rules[babelIndex] = {\r\n            test: /\\.([cm]?ts|tsx)$/,\r\n            loader: \"ts-loader\",\r\n            options: {\r\n                configFile: path.resolve(__dirname, '../src/tsconfig.storybook.json')\r\n            }\r\n        };\r\n        config.module.rules.push(\r\n            // https://github.com/storybookjs/storybook/issues/15335#issuecomment-1013136904\r\n            { resolve: { fullySpecified: false } }\r\n        );\r\n        return config;\r\n    }\r\n}"
  },
  {
    "path": "WebAssets/.storybook/preview.js",
    "content": "import '../src/mirrorsharp.css';\r\n\r\nexport const parameters = {\r\n    actions: { argTypesRegex: '^on[A-Z].*' },\r\n    controls: {\r\n        matchers: {\r\n            color: /(background|color)$/i,\r\n            date: /Date$/,\r\n        },\r\n    }\r\n}"
  },
  {
    "path": "WebAssets/.storybook/test-runner.js",
    "content": "const { dirname } = require('path');\r\nconst { getStoryContext } = require('@storybook/test-runner');\r\nconst { toMatchImageSnapshot } = require('jest-image-snapshot');\r\n\r\n/** @type {import('@storybook/test-runner').TestRunnerConfig} */\r\nconst config = {\r\n    setup() {\r\n        expect.extend({ toMatchImageSnapshot });\r\n    },\r\n\r\n    async postRender(page, context) {\r\n        const { id } = context;\r\n        const fileName = (await getStoryContext(page, context)).parameters?.fileName;\r\n        if (!fileName) throw new Error('File name not set for the story.');\r\n\r\n        const image = await page.screenshot({ animations: 'disabled' });\r\n\r\n        expect(image).toMatchImageSnapshot({\r\n            customSnapshotsDir: `${dirname(fileName)}/__image_snapshots__`,\r\n            customSnapshotIdentifier: id\r\n        });\r\n    }\r\n};\r\n\r\nmodule.exports = config;"
  },
  {
    "path": "WebAssets/.vscode/launch.json",
    "content": "{\r\n    // Use IntelliSense to learn about possible attributes.\r\n    // Hover to view descriptions of existing attributes.\r\n    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387\r\n    \"version\": \"0.2.0\",\r\n    \"configurations\": [\r\n        {\r\n            \"type\": \"node\",\r\n            \"name\": \"vscode-jest-tests\",\r\n            \"request\": \"launch\",\r\n            \"args\": [\r\n                \"--runInBand\",\r\n                \"--coverage=false\"\r\n            ],\r\n            \"cwd\": \"${workspaceFolder}\",\r\n            \"console\": \"integratedTerminal\",\r\n            \"internalConsoleOptions\": \"neverOpen\",\r\n            \"program\": \"${workspaceFolder}/node_modules/jest/bin/jest\"\r\n        }\r\n    ],\r\n    \"typescript.tsdk\": \"./node_modules/typescript/lib\"\r\n}"
  },
  {
    "path": "WebAssets/.vscode/settings.json",
    "content": "{\r\n    \"files.exclude\": {\r\n        \"**/.git\": true,\r\n        \"bin/\": true,\r\n        \"obj/\": true,\r\n        \"*.csproj*\": true,\r\n        \"Properties/\": true\r\n    },\r\n    \"editor.codeActionsOnSave\": {\r\n        \"source.fixAll\": \"explicit\"\r\n    },\r\n    \"jest.showCoverageOnLoad\": true,\r\n    \"cSpell.ignorePaths\": [\r\n        \"**/node_modules/**\",\r\n        \"**/coverage/**\",\r\n        \"package-lock.json\",\r\n        \".eslintrc.*\"\r\n    ],\r\n    \"search.exclude\": {\r\n        \"**/node_modules\": true,\r\n        \"**/coverage/**\": true,\r\n        \"**/.temp/**\": true,\r\n        \"**/dist/**\": true,\r\n        \"**/storybook-static/**\": true\r\n    },\r\n    \"cSpell.words\": [\r\n        \"Andrey\",\r\n        \"Cpath\",\r\n        \"Csvg\",\r\n        \"Olanguage\",\r\n        \"Prec\",\r\n        \"Segoe\",\r\n        \"Shchekin\",\r\n        \"Typer\",\r\n        \"browserslist\",\r\n        \"clike\",\r\n        \"codemirror\",\r\n        \"devtools\",\r\n        \"enummember\",\r\n        \"execa\",\r\n        \"extensionmethod\",\r\n        \"httpd\",\r\n        \"infotip\",\r\n        \"infotips\",\r\n        \"jetpack\",\r\n        \"jsparts\",\r\n        \"lezer\",\r\n        \"linebreak\",\r\n        \"lintfix\",\r\n        \"mirrorsharp\",\r\n        \"nocheck\",\r\n        \"oldowan\",\r\n        \"outdent\",\r\n        \"sharplab\",\r\n        \"sinonjs\",\r\n        \"struct\",\r\n        \"typeparameter\",\r\n        \"xmlns\"\r\n    ],\r\n    \"typescript.tsdk\": \"node_modules\\\\typescript\\\\lib\"\r\n}"
  },
  {
    "path": "WebAssets/CHANGELOG.md",
    "content": "# Changelog\r\n\r\n## [codemirror-6-preview 1.0.0] - 2023-03-12\r\n\r\n### Added\r\n- Option `theme` to allow choice between dark and light theme\r\n- Instance methods:\r\n  - Method `getRootElement()` to get the root element of the editor\r\n  - Method `setTheme()` to change editor dark/light theme\r\n  - Method `setServiceUrl()` to reconnect editor to a different backend\r\n\r\n### Changed\r\n- Migrated underlying editor to CodeMirror 6\r\n- See [migration-from-2](docs/migration-from-2.md) for full list of changes\r\n\r\n## [2.1.0] - 2022-04-01\r\n\r\n### Added\r\n- Option `noInitialConnection` for starting in disconnected mode\r\n\r\n### Fixed\r\n- Edge cases of option handling on reconnects\r\n\r\n### Changed\r\n- Changed IL mode to \"text/x-cil\" (mode itself is not included yet)\r\n- Changed approach to handling of user actions in disconnected mode\r\n\r\n## [2.0.5] - 2021-09-05\r\n\r\n### Added\r\n- Added IL language to the language list\r\n\r\n## [2.0.5-preview-2021-06-26-1] - 2021-06-26\r\n\r\n### Changed\r\n- Not user-facing — updated completion flow to fail earlier, before attempting to send incorrect data\r\n\r\n## [2.0.4] - 2021-02-28\r\n\r\n### Fixed\r\n- Fixed incorrect imports that caused failures in Webpack 5 ([#142](https://github.com/ashmind/mirrorsharp/issues/142))\r\n\r\n## [2.0.3] - 2021-01-09\r\n\r\n### Fixed\r\n- Included missing TypeScript *.d.ts files (types) in the package\r\n\r\n## [2.0.2] - 2020-09-12\r\n\r\n### Added\r\n- Show XML documentation in signature help.\r\n\r\n## [2.0.1] - 2020-08-28\r\n\r\n### Fixed\r\n- Fixed position of autocomplete description tooltips ([#133](https://github.com/ashmind/mirrorsharp/issues/133))."
  },
  {
    "path": "WebAssets/README.md",
    "content": "## Overview\r\n\r\nMirrorSharp is a reusable client-server code editor component built on [Roslyn](https://github.com/dotnet/roslyn) and [CodeMirror](https://codemirror.net/).\r\n\r\nThis library (`mirrorsharp.js`) is the browser-side client component which requires MirrorSharp .NET server to function.\r\n\r\nSee [main README](https://github.com/ashmind/mirrorsharp/blob/master/README.md) for full details."
  },
  {
    "path": "WebAssets/build/plugins/add-import-extensions.ts",
    "content": "import { Node, NodePath, PluginObj, types } from \"@babel/core\";\r\n\r\nconst rewrite = <T extends Node & { source?: types.StringLiteral | null }>(\r\n    path: NodePath<T>,\r\n    _new: (source: types.StringLiteral) => T\r\n) => {\r\n    const { source } = path.node;\r\n    if (!source)\r\n        return;\r\n\r\n    if (!source.value.startsWith('.'))\r\n        return;\r\n\r\n    if (source.value.endsWith('.js'))\r\n        return;\r\n\r\n    path.replaceWith(_new(types.stringLiteral(source.value + \".js\")));\r\n};\r\n\r\nexport const addImportExtensions = {\r\n    name: 'add-import-extensions',\r\n    visitor: {\r\n        ImportDeclaration(path) {\r\n            rewrite(path, source => types.importDeclaration(\r\n                path.node.specifiers, source\r\n            ));\r\n        },\r\n\r\n        ExportNamedDeclaration(path) {\r\n            rewrite(path, source => types.exportNamedDeclaration(\r\n                path.node.declaration, path.node.specifiers, source\r\n            ));\r\n        },\r\n\r\n        ExportAllDeclaration(path) {\r\n            rewrite(path, source => types.exportAllDeclaration(source));\r\n        }\r\n    }\r\n} as PluginObj;"
  },
  {
    "path": "WebAssets/build/storybook.ts",
    "content": "import { createRequire } from 'module';\r\nimport { fileURLToPath } from 'node:url';\r\nimport path from 'path';\r\nimport { promisify } from 'util';\r\nimport execa from 'execa';\r\nimport jetpack from 'fs-jetpack';\r\nimport { task } from 'oldowan';\r\nimport kill from 'tree-kill';\r\nimport waitOn from 'wait-on';\r\n\r\nconst resolvePlaywrightPath = (relativePath: string) => {\r\n    const require = createRequire(import.meta.url);\r\n    const requireFromStorybook = createRequire(path.dirname(require.resolve('@storybook/test-runner')));\r\n    const playwrightRoot = path.dirname(requireFromStorybook.resolve('playwright-core'));\r\n\r\n    return path.resolve(playwrightRoot, relativePath);\r\n};\r\nconst getPlaywrightVersion = async () => ((await jetpack.readAsync(\r\n    resolvePlaywrightPath('package.json'), 'json'\r\n)) as { version: string }).version;\r\n\r\nexport const root = path.resolve(fileURLToPath(new URL('.', import.meta.url)), '..');\r\nexport const sourceRoot = path.resolve(root, 'src');\r\n\r\nconst UPDATE_SNAPSHOTS_KEY = 'SHARPLAB_TEST_UPDATE_SNAPSHOTS';\r\n\r\nconst exec2 = (command: string, args?: ReadonlyArray<string>) => execa(command, args, {\r\n    preferLocal: true,\r\n    stdout: process.stdout,\r\n    stderr: process.stderr\r\n});\r\n\r\ntask('storybook:test:in-container', async () => {\r\n    console.log('http-server: starting');\r\n    const server = exec2('http-server', ['storybook-static', '--port', '6006', '--silent']);\r\n    try {\r\n        await waitOn({\r\n            resources: ['http://localhost:6006'],\r\n            timeout: 120000\r\n        });\r\n        console.log('http-server: ready');\r\n\r\n        const updateSnapshots = process.env[UPDATE_SNAPSHOTS_KEY] === 'true';\r\n        console.log(`Starting Storybook tests${updateSnapshots ? ' (with snapshot update)' : ''}...`);\r\n        await exec2('test-storybook', [\r\n            '--stories-json',\r\n            ...(updateSnapshots ? ['--updateSnapshot'] : [])\r\n        ]);\r\n    }\r\n    finally {\r\n        if (!server.killed) {\r\n            console.log('http-server: terminating');\r\n            // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n            await promisify(kill)(server.pid!);\r\n        }\r\n    }\r\n}, {\r\n    timeout: 20 * 60 * 1000\r\n});\r\n\r\nconst test = task('storybook:test', async () => {\r\n    const playwrightVersion = await getPlaywrightVersion();\r\n    const containerName = `playwright:v${playwrightVersion}-focal`;\r\n    console.log(`Starting ${containerName} in Docker...`);\r\n    await exec2('docker', [\r\n        'run',\r\n        '--rm',\r\n        '--ipc=host',\r\n        `--volume=${root}:/work`,\r\n        '--workdir=/work',\r\n        ...(process.env[UPDATE_SNAPSHOTS_KEY] === 'true' ? ['--env', `${UPDATE_SNAPSHOTS_KEY}=true`] : []),\r\n        // Note: Playwright version must match dependency of @storybook/test-runner\r\n        `mcr.microsoft.com/${containerName}`,\r\n        './node_modules/.bin/ts-node-esm', './build.ts', 'storybook:test:in-container'\r\n    ]);\r\n}, {\r\n    timeout: 20 * 60 * 1000\r\n});\r\n\r\nconst clean = task('storybook:test:clean', async () => {\r\n    const snapshotPaths = await jetpack.findAsync(sourceRoot, {\r\n        matching: '**/__image_snapshots__/**'\r\n    });\r\n    for (const path of snapshotPaths) {\r\n        await jetpack.removeAsync(path);\r\n    }\r\n});\r\n\r\ntask('storybook:test:update', async () => {\r\n    await clean();\r\n    process.env[UPDATE_SNAPSHOTS_KEY] = 'true';\r\n    await test();\r\n});"
  },
  {
    "path": "WebAssets/build.ts",
    "content": "import { transformFileAsync } from '@babel/core';\r\nimport fg from 'fast-glob';\r\nimport jetpack from 'fs-jetpack';\r\nimport { task, exec, build } from 'oldowan';\r\n// @ts-expect-error (https://github.com/microsoft/TypeScript/issues/38149)\r\nimport { addImportExtensions } from './build/plugins/add-import-extensions.ts';\r\nimport './build/storybook.ts';\r\n\r\nconst clean = task('clean', async () => {\r\n    const paths = await fg(['.temp/**/*.*', 'dist/**/*.*', '!dist/node_modules/**/*.*']);\r\n    await Promise.all(paths.map(jetpack.removeAsync));\r\n});\r\n\r\nconst depsDepcheck = task('deps:depcheck', () => exec('depcheck'));\r\nconst deps = task('deps', () => Promise.all([\r\n    depsDepcheck()\r\n]));\r\n\r\nconst tsESLint = task('ts:eslint', async () => {\r\n    // https://github.com/import-js/eslint-import-resolver-typescript/issues/208\r\n    if (import.meta.url.includes('%23')) {\r\n        console.warn(\"Linting is not possible ('#' in path).\");\r\n        return;\r\n    }\r\n\r\n    await exec('eslint ./src --max-warnings 0 --ext .js,.jsx,.ts,.tsx');\r\n});\r\nconst tsUnusedExports = task('ts:unused-exports', async () => {\r\n    console.log('ts-unused-exports: dist');\r\n    await exec('ts-unused-exports ./src/tsconfig.json --ignoreFiles=\\\\.(stories|tests)$ --ignoreFiles=test\\\\.data --ignoreFiles=testing');\r\n    console.log('ts-unused-exports: tests');\r\n    await exec('ts-unused-exports ./src/tsconfig.json --excludePathsFromReport=stories');\r\n});\r\n\r\nconst tscArgs = '--project ./src/tsconfig.build.json --outDir ./.temp';\r\nconst tsTsc = task('ts:tsc',\r\n    () => exec(`tsc ${tscArgs}`),\r\n    { watch: () => exec(`tsc --watch ${tscArgs}`) }\r\n);\r\n\r\nconst tsCopyDeclarations = task('ts:copy-declarations',\r\n    () => jetpack.copyAsync('./.temp', './dist', { matching: '*.d.ts', overwrite: true })\r\n);\r\n\r\nconst tsTransform = task('ts:transform', async () => {\r\n    await Promise.all((await fg(['.temp/**/*.js'])).map(async path => {\r\n        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n        const { code: transformed } = (await transformFileAsync(path, {\r\n            plugins: [\r\n                // Add .js extension to all imports.\r\n                // Technically TypeScript already resolves .js to .ts, but it's a hack.\r\n                addImportExtensions\r\n            ]\r\n        }))!;\r\n\r\n        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n        await jetpack.writeAsync(path.replace('.temp', 'dist'), transformed!);\r\n    }));\r\n}, { watch: ['.temp/**/*.js'] });\r\n\r\nconst ts = task('ts', async () => {\r\n    await Promise.all([\r\n        await tsESLint(),\r\n        await tsUnusedExports()\r\n    ]);\r\n    await tsTsc();\r\n    await Promise.all([\r\n        tsTransform(),\r\n        tsCopyDeclarations()\r\n    ]);\r\n});\r\n\r\nconst css = task('css',\r\n    () => jetpack.copyAsync('src', 'dist', { matching: ['*.css'], overwrite: true }),\r\n    { watch: ['src/*.css'] }\r\n);\r\n\r\nconst files = task('files', async () => {\r\n    await jetpack.copyAsync('./README.md', 'dist/README.md', { overwrite: true });\r\n\r\n    // It's almost impossible to reliably convince npm not to install\r\n    // devDependencies (e.g. in SharpLab), so it is easier to remove them.\r\n    const packageJson = await jetpack.readAsync('./package.json', 'json') as {\r\n        devDependencies?: Record<string, string>;\r\n    };\r\n    delete packageJson.devDependencies;\r\n    await jetpack.writeAsync('dist/package.json', packageJson);\r\n}, { watch: ['./README.md', './package.json'] });\r\n\r\ntask ('lint', async () => {\r\n    await tsESLint();\r\n    await tsUnusedExports();\r\n    await tsTsc();\r\n    await depsDepcheck();\r\n});\r\n\r\ntask('default', async () => {\r\n    await clean();\r\n    await Promise.all([\r\n        deps(),\r\n        ts(),\r\n        css(),\r\n        files()\r\n    ]);\r\n});\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-floating-promises\r\nbuild();"
  },
  {
    "path": "WebAssets/docs/migration-from-2.md",
    "content": "## Overview\r\n\r\nVersion `mirrorsharp-codemirror-6-preview` (future mirrorsharp 3.0+) includes a number of breaking changes when compared to `mirrorsharp` 2.\r\n\r\nThe goal of this document is to help with migration.\r\n\r\n## Container\r\n\r\nThe most noticeable change is in the `mirrosharp()` contract, which now uses a container element instead of a `textarea`.\r\n\r\n```typescript\r\n// New:\r\n// HTML: <div id=\"editor\"></div>\r\nmirrorsharp(document.getElementById('editor'));\r\n\r\n// Old:\r\n// HTML: <textarea id=\"editor\"></textarea>\r\nmirrorsharp(document.getElementById('editor'));\r\n```\r\n\r\nNote that this means you can't get/set the value of textarea directly, as you did with mirrorsharp 2.\r\n\r\nTo set the initial value, use the `text` option, e.g:\r\n```typescript\r\nmirrorsharp(container, { text: 'initial' });\r\n```\r\n\r\nTo get or set the value after the editor is created, use the `getText()` and `setText()` on the editor instance:\r\n```typescript\r\nconst ms = mirrorsharp(container);\r\nms.setText(ms.getText() + \" // changed\");\r\n```\r\n\r\n## Other changes\r\n\r\n### Options\r\n\r\n| Version 2              | CM 6 Preview         |\r\n|------------------------|----------------------|\r\n| `noInitialConnection`  | `disconnected`       |\r\n| `initialServerOptions` | `serverOptions`      |\r\n| `forCodeMirror`        | `codeMirror`         |\r\n| `selfDebugEnabled`     | No longer available. |\r\n| `on slowUpdateResult`  | Event property `x` renamed to `extensionData`. |\r\n| `on connectionChange`  | Events `error` and `close` are no longer emitted. Event `loss` is emitted instead. |\r\n\r\nNote that vesion 2 allowed unknown options, while newer versions will throw if any option is not known.\r\n\r\n### Editor instance\r\n\r\n| Version 2                            | CM 6 Preview        |\r\n|--------------------------------------|---------------------|\r\n| `getCodeMirror`                      | `getCodeMirrorView` |\r\n| `destroy({ keepCodeMirror: true })` | No longer available. However more changes can be done without destroying, e.g. `setServiceUrl`. |\r\n\r\n## CodeMirror\r\n\r\nOne of the major changes is that the library now uses CodeMirror 6.\r\n\r\nSpecific CodeMirror changes are out of scope of this document, but you can find the list in [CodeMirror 6 migration guide](https://codemirror.net/docs/migration)."
  },
  {
    "path": "WebAssets/package.json",
    "content": "{\n    \"name\": \"mirrorsharp-codemirror-6-preview\",\n    \"version\": \"1.0.0\",\n    \"engines\": {\n        \"node\": \">=20.14.0\"\n    },\n    \"description\": \"Preview version of mirrorsharp based on CodeMirror 6.\",\n    \"authors\": [\n        \"Andrey Shchekin (https://github.com/ashmind)\"\n    ],\n    \"license\": \"MIT\",\n    \"type\": \"module\",\n    \"main\": \"mirrorsharp.js\",\n    \"types\": \"mirrorsharp.d.ts\",\n    \"homepage\": \"https://github.com/ashmind/mirrorsharp\",\n    \"bugs\": \"https://github.com/ashmind/mirrorsharp/issues\",\n    \"repository\": {\n        \"type\": \"git\",\n        \"url\": \"git+https://github.com/ashmind/mirrorsharp.git\"\n    },\n    \"browserslist\": [\n        \"Chrome >= 84\",\n        \"Edge >= 84\",\n        \"Firefox >= 90\",\n        \"Safari >= 15\"\n    ],\n    \"scripts\": {\n        \"lint\": \"tsx ./build.ts lint\",\n        \"build\": \"tsx ./build.ts\",\n        \"watch\": \"tsx ./build.ts --watch\",\n        \"build-local\": \"tsx ./build.ts && cd dist && npm install\",\n        \"test\": \"jest\",\n        \"storybook\": \"start-storybook -p 6006\",\n        \"build-storybook\": \"build-storybook\",\n        \"test-storybook\": \"tsx ./build.ts storybook:test\",\n        \"test-storybook-with-update\": \"tsx ./build.ts storybook:test:update\"\n    },\n    \"jest\": {\n        \"preset\": \"ts-jest/presets/js-with-ts\",\n        \"testEnvironment\": \"jsdom\",\n        \"transformIgnorePatterns\": [\n            \"/node_modules/(?!@codemirror|lezer-csharp-simple)\"\n        ],\n        \"globals\": {\n            \"ts-jest\": {\n                \"tsconfig\": \"<rootDir>/src/tsconfig.json\"\n            }\n        },\n        \"setupFilesAfterEnv\": [\n            \"<rootDir>/src/testing/jest/setup-jest.ts\"\n        ],\n        \"testMatch\": [\n            \"<rootDir>/src/**/*.tests.ts\"\n        ]\n    },\n    \"dependencies\": {\n        \"@codemirror/autocomplete\": \"^6.3.0\",\n        \"@codemirror/commands\": \"^6.1.1\",\n        \"@codemirror/lang-php\": \"^6.0.1\",\n        \"@codemirror/language\": \"^6.2.1\",\n        \"@codemirror/legacy-modes\": \"^6.3.1\",\n        \"@codemirror/lint\": \"^6.0.0\",\n        \"@codemirror/state\": \"^6.1.2\",\n        \"@codemirror/view\": \"^6.3.0\",\n        \"@lezer/highlight\": \"^1.1.1\",\n        \"lezer-csharp-simple\": \"^0.9.1\",\n        \"style-mod\": \"^4.0.0\"\n    },\n    \"devDependencies\": {\n        \"@babel/core\": \"^7.9.0\",\n        \"@sinonjs/fake-timers\": \"^6.0.1\",\n        \"@storybook/addon-actions\": \"^6.5.15\",\n        \"@storybook/addon-interactions\": \"^6.5.15\",\n        \"@storybook/addon-measure\": \"^6.5.15\",\n        \"@storybook/addon-outline\": \"^6.5.15\",\n        \"@storybook/addon-viewport\": \"^6.5.15\",\n        \"@storybook/builder-webpack5\": \"^6.5.15\",\n        \"@storybook/html\": \"^6.5.15\",\n        \"@storybook/manager-webpack5\": \"^6.5.15\",\n        \"@storybook/test-runner\": \"^0.9.2\",\n        \"@storybook/testing-library\": \"^0.0.13\",\n        \"@types/jest\": \"^29.2.5\",\n        \"@types/jest-image-snapshot\": \"^6.1.0\",\n        \"@types/node\": \"^16.18.11\",\n        \"@types/sinonjs__fake-timers\": \"^6.0.2\",\n        \"@types/wait-on\": \"^5.3.1\",\n        \"@typescript-eslint/eslint-plugin\": \"^5.47.0\",\n        \"@typescript-eslint/parser\": \"^5.47.0\",\n        \"depcheck\": \"^1.4.3\",\n        \"eslint\": \"^8.30.0\",\n        \"eslint-import-resolver-typescript\": \"^3.5.2\",\n        \"eslint-plugin-import\": \"^2.26.0\",\n        \"execa\": \"^5.0.0\",\n        \"fast-glob\": \"^3.2.2\",\n        \"fs-jetpack\": \"^2.1.0\",\n        \"http-server\": \"^14.1.1\",\n        \"jest\": \"^29.3.1\",\n        \"jest-environment-jsdom\": \"^29.3.1\",\n        \"jest-image-snapshot\": \"^6.1.0\",\n        \"oldowan\": \"^1.0.0-preview-6\",\n        \"tree-kill\": \"^1.2.2\",\n        \"ts-jest\": \"^29.0.3\",\n        \"ts-loader\": \"^9.4.2\",\n        \"ts-unused-exports\": \"^9.0.1\",\n        \"tsx\": \"^4.11.2\",\n        \"typescript\": \"^4.9.4\",\n        \"wait-on\": \"^7.0.1\"\n    }\n}\n"
  },
  {
    "path": "WebAssets/src/.eslintrc.json",
    "content": "{\r\n    \"root\": true,\r\n    \"parser\": \"@typescript-eslint/parser\",\r\n    \"parserOptions\": {\r\n        // https://github.com/typescript-eslint/typescript-eslint/issues/540\r\n        \"project\": \"src/tsconfig.json\"\r\n    },\r\n    \"settings\": {\r\n        \"import/resolver\": {\r\n            \"typescript\": true\r\n        }\r\n    },\r\n    \"plugins\": [\r\n        \"import\",\r\n        \"@typescript-eslint\"\r\n    ],\r\n    \"extends\": [\r\n        \"eslint:recommended\",\r\n        \"plugin:import/recommended\",\r\n        \"plugin:import/typescript\",\r\n        \"plugin:@typescript-eslint/eslint-recommended\",\r\n        \"plugin:@typescript-eslint/recommended\"\r\n    ],\r\n    \"env\": {\r\n        \"browser\": true,\r\n        \"amd\": true,\r\n        \"es6\": true\r\n    },\r\n    \"rules\": {\r\n        \"comma-dangle\": \"error\",\r\n        \"radix\": \"error\",\r\n        \"no-undefined\": \"error\",\r\n        \"no-duplicate-imports\": \"error\",\r\n        \"strict\": \"error\",\r\n        \"eqeqeq\": [\"error\", \"always\", { \"null\": \"ignore\" }],\r\n        \"no-plusplus\": [\"error\", { \"allowForLoopAfterthoughts\": true }],\r\n        \"no-sync\": \"error\",\r\n        \"no-new\": \"warn\",\r\n        \"linebreak-style\": [\"warn\", \"windows\"],\r\n        \"eol-last\": [\"warn\", \"never\"],\r\n        \"object-curly-spacing\": [\"warn\", \"always\"],\r\n        \"arrow-parens\": [\"warn\", \"as-needed\"],\r\n        \"dot-location\": [\"warn\", \"property\"],\r\n        \"operator-linebreak\": [\"warn\", \"before\"],\r\n        \"func-style\": [\"warn\", \"declaration\", { \"allowArrowFunctions\": true }],\r\n        \"prefer-object-spread\": \"warn\",\r\n        \"no-mixed-operators\": \"warn\",\r\n        \"space-infix-ops\": \"warn\",\r\n        \"comma-spacing\": \"warn\",\r\n        \"no-path-concat\": \"warn\",\r\n        \"quote-props\": [\"warn\", \"as-needed\"],\r\n        \"key-spacing\": [\"warn\", { \"mode\": \"minimum\" }],\r\n\r\n        \"import/no-default-export\": \"warn\",\r\n        \"import/no-useless-path-segments\": \"warn\",\r\n        \"import/order\": [\"warn\", { \"alphabetize\": { \"order\": \"asc\" } }],\r\n        \"import/first\": \"warn\",\r\n\r\n        \"@typescript-eslint/promise-function-async\": \"off\",\r\n        \"@typescript-eslint/no-use-before-define\": \"off\",\r\n        \"@typescript-eslint/explicit-function-return-type\": \"off\",\r\n        \"@typescript-eslint/no-unsafe-call\": \"error\",\r\n        \"@typescript-eslint/no-unsafe-member-access\": \"error\",\r\n        \"@typescript-eslint/no-unsafe-return\": \"error\",\r\n        \"@typescript-eslint/no-unnecessary-type-arguments\": \"warn\",\r\n        \"@typescript-eslint/no-unnecessary-type-assertion\": \"warn\",\r\n        \"@typescript-eslint/no-unnecessary-condition\": \"warn\",\r\n        \"@typescript-eslint/no-floating-promises\": \"warn\",\r\n        \"@typescript-eslint/no-misused-promises\": \"warn\",\r\n        \"@typescript-eslint/no-unused-vars\": [\"warn\", { \"ignoreRestSiblings\": true }],\r\n        // TODO: Later, once fake \"classes\" become real classes\r\n        // \"@typescript-eslint/unbound-method\": \"warn\",\r\n        \"@typescript-eslint/indent\": [\"warn\", 4, { \"SwitchCase\": 1, \"ignoredNodes\": [\r\n            \"TSTypeAliasDeclaration *\",\r\n            \"TSTypeReference *\",\r\n            \"MemberExpression\"\r\n        ] }],\r\n        \"@typescript-eslint/quotes\": [\"error\", \"single\", { \"avoidEscape\": true, \"allowTemplateLiterals\": true }],\r\n        \"@typescript-eslint/semi\": \"error\",\r\n        \"@typescript-eslint/brace-style\": [\"warn\", \"stroustrup\", { \"allowSingleLine\": true }],\r\n        \"@typescript-eslint/restrict-template-expressions\": [\"error\", { \"allowBoolean\": true, \"allowNumber\": true }],\r\n        \"@typescript-eslint/array-type\": [\"error\", { \"default\": \"generic\" }],\r\n        \"@typescript-eslint/prefer-readonly\": \"warn\",\r\n        \"@typescript-eslint/prefer-nullish-coalescing\": \"warn\",\r\n        \"@typescript-eslint/prefer-includes\": \"warn\",\r\n        \"@typescript-eslint/prefer-string-starts-ends-with\": \"warn\",\r\n        \"@typescript-eslint/prefer-optional-chain\": \"warn\"\r\n    }\r\n}"
  },
  {
    "path": "WebAssets/src/codemirror/__snapshots__/languages.tests.ts.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`C# highlighting applies expected classes 1`] = `\"<div class=\"cm-line\"><span class=\"tok-keyword\">public</span> <span class=\"tok-keyword\">class</span> C<span class=\"tok-punctuation\">&lt;</span>T<span class=\"tok-punctuation\">&gt;</span> <span class=\"tok-punctuation\">{</span></div><div class=\"cm-line\">    <span class=\"tok-comment\">// test comment</span></div><div class=\"cm-line\">    <span class=\"tok-keyword\">public</span> <span class=\"tok-keyword\">void</span> M<span class=\"tok-punctuation\">&lt;</span>U<span class=\"tok-punctuation\">&gt;</span><span class=\"tok-punctuation\">(</span><span class=\"tok-punctuation\">)</span> <span class=\"tok-punctuation\">{</span></div><div class=\"cm-line\">        <span class=\"tok-keyword\">double</span> d <span class=\"tok-punctuation\">=</span> <span class=\"tok-number\">1.2e3</span><span class=\"tok-punctuation\">;</span></div><div class=\"cm-line\">        <span class=\"tok-keyword\">string</span> s1 <span class=\"tok-punctuation\">=</span> <span class=\"tok-string\">\"test\"</span><span class=\"tok-punctuation\">;</span></div><div class=\"cm-line\">        <span class=\"tok-keyword\">string</span> s2 <span class=\"tok-punctuation\">=</span> $<span class=\"tok-string\">\"a{s1}b\"</span><span class=\"tok-punctuation\">;</span></div><div class=\"cm-line\">        <span class=\"tok-keyword\">char</span> c <span class=\"tok-punctuation\">=</span> 't'<span class=\"tok-punctuation\">;</span></div><div class=\"cm-line\">        Action a <span class=\"tok-punctuation\">=</span> <span class=\"tok-punctuation\">(</span><span class=\"tok-punctuation\">)</span> <span class=\"tok-punctuation\">=&gt;</span> <span class=\"tok-punctuation\">{</span><span class=\"tok-punctuation\">}</span><span class=\"tok-punctuation\">;</span></div><div class=\"cm-line\">    <span class=\"tok-punctuation\">}</span></div><div class=\"cm-line\"><span class=\"tok-punctuation\">}</span></div>\"`;\n\nexports[`F# highlighting applies expected classes 1`] = `\"<div class=\"cm-line\"><span class=\"tok-keyword\">type</span> <span class=\"tok-variableName\">C</span><span class=\"tok-operator\">&lt;</span>'<span class=\"tok-variableName\">a</span><span class=\"tok-operator\">&gt;</span> <span class=\"tok-operator\">=</span></div><div class=\"cm-line\">    <span class=\"tok-comment\">// test comment</span></div><div class=\"cm-line\">    <span class=\"tok-keyword\">member</span> <span class=\"tok-variableName\">this</span><span class=\"tok-operator\">.</span><span class=\"tok-variableName\">M</span><span class=\"tok-operator\">&lt;</span>'<span class=\"tok-variableName\">b</span><span class=\"tok-operator\">&gt;</span>() <span class=\"tok-operator\">=</span></div><div class=\"cm-line\">        <span class=\"tok-keyword\">let</span> <span class=\"tok-variableName\">d</span> <span class=\"tok-operator\">=</span> <span class=\"tok-number\">1.2e3</span></div><div class=\"cm-line\">        <span class=\"tok-keyword\">let</span> <span class=\"tok-variableName\">s1</span> <span class=\"tok-operator\">=</span> <span class=\"tok-string\">\"test\"</span></div><div class=\"cm-line\">        <span class=\"tok-keyword\">let</span> <span class=\"tok-variableName\">s2</span> <span class=\"tok-operator\">=</span> $<span class=\"tok-string\">\"a{s1}b\"</span></div><div class=\"cm-line\">        <span class=\"tok-keyword\">let</span> <span class=\"tok-variableName\">c</span> <span class=\"tok-operator\">=</span> '<span class=\"tok-variableName\">t</span>'</div><div class=\"cm-line\">        <span class=\"tok-keyword\">let</span> <span class=\"tok-variableName\">a</span> <span class=\"tok-operator\">=</span> <span class=\"tok-keyword\">fun</span> () <span class=\"tok-operator\">-</span><span class=\"tok-operator\">&gt;</span> ()</div><div class=\"cm-line\">        ()</div>\"`;\n\nexports[`IL highlighting applies expected classes 1`] = `\"<div class=\"cm-line\"><span class=\"tok-keyword\">.class</span> <span class=\"tok-keyword\">public</span> C\\`1&lt;T&gt;</div><div class=\"cm-line\">    <span class=\"tok-keyword\">extends</span> [System.Runtime]System.Object</div><div class=\"cm-line\">{</div><div class=\"cm-line\">    <span class=\"tok-comment\">// test comment</span></div><div class=\"cm-line\">    <span class=\"tok-keyword\">.method</span> <span class=\"tok-keyword\">public</span></div><div class=\"cm-line\">        <span class=\"tok-keyword\">instance</span> void M&lt;U&gt; () <span class=\"tok-keyword\">cil</span> <span class=\"tok-keyword\">managed</span></div><div class=\"cm-line\">    {</div><div class=\"cm-line\">        <span class=\"tok-keyword\">.maxstack</span> <span class=\"tok-number\">3</span></div><div class=\"cm-line\">        <span class=\"tok-keyword\">.locals</span> <span class=\"tok-keyword\">init</span> (</div><div class=\"cm-line\">            [0] float64 d,</div><div class=\"cm-line\">            [1] string s1</div><div class=\"cm-line\">        )</div><div class=\"cm-line\"><br></div><div class=\"cm-line\">        <span class=\"tok-typeName\">IL_0000:</span> <span class=\"tok-variableName\">ldc.r8</span> <span class=\"tok-number\">1</span>.2e3</div><div class=\"cm-line\">        <span class=\"tok-typeName\">IL_0009:</span> <span class=\"tok-variableName\">stloc.0</span></div><div class=\"cm-line\">        <span class=\"tok-typeName\">IL_000a:</span> <span class=\"tok-variableName\">ldstr</span> <span class=\"tok-string\">\"test\"</span></div><div class=\"cm-line\">        <span class=\"tok-typeName\">IL_000f:</span> <span class=\"tok-variableName\">stloc.1</span></div><div class=\"cm-line\">        <span class=\"tok-typeName\">IL_0010:</span> <span class=\"tok-variableName\">ret</span></div><div class=\"cm-line\">    }</div><div class=\"cm-line\">}</div>\"`;\n\nexports[`PHP highlighting applies expected classes 1`] = `\"<div class=\"cm-line\"><span class=\"tok-meta\">&lt;?php</span></div><div class=\"cm-line\"><br></div><div class=\"cm-line\"><span class=\"tok-keyword\">class</span> <span class=\"tok-className\">C</span> <span class=\"tok-punctuation\">{</span></div><div class=\"cm-line\">    <span class=\"tok-comment\">// test comment</span></div><div class=\"cm-line\">    <span class=\"tok-keyword\">public</span> <span class=\"tok-keyword\">function</span> <span class=\"tok-variableName\">M</span><span class=\"tok-punctuation\">(</span><span class=\"tok-punctuation\">)</span> <span class=\"tok-punctuation\">{</span></div><div class=\"cm-line\">        <span class=\"tok-variableName\">$d</span> <span class=\"tok-operator\">=</span> <span class=\"tok-number\">1.2e3</span><span class=\"tok-punctuation\">;</span></div><div class=\"cm-line\">        <span class=\"tok-variableName\">$s1</span> <span class=\"tok-operator\">=</span> <span class=\"tok-string\">'test'</span><span class=\"tok-punctuation\">;</span></div><div class=\"cm-line\">        <span class=\"tok-variableName\">$s2</span> <span class=\"tok-operator\">=</span> <span class=\"tok-string\">\"a</span><span class=\"tok-punctuation\">{</span><span class=\"tok-variableName\">$s1</span><span class=\"tok-punctuation\">}</span><span class=\"tok-string\">b\"</span><span class=\"tok-punctuation\">;</span></div><div class=\"cm-line\">        <span class=\"tok-variableName\">$a</span> <span class=\"tok-operator\">=</span> <span class=\"tok-keyword\">fn</span><span class=\"tok-punctuation\">(</span><span class=\"tok-punctuation\">)</span> <span class=\"tok-punctuation\">=&gt;</span> <span class=\"tok-number\">0</span><span class=\"tok-punctuation\">;</span></div><div class=\"cm-line\">    <span class=\"tok-punctuation\">}</span></div><div class=\"cm-line\"><span class=\"tok-punctuation\">}</span></div>\"`;\n\nexports[`VB highlighting applies expected classes 1`] = `\"<div class=\"cm-line\"><span class=\"tok-keyword\">Public</span> <span class=\"tok-keyword\">Class</span> <span class=\"tok-variableName\">C</span> (<span class=\"tok-keyword\">Of</span> <span class=\"tok-variableName\">T</span>)</div><div class=\"cm-line\">    <span class=\"tok-comment\">' test comment</span></div><div class=\"cm-line\">    <span class=\"tok-keyword\">Public</span> <span class=\"tok-keyword\">Sub</span> <span class=\"tok-variableName\">M</span> (<span class=\"tok-keyword\">Of</span> <span class=\"tok-variableName\">U</span>)()</div><div class=\"cm-line\">        <span class=\"tok-keyword\">Dim</span> <span class=\"tok-variableName\">d</span> <span class=\"tok-keyword\">As</span> <span class=\"tok-keyword\">Decimal</span> = <span class=\"tok-number\">1.2</span><span class=\"tok-variableName\">e3</span></div><div class=\"cm-line\">        <span class=\"tok-keyword\">Dim</span> <span class=\"tok-variableName\">s1</span> <span class=\"tok-keyword\">As</span> <span class=\"tok-keyword\">String</span> = <span class=\"tok-string\">\"test\"</span></div><div class=\"cm-line\">        <span class=\"tok-keyword\">Dim</span> <span class=\"tok-variableName\">s2</span> <span class=\"tok-keyword\">As</span> <span class=\"tok-keyword\">String</span> = <span class=\"tok-invalid\">$</span><span class=\"tok-string\">\"a{s1}b\"</span></div><div class=\"cm-line\">        <span class=\"tok-keyword\">Dim</span> <span class=\"tok-variableName\">c</span> <span class=\"tok-keyword\">As</span> <span class=\"tok-keyword\">Char</span> = <span class=\"tok-comment\">'t'</span></div><div class=\"cm-line\">        <span class=\"tok-keyword\">Dim</span> <span class=\"tok-variableName\">a</span> <span class=\"tok-keyword\">As</span> <span class=\"tok-variableName\">Action</span> = <span class=\"tok-keyword\">Sub</span>()</div><div class=\"cm-line\">                          <span class=\"tok-keyword\">End</span> <span class=\"tok-keyword\">Sub</span></div><div class=\"cm-line\">    <span class=\"tok-keyword\">End</span> <span class=\"tok-keyword\">Sub</span></div><div class=\"cm-line\"><span class=\"tok-keyword\">End</span> <span class=\"tok-keyword\">Class</span></div>\"`;\n"
  },
  {
    "path": "WebAssets/src/codemirror/create.ts",
    "content": "import { history } from '@codemirror/commands';\r\nimport { indentUnit, syntaxHighlighting } from '@codemirror/language';\r\nimport { EditorState, EditorSelection, Extension } from '@codemirror/state';\r\nimport { EditorView } from '@codemirror/view';\r\nimport { classHighlighter } from '@lezer/highlight';\r\nimport type { StyleSpec } from 'style-mod';\r\nimport { Theme, THEME_DARK } from '../main/theme';\r\nimport type { Connection } from '../protocol/connection';\r\nimport type { Language } from '../protocol/languages';\r\nimport { lineSeparator } from '../protocol/line-separator';\r\nimport type { Session } from '../protocol/session';\r\nimport { switchableExtension } from './helpers/switchable-extension';\r\nimport { keymaps } from './keymaps';\r\nimport { languageExtensions } from './languages';\r\nimport { notifyOnTextChanges } from './notify-on-text-changes';\r\nimport { autocompletionFromServer } from './server/autocompletion';\r\nimport { connectionState } from './server/connection-state';\r\nimport { diagnosticsFromServer } from './server/diagnostics';\r\nimport { infotipsFromServer } from './server/infotips';\r\nimport { sendChangesToServer } from './server/send-changes';\r\nimport { signatureHelpFromServer } from './server/signature-help';\r\n\r\nexport const createExtensions = <O, U>(\r\n    connection: Connection<O, U>,\r\n    session: Session<O, U>,\r\n    options: {\r\n        language: Language;\r\n        theme: Theme;\r\n        themeSpec: { [selector: string]: StyleSpec; };\r\n        onTextChange: ((getText: () => string) => void) | undefined,\r\n        extraExtensions: ReadonlyArray<Extension>;\r\n    }\r\n) => {\r\n    const language = switchableExtension(options.language, l => languageExtensions[l]);\r\n    const theme = switchableExtension(\r\n        options.theme,\r\n        t => EditorView.theme(options.themeSpec, { dark: t === THEME_DARK })\r\n    );\r\n    const initialExtensions = [\r\n        indentUnit.of('    '),\r\n        EditorState.lineSeparator.of(lineSeparator),\r\n\r\n        history(),\r\n\r\n        language.extension,\r\n        syntaxHighlighting(classHighlighter),\r\n\r\n        connectionState(connection),\r\n        sendChangesToServer(session as Session),\r\n        diagnosticsFromServer(connection as Connection<unknown, U>),\r\n        infotipsFromServer(connection),\r\n        signatureHelpFromServer(connection as Connection),\r\n        autocompletionFromServer(connection),\r\n\r\n        ...(options.onTextChange ? [notifyOnTextChanges(options.onTextChange)] : []),\r\n\r\n        // has to go last so that more specific keymaps\r\n        // in e.g. autocomplete have more priority\r\n        keymaps,\r\n\r\n        theme.extension\r\n    ].concat(options.extraExtensions);\r\n\r\n    return [\r\n        initialExtensions,\r\n        {\r\n            switchLanguageExtension: language.switch,\r\n            switchThemeExtension: theme.switch\r\n        }\r\n    ] as const;\r\n};\r\n\r\nexport type ExtensionSwitcher = ReturnType<typeof createExtensions>[1];\r\n\r\nexport const createState = (\r\n    extensions: ReadonlyArray<Extension>,\r\n    options: {\r\n        text?: string | undefined;\r\n        cursorOffset?: number | undefined;\r\n    } = {}\r\n) => {\r\n    return EditorState.create({\r\n        ...(options.text ? { doc: options.text } : {}),\r\n        ...(options.cursorOffset ? { selection: EditorSelection.single(options.cursorOffset) } : {}),\r\n        extensions\r\n    });\r\n};"
  },
  {
    "path": "WebAssets/src/codemirror/helpers/apply-changes-from-server.ts",
    "content": "import type { ChangeSpec, TransactionSpec } from '@codemirror/state';\r\nimport type { EditorView } from '@codemirror/view';\r\nimport type { ChangeData } from '../../protocol/messages';\r\nimport { convertFromServerPosition, getEnd } from './convert-position';\r\n\r\nexport const applyChangesFromServer = (view: EditorView, changesFromServer: ReadonlyArray<ChangeData>) => {\r\n    const [selection] = view.state.selection.ranges;\r\n    const transaction = { changes: [] } as Omit<TransactionSpec, 'changes'> & {\r\n        changes: Array<ChangeSpec>;\r\n    };\r\n    for (const { start, length, text } of changesFromServer) {\r\n        const change = {\r\n            from: convertFromServerPosition(view.state.doc, start),\r\n            to: convertFromServerPosition(view.state.doc, getEnd(start, length)),\r\n            insert: text\r\n        };\r\n        transaction.changes.push(change);\r\n        if (selection && selection.from >= change.from && selection.from <= change.to)\r\n            transaction.selection = { anchor: change.from + change.insert.length };\r\n    }\r\n\r\n    view.dispatch(transaction);\r\n};"
  },
  {
    "path": "WebAssets/src/codemirror/helpers/convert-position.tests.ts",
    "content": "import { Text } from '@codemirror/state';\r\nimport type { ServerPosition } from '../../protocol/messages';\r\nimport { convertFromServerPosition, convertToServerPosition } from './convert-position';\r\n\r\nconst cases = [\r\n    [['a'], 0, 0],\r\n    [['a'], 1, 1],\r\n    [['a', 'b'], 1, 1],\r\n    [['a', 'b'], 2, 3],\r\n    [['ab'], 2, 2],\r\n    [['a', 'b', 'c'], 5, 7]\r\n] as ReadonlyArray<[lines: ReadonlyArray<string>, cmPosition: number, serverPosition: number]>;\r\n\r\ntest.each(cases)('convertToServerPosition(%p, %p) returns %p', (lines, cmPosition, expectedServerPosition) => {\r\n    expect(convertToServerPosition(Text.of(lines), cmPosition)).toEqual(expectedServerPosition);\r\n});\r\n\r\nconst invertedCases = cases.map(([lines, cmPosition, serverPosition]) => [lines, serverPosition, cmPosition] as const);\r\ntest.each(invertedCases)('convertFromServerPosition(%p, %p) returns %p', (lines, serverPosition, expectedCMPosition) => {\r\n    expect(convertFromServerPosition(Text.of(lines), serverPosition as unknown as ServerPosition))\r\n        .toEqual(expectedCMPosition);\r\n});"
  },
  {
    "path": "WebAssets/src/codemirror/helpers/convert-position.ts",
    "content": "import type { Text } from '@codemirror/state';\r\nimport { lineSeparator } from '../../protocol/line-separator';\r\nimport type { ServerPosition } from '../../protocol/messages';\r\n\r\nexport const getEnd = (start: ServerPosition, length: number) => ((start as unknown as number) + length) as unknown as ServerPosition;\r\nexport const getLength = (start: ServerPosition, end: ServerPosition) => (end as unknown as number) - (start as unknown as number);\r\n\r\nexport const convertToServerPosition = (doc: Text, position: number): ServerPosition => {\r\n    const line = doc.lineAt(position);\r\n    const lineSeparatorOffset = (line.number - 1) * (lineSeparator.length - 1);\r\n    return (position + lineSeparatorOffset) as unknown as ServerPosition;\r\n};\r\n\r\nexport const convertFromServerPosition = (doc: Text, position: ServerPosition) => {\r\n    const positionAsNumber = position as unknown as number;\r\n    let serverLineStart = 0;\r\n    for (let n = 1; n <= doc.lines; n++) {\r\n        const line = doc.line(n);\r\n        const nextServerLineStart = serverLineStart + line.length + lineSeparator.length;\r\n        if (positionAsNumber < nextServerLineStart || n === doc.lines)\r\n            return (positionAsNumber - serverLineStart) + line.from;\r\n        serverLineStart = nextServerLineStart;\r\n    }\r\n\r\n    throw new Error(`Failed to map position from server: ${positionAsNumber}`);\r\n};"
  },
  {
    "path": "WebAssets/src/codemirror/helpers/get-text.ts",
    "content": "import type { Text } from '@codemirror/state';\r\nimport type { EditorView } from '@codemirror/view';\r\nimport { lineSeparator } from '../../protocol/line-separator';\r\n\r\nexport const getString = (text: Text) => {\r\n    // eslint-disable-next-line no-undefined\r\n    return text.sliceString(0, undefined, lineSeparator);\r\n};\r\n\r\nexport const getText = (view: EditorView) => {\r\n    // eslint-disable-next-line no-undefined\r\n    return getString(view.state.doc);\r\n};"
  },
  {
    "path": "WebAssets/src/codemirror/helpers/switchable-extension.ts",
    "content": "import type { Extension } from '@codemirror/state';\r\n\r\nexport const switchableExtension = <T>(initialState: T, getExtension: (state: T) => Extension) => {\r\n    let extension = getExtension(initialState);\r\n\r\n    return {\r\n        get extension() { return extension; },\r\n\r\n        switch: (extensions: ReadonlyArray<Extension>, newState: T) => {\r\n            const index = extensions.indexOf(extension);\r\n            extension = getExtension(newState);\r\n            return [\r\n                ...extensions.slice(0, index),\r\n                extension,\r\n                ...extensions.slice(index + 1, extensions.length)\r\n            ] as const;\r\n        }\r\n    } as const;\r\n};"
  },
  {
    "path": "WebAssets/src/codemirror/keymaps.ts",
    "content": "\r\nimport { defaultKeymap, historyKeymap, indentWithTab } from '@codemirror/commands';\r\nimport { keymap } from '@codemirror/view';\r\n\r\nexport const keymaps = keymap.of([\r\n    ...defaultKeymap,\r\n    ...historyKeymap,\r\n    indentWithTab\r\n]);"
  },
  {
    "path": "WebAssets/src/codemirror/languages/cil.ts",
    "content": "import { StreamLanguage } from '@codemirror/language';\r\n\r\nconst grammar = {\r\n    keyword: new RegExp('^(?:' + [\r\n        /* spellchecker: disable */\r\n        '\\\\.(?:class|custom|field|locals|method|maxstack)',\r\n        'nested',\r\n        'private', 'public', 'assembly', 'family', 'famorassem',\r\n        'beforefieldinit', 'init',\r\n        'ansi', 'auto', 'cil', 'managed',\r\n        'implements', 'extends', 'hidebysig', 'newslot', 'virtual', 'abstract', 'sealed',\r\n        'instance', 'static',\r\n        'specialname', 'rtspecialname'\r\n        /* spellchecker: enable */\r\n    ].join('|') + ')(?:$|\\\\s)'),\r\n    builtin: new RegExp('^(?:' + [\r\n        /* spellchecker: disable */\r\n        'add', 'add.ovf', 'add.ovf.un',\r\n        'and',\r\n        'arglist',\r\n        'beq', 'beq.s',\r\n        'b[gl][et]', 'b[gl][et].s', 'b[gl][et].un', 'b[gl][et].un.s',\r\n        'bne.un', 'bne.un.s',\r\n        'box',\r\n        'br(?:true|false|inst|null|zero)?(.s)?',\r\n        'break',\r\n        'call', 'calli', 'callvirt',\r\n        'castclass',\r\n        'ceq',\r\n        'c[gl]t', 'c[gl]t.un',\r\n        'ckfinite',\r\n        'constrained.',\r\n        'conv.i[1248]?', 'conv.ovf.i[1248]?', 'conv.ovf.i[1248]?.un',\r\n        'conv.ovf.u[1248]?', 'conv.ovf.u[1248]?.un', 'conv.r.un', 'conv.r[48]', 'conv.u[1248]?',\r\n        'cpblk',\r\n        'cpobj',\r\n        'div', 'div.un',\r\n        'dup',\r\n        'end(?:fault|filter|finally)',\r\n        'initblk',\r\n        'initobj',\r\n        'isinst',\r\n        'jmp',\r\n        'ldarga?', 'ldarg.[0123s]', 'ldarga.s',\r\n        'ldc.i[48]', 'ldc.i4.[0-8s]', 'ldc.i4.[mM]1', 'ldc.r[48]',\r\n        'ldelema?', 'ldelem.i[1248]?', 'ldelem.r[48]', 'ldelem.ref', 'ldelem.u[1248]',\r\n        'lds?flda?',\r\n        'ldftn',\r\n        'ldind.i[1248]?', 'ldind.r[48]', 'ldind.ref', 'ldind.u[1248]',\r\n        'ldlen',\r\n        'ldloca?', 'ldloc.[0123s]', 'ldloca.s',\r\n        'ld(?:null|obj|str|token|virtftn)',\r\n        'leave', 'leave.s',\r\n        'localloc',\r\n        'mkrefany',\r\n        'mul', 'mul.ovf', 'mul.ovf.un',\r\n        'neg',\r\n        'newarr',\r\n        'newobj',\r\n        'nop',\r\n        'not',\r\n        'or',\r\n        'pop',\r\n        'readonly.',\r\n        'refany(?:type|val)',\r\n        'rem', 'rem.un',\r\n        'ret',\r\n        'rethrow',\r\n        'sh[lr]', 'shr.un',\r\n        'sizeof',\r\n        'starg', 'starg.s',\r\n        'stelem', 'stelem.i[1248]?', 'stelem.r[48]', 'stelem.ref',\r\n        'sts?fld',\r\n        'stind.i[1248]?', 'stind.r[48]', 'stind.ref',\r\n        'stloc', 'stloc.[0123s]',\r\n        'stobj',\r\n        'sub', 'sub.ovf', 'sub.ovf.un',\r\n        'switch',\r\n        'tail.',\r\n        'throw',\r\n        'unaligned.',\r\n        'unbox', 'unbox.any',\r\n        'volatile.',\r\n        'xor'\r\n        /* spellchecker: enable */\r\n    ].join('|').replace('.', '\\\\.') + ')(?:$|\\\\s)')\r\n};\r\n\r\nconst cilSyntax = StreamLanguage.define({\r\n    startState() {\r\n        return {};\r\n    },\r\n\r\n    token(stream) {\r\n        if (stream.eatSpace()) {\r\n            return null;\r\n        }\r\n\r\n        if (stream.match('//')) {\r\n            stream.skipToEnd();\r\n            return 'comment';\r\n        }\r\n\r\n        // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\r\n        if (stream.match(/\\d+/)) {\r\n            return 'number';\r\n        }\r\n\r\n        // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\r\n        if (stream.match(/\"[^\"]+\"/)) {\r\n            return 'string';\r\n        }\r\n\r\n        // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\r\n        if (stream.match(/\\w+:/)) {\r\n            return 'tag';\r\n        }\r\n\r\n        for (const key in grammar) {\r\n            // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\r\n            if (stream.match(grammar[key as keyof typeof grammar], false)) {\r\n                stream.match(/\\S+/);\r\n                return key;\r\n            }\r\n        }\r\n\r\n        stream.match(/\\S+/);\r\n        return null;\r\n    }\r\n});\r\n\r\nexport const cil = cilSyntax.extension;"
  },
  {
    "path": "WebAssets/src/codemirror/languages/csharp.ts",
    "content": "import { LRLanguage } from '@codemirror/language';\r\nimport { styleTags, tags } from '@lezer/highlight';\r\nimport { parser } from 'lezer-csharp-simple';\r\n\r\nconst csharpSyntax = LRLanguage.define({\r\n    parser: parser.configure({\r\n        props: [styleTags({\r\n            Keyword: tags.keyword,\r\n            Comment: tags.comment,\r\n            Number: tags.number,\r\n            String: tags.string,\r\n            Punctuation: tags.punctuation\r\n        })]\r\n    }),\r\n    languageData: {\r\n        closeBrackets: { brackets: ['(', '[', '{', \"'\", '\"', '`'] },\r\n        commentTokens: { line: '//', block: { open: '/*', close: '*/' } }\r\n    }\r\n});\r\n\r\nexport const csharp = csharpSyntax.extension;"
  },
  {
    "path": "WebAssets/src/codemirror/languages/fsharp.ts",
    "content": "import { StreamLanguage } from '@codemirror/language';\r\nimport { fSharp } from '@codemirror/legacy-modes/mode/mllike';\r\n\r\nexport const fsharp = StreamLanguage.define(fSharp).extension;"
  },
  {
    "path": "WebAssets/src/codemirror/languages/php.ts",
    "content": "import { phpLanguage } from '@codemirror/lang-php';\r\nimport { styleTags, tags } from '@lezer/highlight';\r\n\r\nexport const php = phpLanguage.configure({\r\n    props: [styleTags({\r\n        Keyword: tags.keyword,\r\n        Comment: tags.comment,\r\n        Number: tags.number,\r\n        String: tags.string,\r\n        Punctuation: tags.punctuation\r\n    })]\r\n}).extension;"
  },
  {
    "path": "WebAssets/src/codemirror/languages/test.data.ts",
    "content": "const normalize = (code: string) => code.replace(/\\r\\n|\\r|\\n/g, '\\r\\n').trim();\r\n\r\nexport const CODE_CSHARP = normalize(`\r\npublic class C<T> {\r\n    // test comment\r\n    public void M<U>() {\r\n        double d = 1.2e3;\r\n        string s1 = \"test\";\r\n        string s2 = $\"a{s1}b\";\r\n        char c = 't';\r\n        Action a = () => {};\r\n    }\r\n}`);\r\n\r\nexport const CODE_VB = normalize(`\r\nPublic Class C (Of T)\r\n    ' test comment\r\n    Public Sub M (Of U)()\r\n        Dim d As Decimal = 1.2e3\r\n        Dim s1 As String = \"test\"\r\n        Dim s2 As String = $\"a{s1}b\"\r\n        Dim c As Char = 't'\r\n        Dim a As Action = Sub()\r\n                          End Sub\r\n    End Sub\r\nEnd Class\r\n`);\r\n\r\nexport const CODE_FSHARP = normalize(`\r\ntype C<'a> =\r\n    // test comment\r\n    member this.M<'b>() =\r\n        let d = 1.2e3\r\n        let s1 = \"test\"\r\n        let s2 = $\"a{s1}b\"\r\n        let c = 't'\r\n        let a = fun () -> ()\r\n        ()\r\n`);\r\n\r\nexport const CODE_IL = normalize(`\r\n.class public C\\`1<T>\r\n    extends [System.Runtime]System.Object\r\n{\r\n    // test comment\r\n    .method public\r\n        instance void M<U> () cil managed\r\n    {\r\n        .maxstack 3\r\n        .locals init (\r\n            [0] float64 d,\r\n            [1] string s1\r\n        )\r\n\r\n        IL_0000: ldc.r8 1.2e3\r\n        IL_0009: stloc.0\r\n        IL_000a: ldstr \"test\"\r\n        IL_000f: stloc.1\r\n        IL_0010: ret\r\n    }\r\n}\r\n`);\r\n\r\nexport const CODE_PHP = normalize(`\r\n<?php\r\n\r\nclass C {\r\n    // test comment\r\n    public function M() {\r\n        $d = 1.2e3;\r\n        $s1 = 'test';\r\n        $s2 = \"a{$s1}b\";\r\n        $a = fn() => 0;\r\n    }\r\n}\r\n`);"
  },
  {
    "path": "WebAssets/src/codemirror/languages/vb.ts",
    "content": "import { StreamLanguage } from '@codemirror/language';\r\nimport { vb as vbImport } from '@codemirror/legacy-modes/mode/vb';\r\n\r\n// Test-only:\r\n// ts-unused-exports:disable-next-line\r\nexport const vbLanguage = StreamLanguage.define(vbImport);\r\n\r\nexport const vb = vbLanguage.extension;"
  },
  {
    "path": "WebAssets/src/codemirror/languages.stories.ts",
    "content": "import { Language, LANGUAGE_CSHARP, LANGUAGE_FSHARP, LANGUAGE_IL, LANGUAGE_PHP, LANGUAGE_VB } from '../protocol/languages';\r\nimport { storyWithDarkTheme } from '../testing/storybook/story-with-dark-theme';\r\nimport { testDriverStory } from '../testing/storybook/test-driver-story';\r\nimport { TestDriver } from '../testing/test-driver-storybook';\r\nimport { CODE_CSHARP, CODE_FSHARP, CODE_IL, CODE_PHP, CODE_VB } from './languages/test.data';\r\n\r\n// eslint-disable-next-line import/no-default-export\r\nexport default {\r\n    title: 'Languages',\r\n    component: {}\r\n};\r\n\r\nconst highlightingStory = (language: Language, text: string) => testDriverStory(async () => {\r\n    const driver = await TestDriver.new({ language, text });\r\n    await driver.completeBackgroundWork();\r\n\r\n    return driver;\r\n});\r\n\r\nexport const CSharp = highlightingStory(LANGUAGE_CSHARP, CODE_CSHARP);\r\nexport const CSharpDark = storyWithDarkTheme(CSharp);\r\nexport const VisualBasic = highlightingStory(LANGUAGE_VB, CODE_VB);\r\nexport const VisualBasicDark = storyWithDarkTheme(VisualBasic);\r\nexport const FSharp = highlightingStory(LANGUAGE_FSHARP, CODE_FSHARP);\r\nexport const FSharpDark = storyWithDarkTheme(FSharp);\r\nexport const IL = highlightingStory(LANGUAGE_IL, CODE_IL);\r\nexport const ILDark = storyWithDarkTheme(IL);\r\nexport const PHP = highlightingStory(LANGUAGE_PHP, CODE_PHP);\r\nexport const PHPDark = storyWithDarkTheme(PHP);"
  },
  {
    "path": "WebAssets/src/codemirror/languages.tests.ts",
    "content": "import { LANGUAGE_FSHARP, LANGUAGE_IL, LANGUAGE_PHP, LANGUAGE_VB } from '../protocol/languages';\r\nimport { TestDriver } from '../testing/test-driver-jest';\r\nimport { CODE_CSHARP, CODE_FSHARP, CODE_IL, CODE_PHP, CODE_VB } from './languages/test.data';\r\n\r\ntest('C# highlighting applies expected classes', async () => {\r\n    const driver = await TestDriver.new({ text: CODE_CSHARP });\r\n    await driver.completeBackgroundWork();\r\n\r\n    const html = driver.getCodeMirrorView().contentDOM.innerHTML;\r\n\r\n    expect(html).toMatchSnapshot();\r\n});\r\n\r\ntest('VB highlighting applies expected classes', async () => {\r\n    const driver = await TestDriver.new({\r\n        language: LANGUAGE_VB,\r\n        text: CODE_VB\r\n    });\r\n    await driver.completeBackgroundWork();\r\n\r\n    const html = driver.getCodeMirrorView().contentDOM.innerHTML;\r\n\r\n    expect(html).toMatchSnapshot();\r\n});\r\n\r\ntest('F# highlighting applies expected classes', async () => {\r\n    const driver = await TestDriver.new({\r\n        language: LANGUAGE_FSHARP,\r\n        text: CODE_FSHARP\r\n    });\r\n    await driver.completeBackgroundWork();\r\n\r\n    const html = driver.getCodeMirrorView().contentDOM.innerHTML;\r\n\r\n    expect(html).toMatchSnapshot();\r\n});\r\n\r\ntest('IL highlighting applies expected classes', async () => {\r\n    const driver = await TestDriver.new({\r\n        language: LANGUAGE_IL,\r\n        text: CODE_IL\r\n    });\r\n    await driver.completeBackgroundWork();\r\n\r\n    const html = driver.getCodeMirrorView().contentDOM.innerHTML;\r\n\r\n    expect(html).toMatchSnapshot();\r\n});\r\n\r\ntest('PHP highlighting applies expected classes', async () => {\r\n    const driver = await TestDriver.new({\r\n        language: LANGUAGE_PHP,\r\n        text: CODE_PHP\r\n    });\r\n    await driver.completeBackgroundWork();\r\n\r\n    const html = driver.getCodeMirrorView().contentDOM.innerHTML;\r\n\r\n    expect(html).toMatchSnapshot();\r\n});"
  },
  {
    "path": "WebAssets/src/codemirror/languages.ts",
    "content": "import { LANGUAGE_CSHARP, LANGUAGE_FSHARP, LANGUAGE_IL, LANGUAGE_PHP, LANGUAGE_VB } from '../protocol/languages';\r\nimport { cil } from './languages/cil';\r\nimport { csharp } from './languages/csharp';\r\nimport { fsharp } from './languages/fsharp';\r\nimport { php } from './languages/php';\r\nimport { vb } from './languages/vb';\r\n\r\nexport const languageExtensions = {\r\n    [LANGUAGE_CSHARP]: csharp,\r\n    [LANGUAGE_VB]: vb,\r\n    [LANGUAGE_FSHARP]: fsharp,\r\n    [LANGUAGE_PHP]: php,\r\n    [LANGUAGE_IL]: cil\r\n} as const;"
  },
  {
    "path": "WebAssets/src/codemirror/notify-on-text-changes.ts",
    "content": "import { ViewPlugin } from '@codemirror/view';\r\nimport { getText } from './helpers/get-text';\r\n\r\nexport const notifyOnTextChanges = (onTextChange: ((getText: () => string) => void)) => ViewPlugin.define(() => ({\r\n    update({ docChanged, view }) {\r\n        if (!docChanged)\r\n            return;\r\n\r\n        onTextChange(() => getText(view));\r\n    }\r\n}));"
  },
  {
    "path": "WebAssets/src/codemirror/server/__snapshots__/autocompletion.tests.ts.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`completion applies requested info 1`] = `\"<div><div class=\"mirrorsharp-parts-section\"><span class=\"tok-method\">ToString</span></div><div class=\"mirrorsharp-parts-section\"><span class=\"tok-text\">Converts the value of this instance to its equivalent string representation.</span></div></div>\"`;\n"
  },
  {
    "path": "WebAssets/src/codemirror/server/__snapshots__/infotips.tests.ts.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`hover applies received infotip 1`] = `\"<div class=\"mirrorsharp-infotip cm-tooltip-section\"><div class=\"mirrorsharp-parts-section\"><span class=\"mirrorsharp-infotip-icon mirrorsharp-infotip-icon-delegate mirrorsharp-infotip-icon-public\"></span><span class=\"tok-keyword\">delegate</span><span class=\"tok-space\"> </span><span class=\"tok-keyword\">void</span><span class=\"tok-space\"> </span><span class=\"tok-namespace\">System</span><span class=\"tok-punctuation\">.</span><span class=\"tok-delegate\">EventHandler</span><span class=\"tok-punctuation\">(</span><span class=\"tok-keyword\">object</span><span class=\"tok-space\"> </span><span class=\"tok-parameter\">sender</span><span class=\"tok-punctuation\">,</span><span class=\"tok-space\"> </span><span class=\"tok-namespace\">System</span><span class=\"tok-punctuation\">.</span><span class=\"tok-class\">EventArgs</span><span class=\"tok-space\"> </span><span class=\"tok-parameter\">e</span><span class=\"tok-punctuation\">)</span></div><div class=\"mirrorsharp-parts-section\"><span class=\"tok-text\">Represents the method that will handle an event that has no event data.</span></div></div>\"`;\n"
  },
  {
    "path": "WebAssets/src/codemirror/server/__snapshots__/signature-help.tests.ts.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`signature help message shows signature help 1`] = `\"<li class=\"mirrorsharp-signature mirrorsharp-signature--selected\"><span class=\"tok-keyword \">int</span><span class=\"tok-space \"> </span><span class=\"tok-keyword \">string</span><span class=\"tok-punctuation \">.</span><span class=\"tok-method \">IndexOf</span><span class=\"tok-punctuation \">(</span><span class=\"tok-keyword mirrorsharp-signature-part--selected\">char</span><span class=\"tok-space mirrorsharp-signature-part--selected\"> </span><span class=\"tok-parameter mirrorsharp-signature-part--selected\">value</span><span class=\"tok-punctuation \">)</span><div class=\"mirrorsharp-signature-info\"><span class=\"tok-text\">Reports the zero-based index of the first occurrence of the specified Unicode character in this string.</span></div><div class=\"mirrorsharp-signature-info-parameter\"><span class=\"mirrorsharp-signature-info-parameter-name\"></span><span class=\"tok-text\">A Unicode character to seek.</span></div></li><li class=\"mirrorsharp-signature\"><span class=\"tok-keyword \">int</span><span class=\"tok-space \"> </span><span class=\"tok-keyword \">string</span><span class=\"tok-punctuation \">.</span><span class=\"tok-method \">IndexOf</span><span class=\"tok-punctuation \">(</span><span class=\"tok-keyword mirrorsharp-signature-part--selected\">string</span><span class=\"tok-space mirrorsharp-signature-part--selected\"> </span><span class=\"tok-parameter mirrorsharp-signature-part--selected\">value</span><span class=\"tok-punctuation \">)</span></li><li class=\"mirrorsharp-signature\"><span class=\"tok-keyword \">int</span><span class=\"tok-space \"> </span><span class=\"tok-keyword \">string</span><span class=\"tok-punctuation \">.</span><span class=\"tok-method \">IndexOf</span><span class=\"tok-punctuation \">(</span><span class=\"tok-keyword mirrorsharp-signature-part--selected\">char</span><span class=\"tok-space mirrorsharp-signature-part--selected\"> </span><span class=\"tok-parameter mirrorsharp-signature-part--selected\">value</span><span class=\"tok-punctuation \">,</span><span class=\"tok-space \"> </span><span class=\"tok-keyword \">int</span><span class=\"tok-space \"> </span><span class=\"tok-parameter \">startIndex</span><span class=\"tok-punctuation \">)</span></li><li class=\"mirrorsharp-signature\"><span class=\"tok-keyword \">int</span><span class=\"tok-space \"> </span><span class=\"tok-keyword \">string</span><span class=\"tok-punctuation \">.</span><span class=\"tok-method \">IndexOf</span><span class=\"tok-punctuation \">(</span><span class=\"tok-keyword mirrorsharp-signature-part--selected\">char</span><span class=\"tok-space mirrorsharp-signature-part--selected\"> </span><span class=\"tok-parameter mirrorsharp-signature-part--selected\">value</span><span class=\"tok-punctuation \">,</span><span class=\"tok-space \"> </span><span class=\"tok-namespace \">System</span><span class=\"tok-punctuation \">.</span><span class=\"tok-enum \">StringComparison</span><span class=\"tok-space \"> </span><span class=\"tok-parameter \">comparisonType</span><span class=\"tok-punctuation \">)</span></li><li class=\"mirrorsharp-signature\"><span class=\"tok-keyword \">int</span><span class=\"tok-space \"> </span><span class=\"tok-keyword \">string</span><span class=\"tok-punctuation \">.</span><span class=\"tok-method \">IndexOf</span><span class=\"tok-punctuation \">(</span><span class=\"tok-keyword mirrorsharp-signature-part--selected\">string</span><span class=\"tok-space mirrorsharp-signature-part--selected\"> </span><span class=\"tok-parameter mirrorsharp-signature-part--selected\">value</span><span class=\"tok-punctuation \">,</span><span class=\"tok-space \"> </span><span class=\"tok-keyword \">int</span><span class=\"tok-space \"> </span><span class=\"tok-parameter \">startIndex</span><span class=\"tok-punctuation \">)</span></li><li class=\"mirrorsharp-signature\"><span class=\"tok-keyword \">int</span><span class=\"tok-space \"> </span><span class=\"tok-keyword \">string</span><span class=\"tok-punctuation \">.</span><span class=\"tok-method \">IndexOf</span><span class=\"tok-punctuation \">(</span><span class=\"tok-keyword mirrorsharp-signature-part--selected\">string</span><span class=\"tok-space mirrorsharp-signature-part--selected\"> </span><span class=\"tok-parameter mirrorsharp-signature-part--selected\">value</span><span class=\"tok-punctuation \">,</span><span class=\"tok-space \"> </span><span class=\"tok-namespace \">System</span><span class=\"tok-punctuation \">.</span><span class=\"tok-enum \">StringComparison</span><span class=\"tok-space \"> </span><span class=\"tok-parameter \">comparisonType</span><span class=\"tok-punctuation \">)</span></li><li class=\"mirrorsharp-signature\"><span class=\"tok-keyword \">int</span><span class=\"tok-space \"> </span><span class=\"tok-keyword \">string</span><span class=\"tok-punctuation \">.</span><span class=\"tok-method \">IndexOf</span><span class=\"tok-punctuation \">(</span><span class=\"tok-keyword mirrorsharp-signature-part--selected\">char</span><span class=\"tok-space mirrorsharp-signature-part--selected\"> </span><span class=\"tok-parameter mirrorsharp-signature-part--selected\">value</span><span class=\"tok-punctuation \">,</span><span class=\"tok-space \"> </span><span class=\"tok-keyword \">int</span><span class=\"tok-space \"> </span><span class=\"tok-parameter \">startIndex</span><span class=\"tok-punctuation \">,</span><span class=\"tok-space \"> </span><span class=\"tok-keyword \">int</span><span class=\"tok-space \"> </span><span class=\"tok-parameter \">count</span><span class=\"tok-punctuation \">)</span></li><li class=\"mirrorsharp-signature\"><span class=\"tok-keyword \">int</span><span class=\"tok-space \"> </span><span class=\"tok-keyword \">string</span><span class=\"tok-punctuation \">.</span><span class=\"tok-method \">IndexOf</span><span class=\"tok-punctuation \">(</span><span class=\"tok-keyword mirrorsharp-signature-part--selected\">string</span><span class=\"tok-space mirrorsharp-signature-part--selected\"> </span><span class=\"tok-parameter mirrorsharp-signature-part--selected\">value</span><span class=\"tok-punctuation \">,</span><span class=\"tok-space \"> </span><span class=\"tok-keyword \">int</span><span class=\"tok-space \"> </span><span class=\"tok-parameter \">startIndex</span><span class=\"tok-punctuation \">,</span><span class=\"tok-space \"> </span><span class=\"tok-keyword \">int</span><span class=\"tok-space \"> </span><span class=\"tok-parameter \">count</span><span class=\"tok-punctuation \">)</span></li><li class=\"mirrorsharp-signature\"><span class=\"tok-keyword \">int</span><span class=\"tok-space \"> </span><span class=\"tok-keyword \">string</span><span class=\"tok-punctuation \">.</span><span class=\"tok-method \">IndexOf</span><span class=\"tok-punctuation \">(</span><span class=\"tok-keyword mirrorsharp-signature-part--selected\">string</span><span class=\"tok-space mirrorsharp-signature-part--selected\"> </span><span class=\"tok-parameter mirrorsharp-signature-part--selected\">value</span><span class=\"tok-punctuation \">,</span><span class=\"tok-space \"> </span><span class=\"tok-keyword \">int</span><span class=\"tok-space \"> </span><span class=\"tok-parameter \">startIndex</span><span class=\"tok-punctuation \">,</span><span class=\"tok-space \"> </span><span class=\"tok-namespace \">System</span><span class=\"tok-punctuation \">.</span><span class=\"tok-enum \">StringComparison</span><span class=\"tok-space \"> </span><span class=\"tok-parameter \">comparisonType</span><span class=\"tok-punctuation \">)</span></li><li class=\"mirrorsharp-signature\"><span class=\"tok-keyword \">int</span><span class=\"tok-space \"> </span><span class=\"tok-keyword \">string</span><span class=\"tok-punctuation \">.</span><span class=\"tok-method \">IndexOf</span><span class=\"tok-punctuation \">(</span><span class=\"tok-keyword mirrorsharp-signature-part--selected\">string</span><span class=\"tok-space mirrorsharp-signature-part--selected\"> </span><span class=\"tok-parameter mirrorsharp-signature-part--selected\">value</span><span class=\"tok-punctuation \">,</span><span class=\"tok-space \"> </span><span class=\"tok-keyword \">int</span><span class=\"tok-space \"> </span><span class=\"tok-parameter \">startIndex</span><span class=\"tok-punctuation \">,</span><span class=\"tok-space \"> </span><span class=\"tok-keyword \">int</span><span class=\"tok-space \"> </span><span class=\"tok-parameter \">count</span><span class=\"tok-punctuation \">,</span><span class=\"tok-space \"> </span><span class=\"tok-namespace \">System</span><span class=\"tok-punctuation \">.</span><span class=\"tok-enum \">StringComparison</span><span class=\"tok-space \"> </span><span class=\"tok-parameter \">comparisonType</span><span class=\"tok-punctuation \">)</span></li>\"`;\n"
  },
  {
    "path": "WebAssets/src/codemirror/server/autocompletion.stories.ts",
    "content": "import { storyWithDarkTheme } from '../../testing/storybook/story-with-dark-theme';\r\nimport { testDriverStory } from '../../testing/storybook/test-driver-story';\r\nimport { TestDriver } from '../../testing/test-driver-storybook';\r\n\r\n// eslint-disable-next-line import/no-default-export\r\nexport default {\r\n    title: 'Autocompletion',\r\n    component: {}\r\n};\r\n\r\nconst completionListStory = (kinds: ReadonlyArray<string>) => testDriverStory(async () => {\r\n    const driver = await TestDriver.new({ textWithCursor: '|' });\r\n\r\n    driver.receive.completions(kinds.map(k => ({\r\n        displayText: k,\r\n        kinds: [k]\r\n    })));\r\n    await driver.completeBackgroundWork();\r\n\r\n    return driver;\r\n});\r\n\r\nexport const Completions1 = completionListStory(['class', 'constant', 'delegate', 'enum', 'enummember', 'event', 'extensionmethod']);\r\nexport const Completions2 = completionListStory(['field', 'interface', 'keyword', 'local', 'method', 'module', 'namespace']);\r\nexport const Completions3 = completionListStory(['parameter', 'property', 'structure', 'typeparameter', 'union']);\r\n\r\nexport const Completions1Dark = storyWithDarkTheme(Completions1);\r\n\r\nexport const Info = testDriverStory(async () => {\r\n    const driver = await TestDriver.new({ text: '' });\r\n\r\n    driver.receive.completions([{ displayText: 'CompareTo', kinds: ['method'] }]);\r\n\r\n    await driver.ensureCompletionIsReadyForInteraction();\r\n\r\n    driver.receive.completionInfo(0, [\r\n        { text: 'int', kind: 'keyword' },\r\n        { text: ' ', kind: 'space' },\r\n        { text: 'int', kind: 'keyword' },\r\n        { text: '.', kind: 'punctuation' },\r\n        { text: 'CompareTo', kind: 'method' },\r\n        { text: '(', kind: 'punctuation' },\r\n        { text: 'int', kind: 'keyword' },\r\n        { text: ' ', kind: 'space' },\r\n        { text: 'value', kind: 'parameter' },\r\n        { text: ')', kind: 'punctuation' },\r\n        { text: ' ', kind: 'space' },\r\n        { text: '(', kind: 'punctuation' },\r\n        { text: '+', kind: 'punctuation' },\r\n        { text: ' 1', kind: 'text' },\r\n        { text: ' overload', kind: 'text' },\r\n        { text: ')', kind: 'punctuation' },\r\n        { text: '\\r\\n', kind: 'linebreak' },\r\n        { text: 'Compares this instance to a specified 32-bit signed integer and returns an indication of their relative values.', kind: 'text' }\r\n    ]);\r\n    await driver.completeBackgroundWork();\r\n\r\n    return driver;\r\n});\r\nexport const InfoDark = storyWithDarkTheme(Info);"
  },
  {
    "path": "WebAssets/src/codemirror/server/autocompletion.tests.ts",
    "content": "import { completionStatus, currentCompletions, acceptCompletion, moveCompletionSelection, closeCompletion } from '@codemirror/autocomplete';\r\nimport { TestDriver } from '../../testing/test-driver-jest';\r\n\r\nconst typeCharacterUsingDOM = (driver: TestDriver, character: string) => {\r\n    driver.domEvents.keydown(character);\r\n    const characterText = document.createTextNode(character);\r\n    const { contentDOM } = driver.getCodeMirrorView();\r\n    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n    contentDOM.querySelector<HTMLElement>('.cm-line')!.appendChild(characterText);\r\n};\r\n\r\ntest('completions message shows completion list', async () => {\r\n    const driver = await TestDriver.new({ text: '' });\r\n\r\n    driver.receive.completions([{ displayText: 'Test', kinds: ['class'] }]);\r\n    await driver.completeBackgroundWork();\r\n\r\n    const state = driver.getCodeMirrorView().state;\r\n    expect(completionStatus(state)).toBe('active');\r\n    expect(currentCompletions(state)).toMatchObject([{\r\n        label: 'Test',\r\n        type: 'class'\r\n    }]);\r\n});\r\n\r\ntest('closing completion sends expected message', async () => {\r\n    const driver = await TestDriver.new({ text: '' });\r\n\r\n    driver.receive.completions([{ displayText: 'Test', kinds: ['class'] }]);\r\n    await driver.completeBackgroundWork();\r\n\r\n    closeCompletion(driver.getCodeMirrorView());\r\n\r\n    expect(driver.socket.sent.slice(-1)[0]).toBe('SX');\r\n});\r\n\r\ntest('completion does not show stale list from previous message after close', async () => {\r\n    const driver = await TestDriver.new({ text: '' });\r\n\r\n    driver.receive.completions([{ displayText: 'Test', kinds: ['class'] }]);\r\n    await driver.completeBackgroundWork();\r\n\r\n    closeCompletion(driver.getCodeMirrorView());\r\n\r\n    typeCharacterUsingDOM(driver, '.');\r\n    await driver.completeBackgroundWork();\r\n\r\n    const state = driver.getCodeMirrorView().state;\r\n    expect(completionStatus(state)).toBeNull();\r\n});\r\n\r\ntest('completion sends cancel message when fully filtered out', async () => {\r\n    const driver = await TestDriver.new({ text: '' });\r\n\r\n    driver.receive.completions([{ displayText: 'Test', kinds: ['class'] }]);\r\n    await driver.completeBackgroundWork();\r\n\r\n    typeCharacterUsingDOM(driver, 'X');\r\n    await driver.completeBackgroundWork();\r\n\r\n    const state = driver.getCodeMirrorView().state;\r\n    expect(completionStatus(state)).toBeNull();\r\n    expect(driver.socket.sent.slice(-1)[0]).toBe('SX');\r\n});\r\n\r\ntest('applying completion sends expected message', async () => {\r\n    const driver = await TestDriver.new({ text: '' });\r\n\r\n    driver.receive.completions([{ displayText: 'Test', kinds: ['method'] }]);\r\n    await driver.ensureCompletionIsReadyForInteraction();\r\n    acceptCompletion(driver.getCodeMirrorView());\r\n    await driver.completeBackgroundWork();\r\n\r\n    expect(driver.socket.sent.slice(-1)[0]).toBe('S0');\r\n});\r\n\r\ntest('Ctrl+Space requests completion list', async () => {\r\n    const driver = await TestDriver.new({ text: '' });\r\n\r\n    driver.domEvents.keydown(' ', { ctrlKey: true });\r\n    await driver.completeBackgroundWork();\r\n\r\n    expect(driver.socket.sent.slice(-1)[0]).toBe('SF');\r\n});\r\n\r\ntest('completion change is applied correctly', async () => {\r\n    const driver = await TestDriver.new({ textWithCursor: 'x.|' });\r\n\r\n    driver.receive.changes('completion', [{ start: 2, length: 0, text: 'ToString();' }]);\r\n    await driver.completeBackgroundWork();\r\n\r\n    const updated = driver.mirrorsharp.getText();\r\n    expect(updated).toBe('x.ToString();');\r\n});\r\n\r\ntest.each([\r\n    ['x.|', 'x.|', 'a', 'x.a|'],\r\n    ['x.|', 'x.|', 'ab', 'x.ab|'],\r\n    ['x.|', '|x.', 'a', '|x.a'],\r\n    ['x.|', 'x.y|', 'a', 'x.ay|']\r\n])('completion change adjust selection (initial: %p, while waiting: %p, change: %p, expected: %p)', async (\r\n    initialText,\r\n    textWhileWaiting,\r\n    completionText,\r\n    expectedText\r\n) => {\r\n    const driver = await TestDriver.new({ textWithCursor: initialText });\r\n    const initialCursorOffset = driver.mirrorsharp.getCursorOffset();\r\n    driver.setTextWithCursor(textWhileWaiting);\r\n\r\n    driver.receive.changes('completion', [{\r\n        start: initialCursorOffset,\r\n        length: 0,\r\n        text: completionText\r\n    }]);\r\n    await driver.completeBackgroundWork();\r\n\r\n    expect(driver.getTextWithCursor()).toBe(expectedText);\r\n});\r\n\r\ntest('completion list is filtered based on initial text', async () => {\r\n    const driver = await TestDriver.new({ textWithCursor: 'b|' });\r\n\r\n    driver.receive.completions([\r\n        { displayText: 'ab', kinds: [] },\r\n        { displayText: 'bb', kinds: [] },\r\n        { displayText: 'BC', kinds: [] }\r\n    ]);\r\n    await driver.completeBackgroundWork();\r\n\r\n    const state = driver.getCodeMirrorView().state;\r\n    expect(currentCompletions(state).map(c => c.label)).toEqual(['bb', 'BC']);\r\n});\r\n\r\ntest('completion list is filtered based on new typed text', async () => {\r\n    const driver = await TestDriver.new({ textWithCursor: 'a|' });\r\n\r\n    driver.receive.completions([\r\n        { displayText: 'aaa', kinds: [] },\r\n        { displayText: 'aba', kinds: [] },\r\n        { displayText: 'ABB', kinds: [] }\r\n    ]);\r\n    await driver.completeBackgroundWork();\r\n    driver.text.type('b');\r\n    await driver.completeBackgroundWork();\r\n\r\n    const state = driver.getCodeMirrorView().state;\r\n    expect(currentCompletions(state).map(c => c.label)).toEqual(['aba', 'ABB']);\r\n});\r\n\r\ntest('completion is applied on Tab', async () => {\r\n    const driver = await TestDriver.new({ text: '' });\r\n\r\n    driver.receive.completions([{ displayText: 'ToString', kinds: ['method'] }]);\r\n    await driver.ensureCompletionIsReadyForInteraction();\r\n\r\n    driver.domEvents.keydown('Tab');\r\n    await driver.completeBackgroundWork();\r\n\r\n    const text = driver.mirrorsharp.getText();\r\n    expect(text).toBe(''); // completion response not received, so text not changed yet\r\n    expect(driver.socket.sent.slice(-1)[0]).toBe('S0');\r\n});\r\n\r\ntest('completion is applied on (', async () => {\r\n    const driver = await TestDriver.new({ text: '' });\r\n\r\n    driver.receive.completions([{ displayText: 'ToString', kinds: ['method'] }], {\r\n        commitChars: '(;'\r\n    });\r\n    await driver.ensureCompletionIsReadyForInteraction();\r\n\r\n    typeCharacterUsingDOM(driver, '(');\r\n    await driver.completeBackgroundWork();\r\n\r\n    driver.receive.changes('completion', [{ start: 0, length: 0, text: 'ToString' }]);\r\n    await driver.completeBackgroundWork();\r\n\r\n    const updated = driver.mirrorsharp.getText();\r\n    expect(driver.socket.sent).toContain('S0');\r\n    expect(updated).toBe('ToString(');\r\n});\r\n\r\ntest('completion requests info when open', async () => {\r\n    const driver = await TestDriver.new({ text: '' });\r\n\r\n    driver.receive.completions([{ displayText: 'ToString', kinds: ['method'] }]);\r\n    await driver.ensureCompletionIsReadyForInteraction();\r\n\r\n    expect(driver.socket.sent).toContain('SI0');\r\n});\r\n\r\ntest('completion requests info when selected', async () => {\r\n    const driver = await TestDriver.new({ text: '' });\r\n\r\n    driver.receive.completions([\r\n        { displayText: 'Method0', kinds: ['method'] },\r\n        { displayText: 'Method1', kinds: ['method'] }\r\n    ]);\r\n    await driver.ensureCompletionIsReadyForInteraction();\r\n\r\n    moveCompletionSelection(true, 'option')(driver.getCodeMirrorView());\r\n    await driver.completeBackgroundWork();\r\n\r\n    expect(driver.socket.sent[driver.socket.sent.length - 1]).toBe('SI1');\r\n});\r\n\r\ntest('completion does not request same info twice', async () => {\r\n    const driver = await TestDriver.new({ text: '' });\r\n\r\n    driver.receive.completions([\r\n        { displayText: 'Method0', kinds: ['method'] },\r\n        { displayText: 'Method1', kinds: ['method'] }\r\n    ]);\r\n    await driver.ensureCompletionIsReadyForInteraction();\r\n\r\n    // -> 0\r\n    moveCompletionSelection(true, 'option')(driver.getCodeMirrorView());\r\n    await driver.completeBackgroundWork();\r\n    // 0 -> 1\r\n    moveCompletionSelection(true, 'option')(driver.getCodeMirrorView());\r\n    await driver.completeBackgroundWork();\r\n    // 1 -> 0\r\n    moveCompletionSelection(false, 'option')(driver.getCodeMirrorView());\r\n    await driver.completeBackgroundWork();\r\n\r\n    expect(driver.socket.sent).toEqual([\r\n        'SI0',\r\n        'SI1'\r\n    ]);\r\n});\r\n\r\ntest('completion applies requested info', async () => {\r\n    const driver = await TestDriver.new({ text: '' });\r\n\r\n    driver.receive.completions([{ displayText: 'ToString', kinds: ['method'] }]);\r\n    await driver.ensureCompletionIsReadyForInteraction();\r\n\r\n    driver.receive.completionInfo(0, [\r\n        { text: 'ToString', kind: 'method' },\r\n        { text: '\\r\\n', kind: 'linebreak' },\r\n        { text: 'Converts the value of this instance to its equivalent string representation.', kind: 'text' }\r\n    ]);\r\n    await driver.completeBackgroundWork();\r\n\r\n    const tooltip = driver.getCodeMirrorView().dom.querySelector('.cm-completionInfo');\r\n    expect(tooltip).not.toBeNull();\r\n    expect(tooltip?.innerHTML).toMatchSnapshot();\r\n});"
  },
  {
    "path": "WebAssets/src/codemirror/server/autocompletion.ts",
    "content": "import { startCompletion, acceptCompletion, closeCompletion, completionStatus, autocompletion, CompletionSource, Completion } from '@codemirror/autocomplete';\r\nimport { Prec } from '@codemirror/state';\r\nimport { ViewPlugin, EditorView, keymap } from '@codemirror/view';\r\nimport { renderParts } from '../../helpers/render-parts';\r\nimport type { Connection } from '../../protocol/connection';\r\nimport type { CompletionInfoMessage, CompletionsMessage } from '../../protocol/messages';\r\nimport { applyChangesFromServer } from '../helpers/apply-changes-from-server';\r\n\r\nexport const autocompletionFromServer = <O, U>(connection: Connection<O, U>) => {\r\n    // Since completions are scoped per connection (server will have one active completion list per connection),\r\n    // it's OK to have state per plugin rather than per view\r\n    let currentCompletionsMessage = null as CompletionsMessage | null;\r\n    const resolveInfoList = new Array<((info: Node) => void) | undefined>();\r\n\r\n    const applyCompletion = (index: number) => {\r\n        // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n        connection.sendCompletionState(index);\r\n    };\r\n\r\n    const requestCompletionInfo = (index: number, ref: { info?: Promise<Node> }) => {\r\n        if (!ref.info) {\r\n            ref.info = new Promise(resolve => { resolveInfoList[index] = resolve; });\r\n            // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n            connection.sendCompletionState('info', index);\r\n        }\r\n        return ref.info;\r\n    };\r\n\r\n    const receiveCompletionInfo = (view: EditorView, message: CompletionInfoMessage) => {\r\n        const resolve = resolveInfoList[message.index];\r\n        if (!resolve)\r\n            return;\r\n        resolve(renderParts(message.parts, { splitLinesToSections: true }));\r\n    };\r\n\r\n    const getAndFilterCompletions = (context => {\r\n        const all = currentCompletionsMessage\r\n            ?.completions\r\n            .map((data, index) => ({ data, index })) ?? [];\r\n        const prefix = context.matchBefore(/[\\w\\d]+/);\r\n\r\n        let filtered = all;\r\n        if (prefix) {\r\n            const prefixTextLowerCase = prefix.text.toLowerCase();\r\n            filtered = all.filter(\r\n                ({ data }) => (data.filterText ?? data.displayText).toLowerCase().startsWith(prefixTextLowerCase)\r\n            );\r\n        }\r\n\r\n        const completions = filtered.map(({ data, index }) => {\r\n            const infoRef = {};\r\n            return ({\r\n                label: data.displayText,\r\n                type: data.kinds[0],\r\n                apply: () => applyCompletion(index),\r\n                info: () => requestCompletionInfo(index, infoRef)\r\n            } as Completion);\r\n        });\r\n\r\n        return {\r\n            from: prefix?.from ?? context.pos,\r\n            options: completions\r\n        };\r\n    }) satisfies CompletionSource;\r\n\r\n    const receiveCompletionMessagesFromServer = ViewPlugin.define(view => {\r\n        const removeListeners = connection.addEventListeners({\r\n            message: message => {\r\n                if (message.type === 'completions') {\r\n                    currentCompletionsMessage = message;\r\n                    startCompletion(view);\r\n                    return;\r\n                }\r\n\r\n                if (message.type === 'changes' && message.reason === 'completion') {\r\n                    applyChangesFromServer(view, message.changes);\r\n                    closeCompletion(view);\r\n                    currentCompletionsMessage = null;\r\n                }\r\n\r\n                if (message.type === 'completionInfo')\r\n                    receiveCompletionInfo(view, message);\r\n            }\r\n        });\r\n\r\n        return {\r\n            destroy: removeListeners\r\n        };\r\n    });\r\n\r\n    const sendCancelCompletionToServer = ViewPlugin.define(() => ({\r\n        update: u => {\r\n            const previousStatus = completionStatus(u.startState);\r\n            if (previousStatus === null)\r\n                return;\r\n\r\n            const currentStatus = completionStatus(u.state);\r\n            if (currentStatus !== null)\r\n                return;\r\n\r\n            // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n            connection.sendCompletionState('cancel');\r\n            currentCompletionsMessage = null;\r\n        }\r\n    }));\r\n\r\n    const acceptCompletionOnCommitChar = EditorView.domEventHandlers({\r\n        keydown({ key }, view) {\r\n            if (key.length > 1) // control keys\r\n                return;\r\n\r\n            if (!currentCompletionsMessage?.commitChars.includes(key))\r\n                return;\r\n\r\n            acceptCompletion(view);\r\n        }\r\n    });\r\n\r\n    const forceCompletionOnCtrlSpace = Prec.highest(keymap.of([{ key: 'Ctrl-Space', run: () => {\r\n        // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n        connection.sendCompletionState('force');\r\n        return true;\r\n    } }]));\r\n\r\n    const acceptCompletionOnTab = keymap.of([{ key: 'Tab', run: view => {\r\n        if (completionStatus(view.state) !== 'active')\r\n            return false;\r\n\r\n        acceptCompletion(view);\r\n        return true;\r\n    } }]);\r\n\r\n    return [\r\n        // overrides default autocompletion binding\r\n        forceCompletionOnCtrlSpace,\r\n        autocompletion({\r\n            activateOnTyping: false,\r\n            override: [getAndFilterCompletions]\r\n        }),\r\n        //closeCompletionsWhenFullyFilteredOut,\r\n        receiveCompletionMessagesFromServer,\r\n        sendCancelCompletionToServer,\r\n        acceptCompletionOnCommitChar,\r\n        acceptCompletionOnTab\r\n    ];\r\n};"
  },
  {
    "path": "WebAssets/src/codemirror/server/connection-state.ts",
    "content": "import { ViewPlugin } from '@codemirror/view';\r\nimport { defineEffectField } from '../../helpers/define-effect-field';\r\nimport type { Connection } from '../../protocol/connection';\r\n\r\nconst [isConnected, dispatchIsConnectedChanged] = defineEffectField(false);\r\n\r\nexport const connectionState = <O, TExtensionData>(\r\n    connection: Connection<O, TExtensionData>\r\n) => {\r\n    return [isConnected, ViewPlugin.define(view => {\r\n        const removeListeners = connection.addEventListeners({\r\n            open: () => dispatchIsConnectedChanged(view, true),\r\n            close: () => dispatchIsConnectedChanged(view, false)\r\n        });\r\n\r\n        return { destroy: () => removeListeners() };\r\n    })];\r\n};"
  },
  {
    "path": "WebAssets/src/codemirror/server/diagnostics.stories.ts",
    "content": "import { userEvent as user } from '@storybook/testing-library';\r\nimport { lineSeparator } from '../../protocol/line-separator';\r\nimport { storyWithDarkTheme } from '../../testing/storybook/story-with-dark-theme';\r\nimport { testDriverStory } from '../../testing/storybook/test-driver-story';\r\nimport { TestDriver } from '../../testing/test-driver-storybook';\r\n\r\n// eslint-disable-next-line import/no-default-export\r\nexport default {\r\n    title: 'Diagnostics',\r\n    component: {}\r\n};\r\n\r\nexport const All = testDriverStory(async () => {\r\n    const driver = await TestDriver.new({\r\n        text: ['info', 'warning', 'error', 'hidden', 'unnecessary'].join(lineSeparator)\r\n    });\r\n\r\n    driver.receive.slowUpdate([\r\n        { id: 'I1', message: 'info', severity: 'info', tags: [], span: { start: 0, length: 4 } },\r\n        { id: 'W1', message: 'warning', severity: 'warning', tags: [], span: { start: 6, length: 7 } },\r\n        { id: 'E1', message: 'error', severity: 'error', tags: [], span: { start: 15, length: 5 } },\r\n        { id: 'H1', message: 'hidden', severity: 'hidden', tags: [], span: { start: 22, length: 6 } },\r\n        { id: 'U1', message: 'unnecessary', severity: 'info', tags: ['unnecessary'], span: { start: 30, length: 11 } }\r\n    ]);\r\n    await driver.completeBackgroundWork();\r\n\r\n    return driver;\r\n});\r\nexport const AllDark = storyWithDarkTheme(All);\r\n\r\nexport const GutterTooltip = testDriverStory(async () => {\r\n    const driver = await TestDriver.new({ text: 'class X : EventArgs {}' });\r\n    driver.receive.slowUpdate([\r\n        {\r\n            id: 'CS0246',\r\n            message: \"The type or namespace name 'EventArgs' could not be found (are you missing a using directive or an assembly reference?)\",\r\n            severity: 'error',\r\n            tags: [],\r\n            span: { start: 10, length: 9 },\r\n            actions: [\r\n                { id: 0, title: 'using System;' },\r\n                { id: 1, title: \"Generate class 'EventArgs'\" },\r\n                { id: 2, title: 'System.EventArgs' }\r\n            ]\r\n        },\r\n        {\r\n            id: 'IDE0040',\r\n            message: 'Accessibility modifiers required',\r\n            severity: 'hidden',\r\n            tags: [],\r\n            span: { start: 6, length: 1 },\r\n            actions: [{ id: 3, title: 'Add accessibility modifiers' }]\r\n        }\r\n    ]);\r\n    await driver.completeBackgroundWork();\r\n\r\n    return driver;\r\n});\r\nGutterTooltip.play = async ({ canvasElement, loaded: { driver } }) => {\r\n    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n    const gutterMarker = canvasElement.querySelector('.cm-gutter-lint .cm-lint-marker')!;\r\n\r\n    user.hover(gutterMarker);\r\n    await driver.advanceTimeToHoverAndCompleteWork();\r\n\r\n    driver.disableAllFurtherInteractionEvents();\r\n};\r\nexport const GutterTooltipDark = storyWithDarkTheme(GutterTooltip);"
  },
  {
    "path": "WebAssets/src/codemirror/server/diagnostics.tests.ts",
    "content": "import { Diagnostic, setDiagnostics } from '@codemirror/lint';\r\nimport { TestDriver } from '../../testing/test-driver-jest';\r\n\r\nconst expectSetDiagnostics = (driver: TestDriver, diagnostics: ReadonlyArray<Partial<Diagnostic>>) => {\r\n    expect(driver.codeMirrorTransactions).toHaveLength(1);\r\n    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n    const [effect] = driver.codeMirrorTransactions[0]!.effects;\r\n    expect([effect]).toMatchObject(\r\n        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n        setDiagnostics(driver.getCodeMirrorView().state, diagnostics as ReadonlyArray<Diagnostic>).effects!\r\n    );\r\n};\r\n\r\ntest('diagnostics are positioned correctly after newlines', async () => {\r\n    const driver = await TestDriver.new({ text: 'a\\r\\nb' });\r\n\r\n    driver.codeMirrorTransactions = [];\r\n    driver.receive.slowUpdate([{\r\n        span: { start: 3, length: 1 }\r\n    }]);\r\n\r\n    await driver.completeBackgroundWork();\r\n\r\n    expectSetDiagnostics(driver, [{\r\n        from: 2,\r\n        to: 3\r\n    }]);\r\n});\r\n\r\ntest('diagnostics at the end of document are applied', async () => {\r\n    const driver = await TestDriver.new({ text: 'test' });\r\n\r\n    driver.codeMirrorTransactions = [];\r\n    driver.receive.slowUpdate([{\r\n        span: { start: 3, length: 1 }\r\n    }]);\r\n\r\n    await driver.completeBackgroundWork();\r\n\r\n    expectSetDiagnostics(driver, [{\r\n        from: 3,\r\n        to: 4\r\n    }]);\r\n});\r\n\r\n// Happens if slow update is received after a text change\r\n// invalidated some diagnostic locations\r\ntest('diagnostics outside document boundaries are not applied', async () => {\r\n    const driver = await TestDriver.new({ text: 'test' });\r\n\r\n    driver.codeMirrorTransactions = [];\r\n    driver.receive.slowUpdate([{\r\n        span: { start: 5, length: 1 }\r\n    }]);\r\n\r\n    await driver.completeBackgroundWork();\r\n\r\n    expectSetDiagnostics(driver, []);\r\n});"
  },
  {
    "path": "WebAssets/src/codemirror/server/diagnostics.ts",
    "content": "import { Action, Diagnostic, setDiagnostics, lintGutter } from '@codemirror/lint';\r\nimport { ViewPlugin } from '@codemirror/view';\r\nimport type { Connection } from '../../protocol/connection';\r\nimport type { DiagnosticActionData, DiagnosticData, DiagnosticSeverity } from '../../protocol/messages';\r\nimport { applyChangesFromServer } from '../helpers/apply-changes-from-server';\r\nimport { convertFromServerPosition, getEnd } from '../helpers/convert-position';\r\n\r\nconst receiveSlowUpdateFromServer = <TExtensionData>(\r\n    connection: Connection<unknown, TExtensionData>\r\n) => ViewPlugin.define(view => {\r\n    const mapSeverity = (severity: DiagnosticSeverity, tags: ReadonlyArray<string>) => {\r\n        if (severity === 'error' || severity === 'warning')\r\n            return severity;\r\n\r\n        if (tags.includes('unnecessary'))\r\n            return 'unnecessary' as Diagnostic['severity'];\r\n\r\n        return 'info';\r\n    };\r\n\r\n    const mapAction = ({ id, title }: DiagnosticActionData): Action => ({\r\n        name: title,\r\n        apply: () => {\r\n            // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n            connection.sendApplyDiagnosticAction(id);\r\n        }\r\n    });\r\n\r\n    const mapDiagnostic = ({ span: { start, length }, message, severity, actions, tags }: DiagnosticData): Diagnostic => ({\r\n        from: convertFromServerPosition(view.state.doc, start),\r\n        to: convertFromServerPosition(view.state.doc, getEnd(start, length)),\r\n        message,\r\n        severity: mapSeverity(severity, tags),\r\n        actions: actions?.map(mapAction)\r\n    });\r\n\r\n    const removeConnectionListeners = connection.addEventListeners({\r\n        message(message) {\r\n            if (message.type !== 'slowUpdate')\r\n                return;\r\n\r\n            const diagnostics = message.diagnostics\r\n                .filter(d => d.severity !== 'hidden')\r\n                .map(mapDiagnostic)\r\n                // If slow update is received after a text change\r\n                // some diagnostics might be outside document boundaries\r\n                .filter(d => d.to <= view.state.doc.length);\r\n            diagnostics.sort((a, b) => {\r\n                if (a.from > b.from) return  1;\r\n                if (b.from > a.from) return -1;\r\n                return 0;\r\n            });\r\n            view.dispatch(setDiagnostics(view.state, diagnostics));\r\n        }\r\n    });\r\n\r\n    return {\r\n        destroy: () => removeConnectionListeners()\r\n    };\r\n});\r\n\r\nconst receiveFixChangesFromServer = <TExtensionData>(\r\n    connection: Connection<unknown, TExtensionData>\r\n) => ViewPlugin.define(view => {\r\n    const removeListeners = connection.addEventListeners({\r\n        message(message) {\r\n            if (message.type !== 'changes' || message.reason !== 'fix')\r\n                return;\r\n\r\n            applyChangesFromServer(view, message.changes);\r\n        }\r\n    });\r\n\r\n    return {\r\n        destroy: () => removeListeners()\r\n    };\r\n});\r\n\r\nexport const diagnosticsFromServer = <TExtensionData>(\r\n    connection: Connection<unknown, TExtensionData>\r\n) => [\r\n    receiveSlowUpdateFromServer(connection),\r\n    receiveFixChangesFromServer(connection),\r\n    lintGutter()\r\n];"
  },
  {
    "path": "WebAssets/src/codemirror/server/infotips.stories.ts",
    "content": "import { userEvent as user, within } from '@storybook/testing-library';\r\nimport { storyWithDarkTheme } from '../../testing/storybook/story-with-dark-theme';\r\nimport { testDriverStory } from '../../testing/storybook/test-driver-story';\r\nimport { TestDriver } from '../../testing/test-driver-storybook';\r\nimport { INFOTIP_TASK_RUN } from './infotips.test.data';\r\n\r\n// eslint-disable-next-line import/no-default-export\r\nexport default {\r\n    title: 'QuickInfo',\r\n    component: {}\r\n};\r\n\r\nexport const Simple = testDriverStory(() => TestDriver.new({ text: 'Task M() => Task.Run(() => {});' }));\r\nSimple.play = async ({ canvasElement, loaded: { driver } }) => {\r\n    const canvas = within(canvasElement);\r\n\r\n    const code = await canvas.findByText('Run', { exact: false });\r\n    const cmView = driver.getCodeMirrorView();\r\n    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n    const coords = cmView.coordsAtPos(INFOTIP_TASK_RUN.span.start)!;\r\n    user.hover(code, {\r\n        clientX: Math.ceil(coords.left),\r\n        clientY: Math.ceil(coords.top)\r\n    });\r\n\r\n    await driver.advanceTimeToHoverAndCompleteWork();\r\n    driver.receive.infotip(INFOTIP_TASK_RUN);\r\n\r\n    await driver.completeBackgroundWork();\r\n    driver.disableAllFurtherInteractionEvents();\r\n};\r\n\r\nexport const Dark = storyWithDarkTheme(Simple);"
  },
  {
    "path": "WebAssets/src/codemirror/server/infotips.test.data.ts",
    "content": "export const INFOTIP_EVENTHANDLER = {\r\n    kinds: ['delegate', 'public'],\r\n    sections: [\r\n        {\r\n            kind: 'description',\r\n            parts: [\r\n                { text: 'delegate', kind: 'keyword' },\r\n                { text: ' ', kind: 'space' },\r\n                { text: 'void', kind: 'keyword' },\r\n                { text: ' ', kind: 'space' },\r\n                { text: 'System', kind: 'namespace' },\r\n                { text: '.', kind: 'punctuation' },\r\n                { text: 'EventHandler', kind: 'delegate' },\r\n                { text: '(', kind: 'punctuation' },\r\n                { text: 'object', kind: 'keyword' },\r\n                { text: ' ', kind: 'space' },\r\n                { text: 'sender', kind: 'parameter' },\r\n                { text: ',', kind: 'punctuation' },\r\n                { text: ' ', kind: 'space' },\r\n                { text: 'System', kind: 'namespace' },\r\n                { text: '.', kind: 'punctuation' },\r\n                { text: 'EventArgs', kind: 'class' },\r\n                { text: ' ', kind: 'space' },\r\n                { text: 'e', kind: 'parameter' },\r\n                { text: ')', kind: 'punctuation' }\r\n            ]\r\n        },\r\n        {\r\n            kind: 'documentationcomments',\r\n            parts: [\r\n                { text: 'Represents the method that will handle an event that has no event data.', kind: 'text' }\r\n            ]\r\n        }\r\n    ],\r\n    span: { start: 0, length: 0 }\r\n};\r\n\r\nexport const INFOTIP_TASK_RUN = {\r\n    kinds: [\r\n        'method',\r\n        'public'\r\n    ],\r\n    sections: [\r\n        {\r\n            kind: 'description',\r\n            parts: [\r\n                {\r\n                    text: '(',\r\n                    kind: 'punctuation'\r\n                },\r\n                {\r\n                    text: 'awaitable',\r\n                    kind: 'text'\r\n                },\r\n                {\r\n                    text: ')',\r\n                    kind: 'punctuation'\r\n                },\r\n                {\r\n                    text: ' ',\r\n                    kind: 'space'\r\n                },\r\n                {\r\n                    text: 'Task',\r\n                    kind: 'class'\r\n                },\r\n                {\r\n                    text: ' ',\r\n                    kind: 'space'\r\n                },\r\n                {\r\n                    text: 'Task',\r\n                    kind: 'class'\r\n                },\r\n                {\r\n                    text: '.',\r\n                    kind: 'punctuation'\r\n                },\r\n                {\r\n                    text: 'Run',\r\n                    kind: 'method'\r\n                },\r\n                {\r\n                    text: '(',\r\n                    kind: 'punctuation'\r\n                },\r\n                {\r\n                    text: 'System',\r\n                    kind: 'namespace'\r\n                },\r\n                {\r\n                    text: '.',\r\n                    kind: 'punctuation'\r\n                },\r\n                {\r\n                    text: 'Action',\r\n                    kind: 'delegate'\r\n                },\r\n                {\r\n                    text: ' ',\r\n                    kind: 'space'\r\n                },\r\n                {\r\n                    text: 'action',\r\n                    kind: 'parameter'\r\n                },\r\n                {\r\n                    text: ')',\r\n                    kind: 'punctuation'\r\n                },\r\n                {\r\n                    text: ' ',\r\n                    kind: 'space'\r\n                },\r\n                {\r\n                    text: '(',\r\n                    kind: 'punctuation'\r\n                },\r\n                {\r\n                    text: '+',\r\n                    kind: 'punctuation'\r\n                },\r\n                {\r\n                    text: ' ',\r\n                    kind: 'space'\r\n                },\r\n                {\r\n                    text: '7',\r\n                    kind: 'text'\r\n                },\r\n                {\r\n                    text: ' ',\r\n                    kind: 'space'\r\n                },\r\n                {\r\n                    text: 'overloads',\r\n                    kind: 'text'\r\n                },\r\n                {\r\n                    text: ')',\r\n                    kind: 'punctuation'\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            kind: 'documentationcomments',\r\n            parts: [\r\n                {\r\n                    text: 'Queues the specified work to run on the thread pool and returns a',\r\n                    kind: 'text'\r\n                },\r\n                {\r\n                    text: ' ',\r\n                    kind: 'space'\r\n                },\r\n                {\r\n                    text: 'Task',\r\n                    kind: 'class'\r\n                },\r\n                {\r\n                    text: ' ',\r\n                    kind: 'space'\r\n                },\r\n                {\r\n                    text: 'object that represents that work.',\r\n                    kind: 'text'\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            kind: 'usage',\r\n            parts: [\r\n                {\r\n                    text: '\\r\\n',\r\n                    kind: 'linebreak'\r\n                },\r\n                {\r\n                    text: 'Usage:',\r\n                    kind: 'text'\r\n                },\r\n                {\r\n                    text: '\\r\\n',\r\n                    kind: 'linebreak'\r\n                },\r\n                {\r\n                    text: '  ',\r\n                    kind: 'text'\r\n                },\r\n                {\r\n                    text: 'await',\r\n                    kind: 'keyword'\r\n                },\r\n                {\r\n                    text: ' ',\r\n                    kind: 'space'\r\n                },\r\n                {\r\n                    text: 'Run',\r\n                    kind: 'method'\r\n                },\r\n                {\r\n                    text: '(',\r\n                    kind: 'punctuation'\r\n                },\r\n                {\r\n                    text: '...',\r\n                    kind: 'punctuation'\r\n                },\r\n                {\r\n                    text: ')',\r\n                    kind: 'punctuation'\r\n                },\r\n                {\r\n                    text: ';',\r\n                    kind: 'punctuation'\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            kind: 'exception',\r\n            parts: [\r\n                {\r\n                    text: '\\r\\n',\r\n                    kind: 'linebreak'\r\n                },\r\n                {\r\n                    text: 'Exceptions:',\r\n                    kind: 'text'\r\n                },\r\n                {\r\n                    text: '\\r\\n',\r\n                    kind: 'linebreak'\r\n                },\r\n                {\r\n                    text: '  ',\r\n                    kind: 'space'\r\n                },\r\n                {\r\n                    text: 'System',\r\n                    kind: 'namespace'\r\n                },\r\n                {\r\n                    text: '.',\r\n                    kind: 'punctuation'\r\n                },\r\n                {\r\n                    text: 'ArgumentNullException',\r\n                    kind: 'class'\r\n                }\r\n            ]\r\n        }\r\n    ],\r\n    span: {\r\n        start: 17,\r\n        length: 1\r\n    }\r\n};"
  },
  {
    "path": "WebAssets/src/codemirror/server/infotips.tests.ts",
    "content": "import { TestDriver, timers } from '../../testing/test-driver-jest';\r\nimport { INFOTIP_EVENTHANDLER } from './infotips.test.data';\r\n\r\nconst mockHoverDependencies = (driver: TestDriver) => {\r\n    const cmView = driver.getCodeMirrorView();\r\n    cmView.posAtCoords = () => 0;\r\n    cmView.coordsAtPos = () => ({ left: 0, right: 0, top: 0, bottom: 0 });\r\n};\r\n\r\nconst waitForHover = async (driver: TestDriver) => {\r\n    timers.advanceTimersByTime(1000); // actual is 750, but just in case\r\n    await driver.completeBackgroundWork();\r\n};\r\n\r\ntest('hover requests infotip', async () => {\r\n    const driver = await TestDriver.new({ text: 'test' });\r\n    mockHoverDependencies(driver);\r\n\r\n    driver.domEvents.mousemove(\r\n        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n        driver.getCodeMirrorView().contentDOM.firstChild!\r\n    );\r\n    await waitForHover(driver);\r\n\r\n    expect(driver.socket.sent).toContain('I0');\r\n});\r\n\r\ntest('hover applies received infotip', async () => {\r\n    const driver = await TestDriver.new({ text: 'test' });\r\n    mockHoverDependencies(driver);\r\n\r\n    driver.domEvents.mousemove(\r\n        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n        driver.getCodeMirrorView().contentDOM.firstChild!\r\n    );\r\n    await waitForHover(driver);\r\n    driver.receive.infotip(INFOTIP_EVENTHANDLER);\r\n    await driver.completeBackgroundWork();\r\n\r\n    const tooltip = driver.getCodeMirrorView().dom.querySelector('.cm-tooltip');\r\n    expect(tooltip).toBeTruthy();\r\n    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n    expect(tooltip!.innerHTML).toMatchSnapshot();\r\n});"
  },
  {
    "path": "WebAssets/src/codemirror/server/infotips.ts",
    "content": "import { EditorView, ViewPlugin, hoverTooltip, Tooltip } from '@codemirror/view';\r\nimport { defineEffectField } from '../../helpers/define-effect-field';\r\nimport { renderPartsTo } from '../../helpers/render-parts';\r\nimport type { Connection } from '../../protocol/connection';\r\nimport type { InfotipMessage } from '../../protocol/messages';\r\nimport { convertFromServerPosition, convertToServerPosition, getEnd } from '../helpers/convert-position';\r\n\r\nconst [lastInfotipRequest, dispatchLastInfotipRequestChanged] = defineEffectField<{\r\n    pos: number;\r\n    promise: Promise<Tooltip>;\r\n    resolve: ((tooltip: Tooltip) => void)\r\n} | null>(null);\r\n\r\nconst kindsToClassNames = (kinds: ReadonlyArray<string>) => {\r\n    return kinds.map(kind => 'mirrorsharp-infotip-icon-' + kind);\r\n};\r\n\r\nconst renderInfotip = ({ sections, kinds }: InfotipMessage) => {\r\n    const wrapper = document.createElement('div');\r\n    wrapper.classList.add('mirrorsharp-infotip');\r\n    sections.forEach((section, index) => {\r\n        const element = document.createElement('div');\r\n        element.className = 'mirrorsharp-parts-section';\r\n        if (index === 0) {\r\n            const icon = document.createElement('span');\r\n            icon.classList.add('mirrorsharp-infotip-icon', ...kindsToClassNames(kinds));\r\n            element.appendChild(icon);\r\n        }\r\n\r\n        renderPartsTo(element, section.parts);\r\n        wrapper.appendChild(element);\r\n    });\r\n    return wrapper;\r\n};\r\n\r\nexport const infotipsFromServer = <O, U>(connection: Connection<O, U>) => {\r\n    const requestInfotip = (view: EditorView, pos: number) => {\r\n        const lastRequest = view.state.field(lastInfotipRequest);\r\n        if (lastRequest?.pos === pos)\r\n            return lastRequest.promise;\r\n\r\n        let resolve: (tooltip: Tooltip) => void;\r\n        const promise = new Promise<Tooltip>(r => resolve = r);\r\n        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n        dispatchLastInfotipRequestChanged(view, { pos, promise, resolve: resolve! });\r\n        // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n        connection.sendRequestInfoTip(convertToServerPosition(view.state.doc, pos));\r\n        return promise;\r\n    };\r\n\r\n    const receiveInfotipFromServer = ViewPlugin.define(view => {\r\n        const removeListeners = connection.addEventListeners({\r\n            message: message => {\r\n                if (message.type !== 'infotip')\r\n                    return;\r\n\r\n                const request = view.state.field(lastInfotipRequest);\r\n                if (!request || !message.sections)\r\n                    return;\r\n\r\n                const { span } = message;\r\n                const start = convertFromServerPosition(view.state.doc, span.start);\r\n                const end = convertFromServerPosition(view.state.doc, getEnd(span.start, span.length));\r\n                if (request.pos < start || request.pos > end)\r\n                    return;\r\n\r\n                request.resolve({\r\n                    pos: request.pos,\r\n                    end,\r\n                    create: () => ({ dom: renderInfotip(message) })\r\n                });\r\n            }\r\n        });\r\n\r\n        return {\r\n            destroy: removeListeners\r\n        };\r\n    });\r\n\r\n    return [\r\n        lastInfotipRequest,\r\n        hoverTooltip(requestInfotip),\r\n        receiveInfotipFromServer\r\n    ];\r\n};"
  },
  {
    "path": "WebAssets/src/codemirror/server/send-changes.tests.ts",
    "content": "import { indentLess, indentMore, selectAll } from '@codemirror/commands';\r\nimport { TestDriver } from '../../testing/test-driver-jest';\r\n\r\ntest('change at cursor is sent as typed text', async () => {\r\n    const driver = await TestDriver.new({ textWithCursor: 'a|bc' });\r\n\r\n    driver.text.type('x');\r\n    await driver.completeBackgroundWork();\r\n\r\n    const lastSent = driver.socket.sent.filter(c => !c.startsWith('U')).slice(-1)[0];\r\n    expect(lastSent).toBe('Cx');\r\n});\r\n\r\ntest('enter at cursor is sent as typed newline', async () => {\r\n    const driver = await TestDriver.new({ textWithCursor: 'a|bc' });\r\n\r\n    driver.domEvents.keydown('Enter');\r\n    await driver.completeBackgroundWork();\r\n\r\n    const lastSent = driver.socket.sent.filter(c => !c.startsWith('U')).slice(-1)[0];\r\n    expect(lastSent).toBe('R1:0:3::\\r\\n');\r\n});\r\n\r\ntest('change not at cursor is sent as replaced text', async () => {\r\n    const driver = await TestDriver.new({ textWithCursor: 'a|bc' });\r\n\r\n    driver.dispatchCodeMirrorTransaction({\r\n        changes: { from: 2, insert: 'x' }\r\n    });\r\n    await driver.completeBackgroundWork();\r\n\r\n    const lastSent = driver.socket.sent.filter(c => !c.startsWith('U')).slice(-1)[0];\r\n    expect(lastSent).toBe('R2:0:1::x');\r\n});\r\n\r\n// two changed are handled in a special way in code\r\ntest('two changes are sent as individual replaced text', async () => {\r\n    const driver = await TestDriver.new({ textWithCursor: 'a|bc' });\r\n\r\n    driver.dispatchCodeMirrorTransaction({\r\n        changes: [{ from: 1, insert: 'x' }, { from: 2, insert: 'y' }]\r\n    });\r\n    await driver.completeBackgroundWork();\r\n\r\n    const lastSent = driver.socket.sent.filter(c => !c.startsWith('U'));\r\n    expect(lastSent).toEqual([\r\n        'R1:0:1::x',\r\n        'R3:0:1::y'\r\n    ]);\r\n});\r\n\r\ntest('three changes are sent as individual replaced text', async () => {\r\n    const driver = await TestDriver.new({ textWithCursor: 'a|bc' });\r\n\r\n    driver.dispatchCodeMirrorTransaction({\r\n        changes: [{ from: 1, insert: 'x' }, { from: 2, insert: 'y' }, { from: 3, insert: 'z' }]\r\n    });\r\n    await driver.completeBackgroundWork();\r\n\r\n    const lastSent = driver.socket.sent.filter(c => !c.startsWith('U'));\r\n    expect(lastSent).toEqual([\r\n        'R1:0:1::x',\r\n        'R3:0:1::y',\r\n        'R5:0:1::z'\r\n    ]);\r\n});\r\n\r\ntest('indentMore command sends expected changes', async () => {\r\n    const driver = await TestDriver.new({ text: 'abc\\r\\ncde\\r\\ndef' });\r\n    selectAll(driver.getCodeMirrorView());\r\n    driver.socket.sent = [];\r\n\r\n    indentMore(driver.getCodeMirrorView());\r\n    await driver.completeBackgroundWork();\r\n\r\n    const lastSent = driver.socket.sent.filter(c => !c.startsWith('U'));\r\n    expect(lastSent).toEqual([\r\n        'R0:0:4::    ',\r\n        'R9:0:4::    ',\r\n        'R18:0:4::    '\r\n    ]);\r\n});\r\n\r\ntest('indentLess command sends expected changes', async () => {\r\n    const driver = await TestDriver.new({ text: '    abc\\r\\n    cde\\r\\n    def' });\r\n    selectAll(driver.getCodeMirrorView());\r\n    driver.socket.sent = [];\r\n\r\n    indentLess(driver.getCodeMirrorView());\r\n    await driver.completeBackgroundWork();\r\n\r\n    const lastSent = driver.socket.sent.filter(c => !c.startsWith('U'));\r\n    expect(lastSent).toEqual([\r\n        'R0:4:0::',\r\n        'R4:5:0::',\r\n        'R9:4:0::'\r\n    ]);\r\n});\r\n\r\ntest('cursor move is sent', async () => {\r\n    const driver = await TestDriver.new({ textWithCursor: 'a|bc' });\r\n\r\n    driver.dispatchCodeMirrorTransaction({ selection: { anchor: 2 } });\r\n    await driver.completeBackgroundWork();\r\n\r\n    expect(driver.socket.sent.filter(c => c !== 'U')).toEqual(['M2']);\r\n});\r\n\r\ntest('cursor move is sent with the correct coordinates if done after newline', async () => {\r\n    const driver = await TestDriver.new({ text: 'a\\r\\nb' });\r\n\r\n    driver.dispatchCodeMirrorTransaction({ selection: { anchor: 3 } });\r\n    await driver.completeBackgroundWork();\r\n\r\n    expect(driver.socket.sent.filter(c => c !== 'U')).toEqual(['M4']);\r\n});\r\n\r\ntest('cursor move is sent with the correct coordinates if done after several newlines', async () => {\r\n    const driver = await TestDriver.new({ text: 'a\\r\\nb\\r\\nc\\r\\nd' });\r\n\r\n    driver.dispatchCodeMirrorTransaction({ selection: { anchor: 6 } });\r\n    await driver.completeBackgroundWork();\r\n\r\n    expect(driver.socket.sent.filter(c => c !== 'U')).toEqual(['M9']);\r\n});\r\n\r\ntest('cursor move is not sent if changed by typing', async () => {\r\n    const driver = await TestDriver.new({ textWithCursor: 'a|' });\r\n\r\n    driver.text.type('x');\r\n    await driver.completeBackgroundWork();\r\n\r\n    expect(driver.socket.sent.filter(s => s !== 'U')).toEqual(['Cx']);\r\n});\r\n\r\n/*test('undo sends all changes as a single replace', async () => {\r\n    const driver = await TestDriver.new({ textWithCursor: '{d:f2}{d:f2}|' });\r\n    const cm = driver.getCodeMirror();\r\n\r\n    driver.keys.backspace('{d:f2}'.length);\r\n    cm.execCommand('undo');\r\n    await driver.completeBackgroundWork();\r\n\r\n    const lastSent = driver.socket.sent.filter(c => !c.startsWith('U')).slice(-1)[0];\r\n    expect(lastSent).toBe('R6:0:12::{d:f2}');\r\n});*/\r\n\r\n// test('tab is replaced with 4 spaces', async () => {\r\n//     const driver = await TestDriver.new({ textWithCursor: '|' });\r\n\r\n//     driver.keys.press('tab');\r\n//     await driver.completeBackgroundWork();\r\n\r\n//     expect(driver.mirrorsharp.getText()).toBe('    ');\r\n// });"
  },
  {
    "path": "WebAssets/src/codemirror/server/send-changes.ts",
    "content": "import type { Text, ChangeSet, EditorState } from '@codemirror/state';\r\nimport { ViewPlugin, PluginValue } from '@codemirror/view';\r\nimport { lineSeparator } from '../../protocol/line-separator';\r\nimport type { ServerPosition } from '../../protocol/messages';\r\nimport type { Session } from '../../protocol/session';\r\nimport { convertToServerPosition, getLength } from '../helpers/convert-position';\r\nimport { getString, getText } from '../helpers/get-text';\r\n\r\nconst sendReplace = (session: Session, doc: Text, from: number, to: number, newText: string | Text, cursorIndexAfter: ServerPosition) => {\r\n    const start = convertToServerPosition(doc, from);\r\n    const newTextString = typeof newText === 'string'\r\n        ? newText\r\n        : getString(newText);\r\n\r\n    // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n    session.sendPartialText({\r\n        start,\r\n        length: getLength(start, convertToServerPosition(doc, to)),\r\n        newText: newTextString,\r\n        cursorIndexAfter\r\n    });\r\n};\r\n\r\nconst sendChanges = (session: Session, startState: EditorState, changes: ChangeSet, prevCursorOffset: number, cursorIndexAfter: ServerPosition) => {\r\n    let changeCount = 0;\r\n    let single: {\r\n        from: number,\r\n        to: number,\r\n        text: Text\r\n    } | undefined | null;\r\n    let startOffset = 0;\r\n    let lastDoc = startState.doc;\r\n    changes.iterChanges((from, to, _f, _t, inserted) => {\r\n        changeCount += 1;\r\n        if (changeCount === 1) {\r\n            single = { from, to, text: inserted };\r\n            return;\r\n        }\r\n\r\n        if (single) {\r\n            // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n            sendReplace(session, lastDoc, single.from, single.to, single.text, cursorIndexAfter);\r\n            lastDoc = lastDoc.replace(from, to, inserted);\r\n            startOffset += single.text.length - (single.to - single.from);\r\n            single = null;\r\n        }\r\n\r\n        sendReplace(session, lastDoc, startOffset + from, startOffset + to, inserted, cursorIndexAfter);\r\n        startOffset += inserted.length - (to - from);\r\n        lastDoc = lastDoc.replace(from, to, inserted);\r\n    });\r\n\r\n    if (single) {\r\n        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n        const { from, to, text } = single;\r\n        if (from === prevCursorOffset && to === from && text.length === 1) {\r\n            const char = text.line(1).text.charAt(0);\r\n            if (char === '' && text.lines === 2 && text.line(1).length === 0) {\r\n                // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n                sendReplace(session, startState.doc, from, to, lineSeparator, cursorIndexAfter);\r\n                return;\r\n            }\r\n\r\n            // eslint-disable-next-line @typescript-eslint/no-floating-promises, @typescript-eslint/no-non-null-assertion\r\n            session.sendTypeChar(char);\r\n            return;\r\n        }\r\n\r\n        sendReplace(session, startState.doc, from, to, text, cursorIndexAfter);\r\n    }\r\n};\r\n\r\nexport const sendChangesToServer = (session: Session) => ViewPlugin.define(view => {\r\n    session.setFullText({\r\n        getText: () => getText(view),\r\n        getCursorIndex: () => convertToServerPosition(view.state.doc, view.state.selection.main.from)\r\n    });\r\n\r\n    return {\r\n        update({ docChanged, selectionSet, changes, state, startState }) {\r\n            const prevCursorOffset = startState.selection.main.from;\r\n            const cursorIndex = convertToServerPosition(state.doc, state.selection.main.from);\r\n\r\n            if (docChanged) {\r\n                sendChanges(session, startState, changes, prevCursorOffset, cursorIndex);\r\n                return; // this will send selection move so we don't have to repeat\r\n            }\r\n\r\n            if (selectionSet) {\r\n                // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n                session.sendMoveCursor(cursorIndex);\r\n            }\r\n        }\r\n    } as PluginValue;\r\n});"
  },
  {
    "path": "WebAssets/src/codemirror/server/signature-help.stories.ts",
    "content": "import { storyWithDarkTheme } from '../../testing/storybook/story-with-dark-theme';\r\nimport { testDriverStory } from '../../testing/storybook/test-driver-story';\r\nimport { TestDriver } from '../../testing/test-driver-storybook';\r\nimport { SIGNATURES_INDEX_OF, SIGNATURES_SUBSTRING_NONE_SELECTED, SIGNATURES_SUBSTRING_SECOND_PARAMETER } from './signature-help.test.data';\r\n\r\n// eslint-disable-next-line import/no-default-export\r\nexport default {\r\n    title: 'Signature Help',\r\n    component: {}\r\n};\r\n\r\nexport const Simple = testDriverStory(async () => {\r\n    const driver = await TestDriver.new({ textWithCursor: '\"x\".IndexOf(|' });\r\n\r\n    driver.receive.signatures(SIGNATURES_INDEX_OF, {\r\n        start: 0, length: 12\r\n    });\r\n    await driver.completeBackgroundWork();\r\n\r\n    return driver;\r\n});\r\n\r\nexport const SecondSelected = testDriverStory(async () => {\r\n    const driver = await TestDriver.new({ textWithCursor: '\"x\".Substring(1, 2|' });\r\n\r\n    driver.receive.signatures(SIGNATURES_SUBSTRING_SECOND_PARAMETER, {\r\n        start: 0, length: 14\r\n    });\r\n    await driver.completeBackgroundWork();\r\n\r\n    return driver;\r\n});\r\n\r\nexport const NoneSelected = testDriverStory(async () => {\r\n    const driver = await TestDriver.new({ textWithCursor: '\"x\".Substring(1, 2, |' });\r\n    driver.receive.signatures(SIGNATURES_SUBSTRING_NONE_SELECTED, {\r\n        start: 0, length: 16\r\n    });\r\n    await driver.completeBackgroundWork();\r\n\r\n    return driver;\r\n});\r\n\r\nexport const Dark = storyWithDarkTheme(Simple);"
  },
  {
    "path": "WebAssets/src/codemirror/server/signature-help.test.data.ts",
    "content": "import type { SignatureData } from '../../protocol/messages';\r\n\r\nexport const SIGNATURES_INDEX_OF: ReadonlyArray<SignatureData> = [\r\n    {\r\n        selected: true,\r\n        parts: [\r\n            {\r\n                text: 'int',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'string',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: '.',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'IndexOf',\r\n                kind: 'method'\r\n            },\r\n            {\r\n                text: '(',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'char',\r\n                kind: 'keyword',\r\n                selected: true\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space',\r\n                selected: true\r\n            },\r\n            {\r\n                text: 'value',\r\n                kind: 'parameter',\r\n                selected: true\r\n            },\r\n            {\r\n                text: ')',\r\n                kind: 'punctuation'\r\n            }\r\n        ],\r\n        info: {\r\n            parts: [\r\n                {\r\n                    text: 'Reports the zero-based index of the first occurrence of the specified Unicode character in this string.',\r\n                    kind: 'text'\r\n                }\r\n            ],\r\n            parameter: {\r\n                name: 'value',\r\n                parts: [\r\n                    {\r\n                        text: 'A Unicode character to seek.',\r\n                        kind: 'text'\r\n                    }\r\n                ]\r\n            }\r\n        }\r\n    },\r\n    {\r\n        parts: [\r\n            {\r\n                text: 'int',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'string',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: '.',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'IndexOf',\r\n                kind: 'method'\r\n            },\r\n            {\r\n                text: '(',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'string',\r\n                kind: 'keyword',\r\n                selected: true\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space',\r\n                selected: true\r\n            },\r\n            {\r\n                text: 'value',\r\n                kind: 'parameter',\r\n                selected: true\r\n            },\r\n            {\r\n                text: ')',\r\n                kind: 'punctuation'\r\n            }\r\n        ]\r\n    },\r\n    {\r\n        parts: [\r\n            {\r\n                text: 'int',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'string',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: '.',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'IndexOf',\r\n                kind: 'method'\r\n            },\r\n            {\r\n                text: '(',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'char',\r\n                kind: 'keyword',\r\n                selected: true\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space',\r\n                selected: true\r\n            },\r\n            {\r\n                text: 'value',\r\n                kind: 'parameter',\r\n                selected: true\r\n            },\r\n            {\r\n                text: ',',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'int',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'startIndex',\r\n                kind: 'parameter'\r\n            },\r\n            {\r\n                text: ')',\r\n                kind: 'punctuation'\r\n            }\r\n        ]\r\n    },\r\n    {\r\n        parts: [\r\n            {\r\n                text: 'int',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'string',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: '.',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'IndexOf',\r\n                kind: 'method'\r\n            },\r\n            {\r\n                text: '(',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'char',\r\n                kind: 'keyword',\r\n                selected: true\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space',\r\n                selected: true\r\n            },\r\n            {\r\n                text: 'value',\r\n                kind: 'parameter',\r\n                selected: true\r\n            },\r\n            {\r\n                text: ',',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'System',\r\n                kind: 'namespace'\r\n            },\r\n            {\r\n                text: '.',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'StringComparison',\r\n                kind: 'enum'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'comparisonType',\r\n                kind: 'parameter'\r\n            },\r\n            {\r\n                text: ')',\r\n                kind: 'punctuation'\r\n            }\r\n        ]\r\n    },\r\n    {\r\n        parts: [\r\n            {\r\n                text: 'int',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'string',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: '.',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'IndexOf',\r\n                kind: 'method'\r\n            },\r\n            {\r\n                text: '(',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'string',\r\n                kind: 'keyword',\r\n                selected: true\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space',\r\n                selected: true\r\n            },\r\n            {\r\n                text: 'value',\r\n                kind: 'parameter',\r\n                selected: true\r\n            },\r\n            {\r\n                text: ',',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'int',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'startIndex',\r\n                kind: 'parameter'\r\n            },\r\n            {\r\n                text: ')',\r\n                kind: 'punctuation'\r\n            }\r\n        ]\r\n    },\r\n    {\r\n        parts: [\r\n            {\r\n                text: 'int',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'string',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: '.',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'IndexOf',\r\n                kind: 'method'\r\n            },\r\n            {\r\n                text: '(',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'string',\r\n                kind: 'keyword',\r\n                selected: true\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space',\r\n                selected: true\r\n            },\r\n            {\r\n                text: 'value',\r\n                kind: 'parameter',\r\n                selected: true\r\n            },\r\n            {\r\n                text: ',',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'System',\r\n                kind: 'namespace'\r\n            },\r\n            {\r\n                text: '.',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'StringComparison',\r\n                kind: 'enum'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'comparisonType',\r\n                kind: 'parameter'\r\n            },\r\n            {\r\n                text: ')',\r\n                kind: 'punctuation'\r\n            }\r\n        ]\r\n    },\r\n    {\r\n        parts: [\r\n            {\r\n                text: 'int',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'string',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: '.',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'IndexOf',\r\n                kind: 'method'\r\n            },\r\n            {\r\n                text: '(',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'char',\r\n                kind: 'keyword',\r\n                selected: true\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space',\r\n                selected: true\r\n            },\r\n            {\r\n                text: 'value',\r\n                kind: 'parameter',\r\n                selected: true\r\n            },\r\n            {\r\n                text: ',',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'int',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'startIndex',\r\n                kind: 'parameter'\r\n            },\r\n            {\r\n                text: ',',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'int',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'count',\r\n                kind: 'parameter'\r\n            },\r\n            {\r\n                text: ')',\r\n                kind: 'punctuation'\r\n            }\r\n        ]\r\n    },\r\n    {\r\n        parts: [\r\n            {\r\n                text: 'int',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'string',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: '.',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'IndexOf',\r\n                kind: 'method'\r\n            },\r\n            {\r\n                text: '(',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'string',\r\n                kind: 'keyword',\r\n                selected: true\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space',\r\n                selected: true\r\n            },\r\n            {\r\n                text: 'value',\r\n                kind: 'parameter',\r\n                selected: true\r\n            },\r\n            {\r\n                text: ',',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'int',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'startIndex',\r\n                kind: 'parameter'\r\n            },\r\n            {\r\n                text: ',',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'int',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'count',\r\n                kind: 'parameter'\r\n            },\r\n            {\r\n                text: ')',\r\n                kind: 'punctuation'\r\n            }\r\n        ]\r\n    },\r\n    {\r\n        parts: [\r\n            {\r\n                text: 'int',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'string',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: '.',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'IndexOf',\r\n                kind: 'method'\r\n            },\r\n            {\r\n                text: '(',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'string',\r\n                kind: 'keyword',\r\n                selected: true\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space',\r\n                selected: true\r\n            },\r\n            {\r\n                text: 'value',\r\n                kind: 'parameter',\r\n                selected: true\r\n            },\r\n            {\r\n                text: ',',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'int',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'startIndex',\r\n                kind: 'parameter'\r\n            },\r\n            {\r\n                text: ',',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'System',\r\n                kind: 'namespace'\r\n            },\r\n            {\r\n                text: '.',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'StringComparison',\r\n                kind: 'enum'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'comparisonType',\r\n                kind: 'parameter'\r\n            },\r\n            {\r\n                text: ')',\r\n                kind: 'punctuation'\r\n            }\r\n        ]\r\n    },\r\n    {\r\n        parts: [\r\n            {\r\n                text: 'int',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'string',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: '.',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'IndexOf',\r\n                kind: 'method'\r\n            },\r\n            {\r\n                text: '(',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'string',\r\n                kind: 'keyword',\r\n                selected: true\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space',\r\n                selected: true\r\n            },\r\n            {\r\n                text: 'value',\r\n                kind: 'parameter',\r\n                selected: true\r\n            },\r\n            {\r\n                text: ',',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'int',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'startIndex',\r\n                kind: 'parameter'\r\n            },\r\n            {\r\n                text: ',',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'int',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'count',\r\n                kind: 'parameter'\r\n            },\r\n            {\r\n                text: ',',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'System',\r\n                kind: 'namespace'\r\n            },\r\n            {\r\n                text: '.',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'StringComparison',\r\n                kind: 'enum'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'comparisonType',\r\n                kind: 'parameter'\r\n            },\r\n            {\r\n                text: ')',\r\n                kind: 'punctuation'\r\n            }\r\n        ]\r\n    }\r\n];\r\n\r\nexport const SIGNATURES_SUBSTRING_SECOND_PARAMETER: ReadonlyArray<SignatureData> = [\r\n    {\r\n        parts: [\r\n            {\r\n                text: 'string',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'string',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: '.',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'Substring',\r\n                kind: 'method'\r\n            },\r\n            {\r\n                text: '(',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'int',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'startIndex',\r\n                kind: 'parameter'\r\n            },\r\n            {\r\n                text: ')',\r\n                kind: 'punctuation'\r\n            }\r\n        ]\r\n    },\r\n    {\r\n        selected: true,\r\n        parts: [\r\n            {\r\n                text: 'string',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'string',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: '.',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'Substring',\r\n                kind: 'method'\r\n            },\r\n            {\r\n                text: '(',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'int',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'startIndex',\r\n                kind: 'parameter'\r\n            },\r\n            {\r\n                text: ',',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'int',\r\n                kind: 'keyword',\r\n                selected: true\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space',\r\n                selected: true\r\n            },\r\n            {\r\n                text: 'length',\r\n                kind: 'parameter',\r\n                selected: true\r\n            },\r\n            {\r\n                text: ')',\r\n                kind: 'punctuation'\r\n            }\r\n        ],\r\n        info: {\r\n            parts: [\r\n                {\r\n                    text: 'Retrieves a substring from this instance. The substring starts at a specified character position and has a specified length.',\r\n                    kind: 'text'\r\n                }\r\n            ],\r\n            parameter: {\r\n                name: 'length',\r\n                parts: [\r\n                    {\r\n                        text: 'The number of characters in the substring.',\r\n                        kind: 'text'\r\n                    }\r\n                ]\r\n            }\r\n        }\r\n    }\r\n];\r\n\r\nexport const SIGNATURES_SUBSTRING_NONE_SELECTED: ReadonlyArray<SignatureData> = [\r\n    {\r\n        parts: [\r\n            {\r\n                text: 'string',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'string',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: '.',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'Substring',\r\n                kind: 'method'\r\n            },\r\n            {\r\n                text: '(',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'int',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'startIndex',\r\n                kind: 'parameter'\r\n            },\r\n            {\r\n                text: ')',\r\n                kind: 'punctuation'\r\n            }\r\n        ]\r\n    },\r\n    {\r\n        parts: [\r\n            {\r\n                text: 'string',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'string',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: '.',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'Substring',\r\n                kind: 'method'\r\n            },\r\n            {\r\n                text: '(',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: 'int',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'startIndex',\r\n                kind: 'parameter'\r\n            },\r\n            {\r\n                text: ',',\r\n                kind: 'punctuation'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'int',\r\n                kind: 'keyword'\r\n            },\r\n            {\r\n                text: ' ',\r\n                kind: 'space'\r\n            },\r\n            {\r\n                text: 'length',\r\n                kind: 'parameter'\r\n            },\r\n            {\r\n                text: ')',\r\n                kind: 'punctuation'\r\n            }\r\n        ]\r\n    }\r\n];"
  },
  {
    "path": "WebAssets/src/codemirror/server/signature-help.tests.ts",
    "content": "import { getTooltip, showTooltip, Tooltip } from '@codemirror/view';\r\nimport { TestDriver } from '../../testing/test-driver-jest';\r\nimport { SIGNATURES_INDEX_OF } from './signature-help.test.data';\r\n\r\ntest('signature help message shows signature help', async () => {\r\n    const driver = await TestDriver.new({ text: '_' });\r\n\r\n    driver.receive.signatures(SIGNATURES_INDEX_OF, { start: 0, length: 1 });\r\n    await driver.completeBackgroundWork();\r\n\r\n    const view = driver.getCodeMirrorView();\r\n    const tooltips = view.state.facet(showTooltip).filter(t => t) as ReadonlyArray<Tooltip>;\r\n    expect(tooltips.length).toBe(1);\r\n    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n    const tooltipView = getTooltip(view, tooltips[0]!)!;\r\n    expect(tooltipView.dom.innerHTML).toMatchSnapshot();\r\n});\r\n\r\ntest('signature help message with empty signatures hides signature help', async () => {\r\n    const driver = await TestDriver.new({ text: '_' });\r\n\r\n    driver.receive.signatures(SIGNATURES_INDEX_OF, { start: 0, length: 1 });\r\n    await driver.completeBackgroundWork();\r\n    driver.receive.signatures();\r\n\r\n    const view = driver.getCodeMirrorView();\r\n    const tooltips = view.state.facet(showTooltip).filter(t => t) as ReadonlyArray<Tooltip>;\r\n    expect(tooltips).toEqual([]);\r\n});\r\n\r\ntest('Ctrl+Shift+Space requests signature list', async () => {\r\n    const driver = await TestDriver.new({ text: '' });\r\n\r\n    driver.domEvents.keydown(' ', { ctrlKey: true, shiftKey: true });\r\n    await driver.completeBackgroundWork();\r\n\r\n    expect(driver.socket.sent.slice(-1)[0]).toBe('PF');\r\n});"
  },
  {
    "path": "WebAssets/src/codemirror/server/signature-help.ts",
    "content": "import { Prec } from '@codemirror/state';\r\nimport { ViewPlugin, showTooltip, keymap } from '@codemirror/view';\r\nimport { defineEffectField } from '../../helpers/define-effect-field';\r\nimport { renderPartsTo } from '../../helpers/render-parts';\r\nimport type { Connection } from '../../protocol/connection';\r\nimport type { SignatureData, SignatureInfoData, SignatureInfoParameterData, SignaturesEmptyMessage, SignaturesMessage } from '../../protocol/messages';\r\nimport { convertFromServerPosition, getEnd } from '../helpers/convert-position';\r\n\r\nconst [currentMessage, dispatchCurrentMessageChanged] = defineEffectField<SignaturesMessage | SignaturesEmptyMessage | undefined>();\r\n\r\nconst receiveSignatureHelpFromServer = (connection: Connection) => ViewPlugin.define(view => {\r\n    const removeListeners = connection.addEventListeners({\r\n        message: message => {\r\n            if (message.type !== 'signatures')\r\n                return;\r\n\r\n            dispatchCurrentMessageChanged(view, message);\r\n        }\r\n    });\r\n\r\n    return {\r\n        destroy: removeListeners\r\n    };\r\n});\r\n\r\nconst renderInfoTo = (parent: HTMLElement, { parts, parameter }: SignatureInfoData) => {\r\n    if (parts.length > 0) {\r\n        const element = document.createElement('div');\r\n        element.className = 'mirrorsharp-signature-info';\r\n        renderPartsTo(element, parts);\r\n        parent.appendChild(element);\r\n    }\r\n\r\n    if (!parameter)\r\n        return;\r\n\r\n    renderInfoParameterTo(parent, parameter);\r\n};\r\n\r\nconst renderInfoParameterTo = (parent: HTMLElement, parameter: SignatureInfoParameterData) => {\r\n    if (parameter.parts.length === 0)\r\n        return;\r\n\r\n    const element = document.createElement('div');\r\n    element.className = 'mirrorsharp-signature-info-parameter';\r\n\r\n    const nameElement = document.createElement('span');\r\n    nameElement.className = 'mirrorsharp-signature-info-parameter-name';\r\n    nameElement.innerText = parameter.name + ': ';\r\n    element.appendChild(nameElement);\r\n    renderPartsTo(element, parameter.parts);\r\n\r\n    parent.appendChild(element);\r\n};\r\n\r\nconst renderSignatureList = (signatures: ReadonlyArray<SignatureData>) => {\r\n    const list = document.createElement('ol');\r\n    list.className = 'mirrorsharp-signature-list';\r\n\r\n    for (const { parts, selected, info } of signatures) {\r\n        const item = document.createElement('li');\r\n        item.className = 'mirrorsharp-signature' + (selected ? ' mirrorsharp-signature--selected' : '');\r\n\r\n        renderPartsTo(item, parts, {\r\n            getExtraClassNames: part => ((part.selected) ? ['mirrorsharp-signature-part--selected'] : [])\r\n        });\r\n        if (info)\r\n            renderInfoTo(item, info);\r\n        list.appendChild(item);\r\n    }\r\n\r\n    return list;\r\n};\r\n\r\nconst convertSignatureHelpToTooltip = showTooltip.compute([currentMessage, 'doc'], state => {\r\n    const message = state.field(currentMessage);\r\n    if (!message?.signatures)\r\n        return null;\r\n\r\n    const { span } = message;\r\n    return {\r\n        pos: convertFromServerPosition(state.doc, span.start),\r\n        end: convertFromServerPosition(state.doc, getEnd(span.start, span.length)),\r\n        create: () => ({ dom: renderSignatureList(message.signatures) })\r\n    };\r\n});\r\n\r\nconst forceSignatureHelpOnCtrlShiftSpace = (connection: Connection) => Prec.highest(keymap.of([{ key: 'Ctrl-Shift-Space', run: () => {\r\n    // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n    connection.sendSignatureHelpState('force');\r\n    return true;\r\n} }]));\r\n\r\n\r\nexport const signatureHelpFromServer = (connection: Connection) => [\r\n    currentMessage,\r\n    forceSignatureHelpOnCtrlShiftSpace(connection),\r\n    receiveSignatureHelpFromServer(connection),\r\n    convertSignatureHelpToTooltip\r\n];"
  },
  {
    "path": "WebAssets/src/codemirror/tests/hints.tests.ts",
    "content": "// eslint-disable-next-line @typescript-eslint/no-empty-function\r\ntest('_', () => {});\r\n\r\n// import type { CompletionItemData } from '../ts/interfaces/protocol';\r\n// import { TestDriver } from './test-driver';\r\n\r\n// test('opening hints requests info for the first hint', async () => {\r\n//     const driver = await TestDriver.new({ textWithCursor: 'c.|' });\r\n\r\n//     driver.receive.completions([\r\n//         completion()\r\n//     ]);\r\n//     await driver.completeBackgroundWork();\r\n\r\n//     const lastSent = driver.socket.sent.slice(-1)[0];\r\n//     expect(lastSent).toBe('SI0');\r\n// });\r\n\r\n// test('selecting hint requests info for the selected hint', async () => {\r\n//     const driver = await TestDriver.new({ textWithCursor: 'c.|' });\r\n\r\n//     driver.receive.completions([\r\n//         completion(),\r\n//         completion(),\r\n//         completion()\r\n//     ]);\r\n//     await driver.completeBackgroundWork();\r\n//     driver.keys.press('down');\r\n//     driver.keys.press('down');\r\n//     await driver.completeBackgroundWork();\r\n\r\n//     const lastSent = driver.socket.sent.slice(-1)[0];\r\n//     expect(lastSent).toBe('SI2');\r\n// });\r\n\r\n// test('picking hint cancels info request', async () => {\r\n//     const driver = await TestDriver.new({ textWithCursor: 'c.|' });\r\n\r\n//     driver.receive.completions([\r\n//         completion(),\r\n//         completion()\r\n//     ]);\r\n//     await driver.completeBackgroundWork();\r\n//     driver.keys.press('down');\r\n//     driver.keys.press('tab');\r\n//     await driver.completeBackgroundWork();\r\n\r\n//     const lastSent = driver.socket.sent.slice(-1)[0];\r\n//     expect(lastSent).toBe('S1');\r\n// });\r\n\r\n// test('completionDescription message shows info tip', async () => {\r\n//     const driver = await TestDriver.new({ textWithCursor: 'c.|' });\r\n\r\n//     driver.receive.completions([completion()]);\r\n//     await driver.completeBackgroundWork();\r\n//     driver.receive.completionInfo(0, [\r\n//         { kind: 'type',  text: 'int' },\r\n//         { kind: 'space', text: ' ' },\r\n//         { kind: 'local', text: 'x' }\r\n//     ]);\r\n//     await driver.completeBackgroundWork();\r\n\r\n//     const tip = getTooltip();\r\n//     expect(tip.style.display).toBe('block');\r\n//     expect(tip.innerHTML).toBe([\r\n//         '<span class=\"cm-type\">int</span>',\r\n//         '<span class=\"cm-space\"> </span>',\r\n//         '<span class=\"cm-local\">x</span>'\r\n//     ].join(''));\r\n// });\r\n\r\n\r\n// test('completionDescription message updates info tip if already existed', async () => {\r\n//     const driver = await TestDriver.new({ textWithCursor: 'c.|' });\r\n\r\n//     await driver.completeBackgroundWorkAfterEach(\r\n//         () => driver.receive.completions([completion(), completion()]),\r\n//         () => driver.receive.completionInfo(0, [{ kind: 'test', text: 'old' }]),\r\n//         () => driver.keys.press('down'),\r\n//         () => driver.receive.completionInfo(1, [{ kind: 'test', text: 'new' }])\r\n//     );\r\n\r\n//     const tip = getTooltip();\r\n//     expect(tip.style.display).toBe('block');\r\n//     expect(tip.innerHTML).toBe('<span class=\"cm-test\">new</span>');\r\n// });\r\n\r\n// test('picking hint hides info tip', async () => {\r\n//     const driver = await TestDriver.new({ textWithCursor: 'c.|' });\r\n\r\n//     await driver.completeBackgroundWorkAfterEach(\r\n//         () => driver.receive.completions([completion()]),\r\n//         () => driver.receive.completionInfo(0, []),\r\n//         () => driver.keys.press('tab')\r\n//     );\r\n\r\n//     const tip = getTooltip();\r\n//     expect(tip.style.display).toBe('none');\r\n// });\r\n\r\n// test('info tip has expected position and size', async () => {\r\n//     const driver = await TestDriver.new({ textWithCursor: 'c.|' });\r\n//     const mockRect = (e: Element, rect: Partial<DOMRect>) => e.getBoundingClientRect = () => rect as DOMRect;\r\n\r\n//     driver.receive.completions([completion()]);\r\n//     await driver.completeBackgroundWork();\r\n\r\n//     const hints = document.querySelector('.CodeMirror-hints') as HTMLElement;\r\n//     const selected = document.querySelector('.CodeMirror-hints .CodeMirror-hint:first-child')!;\r\n\r\n//     Object.defineProperty(hints, 'offsetTop', { value: 50 });\r\n//     mockRect(hints, { top: 100, right: 150 });\r\n//     mockRect(selected, { top: 300 });\r\n//     mockRect(document.documentElement, { width: 200 });\r\n\r\n//     driver.receive.completionInfo(0, []);\r\n//     await driver.completeBackgroundWork();\r\n\r\n//     const tip = getTooltip();\r\n\r\n//     // 300 (boundingRect top) - 100 (parent boundingRect top) = 200\r\n//     // 200 + 50 (parent offsetTop) = 250\r\n//     expect(tip.style.top).toBe('250px');\r\n\r\n//     expect(tip.style.left).toBe('150px');\r\n//     expect(tip.style.maxWidth).toBe('50px');\r\n// });\r\n\r\n// function completion() {\r\n//     return { kinds: [] } as Partial<CompletionItemData> as CompletionItemData;\r\n// }\r\n\r\n// function getTooltip() {\r\n//     return document.querySelector('.mirrorsharp-hint-info-tooltip') as HTMLDivElement;\r\n// }"
  },
  {
    "path": "WebAssets/src/codemirror/tests/tab.tests.ts",
    "content": "import { selectAll } from '@codemirror/commands';\r\nimport { TestDriver } from '../../testing/test-driver-jest';\r\n\r\ntest('Tab indents selected block', async () => {\r\n    const text = `abc\\r\\ndef`;\r\n    const driver = await TestDriver.new({ text });\r\n\r\n    selectAll(driver.getCodeMirrorView());\r\n    driver.domEvents.keydown('Tab');\r\n\r\n    await driver.completeBackgroundWork();\r\n\r\n    expect(driver.mirrorsharp.getText()).toEqual('    abc\\r\\n    def');\r\n});\r\n\r\ntest('Shift+Tab unindents selected block', async () => {\r\n    const text = `    abc\\r\\n    def`;\r\n    const driver = await TestDriver.new({ text });\r\n\r\n    selectAll(driver.getCodeMirrorView());\r\n    driver.domEvents.keydown('Tab', { shiftKey: true });\r\n\r\n    await driver.completeBackgroundWork();\r\n\r\n    expect(driver.mirrorsharp.getText()).toEqual('abc\\r\\ndef');\r\n});"
  },
  {
    "path": "WebAssets/src/helpers/define-effect-field.ts",
    "content": "import { StateEffect, StateField } from '@codemirror/state';\r\nimport type { EditorView } from '@codemirror/view';\r\n\r\nexport function defineEffectField<T>(...[initialValue]: undefined extends T ? [T] | [] : [T]) {\r\n    const effectType = StateEffect.define<T>();\r\n    const field = StateField.define({\r\n        create: () => initialValue,\r\n\r\n        update(value, { effects }) {\r\n            const effect = effects.find(e => e.is(effectType)) as StateEffect<T>|undefined;\r\n            return effect ? effect.value : value;\r\n        }\r\n    });\r\n\r\n    const dispatchEffect = (view: EditorView, value: T) => view.dispatch(view.state.update({\r\n        effects: [effectType.of(value)]\r\n    }));\r\n\r\n    return [field, dispatchEffect] as const;\r\n}"
  },
  {
    "path": "WebAssets/src/helpers/ensure-defined.ts",
    "content": "export function ensureDefined<T>(value: T|null|undefined, name: string) {\r\n    if (value == null) {\r\n        // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\r\n        throw new Error(`Unexpected ${value} value at ${name}.`);\r\n    }\r\n    return value;\r\n}"
  },
  {
    "path": "WebAssets/src/helpers/render-parts.ts",
    "content": "import type { PartData } from '../protocol/messages';\r\n\r\n/*\r\n    const partKindClassMap = {\r\n        text: 'mirrorsharp-tip-part-text',\r\n        class: 'cm-type',\r\n        struct: 'cm-type'\r\n    };\r\n*/\r\n\r\ntype Options<TPartData> = {\r\n    splitLinesToSections?: boolean;\r\n    getExtraClassNames?: ((part: TPartData) => ReadonlyArray<string>) | undefined;\r\n};\r\n\r\nconst createSection = () => {\r\n    const section = document.createElement('div');\r\n    section.className = 'mirrorsharp-parts-section';\r\n    return section;\r\n};\r\n\r\nconst renderPartTo = <TPartData extends PartData>(\r\n    parent: HTMLElement, part: TPartData,\r\n    { getExtraClassNames }: Pick<Options<TPartData>, 'getExtraClassNames'>\r\n) => {\r\n    const span = document.createElement('span');\r\n    const extraClassNames = getExtraClassNames?.(part);\r\n    span.className = 'tok-' + part.kind + (extraClassNames ? ' ' + extraClassNames.join(' ') : '');\r\n    span.textContent = part.text;\r\n    parent.appendChild(span);\r\n};\r\n\r\nexport const renderPartsTo = <TPartData extends PartData>(\r\n    parent: HTMLElement,\r\n    parts: ReadonlyArray<TPartData>,\r\n    { splitLinesToSections, getExtraClassNames }: Options<TPartData> = {}\r\n) => {\r\n    let section = splitLinesToSections ? createSection() : parent;\r\n    for (const part of parts) {\r\n        if (part.kind === 'linebreak' && splitLinesToSections) {\r\n            parent.appendChild(section);\r\n            section = createSection();\r\n            continue;\r\n        }\r\n        renderPartTo(section, part, { getExtraClassNames });\r\n    }\r\n    if (splitLinesToSections)\r\n        parent.appendChild(section);\r\n};\r\n\r\nexport const renderParts = <TPartData extends PartData>(\r\n    parts: ReadonlyArray<TPartData>,\r\n    options: Options<TPartData> = {}\r\n): HTMLElement => {\r\n    const container = document.createElement('div');\r\n    renderPartsTo(container, parts, options);\r\n    return container;\r\n};"
  },
  {
    "path": "WebAssets/src/main/connection-loss-view.stories.ts",
    "content": "import { storyWithDarkTheme } from '../testing/storybook/story-with-dark-theme';\r\nimport { testDriverStory } from '../testing/storybook/test-driver-story';\r\nimport { TestDriver } from '../testing/test-driver-storybook';\r\n\r\n// eslint-disable-next-line import/no-default-export\r\nexport default {\r\n    title: 'Connection Loss',\r\n    component: {}\r\n};\r\n\r\nexport const ConnectionLost = testDriverStory(async () => {\r\n    const driver = await TestDriver.new({\r\n        text: '// Example code'\r\n    });\r\n    driver.socket.close();\r\n    return driver;\r\n});\r\nexport const ConnectionLostDark = storyWithDarkTheme(ConnectionLost);"
  },
  {
    "path": "WebAssets/src/main/connection-loss-view.ts",
    "content": "import type { Connection } from '../protocol/connection';\r\nimport type { ContainerRoot } from './container-root';\r\n\r\nexport const installConnectionLossView = <O, U>(root: ContainerRoot, connection: Connection<O, U>) => {\r\n    let messageElement: HTMLDivElement | undefined;\r\n    const show = () => {\r\n        if (!messageElement) {\r\n            messageElement = document.createElement('div');\r\n            messageElement.setAttribute('class', 'mirrorsharp-connection-loss-message');\r\n            messageElement.innerText = 'Server connection lost, reconnecting…';\r\n            root.element.appendChild(messageElement);\r\n        }\r\n\r\n        root.element.classList.add('mirrorsharp--connection-lost');\r\n    };\r\n\r\n    const hide = () => {\r\n        root.element.classList.remove('mirrorsharp--connection-lost');\r\n    };\r\n\r\n    const removeConnectionListeners = connection.addEventListeners({\r\n        open: () => hide(),\r\n        close: () => show()\r\n    });\r\n\r\n    return () => {\r\n        removeConnectionListeners();\r\n        messageElement?.remove();\r\n    };\r\n};"
  },
  {
    "path": "WebAssets/src/main/container-root.ts",
    "content": "import type { Theme } from './theme';\r\n\r\nexport class ContainerRoot {\r\n    #element: HTMLDivElement;\r\n\r\n    constructor(container: HTMLElement, codeMirrorDom: HTMLElement, theme: Theme) {\r\n        this.#element = document.createElement('div');\r\n        this.#element.classList.add('mirrorsharp');\r\n        this.setThemeClass(theme);\r\n\r\n        this.#element.appendChild(codeMirrorDom);\r\n\r\n        container.appendChild(this.#element);\r\n    }\r\n\r\n    get element() {\r\n        return this.#element;\r\n    }\r\n\r\n    setThemeClass(theme: Theme) {\r\n        this.#element.classList.remove('mirrorsharp--theme-light', 'mirrorsharp--theme-dark');\r\n        this.#element.classList.add(`mirrorsharp--theme-${theme}`);\r\n    }\r\n\r\n    destroy() {\r\n        this.#element.remove();\r\n    }\r\n}"
  },
  {
    "path": "WebAssets/src/main/instance.ts",
    "content": "import { Extension, StateEffect } from '@codemirror/state';\r\nimport { EditorView } from '@codemirror/view';\r\nimport type { StyleSpec } from 'style-mod';\r\nimport { createExtensions, createState, ExtensionSwitcher } from '../codemirror/create';\r\nimport { getText } from '../codemirror/helpers/get-text';\r\nimport { Connection } from '../protocol/connection';\r\nimport { Language, LANGUAGE_DEFAULT } from '../protocol/languages';\r\nimport type { ServerOptions } from '../protocol/messages';\r\nimport { Session, SessionEventListeners } from '../protocol/session';\r\nimport { installConnectionLossView } from './connection-loss-view';\r\nimport { ContainerRoot } from './container-root';\r\nimport { Theme, THEME_LIGHT } from './theme';\r\n\r\n// this.#keyMap = {\r\n//     // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n//     'Shift-Ctrl-Space': () => { connection.sendSignatureHelpState('force'); },\r\n// };\r\n// this.#cm.addKeyMap(this.#keyMap);\r\n\r\ntype CreateInstanceOptions<TExtensionServerOptions, TSlowUpdateExtensionData> = {\r\n    readonly serviceUrl: string;\r\n\r\n    readonly language: Language | undefined;\r\n    readonly theme: Theme | undefined;\r\n    readonly text: string | undefined;\r\n    readonly cursorOffset?: number | undefined;\r\n\r\n    readonly on: {\r\n        readonly textChange: ((getText: () => string) => void) | undefined;\r\n    } & SessionEventListeners<TSlowUpdateExtensionData>;\r\n\r\n    readonly disconnected: boolean | undefined;\r\n    readonly serverOptions: TExtensionServerOptions | undefined;\r\n\r\n    readonly codeMirror: {\r\n        extensions: ReadonlyArray<Extension> | undefined;\r\n        theme: { [selector: string]: StyleSpec; } | undefined;\r\n    }\r\n};\r\n\r\ntype InstanceContext<O, U> = {\r\n    readonly connection: Connection<O, U>;\r\n    readonly session: Session<O, U>;\r\n\r\n    disconnected: boolean;\r\n    language: Language;\r\n\r\n    readonly codeMirror: {\r\n        readonly view: EditorView;\r\n        extensions: ReadonlyArray<Extension>;\r\n        readonly extensionSwitcher: ExtensionSwitcher;\r\n    };\r\n\r\n    readonly root: ContainerRoot;\r\n};\r\n\r\nclass Instance<TExtensionServerOptions, U> {\r\n    readonly #context: InstanceContext<TExtensionServerOptions, U>;\r\n    #connectCalled = false;\r\n\r\n    constructor(context: InstanceContext<TExtensionServerOptions, U>) {\r\n        this.#context = context;\r\n    }\r\n\r\n    getCodeMirrorView() {\r\n        return this.#context.codeMirror.view;\r\n    }\r\n\r\n    getRootElement() {\r\n        return this.#context.root.element;\r\n    }\r\n\r\n    getText() {\r\n        return getText(this.#context.codeMirror.view);\r\n    }\r\n\r\n    setText(text: string) {\r\n        this.#context.codeMirror.view.dispatch({\r\n            changes: {\r\n                from: 0,\r\n                to: this.#context.codeMirror.view.state.doc.length,\r\n                insert: text\r\n            }\r\n        });\r\n    }\r\n\r\n    getCursorOffset() {\r\n        return this.#context.codeMirror.view.state.selection.main.from;\r\n    }\r\n\r\n    getLanguage() {\r\n        return this.#context.language;\r\n    }\r\n\r\n    setLanguage(value: Language) {\r\n        if (value === this.#context.language)\r\n            return;\r\n\r\n        const { session, codeMirror } = this.#context;\r\n\r\n        session.setOptions(\r\n            ({ language: value } satisfies Partial<ServerOptions>) as Partial<ServerOptions> & Partial<TExtensionServerOptions>\r\n        );\r\n        codeMirror.extensions = codeMirror.extensionSwitcher.switchLanguageExtension(codeMirror.extensions, value);\r\n        codeMirror.view.dispatch({\r\n            effects: StateEffect.reconfigure.of(codeMirror.extensions)\r\n        });\r\n        this.#context.language = value;\r\n    }\r\n\r\n    setServerOptions(value: TExtensionServerOptions) {\r\n        this.#context.session.setOptions(value as Partial<TExtensionServerOptions>);\r\n    }\r\n\r\n    setTheme(value: Theme) {\r\n        const { root, codeMirror } = this.#context;\r\n\r\n        codeMirror.extensions = codeMirror.extensionSwitcher.switchThemeExtension(codeMirror.extensions, value);\r\n        codeMirror.view.dispatch({\r\n            effects: StateEffect.reconfigure.of(codeMirror.extensions)\r\n        });\r\n        root.setThemeClass(value);\r\n    }\r\n\r\n    setServiceUrl(url: string, { disconnected }: { disconnected?: boolean } = {}) {\r\n        this.#context.disconnected = disconnected ?? false;\r\n        this.#connectCalled = false;\r\n        this.#context.connection.setUrl(url, { closed: disconnected });\r\n    }\r\n\r\n    connect() {\r\n        if (!this.#context.disconnected)\r\n            throw new Error('Connect can only be called if options.disconnected was set.');\r\n        if (this.#connectCalled)\r\n            throw new Error('Connect can only be called once per mirrorsharp instance (on start).');\r\n\r\n        this.#context.connection.open();\r\n        this.#connectCalled = true;\r\n    }\r\n\r\n    destroy() {\r\n        this.#context.root.destroy();\r\n        this.#context.session.destroy();\r\n        this.#context.connection.close();\r\n    }\r\n}\r\n\r\nexport const createInstance = <O, U>(container: HTMLElement, options: CreateInstanceOptions<O, U>) => {\r\n    const {\r\n        language = LANGUAGE_DEFAULT,\r\n        theme = THEME_LIGHT,\r\n        disconnected\r\n    } = options;\r\n\r\n    const connection = new Connection<O, U>(\r\n        options.serviceUrl, { closed: disconnected }\r\n    );\r\n    const serverOptions = {\r\n        ...({ language } satisfies ServerOptions as ServerOptions),\r\n        ...((options.serverOptions ?? {}) satisfies Partial<O> as O)\r\n    };\r\n    const session = new Session<O, U>(connection, serverOptions, options.on);\r\n\r\n    const [cmExtensions, extensionSwitcher] = createExtensions<O, U>(connection, session, {\r\n        language,\r\n        theme,\r\n        themeSpec: options.codeMirror.theme ?? {},\r\n        extraExtensions: options.codeMirror.extensions ?? [],\r\n        onTextChange: options.on.textChange\r\n    });\r\n    const cmView = new EditorView({\r\n        state: createState(cmExtensions, {\r\n            text: options.text,\r\n            cursorOffset: options.cursorOffset\r\n        })\r\n    });\r\n\r\n    const root = new ContainerRoot(container, cmView.dom, theme);\r\n    installConnectionLossView(root, connection);\r\n\r\n    const instance = new Instance<O, U>({\r\n        connection,\r\n        session,\r\n\r\n        disconnected: disconnected ?? false,\r\n        language,\r\n\r\n        codeMirror: {\r\n            view: cmView,\r\n            extensions: cmExtensions,\r\n            extensionSwitcher\r\n        },\r\n\r\n        root\r\n    });\r\n\r\n    return instance;\r\n};"
  },
  {
    "path": "WebAssets/src/main/theme.ts",
    "content": "export const THEME_LIGHT = 'light';\r\nexport const THEME_DARK = 'dark';\r\n\r\nexport type Theme = typeof THEME_LIGHT | typeof THEME_DARK;"
  },
  {
    "path": "WebAssets/src/mirrorsharp.css",
    "content": "/* New */\r\n\r\n.mirrorsharp {\r\n    --mirrorsharp-font-family-monospace: Consolas, monaco, monospace;\r\n    --mirrorsharp-font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\r\n    font-family: var(--mirrorsharp-font-family-monospace);\r\n}\r\n\r\n.mirrorsharp .cm-scroller.cm-scroller,\r\n.mirrorsharp .cm-tooltip.cm-tooltip.cm-tooltip-autocomplete > ul {\r\n    font-family: inherit;\r\n}\r\n\r\n.mirrorsharp--theme-light .tok-keyword,\r\n.mirrorsharp--theme-light .tok-bool,\r\n.mirrorsharp--theme-light .tok-null {\r\n    color: #0000ff;\r\n}\r\n.mirrorsharp--theme-light .tok-number {\r\n    color: #000000;\r\n}\r\n.mirrorsharp--theme-light .tok-string {\r\n    color: #a31515;\r\n}\r\n.mirrorsharp--theme-light .tok-comment {\r\n    color: #008000;\r\n}\r\n.mirrorsharp--theme-light .tok-type,\r\n/* These are from server only: */\r\n.mirrorsharp--theme-light .tok-class,\r\n.mirrorsharp--theme-light .tok-struct,\r\n.mirrorsharp--theme-light .tok-interface,\r\n.mirrorsharp--theme-light .tok-enum,\r\n.mirrorsharp--theme-light .tok-delegate {\r\n    color: #2b91af;\r\n}\r\n\r\n.mirrorsharp--theme-dark {\r\n    background-color: #1e1e1e;\r\n    color: #dcdcdc;\r\n}\r\n\r\n.mirrorsharp--theme-dark .tok-keyword,\r\n.mirrorsharp--theme-dark .tok-bool,\r\n.mirrorsharp--theme-dark .tok-null {\r\n    color: #569cd6;\r\n}\r\n.mirrorsharp--theme-dark .tok-number {\r\n    color: #b5cea8;\r\n}\r\n.mirrorsharp--theme-dark .tok-string {\r\n    color: #d69d85;\r\n}\r\n.mirrorsharp--theme-dark .tok-comment {\r\n    color: #57a64a;\r\n}\r\n.mirrorsharp--theme-dark .tok-type,\r\n/* These are from server only: */\r\n.mirrorsharp--theme-dark .tok-class,\r\n.mirrorsharp--theme-dark .tok-struct,\r\n.mirrorsharp--theme-dark .tok-interface,\r\n.mirrorsharp--theme-dark .tok-enum,\r\n.mirrorsharp--theme-dark .tok-delegate {\r\n    color: #4ec9b0;\r\n}\r\n\r\n.mirrorsharp--theme-light .cm-lintRange-unnecessary {\r\n    /* minimum for AAA */\r\n    opacity: 0.66;\r\n}\r\n\r\n.mirrorsharp--theme-dark .cm-lintRange-unnecessary {\r\n    /* minimum for AAA */\r\n    opacity: 0.73;\r\n}\r\n\r\n.mirrorsharp .cm-completionIcon.cm-completionIcon,\r\n.mirrorsharp-infotip-icon {\r\n    width: 1.2em;\r\n    margin-right: 0.2em;\r\n    background-repeat: no-repeat;\r\n    background-position: center center;\r\n}\r\n\r\n.mirrorsharp-infotip-icon {\r\n    height: 1.2em;\r\n    display: inline-block;\r\n    vertical-align: bottom;\r\n}\r\n\r\n.mirrorsharp .cm-completionIcon.cm-completionIcon.cm-completionIcon:after {\r\n    content: '\\00a0';\r\n}\r\n\r\n.mirrorsharp .cm-completionIcon-keyword,\r\n.mirrorsharp .mirrorsharp-infotip-icon-keyword {\r\n    background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21.33 21.33'%3E%3Cpath d='M0 1.33V20h17.33v-4h4v-4H20V8h-8V6.67h9.33v-4H12V1.33zM10.67 12H12v4h-1.33z' fill='%23f6f6f6'/%3E%3Cpath d='M9.33 4H2.67v1.33h6.66zm1.34 2.67H1.33v-4h9.34zM20 13.33h-6.67v1.34H20zm-10.67 0h-8v1.34h8zm6.67 4H1.33v1.34H16zm-2.67-8h-12v1.34h12zm5.34 0H16v1.34h2.67zm1.33-4h-6.67V4H20z' fill='%23424242'/%3E%3Cpath d='M2.67 5.33h6.66V4H2.67z' fill='%23f0eff1'/%3E%3C/svg%3E\");\r\n}\r\n.mirrorsharp .cm-completionIcon-namespace,\r\n.mirrorsharp .mirrorsharp-infotip-icon-namespace {\r\n    background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21.33 21.33'%3E%3Cpath d='M8.89 16H7.1v-1.78c0-.95-1.32-2.87-1.78-3.56.46-.69 1.78-2.6 1.78-3.55V5.33h1.78V0H7.1c-3.5.04-5.33 2.27-5.33 5.33v1.78L0 8.89v3.55l1.78 1.78V16c0 3.04 2.34 5.3 5.84 5.33h1.27zm3.55 0h1.78v-1.78c0-.95 1.32-2.87 1.78-3.56-.46-.69-1.78-2.6-1.78-3.55V5.33h-1.78V0h1.78c3.5.04 5.33 2.27 5.33 5.33v1.78l1.78 1.78v3.55l-1.78 1.78V16c0 3.04-1.83 5.3-5.33 5.33h-1.78z' fill='%23f6f6f6'/%3E%3Cpath d='M5.33 16v-1.78c0-1.48-.88-3.09-1.77-3.56.9-.47 1.77-2.07 1.77-3.55V5.33c0-1.5 1.04-1.77 1.78-1.77V1.78c-3.7 0-3.55 2.07-3.55 3.55v1.78c0 1.72-1.25 1.74-1.78 1.78v3.55c.57.04 1.78.1 1.78 1.78V16c0 1.48-.15 3.55 3.55 3.55v-1.78C5.63 17.77 5.33 16 5.33 16M16 16v-1.78c0-1.48.88-3.09 1.77-3.56C16.87 10.2 16 8.6 16 7.11V5.33c0-1.5-1.04-1.77-1.78-1.77V1.78c3.7 0 3.55 2.07 3.55 3.55v1.78c0 1.72 1.25 1.74 1.78 1.78v3.55c-.57.04-1.78.1-1.78 1.78V16c0 1.48.15 3.55-3.55 3.55v-1.78C15.7 17.77 16 16 16 16' fill='%23424242'/%3E%3C/svg%3E\");\r\n}\r\n.mirrorsharp .cm-completionIcon-class,\r\n.mirrorsharp .mirrorsharp-infotip-icon-class {\r\n    background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21.33 21.33'%3E%3Cpath d='M7.45 0L0 7.45v1.1l5.33 5.33 3.22-3.22h.78v6.67h2.12l4 4h1.1l4.79-4.78v-1.1l-2.79-2.78 2.79-2.78V8.78l-4-4-1.9 1.89h-2.89l1.34-1.34L8.55 0z' fill='%23f6f6f6'/%3E%3Cpath d='M17.33 13.33L20 16l-4 4-2.67-2.67L14.67 16h-4V9.33H8L5.33 12l-4-4L8 1.33l4 4L9.33 8H16l1.33-1.33L20 9.33l-4 4-2.67-2.66 1.34-1.34H12v5.34h4z' fill='%23c27d1a'/%3E%3C/svg%3E\");\r\n}\r\n.mirrorsharp .cm-completionIcon-structure,\r\n.mirrorsharp .mirrorsharp-infotip-icon-structure {\r\n    background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 341.33 341.33'%3E%3Cpath d='M0 36.57v268.19h146.28V158.45h48.77v146.3h146.28V36.58z' fill='%23f6f6f6'/%3E%3Cpath d='M219.43 280.38h97.52v-97.52h-97.52zm-195.05 0h97.52v-97.52H24.38zm0-146.29h292.57V60.95H24.38z' fill='%2300539c'/%3E%3C/svg%3E\");\r\n}\r\n.mirrorsharp .cm-completionIcon-delegate,\r\n.mirrorsharp .mirrorsharp-infotip-icon-delegate {\r\n    background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21.33 21.33'%3E%3Cpath d='M17.94 4.61h-.49V.58H3.88V4.6h-.49A3.47 3.47 0 000 8.14v9.08a3.47 3.47 0 003.4 3.53h14.54c1.87 0 3.39-1.58 3.39-3.53V8.14a3.47 3.47 0 00-3.4-3.53' fill='%23f6f6f6'/%3E%3Cpath d='M17.45 16.72h-1.94V8.65h1.94zm-9.7-12.1h5.82v2H7.76zm-1.93 12.1H3.88V8.65h1.94zm12.12-10.1H15.5V2.6h-9.7v4.04H3.4c-.8 0-1.45.68-1.45 1.51v9.08c0 .84.65 1.52 1.45 1.52h14.55c.8 0 1.45-.68 1.45-1.52V8.14c0-.83-.65-1.51-1.45-1.51' fill='%23652d90'/%3E%3Cpath d='M3.88 16.72h1.94V8.64H3.88zm11.64 0h1.94V8.64h-1.94z' fill='%23f0eff1'/%3E%3C/svg%3E\");\r\n}\r\n.mirrorsharp .cm-completionIcon-enum,\r\n.mirrorsharp .mirrorsharp-infotip-icon-enum {\r\n    background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21.33 21.33'%3E%3Cpath d='M9.93.89L7.11 3.7v4.3H2.8L0 10.8v6.81l2.82 2.82h8.58l2.82-2.82v-4.29h4.3l2.81-2.82v-6.8L18.51.89z' fill='%23f6f6f6'/%3E%3Cpath d='M10.67 13.33H3.56v-1.78h7.1zm0 3.56H3.56V15.1h7.1zm0-7.11H3.56l-1.78 1.77v5.34l1.78 1.78h7.1l1.78-1.78v-5.34zm7.1-3.56h-7.1V4.44h7.1zm0-3.55h-7.1L8.89 4.44V8h8.89v1.78h-4.6l1.04 1.04v.73h3.56l1.77-1.77V4.44z' fill='%23c27d1a'/%3E%3Cpath d='M10.67 11.55H3.56v1.78h7.1zm0 3.56H3.56v1.78h7.1zm7.1-10.67h-7.1v1.78h7.1zm0 3.56v1.78h-4.6L11.4 8z' fill='%23f0eff1'/%3E%3C/svg%3E\");\r\n}\r\n.mirrorsharp .cm-completionIcon-union,\r\n.mirrorsharp .mirrorsharp-infotip-icon-union {\r\n    background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21.33 21.33'%3E%3Cpath d='M5.33.89v5.33H0v14.22h16v-5.33h5.33V.9z' fill='%23f6f6f6'/%3E%3Cpath d='M1.78 18.67h12.44v-5.34h-1.78v3.56H3.56V9.78H7.1V8H1.78zM7.11 2.67V8h1.78V4.44h8.88v7.12h-3.55v1.77h5.33V2.67z' fill='%23424242'/%3E%3Cpath d='M14.22 13.33H7.11V8h7.11z' fill='%2300539c'/%3E%3C/svg%3E\");\r\n}\r\n.mirrorsharp .cm-completionIcon-interface,\r\n.mirrorsharp .mirrorsharp-infotip-icon-interface {\r\n    background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M45.99 49.34c-7.66 0-14.4-4.97-16.9-12h-6.73a11.96 11.96 0 01-22.36-6c0-6.61 5.38-12 12-12 4.35 0 8.26 2.36 10.36 6h6.73c2.5-7.04 9.24-12 16.9-12 9.92 0 18 8.07 18 18 0 9.92-8.08 18-18 18' fill='%23f6f6f6'/%3E%3Cpath d='M45.99 37.34A6 6 0 1146 25.32a6 6 0 01-.02 12.02m0-20a13.96 13.96 0 00-13.6 11H19.36a7.95 7.95 0 00-7.36-5 8 8 0 100 16 7.95 7.95 0 007.36-5h13.03a13.96 13.96 0 0027.6-3c0-7.72-6.28-14-14-14' fill='%2300539c'/%3E%3Cpath d='M45.99 37.34A6 6 0 1146 25.32a6 6 0 01-.02 12.02' fill='%23f0eff1'/%3E%3C/svg%3E\");\r\n}\r\n.mirrorsharp .cm-completionIcon-module,\r\n.mirrorsharp .mirrorsharp-infotip-icon-module {\r\n    background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21.33 21.33'%3E%3Cpath d='M0 20.44h21.33V.9H0z' fill='%23f6f6f6'/%3E%3Cpath d='M1.78 18.67h17.77v-7.12H1.78zm7.1-16h-7.1v7.1h7.1zm3.56 7.1h7.11v-7.1h-7.1z' fill='%23652d90'/%3E%3C/svg%3E\");\r\n}\r\n.mirrorsharp .cm-completionIcon-typeparameter,\r\n.mirrorsharp .mirrorsharp-infotip-icon-typeparameter {\r\n    background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M64 2.67H16v16H0v42.66h48v-16h16z' fill='%23f6f6f6'/%3E%3Cpath d='M53.33 34.67H42.67V24h-16V13.33h26.66zm-16 16H10.67V29.33h26.66zM21.33 8v16h-16v32h37.34V40h16V8z' fill='%23424242'/%3E%3Cpath d='M26.67 13.33V24h16v10.67h10.66V13.33z' fill='%23f0eff1'/%3E%3Cpath d='M10.67 50.67h26.66V29.33H10.67z' fill='%23f0eff1'/%3E%3C/svg%3E\");\r\n}\r\n.mirrorsharp .cm-completionIcon-enummember,\r\n.mirrorsharp .mirrorsharp-infotip-icon-enummember {\r\n    background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21.33 21.33'%3E%3Cpath d='M9.93.89L7.1 3.7V8H0v12.43h14.22v-7.1h4.3l2.81-2.83v-6.8L18.51.89z' fill='%23f6f6f6'/%3E%3Cpath d='M17.78 6.22h-7.11V4.44h7.1zm0-3.55h-7.11L8.89 4.44V8h8.89v1.78h-3.56v1.77h3.56l1.77-1.77V4.44z' fill='%2300539c'/%3E%3Cpath d='M3.56 13.33h7.1v1.78h-7.1zm-1.78 5.33h10.66V9.78H1.78z' fill='%2300539c'/%3E%3Cpath d='M3.56 15.1h7.1v-1.77h-7.1zm7.1-8.88h7.12V4.44h-7.11zm3.56 3.56h3.56V8h-3.56z' fill='%23f0eff1'/%3E%3C/svg%3E\");\r\n}\r\n.mirrorsharp .cm-completionIcon-constant,\r\n.mirrorsharp .mirrorsharp-infotip-icon-constant {\r\n    background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21.33 21.33'%3E%3Cpath d='M18.51.89H2.82L0 3.707v13.916l2.818 2.817h15.693l2.819-2.818V3.707z' fill='%23f6f6f6'/%3E%3Cpath d='M17.775 16.15l-.736.736H4.29l-.736-.736V5.18l.736-.736H17.04l.736.736zm0-13.483H3.555L1.778 4.444v12.442l1.777 1.777h14.22l1.777-1.777V4.444z' fill='%23424242'/%3E%3Cpath d='M7.11 9.776h7.11V7.999H7.11zm0 3.555h7.11v-1.778H7.11z' fill='%2300539c'/%3E%3Cpath d='M14.22 9.776H7.11V7.999h7.11zm0 3.555H7.11v-1.778h7.11zm2.819-8.887H4.29l-.736.736v10.97l.736.734H17.04l.736-.734V5.18z' fill='%23f0eff1'/%3E%3C/svg%3E\");\r\n}\r\n.mirrorsharp .cm-completionIcon-field,\r\n.mirrorsharp .mirrorsharp-infotip-icon-field {\r\n    background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21.33 21.33'%3E%3Cpath d='M11.98.89L0 6.88v9.3l8.51 4.26h.75l12.07-6.03V5.1L12.91.88z' fill='%23f6f6f6'/%3E%3Cpath d='M8.89 9.78L5.33 8l7.11-3.56L16 6.22zM1.78 8v7.1l7.1 3.56 10.67-5.33v-7.1l-7.1-3.56z' fill='%2300539c'/%3E%3Cpath d='M12.44 4.44L16 6.22 8.89 9.78 5.33 8z' fill='%23f0eff1'/%3E%3C/svg%3E\");\r\n}\r\n.mirrorsharp .cm-completionIcon-property,\r\n.mirrorsharp .mirrorsharp-infotip-icon-property {\r\n    background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M11.48 63.99c-2.03 0-5.05-.61-7.95-3.51-5.96-5.96-3.26-12.98 0-16.25L17.36 30.4a23.38 23.38 0 01-.95-6.59A23.82 23.82 0 0140.21.01c3.34 0 6.63.72 9.76 2.13l6.28 2.84-14.07 14.07 2.79 2.78L59.04 7.76l2.83 6.28A23.58 23.58 0 0164 23.8a23.82 23.82 0 01-23.8 23.8c-2.22 0-4.43-.32-6.59-.96L19.78 60.48c-.59.59-3.74 3.5-8.3 3.5' fill='%23f6f6f6'/%3E%3Cpath d='M57.53 16L44.97 28.56l-9.52-9.51L48 6.48a18.9 18.9 0 00-7.8-1.71 18.95 18.95 0 00-17.32 26.84l-16 15.99s-4.75 4.76 0 9.52c4.76 4.75 9.52 0 9.52 0L32.4 41.13a18.9 18.9 0 007.8 1.71A19.04 19.04 0 0059.25 23.8c0-2.78-.63-5.41-1.7-7.8' fill='%23424242'/%3E%3C/svg%3E\");\r\n}\r\n.mirrorsharp .cm-completionIcon-event,\r\n.mirrorsharp .mirrorsharp-infotip-icon-event {\r\n    background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21.33 21.33'%3E%3Cpath d='M8.23 0L2.22 12.02v2.2h4.24L2.9 21.33h4.5l11.71-11.7V7.1h-5.5l4.6-4.6V0z' fill='%23f6f6f6'/%3E%3Cpath d='M9.33 8.88l7.11-7.1H9.33L3.99 12.43h5.36l-3.58 7.1h.92L17.35 8.88z' fill='%23c27d1a'/%3E%3C/svg%3E\");\r\n}\r\n.mirrorsharp .cm-completionIcon-extensionmethod,\r\n.mirrorsharp .mirrorsharp-infotip-icon-extensionmethod {\r\n    background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21.33 21.33'%3E%3Cpath d='M13.24 6.36v6.18l-2.69-2.7v6.51l4.83 4.83h1.12l4.83-4.83v-6.5l-2.69 2.69V6.36z' fill='%23f6f6f6'/%3E%3Cpath d='M0 10.97v-7.5L6.58.16l6.33 3.34v7.43l-6 4.4z' fill='%23f6f6f6'/%3E%3Cpath d='M10.8 9.86l-3.46 2.5V7.7l3.47-2.11zm-4.33 2.65v.02-.01h-.02v-.01L2.18 9.73V5.25L6.5 7.67v4.81zm.04-9.93l4.13 2.04-3.86 2.31-4.16-2.38zm5.06 7.65V4.3l-5-2.64L1.34 4.3v5.93l5.5 3.47z' fill='%23652d90'/%3E%3Cpath d='M6.5 2.58l4.13 2.04-3.85 2.31L2.6 4.56z' fill='%23f0eff1'/%3E%3Cpath d='M6.5 2.58l4.13 2.04-3.85 2.31L2.6 4.56z' fill='none' stroke='%23652d90' stroke-width='.201988'/%3E%3Cpath d='M6.47 12.5v.03-.01h-.02v-.01L2.18 9.73V5.25L6.5 7.67v4.81z' fill='%23f0eff1'/%3E%3Cpath d='M6.47 12.5v.03l-.01-.01h-.01v-.01L2.18 9.73V5.25L6.5 7.67v4.81z' fill='none' stroke='%23652d90' stroke-width='.201988'/%3E%3Cpath d='M10.8 9.86l-3.46 2.5V7.7l3.47-2.11z' fill='%23f0eff1'/%3E%3Cpath d='M10.8 9.86l-3.46 2.5V7.7l3.47-2.11z' fill='none' stroke='%23652d90' stroke-width='.201988'/%3E%3Cpath d='M15.94 19.83l-4.04-4.04v-2.7l2.7 2.7v-2.7h2.69v2.7l2.69-2.7v2.7zm-1.35-8.08h2.7V10.4h-2.7zm0-2.7h2.7V7.71h-2.7z' fill='%23424242'/%3E%3C/svg%3E\");\r\n}\r\n.mirrorsharp .cm-completionIcon-method,\r\n.mirrorsharp .mirrorsharp-infotip-icon-method {\r\n    background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21.33 21.33'%3E%3Cpath d='M1.6 15.22V4.68L10.83 0l8.9 4.7v10.43l-8.45 6.2z' fill='%23f6f6f6'/%3E%3Cpath d='M16.78 13.65l-4.88 3.51v-6.55l4.88-2.97zm-6.1 3.72v.03l-.01-.02-.02.02v-.03l-5.99-3.91V7.18l6.08 3.39v6.76zm.05-13.96l5.81 2.86-5.42 3.26-5.85-3.34zm7.12 10.76V5.84l-7.03-3.7-7.33 3.7v8.33l7.72 4.87z' fill='%23652d90'/%3E%3Cpath d='M10.73 3.41l5.81 2.86-5.42 3.26-5.86-3.34z' fill='%23f0eff1'/%3E%3Cpath d='M10.73 3.41l5.81 2.86-5.42 3.26-5.86-3.34z' fill='none' stroke='%23652d90' stroke-width='.28'/%3E%3Cpath d='M10.69 17.37v.03l-.02-.02-.02.02v-.03l-6-3.91V7.18l6.08 3.4v6.75z' fill='%23f0eff1'/%3E%3Cpath d='M10.69 17.37v.03l-.02-.02-.02.02v-.03l-6-3.91V7.18l6.08 3.4v6.75z' fill='none' stroke='%23652d90' stroke-width='.28'/%3E%3Cpath d='M16.78 13.65l-4.88 3.51v-6.55l4.88-2.97z' fill='%23f0eff1'/%3E%3Cpath d='M16.78 13.65l-4.88 3.51v-6.55l4.88-2.97z' fill='none' stroke='%23652d90' stroke-width='.28'/%3E%3C/svg%3E\");\r\n}\r\n.mirrorsharp .cm-completionIcon-parameter,\r\n.mirrorsharp .cm-completionIcon-local,\r\n.mirrorsharp .mirrorsharp-infotip-icon-parameter,\r\n.mirrorsharp .mirrorsharp-infotip-icon-local {\r\n    background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21.33 21.33'%3E%3Cpath d='M6.67 6.33V4H0v13.33h6.67v-2.48l2.87 1.44 5.13-2.56v3.6h6.66V4h-6.66v1.35l-3.02-1.5zm10.52 6.14V8h.14v5.33h-1.88z' fill='%23f6f6f6'/%3E%3Cpath d='M5.33 6.67V5.33h-4V16h4v-1.33H2.67v-8zm10.67 8V16h4V5.33h-4v1.34h2.67v8zM9.54 9.54l-2.1-1.05 4.2-2.1 2.11 1.05zm2.1-4.2l-6.3 3.15v4.2l4.2 2.11 6.31-3.16v-4.2z' fill='%23424242'/%3E%3Cpath d='M9.54 9.54l-2.1-1.05 4.2-2.1 2.11 1.05z' fill='%23f0eff1'/%3E%3C/svg%3E\");\r\n}\r\n\r\n.mirrorsharp .cm-tooltip.cm-completionInfo {\r\n    max-width: 500px;\r\n}\r\n\r\n.mirrorsharp .cm-tooltip.cm-completionInfo,\r\n.mirrorsharp-infotip,\r\n.mirrorsharp-signature-list {\r\n    font-family: var(--mirrorsharp-font-family-sans-serif);\r\n}\r\n\r\n.mirrorsharp-infotip {\r\n    padding: 3px 8px;\r\n    white-space: pre-wrap;\r\n}\r\n\r\n.mirrorsharp .cm-diagnostic-unnecessary {\r\n    border-left: 5px solid #999;\r\n}\r\n\r\n.mirrorsharp .cm-diagnostic {\r\n    display: flex;\r\n    flex-direction: column;\r\n}\r\n\r\n.mirrorsharp .cm-diagnosticAction {\r\n    /* Can be removed after https://github.com/codemirror/dev/issues/1053 */\r\n    cursor: pointer;\r\n    align-self: flex-start;\r\n    border: 1px solid;\r\n    margin-left: 13px;\r\n    padding: 4px 6px;\r\n}\r\n\r\n.mirrorsharp--theme-light .cm-diagnosticAction {\r\n    background-color: #ddd;\r\n    border-color: #aaa;\r\n    color: inherit;\r\n}\r\n\r\n.mirrorsharp--theme-light .cm-diagnosticAction:hover {\r\n    background-color: #eee;\r\n}\r\n\r\n.mirrorsharp--theme-dark .cm-diagnosticAction {\r\n    background-color: #575760;\r\n    border-color: #ccccd0;\r\n    color: inherit;\r\n}\r\n\r\n.mirrorsharp .cm-diagnosticAction::before {\r\n    content: '';\r\n    display: inline-block;\r\n    background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24.67 35.8'%3E%3Cpath fill='%23ceab00' d='M24.67 12.07a12.22 12.22 0 0 1-2.57 7.11q-2.4 3.26-2.74 3.85a13.92 13.92 0 0 0-1.54 7v.09h-11v-.06a13.89 13.89 0 0 0-1.63-7 45.25 45.25 0 0 0-2.66-3.85A12.22 12.22 0 0 1-.04 12.1 11.49 11.49 0 0 1 3.6 3.58a12.41 12.41 0 0 1 17.39 0 11.49 11.49 0 0 1 3.68 8.49Z'/%3E%3Cpath fill='%23ffd800' d='M20.98 18.32a9.93 9.93 0 0 0-1.11-13.88 10.75 10.75 0 0 0-15.08 0 9.93 9.93 0 0 0-1.11 13.88l1.63 2.23a9.09 9.09 0 0 1 1.11 1.8 12.57 12.57 0 0 1 1.8 6.42h8.27a12.89 12.89 0 0 1 1.77-6.42 35.57 35.57 0 0 1 2.06-3.08l.09-.09q-.02-.17.06-.17Z'/%3E%3Cpath fill='%23ceab00' d='M6.85 13.7h1.5l2.6 5.4v9.7H9.56v-9.7Zm10.98 0h-1.5l-2.6 5.4v9.7h1.39v-9.7Z'/%3E%3Cpath fill='%239d9d9d' d='m6.8 30.12 1.5 1.48v1.34l1.3 1.36h5.5l1.4-1.43v-1.32l1.3-1.43Z'/%3E%3Cpath fill='%23626262' d='M6.8 30.11v-1.35h11.01v1.35H8.25Zm1.45 2.76v-1.35h8.22v1.35H8.25Zm1.37 2.74v-1.37h5.48v1.37H9.62Z'/%3E%3C/svg%3E\");\r\n    background-repeat: no-repeat;\r\n    background-position: center center;\r\n    width: 1em;\r\n    height: 1em;\r\n    margin-right: 0.5em;\r\n    vertical-align: top;\r\n}\r\n\r\n.mirrorsharp .cm-diagnosticAction {\r\n    margin-top: 5px;\r\n}\r\n\r\n.mirrorsharp .cm-diagnosticAction:first-of-type {\r\n    margin-top: 7px;\r\n}\r\n\r\n.mirrorsharp .cm-diagnosticAction:last-child {\r\n    margin-bottom: 5px;\r\n}\r\n\r\n.mirrorsharp-signature-list {\r\n    margin: 0;\r\n    padding: 0;\r\n    list-style-type: none;\r\n}\r\n\r\n.mirrorsharp-signature {\r\n    padding: 4px 5px;\r\n    line-height: 1.2;\r\n}\r\n\r\n.mirrorsharp--theme-light .mirrorsharp-signature--selected {\r\n    background: #fff;\r\n}\r\n\r\n.mirrorsharp--theme-dark .mirrorsharp-signature--selected {\r\n    background: #3f3f45;\r\n}\r\n\r\n.mirrorsharp-signature-part--selected {\r\n    font-weight: bold;\r\n}\r\n\r\n.mirrorsharp-signature-info,\r\n.mirrorsharp-signature-info-parameter {\r\n    margin-top: 2px;\r\n}\r\n\r\n.mirrorsharp-signature-info-parameter {\r\n    font-style: italic;\r\n}\r\n\r\n.mirrorsharp-signature-info-parameter-name {\r\n    font-weight: bold;\r\n}\r\n\r\n.mirrorsharp--connection-lost {\r\n    position: relative;\r\n}\r\n\r\n.mirrorsharp-connection-loss-message {\r\n    display: none;\r\n    position: absolute;\r\n    top: 0;\r\n    right: 0;\r\n    padding: 0.2em 0.4em;\r\n    border-left: 5px solid #d11;\r\n    font-family: var(--mirrorsharp-font-family-sans-serif);\r\n    font-weight: bold;\r\n}\r\n\r\n.mirrorsharp--theme-light .mirrorsharp-connection-loss-message {\r\n    background-color: #f5f5f5;\r\n}\r\n\r\n.mirrorsharp--theme-dark .mirrorsharp-connection-loss-message {\r\n    background-color: #333338;\r\n}\r\n\r\n.mirrorsharp--connection-lost .mirrorsharp-connection-loss-message {\r\n    display: block;\r\n}\r\n\r\n.mirrorsharp--connection-lost .cm-editor {\r\n    filter: grayscale();\r\n}"
  },
  {
    "path": "WebAssets/src/mirrorsharp.tests.ts",
    "content": "import { language } from '@codemirror/language';\r\nimport { Facet } from '@codemirror/state';\r\nimport { EditorView } from '@codemirror/view';\r\nimport { vbLanguage } from './codemirror/languages/vb';\r\nimport { THEME_DARK, THEME_LIGHT } from './main/theme';\r\nimport type { MirrorSharpDiagnostic, MirrorSharpSlowUpdateResult } from './mirrorsharp';\r\nimport { LANGUAGE_CSHARP, LANGUAGE_DEFAULT, LANGUAGE_VB } from './protocol/languages';\r\nimport { TestDriver } from './testing/test-driver-jest';\r\n\r\ntest('configuration text is sent with expected newlines', async () => {\r\n    const driver = await TestDriver.new({\r\n        text: 'line 1\\r\\nline 2',\r\n        skipSocketOpen: true\r\n    });\r\n\r\n    driver.socket.open();\r\n    await driver.completeBackgroundWork();\r\n\r\n    expect(driver.socket.sent).toContain(`R0:0:0::line 1\\r\\nline 2`);\r\n});\r\n\r\ntest('setText replaces document text', async () => {\r\n    const driver = await TestDriver.new({\r\n        text: 'initial'\r\n    });\r\n\r\n    driver.mirrorsharp.setText('updated 1\\r\\nupdated 2');\r\n    await driver.completeBackgroundWork();\r\n\r\n    expect(driver.mirrorsharp.getText()).toBe('updated 1\\r\\nupdated 2');\r\n    expect(driver.socket.sent).toContain(`R0:7:0::updated 1\\r\\nupdated 2`);\r\n});\r\n\r\ntest('setLanguage updates language', async () => {\r\n    const driver = await TestDriver.new({ language: LANGUAGE_CSHARP });\r\n\r\n    driver.mirrorsharp.setLanguage(LANGUAGE_VB);\r\n\r\n    expect(driver.getCodeMirrorView().state.facet(language))\r\n        .toBe(vbLanguage);\r\n    expect(driver.socket.sent).toContain('Olanguage=Visual Basic');\r\n});\r\n\r\ntest('setLanguage does not send language if same as default', async () => {\r\n    const driver = await TestDriver.new({});\r\n\r\n    driver.mirrorsharp.setLanguage(LANGUAGE_DEFAULT);\r\n\r\n    expect(driver.socket.sent).toEqual([]);\r\n});\r\n\r\ntest('setLanguage does not send language if same as current', async () => {\r\n    const driver = await TestDriver.new({ language: LANGUAGE_VB });\r\n\r\n    driver.mirrorsharp.setLanguage(LANGUAGE_VB);\r\n\r\n    expect(driver.socket.sent).toEqual([]);\r\n});\r\n\r\ntest('setTheme updates theme', async () => {\r\n    const driver = await TestDriver.new({ theme: THEME_LIGHT });\r\n\r\n    driver.mirrorsharp.setTheme(THEME_DARK);\r\n\r\n    expect(driver.getCodeMirrorView().state.facet(EditorView.darkTheme))\r\n        .toBe(true);\r\n    expect(driver.mirrorsharp.getRootElement().classList)\r\n        .toContain('mirrorsharp--theme-dark');\r\n});\r\n\r\ntest('setServiceUrl connects to new URL', async () => {\r\n    const driver = await TestDriver.new({});\r\n    driver.mirrorsharp.setServiceUrl('new-url');\r\n\r\n    await driver.completeBackgroundWork();\r\n\r\n    expect(driver.socket.url).toBe('new-url');\r\n    expect(driver.socket.createdCount).toBe(2);\r\n    expect(driver.socket.readyState).toBe(WebSocket.OPEN);\r\n});\r\n\r\ntest('setServiceUrl does not connect to new URL if disconnected is requested', async () => {\r\n    const driver = await TestDriver.new({});\r\n    driver.mirrorsharp.setServiceUrl('new-url', { disconnected: true });\r\n\r\n    await driver.completeBackgroundWork();\r\n\r\n    expect(driver.socket.createdCount).toBe(1);\r\n    expect(driver.socket.readyState).toBe(WebSocket.CLOSED);\r\n});\r\n\r\ntest('connect after disconnected setServiceUrl connects to new URL', async () => {\r\n    const driver = await TestDriver.new({});\r\n    driver.mirrorsharp.setServiceUrl('new-url', { disconnected: true });\r\n\r\n    await driver.completeBackgroundWork();\r\n    driver.mirrorsharp.connect();\r\n\r\n    expect(driver.socket.url).toBe('new-url');\r\n    expect(driver.socket.createdCount).toBe(2);\r\n    expect(driver.socket.readyState).toBe(WebSocket.OPEN);\r\n});\r\n\r\ntest('configuration extensions are added to CodeMirror', async () => {\r\n    const facet = Facet.define<string>();\r\n\r\n    const driver = await TestDriver.new({\r\n        codeMirror: {\r\n            extensions: [ facet.of('test') ]\r\n        }\r\n    });\r\n\r\n    expect(driver.getCodeMirrorView().state.facet(facet))\r\n        .toEqual(['test']);\r\n});\r\n\r\ntest('textChange is called for setText', async () => {\r\n    const textChange = jest.fn<void, [() => string]>();\r\n    const driver = await TestDriver.new({\r\n        text: 'initial',\r\n        on: { textChange }\r\n    });\r\n\r\n    driver.mirrorsharp.setText('updated');\r\n    await driver.completeBackgroundWork();\r\n\r\n    expect(textChange).toBeCalledTimes(1);\r\n    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n    expect(textChange.mock.calls[0]![0]()).toBe('updated');\r\n});\r\n\r\ntest('textChange is called when typing', async () => {\r\n    const textChange = jest.fn<void, [() => string]>();\r\n    const driver = await TestDriver.new({\r\n        textWithCursor: 'initial|',\r\n        on: { textChange }\r\n    });\r\n\r\n    driver.text.type('test');\r\n    await driver.completeBackgroundWork();\r\n\r\n    expect(textChange).toBeCalledTimes('test'.length);\r\n    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n    expect(textChange.mock.calls[0]![0]()).toBe('initialtest');\r\n});\r\n\r\ntest('connectionChange is called when immediate connection is opened', async () => {\r\n    const connectionChange = jest.fn<void, [string]>();\r\n    await TestDriver.new({ on: { connectionChange } });\r\n\r\n    expect(connectionChange.mock.calls).toEqual([['open']]);\r\n});\r\n\r\ntest('connectionChange is called when delayed connection is opened', async () => {\r\n    const connectionChange = jest.fn<void, [string]>();\r\n    const driver = await TestDriver.new({ on: { connectionChange }, disconnected: true });\r\n\r\n    // eslint-disable-next-line no-debugger\r\n    driver.mirrorsharp.connect();\r\n    await driver.completeBackgroundWork();\r\n\r\n    expect(connectionChange.mock.calls).toEqual([['open']]);\r\n});\r\n\r\ntest('connectionChange is called when connection is lost', async () => {\r\n    const connectionChange = jest.fn<void, [string]>();\r\n    const driver = await TestDriver.new({ on: { connectionChange } });\r\n\r\n    driver.socket.close();\r\n\r\n    expect(connectionChange.mock.calls).toEqual([\r\n        ['open'],\r\n        ['loss']\r\n    ]);\r\n});\r\n\r\ntest('slowUpdateWait is called while waiting for slow update result', async () => {\r\n    const slowUpdateWait = jest.fn<void, []>();\r\n    const driver = await TestDriver.new<void, string>({\r\n        text: '_',\r\n        on: { slowUpdateWait }\r\n    });\r\n\r\n    await driver.advanceTimeToSlowUpdateAndCompleteWork();\r\n\r\n    // Expecting two calls: one on open and one on timer\r\n    expect(slowUpdateWait).toBeCalledTimes(2);\r\n});\r\n\r\ntest('slowUpdateResult is called with results of slow update', async () => {\r\n    const slowUpdateResult = jest.fn<void, [MirrorSharpSlowUpdateResult<string>]>();\r\n    const diagnostics = [{\r\n        id: 'test-id',\r\n        severity: 'error',\r\n        message: 'test-message'\r\n    }] as const satisfies ReadonlyArray<Partial<MirrorSharpDiagnostic>>;\r\n    const driver = await TestDriver.new<void, string>({\r\n        on: { slowUpdateResult }\r\n    });\r\n\r\n    driver.receive.slowUpdate(diagnostics.map(({ id, severity, message }) => ({\r\n        id, severity, message,\r\n        span: { start: 0, length: 0 },\r\n        tags: []\r\n    })), 'test-x-result');\r\n\r\n    expect(slowUpdateResult.mock.calls).toEqual([\r\n        [{ diagnostics, extensionResult: 'test-x-result' }]\r\n    ]);\r\n});\r\n\r\ntest('serverError is called when receiving an error', async () => {\r\n    const serverError = jest.fn<void, [string]>();\r\n    const driver = await TestDriver.new({ on: { serverError } });\r\n\r\n    driver.receive.error('test-error');\r\n\r\n    expect(serverError.mock.calls).toEqual([['test-error']]);\r\n});"
  },
  {
    "path": "WebAssets/src/mirrorsharp.ts",
    "content": "import type { Extension } from '@codemirror/state';\r\nimport type { EditorView } from '@codemirror/view';\r\nimport type { StyleSpec } from 'style-mod';\r\nimport { createInstance } from './main/instance';\r\nimport type { Theme } from './main/theme';\r\nimport type { Language } from './protocol/languages';\r\nimport type { DiagnosticSeverity } from './protocol/messages';\r\n\r\n// ts-unused-exports:disable-next-line\r\nexport type MirrorSharpDiagnosticSeverity = DiagnosticSeverity;\r\n\r\n// ts-unused-exports:disable-next-line\r\nexport type MirrorSharpLanguage = Language;\r\n// ts-unused-exports:disable-next-line\r\nexport type MirrorSharpConnectionState = 'open' | 'error' | 'close';\r\n\r\n// ts-unused-exports:disable-next-line\r\nexport type MirrorSharpTheme = Theme;\r\n\r\n// ts-unused-exports:disable-next-line\r\nexport interface MirrorSharpDiagnostic {\r\n    readonly id: string;\r\n    readonly severity: MirrorSharpDiagnosticSeverity;\r\n    readonly message: string;\r\n}\r\n\r\n// ts-unused-exports:disable-next-line\r\nexport type MirrorSharpSlowUpdateResult<TExtensionData = void> = void extends TExtensionData ? {\r\n    readonly diagnostics: ReadonlyArray<MirrorSharpDiagnostic>\r\n} : {\r\n    readonly diagnostics: ReadonlyArray<MirrorSharpDiagnostic>;\r\n    readonly extensionResult: TExtensionData;\r\n};\r\n\r\n// ts-unused-exports:disable-next-line\r\nexport type MirrorSharpOptions<TExtensionServerOptions = void, TSlowUpdateExtensionData = void> = {\r\n    readonly serviceUrl: string;\r\n\r\n    readonly language?: MirrorSharpLanguage | undefined;\r\n    readonly theme?: MirrorSharpTheme | undefined;\r\n    readonly text?: string | undefined;\r\n    readonly cursorOffset?: number | undefined;\r\n\r\n    // See EditorOptions<TExtensionData>['on']. This is not DRY, but\r\n    // it's good to be explicit on what we are exporting.\r\n    readonly on?: {\r\n        readonly slowUpdateWait?: () => void;\r\n        readonly slowUpdateResult?: (result: MirrorSharpSlowUpdateResult<TSlowUpdateExtensionData>) => void;\r\n        readonly textChange?: (getText: () => string) => void;\r\n        readonly connectionChange?: (event: 'open' | 'loss') => void;\r\n        readonly serverError?: (message: string) => void;\r\n    } | undefined;\r\n\r\n    readonly disconnected?: boolean | undefined;\r\n    readonly serverOptions?: TExtensionServerOptions | undefined;\r\n\r\n    readonly codeMirror?: {\r\n        extensions?: ReadonlyArray<Extension>;\r\n        theme?: { [selector: string]: StyleSpec; }\r\n    }\r\n};\r\n\r\n// ts-unused-exports:disable-next-line\r\nexport interface MirrorSharpInstance<TExtensionServerOptions> {\r\n    getCodeMirrorView(): EditorView;\r\n    getRootElement(): Element;\r\n    getText(): string;\r\n    setText(text: string): void;\r\n    getCursorOffset(): number;\r\n    getLanguage(): MirrorSharpLanguage;\r\n    setLanguage(value: MirrorSharpLanguage): void;\r\n    setServerOptions(value: TExtensionServerOptions): void;\r\n    setTheme(value: MirrorSharpTheme): void;\r\n    setServiceUrl(url: string, options?: ({ disconnected?: boolean } | undefined)): void;\r\n    connect(): void;\r\n    destroy(): void;\r\n}\r\n\r\nconst ensureNoUnknownOptions = <T extends Record<string, never>>(keyPrefix: string, unknown: T) => {\r\n    let keys = Object.keys(unknown);\r\n    if (keyPrefix)\r\n        keys = keys.map(k => `${keyPrefix}.${k}`);\r\n    if (keys.length === 0)\r\n        return;\r\n\r\n    throw new Error(`Unknown option${keys.length > 1 ? 's' : ''}: '${keys.join(\"', '\")}'`);\r\n};\r\n\r\n// ts-unused-exports:disable-next-line\r\nexport\r\n// eslint-disable-next-line import/no-default-export\r\ndefault function mirrorsharp<TExtensionServerOptions = void, TSlowUpdateExtensionData = void>(\r\n    container: HTMLElement,\r\n    options: MirrorSharpOptions<TExtensionServerOptions, TSlowUpdateExtensionData>\r\n): MirrorSharpInstance<TExtensionServerOptions> {\r\n    const {\r\n        serviceUrl,\r\n        text,\r\n        cursorOffset,\r\n        language,\r\n        theme,\r\n        on,\r\n        disconnected,\r\n        serverOptions,\r\n        codeMirror,\r\n        ...rest\r\n    } = options;\r\n    ensureNoUnknownOptions('', rest);\r\n\r\n    const {\r\n        textChange,\r\n        connectionChange,\r\n        serverError,\r\n        slowUpdateWait,\r\n        slowUpdateResult,\r\n        ...onRest\r\n    } = on ?? {};\r\n    ensureNoUnknownOptions('on', onRest);\r\n\r\n    const {\r\n        extensions,\r\n        theme: themeSpec,\r\n        ...codeMirrorRest\r\n    } = codeMirror ?? {};\r\n    ensureNoUnknownOptions('codeMirror', codeMirrorRest);\r\n\r\n    const instance = createInstance<TExtensionServerOptions, TSlowUpdateExtensionData>(container, {\r\n        serviceUrl,\r\n        text,\r\n        cursorOffset,\r\n        language,\r\n        theme,\r\n        on: {\r\n            textChange,\r\n            connectionChange,\r\n            serverError,\r\n            slowUpdateWait,\r\n            slowUpdateResult\r\n        },\r\n        serverOptions,\r\n        disconnected,\r\n        codeMirror: {\r\n            extensions,\r\n            theme: themeSpec\r\n        }\r\n    });\r\n\r\n    return instance satisfies {\r\n        // blocks any unexpected members from being exported to public API\r\n        [K in Exclude<keyof typeof instance, keyof MirrorSharpInstance<unknown>>]: never\r\n    };\r\n}"
  },
  {
    "path": "WebAssets/src/protocol/connection.tests.ts",
    "content": "import { installMockSocket, MockSocket } from '../testing/shared/mock-socket';\r\nimport { TestDriver } from '../testing/test-driver-jest';\r\nimport { Connection } from './connection';\r\n\r\ntest('attempts to reopen socket if closed', async () => {\r\n    const driver = await TestDriver.new({});\r\n\r\n    driver.socket.close();\r\n    await driver.completeBackgroundWork();\r\n\r\n    expect(driver.socket.createdCount).toBe(2);\r\n});\r\n\r\ntest('does not attempt to reopen socket if explicitly closed', async () => {\r\n    const socket = installMockSocket(new MockSocket()).mock;\r\n    const connection = new Connection('_', { closed: false });\r\n\r\n    connection.close();\r\n    socket.close();\r\n\r\n    jest.advanceTimersByTime(1000);\r\n\r\n    expect(socket.createdCount).toBe(1);\r\n});\r\n\r\ntest('attempts to reopen socket at expected intervals', async () => {\r\n    const driver = await TestDriver.new({});\r\n\r\n    const retryIntervals = [] as Array<number>;\r\n    let last = {\r\n        createdCount: driver.socket.createdCount,\r\n        retryTime: 0\r\n    };\r\n\r\n    driver.socket.close();\r\n    let time = 0;\r\n    for (; time < 180; time += 1) {\r\n        jest.advanceTimersByTime(1000);\r\n        const { createdCount } = driver.socket;\r\n        if (createdCount > last.createdCount) {\r\n            retryIntervals.push(time - last.retryTime);\r\n            last = { createdCount, retryTime: time };\r\n        }\r\n        if (driver.socket.readyState === MockSocket.OPEN)\r\n            driver.socket.close();\r\n    }\r\n\r\n    expect(retryIntervals).toEqual([0, 1, 2, 4, 8, 16, 32, 60]);\r\n});"
  },
  {
    "path": "WebAssets/src/protocol/connection.ts",
    "content": "import { ensureDefined } from '../helpers/ensure-defined';\r\nimport type { Message, ServerOptions, ServerPosition } from './messages';\r\n\r\nconst stateCommandMap = { cancel: 'X', force: 'F' } as Readonly<{\r\n    cancel: 'X';\r\n    force: 'F';\r\n    [key: number]: undefined;\r\n}>;\r\n\r\nexport type ReplaceTextCommand = {\r\n    start: ServerPosition,\r\n    length: number,\r\n    newText: string,\r\n    cursorIndexAfter: ServerPosition,\r\n    reason?: string | null\r\n};\r\n\r\ntype HandlerMap<O, U> = {\r\n    open:    () => void,\r\n    message: (data: Message<O, U>) => void,\r\n    close:   () => void\r\n};\r\n\r\n// Defaults are 'unknown' rather than 'void', as it exists for internal convenience,\r\n// and we assume in most cases this is not 'void'. Anything public should have 'void' though.\r\nexport class Connection<TExtensionServerOptions = unknown, TSlowUpdateExtensionData = unknown> {\r\n    #url: string;\r\n\r\n    readonly #listeners = {\r\n        open:    [],\r\n        message: [],\r\n        close:   []\r\n    } as {\r\n        [K in keyof HandlerMap<TExtensionServerOptions, TSlowUpdateExtensionData>]:\r\n            Array<HandlerMap<TExtensionServerOptions, TSlowUpdateExtensionData>[K]>\r\n    };\r\n\r\n    #socket: WebSocket | undefined;\r\n\r\n    #manuallyClosed = false;\r\n\r\n    #reopenPeriod = 0;\r\n    #reopenTimer: ReturnType<typeof setTimeout> | undefined | null;\r\n    #reopenPeriodResetTimer: ReturnType<typeof setTimeout> | undefined | null;\r\n\r\n    readonly #removeInternalListeners: () => void;\r\n    #removeSocketListeners: (() => void) | undefined;\r\n\r\n    constructor(url: string, { closed }: { closed: boolean | undefined }) {\r\n        this.#url = url;\r\n        if (!closed)\r\n            this.open();\r\n\r\n        this.#removeInternalListeners = this.addEventListeners({\r\n            open: () => this.#resetReopenPeriod(),\r\n            close: () => this.#tryToReopen()\r\n        });\r\n    }\r\n\r\n    addEventListeners(listeners: Partial<HandlerMap<TExtensionServerOptions, TSlowUpdateExtensionData>>) {\r\n        const removeEach = [] as Array<() => void>;\r\n        for (const key in listeners) {\r\n            const list = this.#listeners[key as keyof typeof listeners];\r\n            // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n            const listener = listeners[key as keyof typeof listeners]!;\r\n\r\n            list.push(\r\n                // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n                listener as any\r\n            );\r\n            removeEach.push(() => {\r\n                // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-call\r\n                const index = list.indexOf(listener as any);\r\n                if (index >= 0)\r\n                    list.splice(index, 1);\r\n            });\r\n        }\r\n\r\n        return () => {\r\n            for (const remove of removeEach) {\r\n                remove();\r\n            }\r\n        };\r\n    }\r\n\r\n    open() {\r\n        this.#socket = new WebSocket(this.#url);\r\n        this.#removeSocketListeners = this.#addSocketListeners(this.#socket);\r\n    }\r\n\r\n    #addSocketListeners(socket: WebSocket) {\r\n        const on = {\r\n            open: () => {\r\n                for (const listener of this.#listeners['open']) {\r\n                    listener();\r\n                }\r\n            },\r\n            message: (e: MessageEvent) => {\r\n                const data = JSON.parse(e.data as string) as Message<TExtensionServerOptions, TSlowUpdateExtensionData>;\r\n                for (const listener of this.#listeners['message']) {\r\n                    listener(data);\r\n                }\r\n            },\r\n            close: () => {\r\n                for (const listener of this.#listeners['close']) {\r\n                    listener();\r\n                }\r\n            }\r\n        };\r\n        socket.addEventListener('open', on.open);\r\n        socket.addEventListener('message', on.message);\r\n        socket.addEventListener('close', on.close);\r\n\r\n        return () => {\r\n            socket.removeEventListener('open', on.open);\r\n            socket.removeEventListener('message', on.message);\r\n            socket.removeEventListener('close', on.close);\r\n        };\r\n    }\r\n\r\n    #resetReopenPeriod() {\r\n        this.#reopenPeriodResetTimer = setTimeout(() => { this.#reopenPeriod = 0; }, this.#reopenPeriod);\r\n    }\r\n\r\n    #tryToReopen() {\r\n        if (this.#manuallyClosed || this.#reopenTimer)\r\n            return;\r\n\r\n        if (this.#reopenPeriodResetTimer) {\r\n            clearTimeout(this.#reopenPeriodResetTimer);\r\n            this.#reopenPeriodResetTimer = null;\r\n        }\r\n\r\n        this.#reopenTimer = setTimeout(() => {\r\n            this.open();\r\n            this.#reopenTimer = null;\r\n        }, this.#reopenPeriod);\r\n\r\n        if (this.#reopenPeriod < 60000) {\r\n            this.#reopenPeriod = this.#reopenPeriod > 0\r\n                ? Math.min(2 * this.#reopenPeriod, 60000)\r\n                : 1000;\r\n            console.log('reopen period: ', this.#reopenPeriod);\r\n        }\r\n    }\r\n\r\n    async #sendIfOpen(command: string) {\r\n        if (this.#manuallyClosed)\r\n            throw `Cannot send command '${command}' after the close() call.`;\r\n\r\n        if (!this.isOpen()) {\r\n            // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\r\n            console.warn(`Dropped command '${command}' because the socket state is ${this.#socket?.readyState}.`);\r\n            return;\r\n        }\r\n\r\n        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n        this.#socket!.send(command);\r\n    }\r\n\r\n    isOpen() {\r\n        return this.#socket?.readyState === WebSocket.OPEN;\r\n    }\r\n\r\n    sendReplaceText({ start, length, cursorIndexAfter, newText, reason }: ReplaceTextCommand) {\r\n        return this.#sendIfOpen(\r\n            `R${start as unknown as number}:${length}:${cursorIndexAfter as unknown as number}:${reason ?? ''}:${newText}`\r\n        );\r\n    }\r\n\r\n    sendMoveCursor(cursorIndex: ServerPosition) {\r\n        return this.#sendIfOpen('M' + (cursorIndex as unknown as number));\r\n    }\r\n\r\n    sendTypeChar(char: string) {\r\n        return this.#sendIfOpen('C' + char);\r\n    }\r\n\r\n    sendCompletionState(indexOrCommand: 'info'|'force'|number|'cancel', indexIfInfo?: number) {\r\n        // common bug -- the specific flow is not fully clear yet,\r\n        // but there is no reason to send null/undefined to server if it will fail anyway\r\n        ensureDefined(indexOrCommand, 'completion command');\r\n        const argument = indexOrCommand !== 'info'\r\n            ? (stateCommandMap[indexOrCommand] ?? indexOrCommand)\r\n            : 'I' + ensureDefined(indexIfInfo, 'completion info index');\r\n        return this.#sendIfOpen('S' + argument);\r\n    }\r\n\r\n    sendSignatureHelpState(command: 'force'|'cancel') {\r\n        return this.#sendIfOpen('P' + stateCommandMap[command]);\r\n    }\r\n\r\n    sendRequestInfoTip(cursorIndex: ServerPosition) {\r\n        return this.#sendIfOpen('I' + (cursorIndex as unknown as number));\r\n    }\r\n\r\n    sendSlowUpdate() {\r\n        return this.#sendIfOpen('U');\r\n    }\r\n\r\n    sendApplyDiagnosticAction(actionId: number) {\r\n        return this.#sendIfOpen('F' + actionId);\r\n    }\r\n\r\n    sendSetOptions(options: Partial<ServerOptions> & Partial<TExtensionServerOptions>) {\r\n        const optionPairs = [];\r\n        for (const key in options) {\r\n            optionPairs.push(key + '=' + (options as Record<string, string>)[key]);\r\n        }\r\n        return this.#sendIfOpen('O' + optionPairs.join(','));\r\n    }\r\n\r\n    // hopefully just for SharpLab\r\n    setUrl(url: string, { closed }: { closed: boolean | undefined }) {\r\n        this.#removeSocketListeners?.();\r\n        if (this.isOpen()) {\r\n            // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n            this.#socket!.close();\r\n        }\r\n\r\n        if (this.#reopenTimer) {\r\n            clearTimeout(this.#reopenTimer);\r\n            this.#reopenTimer = null;\r\n        }\r\n\r\n        if (this.#reopenPeriodResetTimer) {\r\n            clearTimeout(this.#reopenPeriodResetTimer);\r\n            this.#reopenPeriodResetTimer = null;\r\n        }\r\n\r\n        this.#reopenPeriod = 0;\r\n        this.#url = url;\r\n        if (!closed)\r\n            this.open();\r\n    }\r\n\r\n    close() {\r\n        this.#manuallyClosed = true;\r\n        this.#removeInternalListeners();\r\n        this.#socket?.close();\r\n    }\r\n}"
  },
  {
    "path": "WebAssets/src/protocol/languages.ts",
    "content": "export const LANGUAGE_CSHARP = 'C#';\r\nexport const LANGUAGE_VB = 'Visual Basic';\r\nexport const LANGUAGE_FSHARP = 'F#';\r\nexport const LANGUAGE_PHP = 'PHP';\r\nexport const LANGUAGE_IL = 'IL';\r\n\r\nexport const LANGUAGE_DEFAULT = LANGUAGE_CSHARP;\r\n\r\nexport type Language = typeof LANGUAGE_CSHARP\r\n    | typeof LANGUAGE_VB\r\n    | typeof LANGUAGE_FSHARP\r\n    | typeof LANGUAGE_PHP\r\n    | typeof LANGUAGE_IL;"
  },
  {
    "path": "WebAssets/src/protocol/line-separator.ts",
    "content": "export const lineSeparator = '\\r\\n';"
  },
  {
    "path": "WebAssets/src/protocol/messages.ts",
    "content": "import type { Language } from './languages';\r\n\r\ndeclare const PositionSymbol: unique symbol;\r\nexport type ServerPosition = { [PositionSymbol]: never };\r\n\r\nexport type Message<TExtensionServerOptions, TSlowUpdateExtensionData> = ChangesMessage\r\n                    | CompletionsMessage\r\n                    | CompletionInfoMessage\r\n                    | SignaturesMessage\r\n                    | SignaturesEmptyMessage\r\n                    | InfotipMessage\r\n                    | InfotipEmptyMessage\r\n                    | SlowUpdateMessage<TSlowUpdateExtensionData>\r\n                    | OptionsEchoMessage<TExtensionServerOptions>\r\n                    | SelfDebugMessage\r\n                    | ErrorMessage\r\n                    | UnknownMessage;\r\n\r\n// ts-unused-exports:disable-next-line\r\nexport interface ChangesMessage {\r\n    readonly type: 'changes';\r\n    readonly changes: ReadonlyArray<ChangeData>;\r\n    readonly reason: 'completion'|'fix';\r\n}\r\n\r\nexport interface ChangeData {\r\n    readonly start: ServerPosition;\r\n    readonly length: number;\r\n    readonly text: string;\r\n}\r\n\r\nexport interface CompletionsMessage {\r\n    readonly type: 'completions';\r\n    readonly span: SpanData;\r\n    readonly completions: ReadonlyArray<CompletionItemData>;\r\n    readonly commitChars: string;\r\n    readonly suggestion?: CompletionSuggestionData;\r\n}\r\n\r\n// ts-unused-exports:disable-next-line\r\nexport interface CompletionSuggestionData {\r\n    readonly displayText: string;\r\n}\r\n\r\n// ts-unused-exports:disable-next-line\r\nexport interface CompletionItemData {\r\n    readonly displayText: string;\r\n    readonly kinds: ReadonlyArray<string>;\r\n    readonly filterText?: string;\r\n    readonly span?: SpanData;\r\n    readonly priority?: number;\r\n}\r\n\r\nexport interface CompletionInfoMessage {\r\n    readonly type: 'completionInfo';\r\n    readonly index: number;\r\n    readonly parts: ReadonlyArray<PartData>;\r\n}\r\n\r\nexport interface SignaturesMessage {\r\n    readonly type: 'signatures';\r\n    readonly span: SpanData;\r\n    readonly signatures: ReadonlyArray<SignatureData>;\r\n}\r\n\r\nexport interface SignaturesEmptyMessage {\r\n    readonly type: 'signatures';\r\n    readonly span?: undefined;\r\n    readonly signatures?: undefined;\r\n}\r\n\r\nexport interface SignatureData {\r\n    readonly parts: ReadonlyArray<SignaturePartData>;\r\n    readonly selected?: boolean;\r\n    readonly info?: SignatureInfoData;\r\n}\r\n\r\nexport interface SignatureInfoData {\r\n    readonly parts: ReadonlyArray<PartData>;\r\n    // normally represents the selected parameter\r\n    readonly parameter?: SignatureInfoParameterData;\r\n}\r\n\r\nexport interface SignatureInfoParameterData {\r\n    readonly name: string;\r\n    readonly parts: ReadonlyArray<PartData>;\r\n}\r\n\r\n// ts-unused-exports:disable-next-line\r\nexport interface SignaturePartData extends PartData {\r\n    readonly selected?: boolean;\r\n}\r\n\r\nexport interface InfotipMessage {\r\n    readonly type: 'infotip';\r\n    readonly span: SpanData;\r\n    readonly kinds: ReadonlyArray<string>;\r\n    readonly sections: ReadonlyArray<InfotipSectionData>;\r\n}\r\n\r\n// Temporary, investigate\r\n// ts-unused-exports:disable-next-line\r\nexport interface InfotipEmptyMessage {\r\n    readonly type: 'infotip';\r\n    readonly sections?: undefined;\r\n}\r\n\r\n// ts-unused-exports:disable-next-line\r\nexport interface InfotipSectionData {\r\n    readonly kind: string;\r\n    readonly parts: ReadonlyArray<PartData>;\r\n}\r\n\r\nexport interface SlowUpdateMessage<TExtensionData> {\r\n    readonly type: 'slowUpdate';\r\n    readonly diagnostics: ReadonlyArray<DiagnosticData>;\r\n    readonly x: TExtensionData;\r\n}\r\n\r\nexport interface DiagnosticData {\r\n    readonly id: string;\r\n    readonly span: SpanData;\r\n    readonly severity: DiagnosticSeverity;\r\n    readonly message: string;\r\n    readonly tags: ReadonlyArray<string>;\r\n    readonly actions?: ReadonlyArray<DiagnosticActionData>;\r\n}\r\n\r\nexport type DiagnosticSeverity = 'hidden' | 'warning' | 'error' | 'info';\r\n\r\nexport interface DiagnosticActionData {\r\n    readonly id: number;\r\n    readonly title: string;\r\n}\r\n\r\n// ts-unused-exports:disable-next-line\r\nexport interface OptionsEchoMessage<TExtensionServerOptions> {\r\n    readonly type: 'optionsEcho';\r\n    readonly options: ServerOptions & TExtensionServerOptions;\r\n}\r\n\r\nexport interface ServerOptions {\r\n    language: Language;\r\n}\r\n\r\n// Temporary, until self-debug is restored or removed\r\n// ts-unused-exports:disable-next-line\r\nexport interface SelfDebugMessage {\r\n    readonly type: 'self:debug';\r\n    readonly log: ReadonlyArray<SelfDebugLogEntryData>;\r\n}\r\n\r\n// Temporary, until self-debug is restored or removed\r\n// ts-unused-exports:disable-next-line\r\nexport interface SelfDebugLogEntryData {\r\n    readonly time: Date;\r\n    readonly event: string;\r\n    readonly message: string;\r\n    readonly text: string;\r\n    readonly cursor: number;\r\n}\r\n\r\nexport interface ErrorMessage {\r\n    readonly type: 'error';\r\n    readonly message: string;\r\n}\r\n\r\n// ts-unused-exports:disable-next-line\r\nexport interface UnknownMessage {\r\n    type: '_';\r\n}\r\n\r\nexport interface PartData {\r\n    readonly kind: string;\r\n    readonly text: string;\r\n}\r\n\r\n// ts-unused-exports:disable-next-line\r\nexport interface SpanData {\r\n    readonly start: ServerPosition;\r\n    readonly length: number;\r\n}"
  },
  {
    "path": "WebAssets/src/protocol/session.options.tests.ts",
    "content": "import { TestDriver } from '../testing/test-driver-jest';\r\n\r\ntest('does not send default options on connection open', async () => {\r\n    const driver = await TestDriver.new({\r\n        language: 'C#',\r\n        skipSocketOpen: true\r\n    });\r\n    driver.socket.open();\r\n    await driver.completeBackgroundWork();\r\n\r\n    expect(driver.socket.sent).toEqual([]);\r\n});\r\n\r\ntest('sends non-default language on connection open', async () => {\r\n    const driver = await TestDriver.new({\r\n        language: 'Visual Basic',\r\n        skipSocketOpen: true\r\n    });\r\n    driver.socket.open();\r\n    await driver.completeBackgroundWork();\r\n\r\n    expect(driver.socket.sent).toEqual(['Olanguage=Visual Basic']);\r\n});\r\n\r\ntest('re-sends non-default language on next connection open', async () => {\r\n    const driver = await TestDriver.new({\r\n        language: 'Visual Basic',\r\n        skipSocketOpen: true\r\n    });\r\n\r\n    driver.socket.open();\r\n    await driver.completeBackgroundWork();\r\n    driver.socket.sent = [];\r\n    driver.socket.open();\r\n    await driver.completeBackgroundWork();\r\n\r\n    expect(driver.socket.sent).toEqual(['Olanguage=Visual Basic']);\r\n});\r\n\r\ntest('always sends options before slow update', async () => {\r\n    const driver = await TestDriver.new({\r\n        text: 'test',\r\n        language: 'Visual Basic',\r\n        skipSocketOpen: true\r\n    });\r\n\r\n    await driver.advanceTimeToSlowUpdateAndCompleteWork();\r\n    driver.socket.open();\r\n    await driver.completeBackgroundWork();\r\n\r\n    expect(driver.socket.sent).toEqual([\r\n        'Olanguage=Visual Basic',\r\n        'R0:0:0::test',\r\n        'U'\r\n    ]);\r\n});\r\n\r\ntest('sends extended options on connection open', async () => {\r\n    const driver = await TestDriver.new({\r\n        serverOptions: { 'x-test': 'value' },\r\n        skipSocketOpen: true\r\n    });\r\n    driver.socket.open();\r\n    await driver.completeBackgroundWork();\r\n\r\n    expect(driver.socket.sent).toEqual(['Olanguage=C#,x-test=value']);\r\n});\r\n\r\n/*test('options echo without a language does not unset language', async () => {\r\n    const driver = await TestDriver.new({\r\n        options: { language: 'C#' }\r\n    });\r\n    driver.receive.optionsEcho({});\r\n\r\n    expect((driver.getCodeMirror().getMode() as { name: string }).name).toBe('clike');\r\n});\r\n\r\ntest('options echo without a language does not unset default language', async () => {\r\n    const driver = await TestDriver.new({});\r\n    driver.receive.optionsEcho({});\r\n\r\n    expect((driver.getCodeMirror().getMode() as { name: string }).name).toBe('clike');\r\n});*/\r\n\r\ntest('options echo without extended option does not unset extended option for next open', async () => {\r\n    const driver = await TestDriver.new({\r\n        serverOptions: { 'x-test': 'value' }\r\n    });\r\n    driver.receive.optionsEcho({});\r\n    driver.socket.open();\r\n    await driver.completeBackgroundWork();\r\n\r\n    expect(driver.socket.sent).toEqual(['Olanguage=C#,x-test=value']);\r\n});"
  },
  {
    "path": "WebAssets/src/protocol/session.slow-update.tests.ts",
    "content": "import { TestDriver } from '../testing/test-driver-jest';\r\n\r\ntest('slowUpdate is not sent if there is no initial text', async () => {\r\n    const driver = await TestDriver.new({\r\n        skipSocketOpen: true\r\n    });\r\n\r\n    driver.socket.open();\r\n    await driver.advanceTimeToSlowUpdateAndCompleteWork();\r\n\r\n    expect(driver.socket.sent).toEqual([]);\r\n});\r\n\r\ntest('slowUpdate is sent if there is initial text', async () => {\r\n    const driver = await TestDriver.new({\r\n        text: 'Test',\r\n        skipSocketOpen: true\r\n    });\r\n\r\n    driver.socket.open();\r\n    await driver.advanceTimeToSlowUpdateAndCompleteWork();\r\n\r\n    expect(driver.socket.sent).toEqual([\r\n        'R0:0:0::Test',\r\n        'U'\r\n    ]);\r\n});\r\n\r\ntest('slowUpdate is sent after initial text even if lint runs before connection is open', async () => {\r\n    const driver = await TestDriver.new({\r\n        text: 'Test',\r\n        skipSocketOpen: true\r\n    });\r\n\r\n    await driver.advanceTimeToSlowUpdateAndCompleteWork();\r\n    driver.socket.open();\r\n    await driver.advanceTimeToSlowUpdateAndCompleteWork();\r\n\r\n    expect(driver.socket.sent).toEqual([\r\n        'R0:0:0::Test',\r\n        'U'\r\n    ]);\r\n});\r\n\r\ntest('slowUpdate is sent if text is set after initial setup', async () => {\r\n    const driver = await TestDriver.new({\r\n        skipSocketOpen: true\r\n    });\r\n\r\n    driver.socket.open();\r\n    await driver.advanceTimeToSlowUpdateAndCompleteWork();\r\n\r\n    driver.dispatchCodeMirrorTransaction({ changes: { from: 0, insert: 'Test' } });\r\n    await driver.advanceTimeToSlowUpdateAndCompleteWork();\r\n\r\n    expect(driver.socket.sent).toEqual([\r\n        'R0:0:0::Test',\r\n        'U'\r\n    ]);\r\n});\r\n\r\ntest('slowUpdate is sent only once on reopen if connection is closed', async () => {\r\n    const driver = await TestDriver.new({\r\n        textWithCursor: 'a|',\r\n        skipSocketOpen: true\r\n    });\r\n\r\n    await driver.advanceTimeToSlowUpdateAndCompleteWork();\r\n    driver.text.type('b');\r\n    await driver.advanceTimeToSlowUpdateAndCompleteWork();\r\n    driver.text.type('c');\r\n    driver.socket.open();\r\n    await driver.advanceTimeToSlowUpdateAndCompleteWork();\r\n\r\n    const sent = driver.socket.sent;\r\n    expect(sent).toEqual([\r\n        ...(sent.slice(0, sent.length - 1).map(() => expect.not.stringMatching(/^U$/) as unknown)),\r\n        'U'\r\n    ]);\r\n});\r\n\r\n// test('slowUpdateWait is triggered on first change', async () => {\r\n//     const slowUpdateWait = jest.fn();\r\n//     const driver = await TestDriver.new({ options: { on: { slowUpdateWait } } });\r\n\r\n//     driver.keys.type('x');\r\n//     await driver.completeBackgroundWork();\r\n\r\n//     expect(slowUpdateWait.mock.calls).toEqual([[]]);\r\n// });"
  },
  {
    "path": "WebAssets/src/protocol/session.ts",
    "content": "import type { Connection, ReplaceTextCommand } from './connection';\r\nimport { LANGUAGE_DEFAULT } from './languages';\r\nimport type { DiagnosticSeverity, ErrorMessage, Message, ServerOptions, ServerPosition, SlowUpdateMessage } from './messages';\r\n\r\nconst UPDATE_PERIOD = 500;\r\n\r\ntype FullTextContext = {\r\n    readonly getText: () => string;\r\n    readonly getCursorIndex: () => ServerPosition;\r\n};\r\n\r\ntype SlowUpdateResultDiagnostic = {\r\n    readonly id: string;\r\n    readonly severity: DiagnosticSeverity;\r\n    readonly message: string;\r\n};\r\n\r\ntype SlowUpdateResult<TSlowUpdateExtensionData> = {\r\n    readonly diagnostics: ReadonlyArray<SlowUpdateResultDiagnostic>;\r\n    readonly extensionResult: TSlowUpdateExtensionData;\r\n};\r\n\r\nexport type SessionEventListeners<TSlowUpdateExtensionData> = {\r\n    readonly connectionChange: ((event: 'open' | 'loss') => void) | undefined;\r\n    readonly slowUpdateWait: (() => void) | undefined;\r\n    readonly slowUpdateResult: ((args: SlowUpdateResult<TSlowUpdateExtensionData>) => void) | undefined;\r\n    readonly serverError: ((message: string) => void) | undefined;\r\n};\r\n\r\n// Defaults are 'unknown' rather than 'void', as it exists for internal convenience,\r\n// and we assume in most cases this is not 'void'. Anything public should have 'void' though.\r\nexport class Session<TExtensionServerOptions = unknown, TSlowUpdateExtensionData = unknown> {\r\n    readonly #connection: Connection<TExtensionServerOptions, TSlowUpdateExtensionData>;\r\n    readonly #slowUpdateTimer: ReturnType<typeof setTimeout>;\r\n    readonly #removeConnectionEvents: () => void;\r\n    readonly #on: SessionEventListeners<TSlowUpdateExtensionData>;\r\n\r\n    #textSent = false;\r\n    #hadChangesSinceLastSlowUpdate = false;\r\n\r\n    #fullOptions: ServerOptions & Partial<TExtensionServerOptions>;\r\n    #fullTextContext?: FullTextContext;\r\n\r\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n    constructor(\r\n        connection: Connection<TExtensionServerOptions, TSlowUpdateExtensionData>,\r\n        serverOptions: ServerOptions & TExtensionServerOptions,\r\n        on: SessionEventListeners<TSlowUpdateExtensionData>\r\n    ) {\r\n        this.#connection = connection;\r\n        this.#removeConnectionEvents = connection.addEventListeners({\r\n            // eslint-disable-next-line @typescript-eslint/no-misused-promises\r\n            open: () => {\r\n                on.connectionChange?.('open');\r\n                this.#resendAllOnOpen();\r\n            },\r\n            message: e => this.#receiveMessage(e),\r\n            close: () => {\r\n                on.connectionChange?.('loss');\r\n            }\r\n        });\r\n        this.#on = on;\r\n        this.#slowUpdateTimer = setInterval(() => this.#requestSlowUpdate(), UPDATE_PERIOD);\r\n        this.#fullOptions = serverOptions;\r\n    }\r\n\r\n    #resendAllOnOpen() {\r\n        this.#textSent = false;\r\n        if (!this.#areFullOptionsDefault())\r\n            this.#sendSetOptions(this.#fullOptions);\r\n        if (this.#fullTextContext)\r\n            this.#sendFullText(this.#fullTextContext);\r\n        this.#requestSlowUpdate();\r\n    }\r\n\r\n    setOptions(options: Partial<ServerOptions> & Partial<TExtensionServerOptions>) {\r\n        this.#fullOptions = { ...this.#fullOptions, ...options };\r\n        if (this.#connection.isOpen()) {\r\n            this.#sendSetOptions(options);\r\n            this.#requestSlowUpdate();\r\n        }\r\n    }\r\n\r\n    #sendSetOptions(options: Partial<ServerOptions> & Partial<TExtensionServerOptions>) {\r\n        // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n        this.#connection.sendSetOptions(options);\r\n        this.#hadChangesSinceLastSlowUpdate = true;\r\n    }\r\n\r\n    #areFullOptionsDefault = () => {\r\n        const keys = Object.keys(this.#fullOptions);\r\n        return keys.length === 1\r\n            && keys[0] === 'language'\r\n            && this.#fullOptions.language === LANGUAGE_DEFAULT;\r\n    };\r\n\r\n    setFullText(context: FullTextContext) {\r\n        this.#fullTextContext = context;\r\n        if (this.#connection.isOpen())\r\n            this.#sendFullText(context);\r\n    }\r\n\r\n    #sendFullText({ getText, getCursorIndex }: FullTextContext) {\r\n        const text = getText();\r\n        if (text.length === 0)\r\n            return;\r\n\r\n        // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n        this.#connection.sendReplaceText({\r\n            start: 0 as unknown as ServerPosition,\r\n            length: 0,\r\n            newText: getText(),\r\n            cursorIndexAfter: getCursorIndex()\r\n        });\r\n        this.#textSent = true;\r\n        this.#hadChangesSinceLastSlowUpdate = true;\r\n    }\r\n\r\n    sendPartialText(command: ReplaceTextCommand) {\r\n        // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n        this.#connection.sendReplaceText(command);\r\n        this.#hadChangesSinceLastSlowUpdate = true;\r\n        this.#textSent = true;\r\n    }\r\n\r\n    sendTypeChar(char: string) {\r\n        // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n        this.#connection.sendTypeChar(char);\r\n        this.#hadChangesSinceLastSlowUpdate = true;\r\n        this.#textSent = true;\r\n    }\r\n\r\n    sendMoveCursor(cursorIndex: ServerPosition) {\r\n        // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n        this.#connection.sendMoveCursor(cursorIndex);\r\n    }\r\n\r\n    #requestSlowUpdate() {\r\n        if (!this.#connection.isOpen())\r\n            return;\r\n\r\n        if (!this.#hadChangesSinceLastSlowUpdate)\r\n            return;\r\n\r\n        if (!this.#textSent)\r\n            return;\r\n\r\n        this.#on.slowUpdateWait?.();\r\n        // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n        this.#connection.sendSlowUpdate();\r\n        this.#hadChangesSinceLastSlowUpdate = false;\r\n    }\r\n\r\n    #receiveSlowUpdate(message: SlowUpdateMessage<TSlowUpdateExtensionData>) {\r\n        if (!this.#on.slowUpdateResult)\r\n            return;\r\n\r\n        const diagnostics = message.diagnostics.map(\r\n            ({ id, message, severity }) => ({ id, message, severity })\r\n        );\r\n        this.#on.slowUpdateResult({\r\n            diagnostics,\r\n            extensionResult: message.x\r\n        });\r\n    }\r\n\r\n    #receiveServerError({ message }: ErrorMessage) {\r\n        if (!this.#on.serverError)\r\n            throw new Error(message);\r\n        this.#on.serverError(message);\r\n    }\r\n\r\n    #receiveMessage(message: Message<TExtensionServerOptions, TSlowUpdateExtensionData>) {\r\n        switch (message.type) {\r\n            case 'optionsEcho':\r\n                this.#fullOptions = { ...this.#fullOptions, ...message.options };\r\n                break;\r\n\r\n            case 'slowUpdate':\r\n                this.#receiveSlowUpdate(message);\r\n                break;\r\n\r\n            case 'error':\r\n                this.#receiveServerError(message);\r\n                break;\r\n        }\r\n    }\r\n\r\n    destroy() {\r\n        this.#removeConnectionEvents();\r\n        clearInterval(this.#slowUpdateTimer);\r\n    }\r\n}"
  },
  {
    "path": "WebAssets/src/testing/jest/jsdom.d.ts",
    "content": "declare namespace NodeJS  {\r\n    interface Global {\r\n        document: {\r\n            body: {\r\n                createTextRange: () => {\r\n                    getBoundingClientRect(): void;\r\n                    getClientRects(): [];\r\n                };\r\n            };\r\n\r\n            getSelection: () => {\r\n                readonly anchorNode: null;\r\n                readonly anchorOffset: 0;\r\n                readonly focusNode: null;\r\n                readonly focusOffset: 0;\r\n            };\r\n        };\r\n\r\n        WebSocket: () => Partial<WebSocket>;\r\n    }\r\n}"
  },
  {
    "path": "WebAssets/src/testing/jest/setup-jest.ts",
    "content": "import { toMatchImageSnapshot } from 'jest-image-snapshot';\r\n\r\nexpect.extend({ toMatchImageSnapshot });\r\n\r\njest.useFakeTimers();\r\njest.setTimeout(3 * 60 * 1000);"
  },
  {
    "path": "WebAssets/src/testing/jest/test-dom-events.ts",
    "content": "import type { EditorView } from '@codemirror/view';\r\n\r\nexport class TestDomEvents {\r\n    readonly #cmView: EditorView;\r\n\r\n    constructor(cmView: EditorView) {\r\n        this.#cmView = cmView;\r\n    }\r\n\r\n    keydown(key: string, other: Omit<KeyboardEventInit, 'key'> = {}) {\r\n        this.#cmView\r\n            .contentDOM\r\n            .dispatchEvent(new KeyboardEvent('keydown', { key, ...other }));\r\n    }\r\n\r\n    mousemove(target: Node) {\r\n        const event = new MouseEvent('mousemove', { bubbles: true });\r\n        // default does not apply fake timers due to global object differences\r\n        Object.defineProperty(event, 'timeStamp', { value: Date.now() });\r\n        target.dispatchEvent(event);\r\n    }\r\n\r\n    mouseover(selector: string) {\r\n        const target = this.#cmView.dom.querySelector(selector);\r\n        if (!target)\r\n            throw new Error(`Could not find element '${selector}'.`);\r\n        target.dispatchEvent(new MouseEvent('mouseover', { bubbles: true }));\r\n    }\r\n}"
  },
  {
    "path": "WebAssets/src/testing/jest/test-text.ts",
    "content": "import { Transaction } from '@codemirror/state';\r\nimport type { EditorView } from '@codemirror/view';\r\n\r\nexport class TestText {\r\n    readonly #cmView: EditorView;\r\n\r\n    constructor(cmView: EditorView) {\r\n        this.#cmView = cmView;\r\n    }\r\n\r\n    type(text: string) {\r\n        let cursorOffset = this.#cmView.state.selection.main.anchor;\r\n        for (const char of text) {\r\n            const newCursorOffset = cursorOffset + 1;\r\n            this.#cmView.dispatch(this.#cmView.state.update({\r\n                annotations: [Transaction.userEvent.of('input.type')],\r\n                changes: { from: cursorOffset, insert: char },\r\n                selection: { anchor: newCursorOffset }\r\n            }));\r\n            cursorOffset = newCursorOffset;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "WebAssets/src/testing/shared/mock-socket.ts",
    "content": "interface MockSocketMessageEvent {\r\n    readonly data: string;\r\n}\r\n\r\ntype MockSocketListenerMap = {\r\n    open: () => void;\r\n    message: (e: MockSocketMessageEvent) => void;\r\n    error: () => void;\r\n    close: () => void;\r\n};\r\n\r\nexport class MockSocketController {\r\n    readonly #listeners = {\r\n        open: [],\r\n        message: [],\r\n        error: [],\r\n        close: []\r\n    } as {\r\n        [K in keyof MockSocketListenerMap]: Array<MockSocketListenerMap[K]>\r\n    };\r\n\r\n    readyState = MockSocket.CONNECTING as (\r\n        typeof MockSocket.CONNECTING\r\n        | typeof MockSocket.OPEN\r\n        | typeof MockSocket.CLOSING\r\n        | typeof MockSocket.CLOSED\r\n    );\r\n\r\n    url?: string;\r\n    createdCount = 0;\r\n    sent = [] as Array<string>;\r\n\r\n    open({ asyncEvents }: { asyncEvents?: boolean | undefined } = {}) {\r\n        this.readyState = MockSocket.OPEN;\r\n\r\n        const triggerEvent = () => {\r\n            for (const listener of this.#listeners['open']) {\r\n                listener();\r\n            }\r\n        };\r\n        // Required when called from constructor, otherwise\r\n        // the event is triggered before the listener is added\r\n        if (asyncEvents) {\r\n            // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n            new Promise<void>(resolve => resolve())\r\n                .then(() => triggerEvent());\r\n        }\r\n        else {\r\n            triggerEvent();\r\n        }\r\n    }\r\n\r\n    receive(e: MockSocketMessageEvent) {\r\n        for (const listener of this.#listeners['message']) {\r\n            listener(e);\r\n        }\r\n    }\r\n\r\n    close() {\r\n        this.readyState = MockSocket.CLOSED;\r\n        for (const listener of this.#listeners['close']) {\r\n            listener();\r\n        }\r\n    }\r\n\r\n    addEventListener<TEvent extends keyof MockSocketListenerMap>(event: TEvent, listener: MockSocketListenerMap[TEvent]) {\r\n        this.#listeners[event].push(listener);\r\n    }\r\n\r\n    removeEventListener<TEvent extends keyof MockSocketListenerMap>(event: TEvent, listener: MockSocketListenerMap[TEvent]) {\r\n        const index = this.#listeners[event].indexOf(listener);\r\n        if (index > 0)\r\n            this.#listeners[event].splice(index, 1);\r\n    }\r\n}\r\n\r\nexport class MockSocket {\r\n    static readonly CONNECTING = 0;\r\n    static readonly OPEN = 1;\r\n    static readonly CLOSING = 2;\r\n    static readonly CLOSED = 3;\r\n\r\n    readonly mock = new MockSocketController();\r\n\r\n    get url() {\r\n        return this.mock.url;\r\n    }\r\n\r\n    get readyState() {\r\n        return this.mock.readyState;\r\n    }\r\n\r\n    send(message: string) {\r\n        this.mock.sent.push(message);\r\n    }\r\n\r\n    addEventListener<TEvent extends keyof MockSocketListenerMap>(event: TEvent, listener: MockSocketListenerMap[TEvent]) {\r\n        this.mock.addEventListener(event, listener);\r\n    }\r\n\r\n    removeEventListener<TEvent extends keyof MockSocketListenerMap>(event: TEvent, listener: MockSocketListenerMap[TEvent]) {\r\n        this.mock.removeEventListener(event, listener);\r\n    }\r\n\r\n    close() {\r\n        this.mock.close();\r\n    }\r\n}\r\n\r\nexport const installMockSocket = (socket: MockSocket, { manualOpen }: { manualOpen?: boolean | undefined } = {}) => {\r\n    if (globalThis.WebSocket instanceof MockSocket)\r\n        throw new Error(`Global WebSocket is already set up in this context.`);\r\n\r\n    // eslint-disable-next-line func-style\r\n    const WebSocket = function(url: string) {\r\n        socket.mock.url = url;\r\n        socket.mock.createdCount += 1;\r\n        if (!manualOpen && socket.readyState !== MockSocket.OPEN)\r\n            socket.mock.open({ asyncEvents: true });\r\n        return socket;\r\n    };\r\n    WebSocket.CONNECTING = MockSocket.CONNECTING;\r\n    WebSocket.OPEN = MockSocket.OPEN;\r\n    WebSocket.CLOSING = MockSocket.CLOSING;\r\n    WebSocket.CLOSED = MockSocket.CLOSED;\r\n\r\n    (globalThis as unknown as { WebSocket: (url: string) => Partial<WebSocket> }).WebSocket = WebSocket;\r\n    return socket;\r\n};"
  },
  {
    "path": "WebAssets/src/testing/shared/test-receiver.ts",
    "content": "import type { ChangeData, ChangesMessage, CompletionItemData, CompletionsMessage, DiagnosticData, InfotipMessage, Message, PartData, ServerOptions, ServerPosition, SignatureData, SignaturesEmptyMessage, SignaturesMessage, SpanData, UnknownMessage } from '../../protocol/messages';\r\nimport type { MockSocketController } from './mock-socket';\r\n\r\ntype SimplifyServerPosition<T> = {\r\n    [P in keyof T]:\r\n        T[P] extends ServerPosition ? (T[P] | number) :\r\n            (T[P] extends object ? SimplifyServerPosition<T[P]> :\r\n                (T[P] extends ReadonlyArray<infer U> ? ReadonlyArray<SimplifyServerPosition<U>> : T[P]));\r\n};\r\n\r\nexport class TestReceiver<TExtensionServerOptions, TSlowUpdateExtensionData> {\r\n    readonly #socket: MockSocketController;\r\n\r\n    constructor(socket: MockSocketController) {\r\n        this.#socket = socket;\r\n    }\r\n\r\n    changes(reason: ChangesMessage['reason'], changes: ReadonlyArray<SimplifyServerPosition<ChangeData>> = []) {\r\n        this.#message({ type: 'changes', changes: changes as ReadonlyArray<ChangeData>, reason });\r\n    }\r\n\r\n    optionsEcho(options: Partial<ServerOptions> & Partial<TExtensionServerOptions> = {}) {\r\n        this.#message({ type: 'optionsEcho', options: options as (ServerOptions & TExtensionServerOptions) });\r\n    }\r\n\r\n    /**\r\n     *\r\n    readonly span: SpanData;\r\n    readonly kinds: ReadonlyArray<string>;\r\n    readonly sections: ReadonlyArray<InfotipSectionData>;\r\n     */\r\n    infotip(args: SimplifyServerPosition<Omit<InfotipMessage, 'type'>>) {\r\n        this.#message({ type: 'infotip', ...(args as Omit<InfotipMessage, 'type'>) });\r\n    }\r\n\r\n    completions(\r\n        completions: ReadonlyArray<CompletionItemData> = [],\r\n        other: Partial<Omit<CompletionsMessage, 'completions'|'type'>> = {}\r\n    ) {\r\n        this.#message({\r\n            type: 'completions',\r\n            completions,\r\n            commitChars: '',\r\n            ...other\r\n        });\r\n    }\r\n\r\n    completionInfo(index: number, parts: ReadonlyArray<PartData>) {\r\n        this.#message({ type: 'completionInfo', index, parts });\r\n    }\r\n\r\n    signatures(signatures?: ReadonlyArray<SignatureData>, span?: SimplifyServerPosition<SpanData>) {\r\n        this.#message({ type: 'signatures', signatures, span } as SignaturesMessage | SignaturesEmptyMessage);\r\n    }\r\n\r\n    slowUpdate = ((diagnostics: ReadonlyArray<Partial<SimplifyServerPosition<DiagnosticData>>>, x?: TSlowUpdateExtensionData) => {\r\n        this.#message({\r\n            type: 'slowUpdate',\r\n            diagnostics: diagnostics\r\n                .map(d => ({ tags: [], ...d })) as Array<DiagnosticData>,\r\n            x\r\n        });\r\n    }) as void extends TSlowUpdateExtensionData\r\n        ? (diagnostics: ReadonlyArray<Partial<SimplifyServerPosition<DiagnosticData>>>) => void\r\n        : (diagnostics: ReadonlyArray<Partial<SimplifyServerPosition<DiagnosticData>>>, x?: TSlowUpdateExtensionData) => void;\r\n\r\n    error(message: string) {\r\n        this.#message({ type: 'error', message });\r\n    }\r\n\r\n    #message(message: Partial<Exclude<Message<TExtensionServerOptions, TSlowUpdateExtensionData>, UnknownMessage>>) {\r\n        this.#socket.receive({ data: JSON.stringify(message) });\r\n    }\r\n}"
  },
  {
    "path": "WebAssets/src/testing/storybook/browser-fake-timers.ts",
    "content": "import { install } from '@sinonjs/fake-timers';\r\nimport type { TestDriverTimers } from '../test-driver-base';\r\n\r\nconst clock = install();\r\n\r\nexport const timers: TestDriverTimers = {\r\n    setSystemTime(now?: number | Date): void {\r\n        clock.setSystemTime(now);\r\n    },\r\n\r\n    runOnlyPendingTimers() {\r\n        clock.runToLast();\r\n    },\r\n\r\n    advanceTimersByTime(msToRun: number) {\r\n        clock.tick(msToRun);\r\n    },\r\n\r\n    advanceTimersToNextTimer() {\r\n        throw new Error('Not implemented');\r\n    }\r\n};"
  },
  {
    "path": "WebAssets/src/testing/storybook/mock-socket-with-action-log.ts",
    "content": "import { action } from '@storybook/addon-actions';\r\nimport { MockSocket } from '../shared/mock-socket';\r\n\r\nexport class MockSocketWithActionLog extends MockSocket {\r\n    constructor() {\r\n        super();\r\n        this.addEventListener(\r\n            'message', e => action('receive')(JSON.parse(e.data))\r\n        );\r\n    }\r\n\r\n    override send(message: string): void {\r\n        action('send')(message);\r\n        super.send(message);\r\n    }\r\n}"
  },
  {
    "path": "WebAssets/src/testing/storybook/story-with-dark-theme.ts",
    "content": "import { THEME_DARK } from '../../main/theme';\r\nimport { TestDriver } from '../test-driver-storybook';\r\nimport type { TestDriverStory } from './test-driver-story';\r\n\r\nexport const storyWithDarkTheme = (story: TestDriverStory) => {\r\n    const darkStory: TestDriverStory = (...args) => story(...args);\r\n    if (story.loaders?.length !== 1)\r\n        throw new Error('Unsupported loader count');\r\n    darkStory.loaders = [\r\n        async (...args) => {\r\n            TestDriver.nextTheme = THEME_DARK;\r\n            // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n            const result = await story.loaders![0]!(...args);\r\n            TestDriver.nextTheme = null;\r\n            return result;\r\n        }\r\n    ];\r\n    darkStory.play = story.play;\r\n    return darkStory;\r\n};"
  },
  {
    "path": "WebAssets/src/testing/storybook/test-driver-story.ts",
    "content": "import type { Story } from '@storybook/html';\r\nimport type { TestDriver } from '../test-driver-storybook';\r\n\r\n// https://github.com/microsoft/TypeScript/issues/49656#issuecomment-1164655820\r\ntype BetterOmit<T, K extends keyof T> = { [P in keyof T as Exclude<P, K>]: T[P] }\r\n    & (T extends ((...args: infer TArgs) => infer TResult) ? (...args: TArgs) => TResult : object);\r\ntype PlayFunction = NonNullable<Story['play']>;\r\n\r\nexport type TestDriverStory = BetterOmit<Story, 'play'> & {\r\n    play?: (args: BetterOmit<Parameters<PlayFunction>[0], 'loaded'> & {\r\n        loaded: { driver: TestDriver };\r\n    }) => Promise<void>\r\n};\r\n\r\nexport const testDriverStory = (asyncStory: () => Promise<TestDriver>) => {\r\n    const story: Story = (_: unknown, { loaded: { driver } }) => {\r\n        return (driver as TestDriver).mirrorsharp.getRootElement();\r\n    };\r\n    story.loaders = [\r\n        async () => ({ driver: await asyncStory() })\r\n    ];\r\n    return story as TestDriverStory;\r\n};"
  },
  {
    "path": "WebAssets/src/testing/test-driver-base.ts",
    "content": "import { EditorState, Transaction, TransactionSpec } from '@codemirror/state';\r\nimport type { EditorView } from '@codemirror/view';\r\nimport mirrorsharp, { MirrorSharpOptions, MirrorSharpInstance } from '../mirrorsharp';\r\nimport { installMockSocket, MockSocket, MockSocketController } from './shared/mock-socket';\r\nimport { TestReceiver } from './shared/test-receiver';\r\n\r\nexport type TestDriverOptions<TExtensionServerOptions, TSlowUpdateExtensionData> = (object | { text: string; cursorOffset?: number } | { textWithCursor: string }) & {\r\n    skipSocketOpen?: boolean;\r\n} & Omit<Partial<MirrorSharpOptions<TExtensionServerOptions, TSlowUpdateExtensionData>>, 'text' | 'cursorOffset'>;\r\n\r\nexport type TestDriverTimers = {\r\n    runOnlyPendingTimers(): void;\r\n    advanceTimersByTime(ms: number): void;\r\n    advanceTimersToNextTimer(): void;\r\n    setSystemTime(now?: number | Date): void;\r\n};\r\n\r\nlet timers: TestDriverTimers;\r\nexport const setTimers = (value: TestDriverTimers) => timers = value;\r\n\r\nexport class TestDriverBase<TExtensionServerOptions = void, TSlowUpdateExtensionData = void> {\r\n    public readonly socket: MockSocketController;\r\n    public readonly mirrorsharp: MirrorSharpInstance<TExtensionServerOptions>;\r\n    public readonly receive: TestReceiver<TExtensionServerOptions, TSlowUpdateExtensionData>;\r\n    public codeMirrorTransactions: Array<Transaction> = [];\r\n\r\n    readonly #cmView: EditorView;\r\n\r\n    protected constructor(\r\n        socket: MockSocketController,\r\n        mirrorsharp: MirrorSharpInstance<TExtensionServerOptions>\r\n    ) {\r\n        const cmView = mirrorsharp.getCodeMirrorView();\r\n\r\n        this.socket = socket;\r\n        this.#cmView = cmView;\r\n        this.mirrorsharp = mirrorsharp;\r\n        this.receive = new TestReceiver(socket);\r\n    }\r\n\r\n    getCodeMirrorView() {\r\n        return this.#cmView;\r\n    }\r\n\r\n    getTextWithCursor() {\r\n        const text = this.mirrorsharp.getText();\r\n        const cursor = this.mirrorsharp.getCursorOffset();\r\n        return text.slice(0, cursor) + '|' + text.slice(cursor);\r\n    }\r\n\r\n    setTextWithCursor(value: string) {\r\n        const { text, cursorOffset } = parseTextWithCursor(value);\r\n        this.dispatchCodeMirrorTransaction({\r\n            changes: [{\r\n                from: 0,\r\n                to: this.#cmView.state.doc.length,\r\n                insert: text\r\n            }],\r\n            selection: { anchor: cursorOffset }\r\n        });\r\n    }\r\n\r\n    dispatchCodeMirrorTransaction(...specs: ReadonlyArray<TransactionSpec>) {\r\n        this.#cmView.dispatch(...specs);\r\n    }\r\n\r\n    async completeBackgroundWork() {\r\n        timers.runOnlyPendingTimers();\r\n        await new Promise<void>(resolve => resolve());\r\n        timers.runOnlyPendingTimers();\r\n    }\r\n\r\n    async completeBackgroundWorkAfterEach(...actions: ReadonlyArray<() => void>) {\r\n        for (const action of actions) {\r\n            action();\r\n            await this.completeBackgroundWork();\r\n        }\r\n    }\r\n\r\n    async advanceTimeToHoverAndCompleteWork() {\r\n        timers.advanceTimersByTime(500);\r\n        await this.completeBackgroundWork();\r\n    }\r\n\r\n    async advanceTimeToSlowUpdateAndCompleteWork() {\r\n        timers.advanceTimersByTime(1000);\r\n        timers.advanceTimersToNextTimer();\r\n        await this.completeBackgroundWork();\r\n    }\r\n\r\n    async ensureCompletionIsReadyForInteraction() {\r\n        await this.completeBackgroundWork();\r\n        timers.advanceTimersByTime(100);\r\n    }\r\n\r\n    protected static newMockSocket(): MockSocket {\r\n        return new MockSocket();\r\n    }\r\n\r\n    static async new<TExtensionServerOptions = void, TSlowUpdateExtensionData = void>(\r\n        options: TestDriverOptions<TExtensionServerOptions, TSlowUpdateExtensionData>\r\n    ) {\r\n        // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\r\n        if (!timers)\r\n            throw new Error('setTimers must be called before TestDriver instances can be created.');\r\n\r\n        const { skipSocketOpen, ...mirrorsharpOptions } = normalizeOptions(options);\r\n\r\n        const container = document.createElement('div');\r\n        document.body.appendChild(container);\r\n\r\n        const socket = this.newMockSocket();\r\n        installMockSocket(socket, { manualOpen: skipSocketOpen });\r\n\r\n        const extensions = [\r\n            ...(mirrorsharpOptions.codeMirror?.extensions ?? []),\r\n            EditorState.transactionFilter.of(t => {\r\n                driver.codeMirrorTransactions.push(t);\r\n                return t;\r\n            })\r\n        ];\r\n        const ms = mirrorsharp<TExtensionServerOptions, TSlowUpdateExtensionData>(container, {\r\n            ...mirrorsharpOptions,\r\n            codeMirror: {\r\n                ...(mirrorsharpOptions.codeMirror ?? {}),\r\n                extensions\r\n            },\r\n            // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n            serviceUrl: null!\r\n        });\r\n\r\n        const driver = new this<TExtensionServerOptions, TSlowUpdateExtensionData>(socket.mock, ms);\r\n\r\n        if (skipSocketOpen)\r\n            return driver;\r\n\r\n        await driver.completeBackgroundWork();\r\n\r\n        timers.runOnlyPendingTimers();\r\n        driver.socket.sent = [];\r\n        return driver;\r\n    }\r\n}\r\n\r\nconst normalizeOptions = <O, U>(options: TestDriverOptions<O, U>) => {\r\n    if ('textWithCursor' in options) {\r\n        const { textWithCursor, ...rest } = options;\r\n        const { text, cursorOffset } = parseTextWithCursor(textWithCursor);\r\n        return { ...rest, text, cursorOffset };\r\n    }\r\n\r\n    return options;\r\n};\r\n\r\nconst parseTextWithCursor = (value: string) => ({\r\n    text: value.replace('|', ''),\r\n    cursorOffset: value.indexOf('|')\r\n});\r\n\r\nexport type TestDriverConstructorArguments<TExtensionServerOptions> = [\r\n    MockSocketController,\r\n    MirrorSharpInstance<TExtensionServerOptions>\r\n];"
  },
  {
    "path": "WebAssets/src/testing/test-driver-jest.ts",
    "content": "import { TestDomEvents } from './jest/test-dom-events';\r\nimport { TestText } from './jest/test-text';\r\nimport { TestDriverBase, TestDriverConstructorArguments, TestDriverOptions, setTimers } from './test-driver-base';\r\n\r\n(() => {\r\n    // clean JSDOM between tests\r\n    const emptyHTML = document.body.innerHTML;\r\n    afterEach(() => document.body.innerHTML = emptyHTML);\r\n})();\r\n\r\nRange.prototype.getBoundingClientRect = () => ({}) as unknown as DOMRect;\r\nRange.prototype.getClientRects = () => [{}] as unknown as DOMRectList;\r\n\r\nexport const timers = setTimers(jest);\r\n\r\nexport class TestDriver<TExtensionServerOptions = void, TSlowUpdateExtensionData = void>\r\n    extends TestDriverBase<TExtensionServerOptions, TSlowUpdateExtensionData>\r\n// eslint-disable-next-line @typescript-eslint/brace-style\r\n{\r\n    public readonly text: TestText;\r\n    public readonly domEvents: TestDomEvents;\r\n\r\n    private constructor(...args: TestDriverConstructorArguments<TExtensionServerOptions>) {\r\n        super(...args);\r\n\r\n        const cmView = this.getCodeMirrorView();\r\n        this.text = new TestText(cmView);\r\n        this.domEvents = new TestDomEvents(cmView);\r\n    }\r\n\r\n    static override async new<TExtensionServerOptions = void, TSlowUpdateExtensionData = void>(\r\n        options: TestDriverOptions<TExtensionServerOptions, TSlowUpdateExtensionData>\r\n    ) {\r\n        return (await super.new(options)) as TestDriver<TExtensionServerOptions, TSlowUpdateExtensionData>;\r\n    }\r\n}\r\n\r\nlet savedWebSocket: (typeof globalThis.WebSocket)|undefined;\r\nbeforeEach(() => {\r\n    savedWebSocket = globalThis.WebSocket;\r\n});\r\n\r\nafterEach(() => {\r\n    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n    globalThis.WebSocket = savedWebSocket!;\r\n});"
  },
  {
    "path": "WebAssets/src/testing/test-driver-storybook.ts",
    "content": "import type { Theme } from '../main/theme';\r\nimport { timers } from './storybook/browser-fake-timers';\r\nimport { MockSocketWithActionLog } from './storybook/mock-socket-with-action-log';\r\nimport { setTimers, TestDriverBase, TestDriverConstructorArguments, TestDriverOptions } from './test-driver-base';\r\n\r\nsetTimers(timers);\r\nexport class TestDriver<TExtensionServerOptions = void, TSlowUpdateExtensionData = void>\r\n    extends TestDriverBase<TExtensionServerOptions, TSlowUpdateExtensionData> {\r\n    static nextTheme?: Theme | null;\r\n    #windowListenersToRemoveWhenDisablingEvents = [] as Array<{\r\n        type: string;\r\n        listener: EventListenerOrEventListenerObject;\r\n    }>;\r\n\r\n    private constructor(...args: TestDriverConstructorArguments<TExtensionServerOptions>) {\r\n        super(...args);\r\n\r\n        const savedAddEventListener = window.addEventListener;\r\n        window.addEventListener = (...args: Parameters<typeof window.addEventListener>) => {\r\n            const [type, listener] = args;\r\n            savedAddEventListener(...args);\r\n            this.#windowListenersToRemoveWhenDisablingEvents.push({ type, listener });\r\n        };\r\n    }\r\n\r\n    protected static override newMockSocket() {\r\n        return new MockSocketWithActionLog();\r\n    }\r\n\r\n    static override async new<TExtensionServerOptions = void, TSlowUpdateExtensionData = void>(\r\n        options: TestDriverOptions<TExtensionServerOptions, TSlowUpdateExtensionData>\r\n    ) {\r\n        if (this.nextTheme) {\r\n            if (options.theme)\r\n                throw new Error('Cannot have both options.theme and nextTheme set');\r\n            options = { ...options, theme: this.nextTheme };\r\n        }\r\n\r\n        return await super.new(options) as TestDriver<TExtensionServerOptions, TSlowUpdateExtensionData>;\r\n    }\r\n\r\n    disableAllFurtherInteractionEvents() {\r\n        this.getCodeMirrorView().dom.style.pointerEvents = 'none';\r\n        for (const { type, listener } of this.#windowListenersToRemoveWhenDisablingEvents) {\r\n            window.removeEventListener(type, listener);\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "WebAssets/src/tsconfig.build.json",
    "content": "{\r\n    \"extends\": \"./tsconfig.json\",\r\n    \"include\": [],\r\n    \"files\": [\r\n        \"mirrorsharp.ts\"\r\n    ],\r\n    \"compilerOptions\": {\r\n        \"module\": \"ES2015\",\r\n        \"noEmit\": false,\r\n        \"declaration\": true\r\n    }\r\n}"
  },
  {
    "path": "WebAssets/src/tsconfig.json",
    "content": "{\r\n    \"include\": [\r\n        \".\"\r\n    ],\r\n    \"compilerOptions\": {\r\n        \"target\": \"ESNext\",\r\n\r\n        \"moduleResolution\": \"node\",\r\n        \"esModuleInterop\": true,\r\n        \"allowSyntheticDefaultImports\": true,\r\n\r\n        \"strict\": true,\r\n        \"importsNotUsedAsValues\": \"error\",\r\n        \"noImplicitOverride\": true,\r\n        \"noImplicitReturns\": true,\r\n        \"noPropertyAccessFromIndexSignature\": true,\r\n        \"noUncheckedIndexedAccess\": true,\r\n\r\n        \"noEmit\": true,\r\n    }\r\n}"
  },
  {
    "path": "WebAssets/src/tsconfig.storybook.json",
    "content": "{\r\n    \"extends\": \"./tsconfig.json\",\r\n    \"include\": [],\r\n    \"files\": [\r\n        \"mirrorsharp.ts\"\r\n    ],\r\n    \"compilerOptions\": {\r\n        \"noEmit\": false\r\n    }\r\n}"
  },
  {
    "path": "WebAssets/tsconfig.json",
    "content": "{\r\n    \"include\": [\r\n        \"build.ts\",\r\n        \"build\"\r\n    ],\r\n    \"compilerOptions\": {\r\n        \"target\": \"ESNext\",\r\n\r\n        \"moduleResolution\": \"node\",\r\n        \"module\": \"ES2022\",\r\n        \"esModuleInterop\": true,\r\n        \"allowSyntheticDefaultImports\": true,\r\n\r\n        \"strict\": true,\r\n        \"noImplicitOverride\": true,\r\n        \"importsNotUsedAsValues\": \"error\",\r\n        \"noImplicitReturns\": true,\r\n        \"noPropertyAccessFromIndexSignature\": true,\r\n        \"noUncheckedIndexedAccess\": true,\r\n\r\n        \"noEmit\": true\r\n    }\r\n}"
  },
  {
    "path": "ms.bat",
    "content": "@powershell -File \"#scripts/%1.ps1\" %2 %3 %4 %5"
  },
  {
    "path": "tye.yaml",
    "content": "name: mirrorsharp\r\nservices:\r\n- name: webassets\r\n  executable: pwsh\r\n  args: -Command \"npm run watch\"\r\n  workingDirectory: WebAssets\r\n\r\n- name: aspnetcore-demo-assets  \r\n  executable: pwsh\r\n  args: -Command \"npm run watch\"\r\n  workingDirectory: AspNetCore.Demo.Net6\r\n\r\n- name: aspnetcore-demo-dotnet\r\n  project: AspNetCore.Demo.Net6/AspNetCore.Demo.Net6.csproj\r\n  bindings:\r\n  - protocol: http\r\n"
  }
]