[
  {
    "path": ".gitignore",
    "content": ".vs"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2019 scale-tone\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "***\n   # THIS PROJECT HAS MOVED TO https://github.com/microsoft/DurableFunctionsMonitor \n***\n\n\n![logo](https://raw.githubusercontent.com/scale-tone/DurableFunctionsMonitor/master/readme/screenshots/main-page.png) \n# Durable Functions Monitor\n\nA monitoring/debugging UI tool for Azure Durable Functions\n\n[Azure Durable Functions](https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-overview) provide an easy and elegant way of building cloud-native Reliable Stateful Services in the Serverless world. The only thing that's missing so far is a UI for monitoring, managing and debugging your orchestration instances. This project tries to bridge the gap.\n\n[<img alt=\"Nuget\" src=\"https://img.shields.io/nuget/v/DurableFunctionsMonitor.DotNetBackend?label=current%20version\">](https://www.nuget.org/profiles/durablefunctionsmonitor)  <img src=\"https://dev.azure.com/kolepes/DurableFunctionsMonitor/_apis/build/status/DurableFunctionsMonitor-CI-from-yml?branchName=master\"/> <img alt=\"GitHub Repo stars\" src=\"https://img.shields.io/github/stars/scale-tone/DurableFunctionsMonitor?style=flat\">\n\n[<img alt=\"Visual Studio Marketplace Installs\" src=\"https://img.shields.io/visual-studio-marketplace/i/DurableFunctionsMonitor.DurableFunctionsMonitor?label=VsCode%20Extension%20Installs\">](https://marketplace.visualstudio.com/items?itemName=DurableFunctionsMonitor.durablefunctionsmonitor) [<img src=\"https://img.shields.io/docker/pulls/scaletone/durablefunctionsmonitor\"/>](https://hub.docker.com/r/scaletone/durablefunctionsmonitor) [<img alt=\"Nuget\" src=\"https://img.shields.io/nuget/dt/DurableFunctionsMonitor.DotNetBackend?label=nuget%20downloads\">](https://www.nuget.org/profiles/durablefunctionsmonitor)\n\n# Prerequisites\nTo run this on your devbox you need to have [Azure Functions Core Tools](https://www.npmjs.com/package/azure-functions-core-tools) **globally** installed (which is normally already the case, if you're working with Azure Functions - just ensure that you have the latest version of it).\n\n**OR**\n\n[Docker Desktop](https://www.docker.com/products/docker-desktop), if you prefer to run it locally [as a container](https://hub.docker.com/r/scaletone/durablefunctionsmonitor).\n\n# How to run\n\nAs a [VsCode Extension](https://github.com/scale-tone/DurableFunctionsMonitor/blob/master/durablefunctionsmonitor-vscodeext/README.md#durable-functions-monitor-as-a-vscode-extension).\n* Install it [from the Marketplace](https://marketplace.visualstudio.com/items?itemName=DurableFunctionsMonitor.durablefunctionsmonitor) or from [a VSIX-file](https://github.com/scale-tone/DurableFunctionsMonitor/releases).\n* (if you have [Azure Functions](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurefunctions) extension also installed) Goto **Azure Functions** <img src=\"https://raw.githubusercontent.com/scale-tone/DurableFunctionsMonitor/master/readme/screenshots/vscodeext-functions-view-container-icon.png\" width=\"32\"> View Container, observe all your TaskHubs under **DURABLE FUNCTIONS** tab and click on them to connect.\n* (if not) Type `Durable Functions Monitor` in your Command Palette and then confirm or provide Storage Connection String and Hub Name.\n\n**OR**\n\n[As a standalone service](https://github.com/scale-tone/DurableFunctionsMonitor/blob/master/durablefunctionsmonitor.dotnetbackend/README.md#durablefunctionsmonitordotnetbackend), either running locally on your devbox or deployed into Azure: [![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fscale-tone%2FDurableFunctionsMonitor%2Fmaster%2Fdurablefunctionsmonitor.dotnetbackend%2Farm-template.json) \n\n**OR**\n\n[Install it as a NuGet package](https://www.nuget.org/packages/DurableFunctionsMonitor.DotNetBackend) into your own Functions project (.Net Core only).\n\n# Features\n## 1. View the list of your Orchestrations and/or Durable Entities, with sorting, infinite scrolling and auto-refresh:\n<img src=\"https://raw.githubusercontent.com/scale-tone/DurableFunctionsMonitor/master/readme/screenshots/orchestrations.png\" width=\"882\">\n\n## 2. Filter by time range and column values:\n<img src=\"https://raw.githubusercontent.com/scale-tone/DurableFunctionsMonitor/master/readme/screenshots/orchestrations-filtered.png\" width=\"882\">\n\n## 3. Visualize the filtered list of instances as a Time Histogram or as a Gantt chart:\n<img src=\"https://github.com/scale-tone/DurableFunctionsMonitor/blob/master/readme/screenshots/time-histogram.png\" width=\"700\">\n\n## 4. Start new orchestration instances:\n<img width=\"300px\" src=\"https://user-images.githubusercontent.com/5447190/131139060-eb06ef4d-2cc2-48ff-932c-c227f28f1f36.png\"/>\n<img width=\"300px\" src=\"https://user-images.githubusercontent.com/5447190/130657962-c1c32575-c82c-4e29-ad88-3951eb821fe8.png\"/>\n<img width=\"500px\" src=\"https://user-images.githubusercontent.com/5447190/130658737-e51e259d-e7ec-43a2-902b-79907936fb82.png\"/>\n\n## 5. Monitor the status of a certain instance:\n<img src=\"https://raw.githubusercontent.com/scale-tone/DurableFunctionsMonitor/master/readme/screenshots/orchestration-details.png\" width=\"882\">\n\n## 6. Quickly navigate to a certain instance by its ID:\n<img src=\"https://raw.githubusercontent.com/scale-tone/DurableFunctionsMonitor/master/readme/screenshots/goto-instance.png\" width=\"400\">\n\n## 7. Observe Sequence Diagrams and Gantt Charts for orchestrations:\n<img src=\"https://raw.githubusercontent.com/scale-tone/DurableFunctionsMonitor/master/readme/screenshots/vscodeext-orchestration-diagram.png\" width=\"400\">\n<img src=\"https://raw.githubusercontent.com/scale-tone/DurableFunctionsMonitor/master/readme/screenshots/gantt-chart.png\" width=\"650\">\n\n## 8. Restart, Purge, Rewind, Terminate, Raise Events, Set Custom Status:\n<img src=\"https://raw.githubusercontent.com/scale-tone/DurableFunctionsMonitor/master/readme/screenshots/orchestration-raise-event.png\" width=\"440\">\n\n## 9. Purge Orchestration/Entity instances history:\n<img src=\"https://raw.githubusercontent.com/scale-tone/DurableFunctionsMonitor/master/readme/screenshots/purge-history-menu.png\" width=\"390\">\n<img src=\"https://raw.githubusercontent.com/scale-tone/DurableFunctionsMonitor/master/readme/screenshots/purge-history-dialog.png\" width=\"683\">\n\n## 10. Clean deleted Durable Entities:\n<img src=\"https://raw.githubusercontent.com/scale-tone/DurableFunctionsMonitor/master/readme/screenshots/clean-entity-storage-menu.png\" width=\"390\">\n<img src=\"https://raw.githubusercontent.com/scale-tone/DurableFunctionsMonitor/master/readme/screenshots/clean-entity-storage-dialog.png\" width=\"580\">\n\n## 11. Create custom Orchestration/Entity status tabs with [Liquid Templates](https://shopify.github.io/liquid/):\n  1. Create a [Liquid](https://shopify.github.io/liquid/) template file and name it like `[My Custom Tab Name].[orchestration-or-entity-name].liquid` or just `[My Custom Tab Name].liquid` (this one will be applied to any kind of entity).\n  2. In the same Storage Account (the account where your Durable Functions run in) create a Blob container called `durable-functions-monitor`.\n  3. Put your template file into a `tab-templates` virtual folder in that container (the full path should look like `/durable-functions-monitor/tab-templates/[My Custom Tab Name].[orchestration-or-entity-name].liquid`).\n  4. Restart Durable Functions Monitor.\n  5. Observe the newly appeared `My Custom Tab Name` tab on the Orchestration/Entity Details page:\n  \n  <img src=\"https://raw.githubusercontent.com/scale-tone/DurableFunctionsMonitor/master/readme/screenshots/custom-liquid-tab.png\" width=\"390\">\n  \n   Sample Liquid Template:\n   ```\n    <h2>These people were invited:</h2>\n    <ul>\n    {% for participant in Input.Participants %}\n      <li><h3>{{participant}}<h3></li>\n    {% endfor %}\n    </ul>  \n   ```\n  \n   You can have multiple templates for each Orchestration/Entity type, and also multiple 'common' (applied to any Orchestration/Entity) templates.\n   Here is [a couple](https://gist.github.com/scale-tone/13956ec804a70f5f66200c6ec97db673) [of more](https://github.com/scale-tone/repka-durable-func/blob/master/Repka%20Status.the-saga-of-repka.liquid) sample templates.\n   \n   NOTE1: [this .Net object](https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.webjobs.extensions.durabletask.durableorchestrationstatus?view=azure-dotnet) is passed to your templates as a parameter. Mind the property names and their casing.\n   \n   NOTE2: code inside your templates is still subject to these [Content Security Policies](https://github.com/scale-tone/DurableFunctionsMonitor/blob/master/durablefunctionsmonitor.react/public/index.html#L8), so no external scripts, sorry.\n\n## 12. Connect to different Durable Function Hubs and Azure Storage Accounts:\n<img src=\"https://raw.githubusercontent.com/scale-tone/DurableFunctionsMonitor/master/readme/screenshots/manage-connection.png\" width=\"609\">\n\n## 13. Monitor non-default Storage Providers (Netherite, Microsoft SQL, etc.):\n  \n  For that you can use Durable Functions Monitor in 'injected' mode, aka added as a [NuGet package](https://www.nuget.org/profiles/durablefunctionsmonitor) to *your* project.\n  \n  1. Create a .Net Core Function App project, that is [configured to use an alternative Storage Provider](https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-storage-providers#azure-storage) and make sure it compiles and starts.\n  2. Add [DurableFunctionsMonitor.DotNetBackend](https://www.nuget.org/profiles/durablefunctionsmonitor) package to it:\n   ```\n    dotnet add package DurableFunctionsMonitor.DotNetBackend\n   ```\n  \n  4. Add mandatory initialization code, that needs to run at your Function's startup:\n   ```\n[assembly: WebJobsStartup(typeof(StartupNs.Startup))]\nnamespace StartupNs \n{\n     public class Startup : IWebJobsStartup\n     {\n        public void Configure(IWebJobsBuilder builder)\n        {\n           DfmEndpoint.Setup();\n        }\n     }\n}\n   ```\n  \n   Find more details on programmatic configuration options in the [package readme](https://www.nuget.org/packages/DurableFunctionsMonitor.DotNetBackend/).\n    \n  6. Run the project:\n   ```\n    func start\n   ```\n    \n  8. Navigate to `http://localhost:7071/api`. \n    You can customize the endpoint address as needed, as described [here](https://www.nuget.org/packages/DurableFunctionsMonitor.DotNetBackend/).\n\n## 14. Visualize your Azure Function projects in form of an interactive graph: \n  \n  This functionality is powered by [az-func-as-a-graph](https://github.com/scale-tone/az-func-as-a-graph/blob/main/README.md) tool, but now it is also fully integrated into Durable Functions Monitor:\n  ![image](https://user-images.githubusercontent.com/5447190/127571400-f83c7f96-55bc-4714-8323-04d26f3be74f.png)\n\nWhen running Durable Functions Monitor as [VsCode Extension](https://marketplace.visualstudio.com/items?itemName=DurableFunctionsMonitor.durablefunctionsmonitor), the **Functions Graph** tab should appear automatically, once you have the relevant Functions project opened.\n\nWhen running in [standalone/injected mode](https://github.com/scale-tone/DurableFunctionsMonitor/tree/master/durablefunctionsmonitor.dotnetbackend#how-to-run) you'll need to generate and upload an intermediate Functions Map JSON file. \n1. Generate it with [az-func-as-a-graph CLI](https://github.com/scale-tone/az-func-as-a-graph/blob/main/README.md#how-to-run-as-part-of-azure-devops-build-pipeline). Specify `dfm-func-map.<my-task-hub-name>.json` (will be applied to that particular Task Hub only) or just `dfm-func-map.json` (will be applied to all Task Hubs) as the output name.\n2. Upload this generated JSON file to `function-maps` virtual folder inside `durable-functions-monitor` BLOB container in the underlying Storage Account (the full path should look like `/durable-functions-monitor/function-maps/dfm-func-map.<my-task-hub-name>.json`).\n3. Restart Durable Functions Monitor.\n4. Observe the newly appeared **Functions Graph** tab.\n"
  },
  {
    "path": "azure-pipelines.yml",
    "content": "pool:\n  name: Azure Pipelines\n  vmImage: 'ubuntu-18.04'\n  demands: npm\n\nsteps:\n- task: Npm@1\n  displayName: 'npm install durablefunctionsmonitor.react'\n  inputs:\n    workingDir: durablefunctionsmonitor.react\n    verbose: false\n\n- task: Npm@1\n  displayName: 'npm build durablefunctionsmonitor.react'\n  inputs:\n    command: custom\n    workingDir: durablefunctionsmonitor.react\n    verbose: false\n    customCommand: 'run build'\n\n- task: CopyFiles@2\n  displayName: 'copy statics to durablefunctionsmonitor.dotnetbackend/DfmStatics'\n  inputs:\n    SourceFolder: durablefunctionsmonitor.react/build\n    Contents: |\n     static/**\n     index.html\n     favicon.png\n     logo.svg\n     service-worker.js\n     manifest.json\n    TargetFolder: durablefunctionsmonitor.dotnetbackend/DfmStatics\n    CleanTargetFolder: true\n\n- task: CopyFiles@2\n  displayName: 'copy durablefunctionsmonitor.dotnetbackend to ArtifactStagingDirectory'\n  inputs:\n    SourceFolder: durablefunctionsmonitor.dotnetbackend\n    TargetFolder: '$(Build.ArtifactStagingDirectory)/durablefunctionsmonitor.dotnetbackend'\n    OverWrite: true\n\n- task: DotNetCoreCLI@2\n  displayName: 'dotnet test tests/durablefunctionsmonitor.dotnetbackend.tests'\n  inputs:\n    command: 'test'\n    projects: 'tests/durablefunctionsmonitor.dotnetbackend.tests/*.csproj'\n\n- task: DotNetCoreCLI@2\n  displayName: 'dotnet publish durablefunctionsmonitor.dotnetbackend'\n  inputs:\n    command: publish\n    publishWebProjects: false\n    projects: durablefunctionsmonitor.dotnetbackend\n    arguments: '--output $(Build.ArtifactStagingDirectory)/output'\n    zipAfterPublish: false\n    modifyOutputPath: false\n\n- task: CopyFiles@2\n  displayName: 'copy dotnetbackend to durablefunctionsmonitor-vscodeext/backend'\n  inputs:\n    SourceFolder: '$(Build.ArtifactStagingDirectory)/output'\n    Contents: |\n     **\n     !logo.svg\n    TargetFolder: 'durablefunctionsmonitor-vscodeext/backend'\n    CleanTargetFolder: true\n\n- task: CopyFiles@2\n  displayName: 'copy custom-backends to durablefunctionsmonitor-vscodeext/custom-backends'\n  inputs:\n    SourceFolder: 'custom-backends'\n    Contents: |\n     **\n     !*.md\n    TargetFolder: 'durablefunctionsmonitor-vscodeext/custom-backends'\n    CleanTargetFolder: true\n\n- task: Npm@1\n  displayName: 'npm install durablefunctionsmonitor-vscodeext'\n  inputs:\n    workingDir: 'durablefunctionsmonitor-vscodeext'\n    verbose: false\n\n- task: Npm@1\n  displayName: 'package durablefunctionsmonitor-vscodeext to VSIX-file'\n  inputs:\n    command: custom\n    workingDir: 'durablefunctionsmonitor-vscodeext'\n    verbose: false\n    customCommand: 'run package'\n\n- task: CopyFiles@2\n  displayName: 'copy VSIX-file to ArtifactStagingDirectory'\n  inputs:\n    SourceFolder: 'durablefunctionsmonitor-vscodeext'\n    Contents: 'durablefunctionsmonitor*.vsix'\n    TargetFolder: '$(Build.ArtifactStagingDirectory)'\n    OverWrite: true\n\n- task: CopyFiles@2\n  displayName: 'copy LICENSE to output'\n  inputs:\n    Contents: |\n     LICENSE\n    TargetFolder: '$(Build.ArtifactStagingDirectory)/output'\n    OverWrite: true\n\n- task: NuGetCommand@2\n  displayName: 'package dotnetbackend into a Nuget package'\n  inputs:\n    command: 'pack'\n    packagesToPack: '$(Build.ArtifactStagingDirectory)/output/nuspec.nuspec'\n    packDestination: '$(Build.ArtifactStagingDirectory)'\n    versioningScheme: 'off'\n  \n- task: PublishBuildArtifacts@1\n  displayName: 'Publish Artifact: drop'\n"
  },
  {
    "path": "custom-backends/README.md",
    "content": "# Custom backends for Durable Functions Monitor\n\nThese are Azure Function projects with Durable Functions Monitor 'injected' as a [NuGet package](https://www.nuget.org/profiles/durablefunctionsmonitor). To be used for e.g. monitoring [custom storage providers](https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-storage-providers).\n\n* [netcore21](https://github.com/scale-tone/DurableFunctionsMonitor/tree/master/custom-backends/netcore21) - (legacy) Durable Functions Monitor backend, that runs on .Net Core 2.1.\n* [netcore31](https://github.com/scale-tone/DurableFunctionsMonitor/tree/master/custom-backends/netcore31) - Durable Functions Monitor backend, that runs on .Net Core 3.1.\n* [mssql](https://github.com/scale-tone/DurableFunctionsMonitor/tree/master/custom-backends/mssql) - Durable Functions Monitor backend to be used with [Durable Task SQL Provider](https://microsoft.github.io/durabletask-mssql/#/).\n"
  },
  {
    "path": "custom-backends/mssql/.gitignore",
    "content": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n\n# nuget.exe\nnuget.exe\n\n# Azure Functions localsettings file\nlocal.settings.json\n\n# User-specific files\n*.suo\n*.user\n*.userosscache\n*.sln.docstates\n\n# User-specific files (MonoDevelop/Xamarin Studio)\n*.userprefs\n\n# Build results\n[Dd]ebug/\n[Dd]ebugPublic/\n[Rr]elease/\n[Rr]eleases/\nx64/\nx86/\nbld/\n[Bb]in/\n[Oo]bj/\n[Ll]og/\n\n# Visual Studio 2015 cache/options directory\n.vs/\n# Uncomment if you have tasks that create the project's static files in wwwroot\n#wwwroot/\n\n# MSTest test Results\n[Tt]est[Rr]esult*/\n[Bb]uild[Ll]og.*\n\n# NUNIT\n*.VisualState.xml\nTestResult.xml\n\n# Build Results of an ATL Project\n[Dd]ebugPS/\n[Rr]eleasePS/\ndlldata.c\n\n# DNX\nproject.lock.json\nproject.fragment.lock.json\nartifacts/\n\n*_i.c\n*_p.c\n*_i.h\n*.ilk\n*.meta\n*.obj\n*.pch\n*.pdb\n*.pgc\n*.pgd\n*.rsp\n*.sbr\n*.tlb\n*.tli\n*.tlh\n*.tmp\n*.tmp_proj\n*.log\n*.vspscc\n*.vssscc\n.builds\n*.pidb\n*.svclog\n*.scc\n\n# Chutzpah Test files\n_Chutzpah*\n\n# Visual C++ cache files\nipch/\n*.aps\n*.ncb\n*.opendb\n*.opensdf\n*.sdf\n*.cachefile\n*.VC.db\n*.VC.VC.opendb\n\n# Visual Studio profiler\n*.psess\n*.vsp\n*.vspx\n*.sap\n\n# TFS 2012 Local Workspace\n$tf/\n\n# Guidance Automation Toolkit\n*.gpState\n\n# ReSharper is a .NET coding add-in\n_ReSharper*/\n*.[Rr]e[Ss]harper\n*.DotSettings.user\n\n# JustCode is a .NET coding add-in\n.JustCode\n\n# TeamCity is a build add-in\n_TeamCity*\n\n# DotCover is a Code Coverage Tool\n*.dotCover\n\n# NCrunch\n_NCrunch_*\n.*crunch*.local.xml\nnCrunchTemp_*\n\n# MightyMoose\n*.mm.*\nAutoTest.Net/\n\n# Web workbench (sass)\n.sass-cache/\n\n# Installshield output folder\n[Ee]xpress/\n\n# DocProject is a documentation generator add-in\nDocProject/buildhelp/\nDocProject/Help/*.HxT\nDocProject/Help/*.HxC\nDocProject/Help/*.hhc\nDocProject/Help/*.hhk\nDocProject/Help/*.hhp\nDocProject/Help/Html2\nDocProject/Help/html\n\n# Click-Once directory\npublish/\n\n# Publish Web Output\n*.[Pp]ublish.xml\n*.azurePubxml\n# TODO: Comment the next line if you want to checkin your web deploy settings\n# but database connection strings (with potential passwords) will be unencrypted\n#*.pubxml\n*.publishproj\n\n# Microsoft Azure Web App publish settings. Comment the next line if you want to\n# checkin your Azure Web App publish settings, but sensitive information contained\n# in these scripts will be unencrypted\nPublishScripts/\n\n# NuGet Packages\n*.nupkg\n# The packages folder can be ignored because of Package Restore\n**/packages/*\n# except build/, which is used as an MSBuild target.\n!**/packages/build/\n# Uncomment if necessary however generally it will be regenerated when needed\n#!**/packages/repositories.config\n# NuGet v3's project.json files produces more ignoreable files\n*.nuget.props\n*.nuget.targets\n\n# Microsoft Azure Build Output\ncsx/\n*.build.csdef\n\n# Microsoft Azure Emulator\necf/\nrcf/\n\n# Windows Store app package directories and files\nAppPackages/\nBundleArtifacts/\nPackage.StoreAssociation.xml\n_pkginfo.txt\n\n# Visual Studio cache files\n# files ending in .cache can be ignored\n*.[Cc]ache\n# but keep track of directories ending in .cache\n!*.[Cc]ache/\n\n# Others\nClientBin/\n~$*\n*~\n*.dbmdl\n*.dbproj.schemaview\n*.jfm\n*.pfx\n*.publishsettings\nnode_modules/\norleans.codegen.cs\n\n# Since there are multiple workflows, uncomment next line to ignore bower_components\n# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)\n#bower_components/\n\n# RIA/Silverlight projects\nGenerated_Code/\n\n# Backup & report files from converting an old project file\n# to a newer Visual Studio version. Backup files are not needed,\n# because we have git ;-)\n_UpgradeReport_Files/\nBackup*/\nUpgradeLog*.XML\nUpgradeLog*.htm\n\n# SQL Server files\n*.mdf\n*.ldf\n\n# Business Intelligence projects\n*.rdl.data\n*.bim.layout\n*.bim_*.settings\n\n# Microsoft Fakes\nFakesAssemblies/\n\n# GhostDoc plugin setting file\n*.GhostDoc.xml\n\n# Node.js Tools for Visual Studio\n.ntvs_analysis.dat\n\n# Visual Studio 6 build log\n*.plg\n\n# Visual Studio 6 workspace options file\n*.opt\n\n# Visual Studio LightSwitch build output\n**/*.HTMLClient/GeneratedArtifacts\n**/*.DesktopClient/GeneratedArtifacts\n**/*.DesktopClient/ModelManifest.xml\n**/*.Server/GeneratedArtifacts\n**/*.Server/ModelManifest.xml\n_Pvt_Extensions\n\n# Paket dependency manager\n.paket/paket.exe\npaket-files/\n\n# FAKE - F# Make\n.fake/\n\n# JetBrains Rider\n.idea/\n*.sln.iml\n\n# CodeRush\n.cr/\n\n# Python Tools for Visual Studio (PTVS)\n__pycache__/\n*.pyc"
  },
  {
    "path": "custom-backends/mssql/Dfm.MsSql.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n  <PropertyGroup>\n    <TargetFramework>netcoreapp3.1</TargetFramework>\n    <AzureFunctionsVersion>v3</AzureFunctionsVersion>\n  </PropertyGroup>\n  <ItemGroup>\n    <PackageReference Include=\"Microsoft.Data.SqlClient\" Version=\"3.0.1\" />\n    <PackageReference Include=\"Microsoft.NET.Sdk.Functions\" Version=\"3.0.12\" />\n    <PackageReference Include=\"Microsoft.Azure.WebJobs.Extensions.DurableTask\" Version=\"2.6.0\" />\n    <PackageReference Include=\"Microsoft.DurableTask.SqlServer.AzureFunctions\" Version=\"0.10.1-beta\" />\n    <PackageReference Include=\"durablefunctionsmonitor.dotnetbackend\" Version=\"5.1.1\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Update=\"host.json\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"local.settings.json\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n      <CopyToPublishDirectory>Never</CopyToPublishDirectory>\n    </None>\n  </ItemGroup>\n</Project>\n"
  },
  {
    "path": "custom-backends/mssql/README.md",
    "content": "# Durable Functions Monitor for MSSQL storage provider\n\nCustom Durable Functions Monitor backend project to be used with [Durable Task SQL Provider](https://microsoft.github.io/durabletask-mssql/#/).\n\n## How to run locally\n\n* Clone this repo.\n* In the project's folder create a `local.settings.json` file, which should look like this:\n\n```\n{\n  \"IsEncrypted\": false,\n  \"Values\": {\n    \"AzureWebJobsSecretStorageType\": \"files\",\n    \"DFM_SQL_CONNECTION_STRING\": \"your-mssql-connection-string\",\n    \"DFM_HUB_NAME\": \"mssql\",\n    \"DFM_NONCE\": \"i_sure_know_what_i_am_doing\",\n    \"FUNCTIONS_WORKER_RUNTIME\": \"dotnet\"\n  },\n  \"Host\": {\n    \"LocalHttpPort\": 7072\n  }\n}\n```\n\n* Go to the project's folder with your command prompt and type the following:\n\n```\nfunc start\n```\n\n* Navigate to http://localhost:7072\n\n\n# How to deploy to Azure\n\n[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fscale-tone%2FDurableFunctionsMonitor%2Fmaster%2Fcustom-backends%2Fmssql%2Farm-template.json)\n\nThe above button will deploy *these sources* into *your newly created* Function App instance.\n"
  },
  {
    "path": "custom-backends/mssql/Startup.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing DurableFunctionsMonitor.DotNetBackend;\nusing Microsoft.Azure.WebJobs;\nusing Microsoft.Azure.WebJobs.Extensions.DurableTask;\nusing Microsoft.Azure.WebJobs.Hosting;\nusing Microsoft.Data.SqlClient;\n\n[assembly: WebJobsStartup(typeof(Dfm.MsSql.Startup))]\nnamespace Dfm.MsSql\n{\n    public class Startup : IWebJobsStartup\n    {\n        public void Configure(IWebJobsBuilder builder)\n        {\n            DfmEndpoint.Setup(null, new DfmExtensionPoints { GetInstanceHistoryRoutine = GetInstanceHistory });\n        }\n\n        /// <summary>\n        /// Custom routine for fetching orchestration history\n        /// </summary>\n        public static IEnumerable<HistoryEvent> GetInstanceHistory(IDurableClient durableClient, string connName, string hubName, string instanceId)\n        {\n            string sql =\n                @\"SELECT \n\t\t\t\t\tIIF(h2.TaskID IS NULL, h.Timestamp, h2.Timestamp) as Timestamp, \n\t\t\t\t\tIIF(h2.TaskID IS NULL, h.EventType, h2.EventType) as EventType,\n\t\t\t\t\th.TaskID as EventId,\n\t\t\t\t\th.Name as Name,\n\t\t\t\t\tIIF(h2.TaskID IS NULL, NULL, h.Timestamp) as ScheduledTime,\n\t\t\t\t\tp.Text as Result,\n\t\t\t\t\tp.Reason as Details,\n\t\t\t\t\tcih.InstanceID as SubOrchestrationId\n\t\t\t\tFROM\n\t\t\t\t\tdt.Instances i\n\t\t\t\t\tINNER JOIN\n\t\t\t\t\tdt.History h\n\t\t\t\t\tON\n\t\t\t\t\t(i.InstanceID = h.InstanceID AND i.ExecutionID = h.ExecutionID)\n\t\t\t\t\tLEFT JOIN\n\t\t\t\t\tdt.History h2\n\t\t\t\t\tON\n\t\t\t\t\t(\n\t\t\t\t\t\th.EventType IN ('TaskScheduled', 'SubOrchestrationInstanceCreated')\n\t\t\t\t\t\tAND\n\t\t\t\t\t\th2.EventType IN ('SubOrchestrationInstanceCompleted', 'SubOrchestrationInstanceFailed', 'TaskCompleted', 'TaskFailed')\n\t\t\t\t\t\tAND\n\t\t\t\t\t\th.InstanceID = h2.InstanceID AND h.ExecutionID = h2.ExecutionID AND h.TaskID = h2.TaskID AND h.SequenceNumber != h2.SequenceNumber\n\t\t\t\t\t)\n\t\t\t\t\tLEFT JOIN\n\t\t\t\t\tdt.Payloads p\n\t\t\t\t\tON\n\t\t\t\t\tp.PayloadID = h2.DataPayloadID\n\t\t\t\t\tLEFT JOIN\n\t\t\t\t\t(\n\t\t\t\t\t\tselect \n\t\t\t\t\t\t\tcii.ParentInstanceID,\n\t\t\t\t\t\t\tcii.InstanceID,\n\t\t\t\t\t\t\tchh.TaskID\n\t\t\t\t\t\tfrom \n\t\t\t\t\t\t\tdt.Instances cii\n\t\t\t\t\t\t\tINNER JOIN\n\t\t\t\t\t\t\tdt.History chh\n\t\t\t\t\t\t\tON\n\t\t\t\t\t\t\t(chh.InstanceID = cii.InstanceID AND chh.EventType = 'ExecutionStarted')\n\t\t\t\t\t) cih\n\t\t\t\t\tON\n\t\t\t\t\t(cih.ParentInstanceID = h.InstanceID AND cih.TaskID = h.TaskID)\n\t\t\t\tWHERE\n\t\t\t\t\th.EventType IN \n\t\t\t\t\t(\n\t\t\t\t\t\t'ExecutionStarted', 'ExecutionCompleted', 'ExecutionFailed', 'ExecutionTerminated', 'TaskScheduled', 'SubOrchestrationInstanceCreated',\n\t\t\t\t\t\t'ContinueAsNew', 'TimerCreated', 'TimerFired', 'EventRaised', 'EventSent'\n\t\t\t\t\t)\n\t\t\t\t\tAND\n\t\t\t\t\ti.InstanceID = @OrchestrationInstanceId\n\n\t\t\t\tORDER BY\n\t\t\t\t\th.SequenceNumber\";\n\n\n            string sqlConnectionString = Environment.GetEnvironmentVariable(\"DFM_SQL_CONNECTION_STRING\");\n\n            using (var conn = new SqlConnection(sqlConnectionString))\n            {\n                conn.Open();\n\n                using (var cmd = new SqlCommand(sql, conn))\n                {\n                    cmd.Parameters.AddWithValue(\"@OrchestrationInstanceId\", instanceId);\n\n                    using (SqlDataReader reader = cmd.ExecuteReader())\n                    {\n                        // Memorizing 'ExecutionStarted' event, to further correlate with 'ExecutionCompleted'\n                        DateTimeOffset? executionStartedTimestamp = null;\n\n                        while (reader.Read())\n                        {\n                            var evt = ToHistoryEvent(reader, executionStartedTimestamp);\n\n                            if (evt.EventType == \"ExecutionStarted\")\n\t\t\t\t\t\t\t{\n                                executionStartedTimestamp = evt.Timestamp;\n                            }\n\n                            yield return evt;\n                        }\n                    }\n                }\n            }\n        }\n\n\t\tprivate static HistoryEvent ToHistoryEvent(SqlDataReader reader, DateTimeOffset? executionStartTime)\n\t\t{\n\t\t\tvar evt = new HistoryEvent\n\t\t\t{\n\t\t\t\tTimestamp = ((DateTime)reader[\"Timestamp\"]).ToUniversalTime(),\n\t\t\t\tEventType = reader[\"EventType\"].ToString(),\n\t\t\t\tEventId = reader[\"EventId\"] is DBNull ? null : (int?)reader[\"EventId\"],\n\t\t\t\tName = reader[\"Name\"].ToString(),\n\t\t\t\tResult = reader[\"Result\"].ToString(),\n\t\t\t\tDetails = reader[\"Details\"].ToString(),\n\t\t\t\tSubOrchestrationId = reader[\"SubOrchestrationId\"].ToString(),\n\t\t\t};\n\n\t\t\tvar rawScheduledTime = reader[\"ScheduledTime\"];\n\t\t\tif (!(rawScheduledTime is DBNull))\n\t\t\t{\n\t\t\t\tevt.ScheduledTime = ((DateTime)rawScheduledTime).ToUniversalTime();\n\t\t\t}\n\t\t\telse if(evt.EventType == \"ExecutionCompleted\")\n\t\t\t{\n                evt.ScheduledTime = executionStartTime?.ToUniversalTime();\n            }\n\n\t\t\tif (evt.ScheduledTime.HasValue)\n\t\t\t{\n\t\t\t\tevt.DurationInMs = (evt.Timestamp - evt.ScheduledTime.Value).TotalMilliseconds;\n\t\t\t}\n\n            return evt;\n        }\n    }\n}\n"
  },
  {
    "path": "custom-backends/mssql/arm-template.json",
    "content": "{\n    \"$schema\": \"https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#\",\n    \"contentVersion\": \"1.0.0.0\",\n    \"parameters\": {\n        \"functionAppName\": {\n            \"type\": \"string\",\n            \"defaultValue\": \"[concat('dfm-',uniqueString(resourceGroup().id))]\",\n            \"metadata\": {\n                \"description\": \"Name for the Function App, that will host your DFM instance. NOTE: there will be a NEW app created, and it will be different from the one that hosts your Durable Functions.\"\n            }\n        },\n        \"storageConnectionString\": {\n            \"type\": \"securestring\",\n            \"metadata\": {\n                \"description\": \"Storage Connection String to the Storage your Durable Functions reside in. Copy it from your Durable Functions App Settings.\"\n            }\n        },\n        \"sqlConnectionString\": {\n            \"type\": \"securestring\",\n            \"metadata\": {\n                \"description\": \"Connection String for the database your MSSQL storage provider is using. Copy it from your Durable Functions App Settings.\"\n            }\n        },\n        \"taskHubName\": {\n            \"type\": \"string\",\n            \"metadata\": {\n                \"description\": \"Task Hub name to be monitored\"\n            }\n        },\n        \"aadAppClientId\": {\n            \"type\": \"string\",\n            \"metadata\": {\n                \"description\": \"In Azure Portal->Azure Active Directory->App Registrations create a new AAD App. Set its 'Redirect URI' setting to 'https://[your-function-app].azurewebsites.net/.auth/login/aad/callback'. Then on 'Authentication' page enable ID Tokens. Then copy that AAD App's ClientId into here.\"\n            }\n        },\n        \"aadAppTenantId\": {\n            \"type\": \"string\",\n            \"defaultValue\": \"[subscription().tenantId]\",\n            \"metadata\": {\n                \"description\": \"Put your AAD TenantId here (you can find it on Azure Portal->Azure Active Directory page), or leave as default to use the current subscription's TenantId.\"\n            }\n        },\n        \"allowedUserNames\": {\n            \"type\": \"string\",\n            \"metadata\": {\n                \"description\": \"Comma-separated list of users (emails), that will be allowed to access this DFM instance. Specify at least yourself here.\"\n            }\n        }\n    },\n    \"resources\": [\n        {\n            \"type\": \"Microsoft.Web/serverfarms\",\n            \"apiVersion\": \"2016-09-01\",\n            \"name\": \"[parameters('functionAppName')]\",\n            \"location\": \"[resourceGroup().location]\",\n            \"sku\": {\n                \"name\": \"Y1\",\n                \"tier\": \"Dynamic\"\n            },\n            \"properties\": {\n                \"name\": \"[parameters('functionAppName')]\",\n                \"computeMode\": \"Dynamic\"\n            }\n        },\n\n        {\n            \"apiVersion\": \"2018-11-01\",\n            \"type\": \"Microsoft.Web/sites\",\n            \"name\": \"[parameters('functionAppName')]\",\n            \"location\": \"[resourceGroup().location]\",\n            \"kind\": \"functionapp\",\n            \"dependsOn\": [\n                \"[resourceId('Microsoft.Web/serverfarms', parameters('functionAppName'))]\"\n            ],\n\n            \"resources\": [\n                {\n                    \"apiVersion\": \"2015-08-01\",\n                    \"name\": \"web\",\n                    \"type\": \"sourcecontrols\",\n                    \"dependsOn\": [\n                        \"[resourceId('Microsoft.Web/sites', parameters('functionAppName'))]\"\n                    ],\n                    \"properties\": {\n                        \"RepoUrl\": \"https://github.com/scale-tone/DurableFunctionsMonitor\",\n                        \"branch\": \"master\",\n                        \"IsManualIntegration\": true\n                    }\n                },\n\n                {\n                    \"name\": \"[concat(parameters('functionAppName'), '/authsettings')]\",\n                    \"apiVersion\": \"2018-11-01\",\n                    \"type\": \"Microsoft.Web/sites/config\",\n                    \"location\": \"[resourceGroup().location]\",\n                    \"dependsOn\": [\n                        \"[resourceId('Microsoft.Web/sites', parameters('functionAppName'))]\"\n                    ],\n                    \"properties\": {\n                        \"enabled\": true,\n                        \"unauthenticatedClientAction\": \"RedirectToLoginPage\",\n                        \"tokenStoreEnabled\": true,\n                        \"defaultProvider\": \"AzureActiveDirectory\",\n                        \"clientId\": \"[parameters('aadAppClientId')]\",\n                        \"issuer\": \"[concat('https://login.microsoftonline.com/', parameters('aadAppTenantId'), '/v2.0')]\"\n                    }\n                }\n            ],\n    \n            \"properties\": {\n                \"serverFarmId\": \"[resourceId('Microsoft.Web/serverfarms', parameters('functionAppName'))]\",\n                \"siteConfig\": {\n                    \"appSettings\": [\n                        {\n                            \"name\": \"DFM_SQL_CONNECTION_STRING\",\n                            \"value\": \"[parameters('sqlConnectionString')]\"\n                        },\n                        {\n                            \"name\": \"DFM_HUB_NAME\",\n                            \"value\": \"[parameters('taskHubName')]\"\n                        },\n                        {\n                            \"name\": \"DFM_ALLOWED_USER_NAMES\",\n                            \"value\": \"[parameters('allowedUserNames')]\"\n                        },\n                        {\n                            \"name\": \"AzureWebJobsStorage\",\n                            \"value\": \"[parameters('storageConnectionString')]\"\n                        },\n                        {\n                            \"name\": \"WEBSITE_CONTENTAZUREFILECONNECTIONSTRING\",\n                            \"value\": \"[parameters('storageConnectionString')]\"\n                        },\n                        {\n                            \"name\": \"WEBSITE_CONTENTSHARE\",\n                            \"value\": \"[toLower(parameters('functionAppName'))]\"\n                        },\n                        {\n                            \"name\": \"FUNCTIONS_EXTENSION_VERSION\",\n                            \"value\": \"~3\"\n                        },\n                        {\n                            \"name\": \"FUNCTIONS_WORKER_RUNTIME\",\n                            \"value\": \"dotnet\"\n                        },\n                        {\n                            \"name\": \"Project\",\n                            \"value\": \"custom-backends/mssql\"\n                        }\n                    ]\n                }\n            }\n        }\n    ]\n}\n"
  },
  {
    "path": "custom-backends/mssql/host.json",
    "content": "{\n    \"version\": \"2.0\",\n    \"extensions\": {\n        \"http\": {\n            \"routePrefix\": \"\"\n        },\n\n        \"durableTask\": {\n            \"hubName\": \"%DFM_HUB_NAME%\",\n            \"extendedSessionsEnabled\": \"true\",\n            \"UseGracefulShutdown\": \"true\",\n            \"storageProvider\": {\n                \"type\": \"mssql\",\n                \"connectionStringName\": \"DFM_SQL_CONNECTION_STRING\",\n                \"taskEventLockTimeout\": \"00:02:00\"\n            }\n        }\n    }\n}"
  },
  {
    "path": "custom-backends/netcore21/.gitignore",
    "content": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n\n# nuget.exe\nnuget.exe\n\n# Azure Functions localsettings file\nlocal.settings.json\n\n# User-specific files\n*.suo\n*.user\n*.userosscache\n*.sln.docstates\n\n# User-specific files (MonoDevelop/Xamarin Studio)\n*.userprefs\n\n# Build results\n[Dd]ebug/\n[Dd]ebugPublic/\n[Rr]elease/\n[Rr]eleases/\nx64/\nx86/\nbld/\n[Bb]in/\n[Oo]bj/\n[Ll]og/\n\n# Visual Studio 2015 cache/options directory\n.vs/\n# Uncomment if you have tasks that create the project's static files in wwwroot\n#wwwroot/\n\n# MSTest test Results\n[Tt]est[Rr]esult*/\n[Bb]uild[Ll]og.*\n\n# NUNIT\n*.VisualState.xml\nTestResult.xml\n\n# Build Results of an ATL Project\n[Dd]ebugPS/\n[Rr]eleasePS/\ndlldata.c\n\n# DNX\nproject.lock.json\nproject.fragment.lock.json\nartifacts/\n\n*_i.c\n*_p.c\n*_i.h\n*.ilk\n*.meta\n*.obj\n*.pch\n*.pdb\n*.pgc\n*.pgd\n*.rsp\n*.sbr\n*.tlb\n*.tli\n*.tlh\n*.tmp\n*.tmp_proj\n*.log\n*.vspscc\n*.vssscc\n.builds\n*.pidb\n*.svclog\n*.scc\n\n# Chutzpah Test files\n_Chutzpah*\n\n# Visual C++ cache files\nipch/\n*.aps\n*.ncb\n*.opendb\n*.opensdf\n*.sdf\n*.cachefile\n*.VC.db\n*.VC.VC.opendb\n\n# Visual Studio profiler\n*.psess\n*.vsp\n*.vspx\n*.sap\n\n# TFS 2012 Local Workspace\n$tf/\n\n# Guidance Automation Toolkit\n*.gpState\n\n# ReSharper is a .NET coding add-in\n_ReSharper*/\n*.[Rr]e[Ss]harper\n*.DotSettings.user\n\n# JustCode is a .NET coding add-in\n.JustCode\n\n# TeamCity is a build add-in\n_TeamCity*\n\n# DotCover is a Code Coverage Tool\n*.dotCover\n\n# NCrunch\n_NCrunch_*\n.*crunch*.local.xml\nnCrunchTemp_*\n\n# MightyMoose\n*.mm.*\nAutoTest.Net/\n\n# Web workbench (sass)\n.sass-cache/\n\n# Installshield output folder\n[Ee]xpress/\n\n# DocProject is a documentation generator add-in\nDocProject/buildhelp/\nDocProject/Help/*.HxT\nDocProject/Help/*.HxC\nDocProject/Help/*.hhc\nDocProject/Help/*.hhk\nDocProject/Help/*.hhp\nDocProject/Help/Html2\nDocProject/Help/html\n\n# Click-Once directory\npublish/\n\n# Publish Web Output\n*.[Pp]ublish.xml\n*.azurePubxml\n# TODO: Comment the next line if you want to checkin your web deploy settings\n# but database connection strings (with potential passwords) will be unencrypted\n#*.pubxml\n*.publishproj\n\n# Microsoft Azure Web App publish settings. Comment the next line if you want to\n# checkin your Azure Web App publish settings, but sensitive information contained\n# in these scripts will be unencrypted\nPublishScripts/\n\n# NuGet Packages\n*.nupkg\n# The packages folder can be ignored because of Package Restore\n**/packages/*\n# except build/, which is used as an MSBuild target.\n!**/packages/build/\n# Uncomment if necessary however generally it will be regenerated when needed\n#!**/packages/repositories.config\n# NuGet v3's project.json files produces more ignoreable files\n*.nuget.props\n*.nuget.targets\n\n# Microsoft Azure Build Output\ncsx/\n*.build.csdef\n\n# Microsoft Azure Emulator\necf/\nrcf/\n\n# Windows Store app package directories and files\nAppPackages/\nBundleArtifacts/\nPackage.StoreAssociation.xml\n_pkginfo.txt\n\n# Visual Studio cache files\n# files ending in .cache can be ignored\n*.[Cc]ache\n# but keep track of directories ending in .cache\n!*.[Cc]ache/\n\n# Others\nClientBin/\n~$*\n*~\n*.dbmdl\n*.dbproj.schemaview\n*.jfm\n*.pfx\n*.publishsettings\nnode_modules/\norleans.codegen.cs\n\n# Since there are multiple workflows, uncomment next line to ignore bower_components\n# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)\n#bower_components/\n\n# RIA/Silverlight projects\nGenerated_Code/\n\n# Backup & report files from converting an old project file\n# to a newer Visual Studio version. Backup files are not needed,\n# because we have git ;-)\n_UpgradeReport_Files/\nBackup*/\nUpgradeLog*.XML\nUpgradeLog*.htm\n\n# SQL Server files\n*.mdf\n*.ldf\n\n# Business Intelligence projects\n*.rdl.data\n*.bim.layout\n*.bim_*.settings\n\n# Microsoft Fakes\nFakesAssemblies/\n\n# GhostDoc plugin setting file\n*.GhostDoc.xml\n\n# Node.js Tools for Visual Studio\n.ntvs_analysis.dat\n\n# Visual Studio 6 build log\n*.plg\n\n# Visual Studio 6 workspace options file\n*.opt\n\n# Visual Studio LightSwitch build output\n**/*.HTMLClient/GeneratedArtifacts\n**/*.DesktopClient/GeneratedArtifacts\n**/*.DesktopClient/ModelManifest.xml\n**/*.Server/GeneratedArtifacts\n**/*.Server/ModelManifest.xml\n_Pvt_Extensions\n\n# Paket dependency manager\n.paket/paket.exe\npaket-files/\n\n# FAKE - F# Make\n.fake/\n\n# JetBrains Rider\n.idea/\n*.sln.iml\n\n# CodeRush\n.cr/\n\n# Python Tools for Visual Studio (PTVS)\n__pycache__/\n*.pyc"
  },
  {
    "path": "custom-backends/netcore21/Dfm.NetCore21.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n  <PropertyGroup>\n    <TargetFramework>netcoreapp2.1</TargetFramework>\n    <AzureFunctionsVersion>v2</AzureFunctionsVersion>\n  </PropertyGroup>\n  <ItemGroup>\n    <PackageReference Include=\"Microsoft.NET.Sdk.Functions\" Version=\"1.0.38\" />\n    <PackageReference Include=\"Microsoft.Azure.WebJobs.Extensions.DurableTask\" Version=\"2.5.1\" />\n    <PackageReference Include=\"durablefunctionsmonitor.dotnetbackend\" Version=\"5.0.0\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Update=\"host.json\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"local.settings.json\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n      <CopyToPublishDirectory>Never</CopyToPublishDirectory>\n    </None>\n  </ItemGroup>\n</Project>\n"
  },
  {
    "path": "custom-backends/netcore21/README.md",
    "content": "# Durable Functions Monitor on .Net Core 2.1\n\nCustom Durable Functions Monitor backend project, configured to run on .Net Core 2.1.\n\n# How to deploy to Azure\n\n[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fscale-tone%2FDurableFunctionsMonitor%2Fmaster%2Fcustom-backends%2Fnetcore21%2Farm-template.json)\n\nThe above button will deploy *these sources* into *your newly created* Function App instance.\n"
  },
  {
    "path": "custom-backends/netcore21/Startup.cs",
    "content": "using DurableFunctionsMonitor.DotNetBackend;\nusing Microsoft.Azure.WebJobs;\nusing Microsoft.Azure.WebJobs.Hosting;\n\n[assembly: WebJobsStartup(typeof(Dfm.NetCore21.Startup))]\nnamespace Dfm.NetCore21\n{\n    public class Startup : IWebJobsStartup\n    {\n        public void Configure(IWebJobsBuilder builder)\n        {\n            DfmEndpoint.Setup();\n        }\n    }\n}\n"
  },
  {
    "path": "custom-backends/netcore21/arm-template.json",
    "content": "{\n    \"$schema\": \"https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#\",\n    \"contentVersion\": \"1.0.0.0\",\n    \"parameters\": {\n        \"functionAppName\": {\n            \"type\": \"string\",\n            \"defaultValue\": \"[concat('dfm-',uniqueString(resourceGroup().id))]\",\n            \"metadata\": {\n                \"description\": \"Name for the Function App, that will host your DFM instance. NOTE: there will be a NEW app created, and it will be different from the one that hosts your Durable Functions.\"\n            }\n        },\n        \"storageConnectionString\": {\n            \"type\": \"securestring\",\n            \"metadata\": {\n                \"description\": \"Storage Connection String to the Storage your Durable Functions reside in. Copy it from your Durable Functions App Settings.\"\n            }\n        },\n        \"taskHubName\": {\n            \"type\": \"string\",\n            \"defaultValue\": \"\",\n            \"metadata\": {\n                \"description\": \"(optional) Comma-separated list of Task Hub names to be monitored. WARNING: if not set, this instance will expose ALL Task Hubs in your Storage account!\"\n            }\n        },\n        \"aadAppClientId\": {\n            \"type\": \"string\",\n            \"metadata\": {\n                \"description\": \"In Azure Portal->Azure Active Directory->App Registrations create a new AAD App. Set its 'Redirect URI' setting to 'https://[your-function-app].azurewebsites.net/.auth/login/aad/callback'. Then on 'Authentication' page enable ID Tokens. Then copy that AAD App's ClientId into here.\"\n            }\n        },\n        \"aadAppTenantId\": {\n            \"type\": \"string\",\n            \"defaultValue\": \"[subscription().tenantId]\",\n            \"metadata\": {\n                \"description\": \"Put your AAD TenantId here (you can find it on Azure Portal->Azure Active Directory page), or leave as default to use the current subscription's TenantId.\"\n            }\n        },\n        \"allowedUserNames\": {\n            \"type\": \"string\",\n            \"metadata\": {\n                \"description\": \"Comma-separated list of users (emails), that will be allowed to access this DFM instance. Specify at least yourself here.\"\n            }\n        }\n    },\n    \"resources\": [\n        {\n            \"type\": \"Microsoft.Web/serverfarms\",\n            \"apiVersion\": \"2016-09-01\",\n            \"name\": \"[parameters('functionAppName')]\",\n            \"location\": \"[resourceGroup().location]\",\n            \"sku\": {\n                \"name\": \"Y1\",\n                \"tier\": \"Dynamic\"\n            },\n            \"properties\": {\n                \"name\": \"[parameters('functionAppName')]\",\n                \"computeMode\": \"Dynamic\"\n            }\n        },\n\n        {\n            \"apiVersion\": \"2018-11-01\",\n            \"type\": \"Microsoft.Web/sites\",\n            \"name\": \"[parameters('functionAppName')]\",\n            \"location\": \"[resourceGroup().location]\",\n            \"kind\": \"functionapp\",\n            \"dependsOn\": [\n                \"[resourceId('Microsoft.Web/serverfarms', parameters('functionAppName'))]\"\n            ],\n\n            \"resources\": [\n                {\n                    \"apiVersion\": \"2015-08-01\",\n                    \"name\": \"web\",\n                    \"type\": \"sourcecontrols\",\n                    \"dependsOn\": [\n                        \"[resourceId('Microsoft.Web/sites', parameters('functionAppName'))]\"\n                    ],\n                    \"properties\": {\n                        \"RepoUrl\": \"https://github.com/scale-tone/DurableFunctionsMonitor\",\n                        \"branch\": \"master\",\n                        \"IsManualIntegration\": true\n                    }\n                },\n\n                {\n                    \"name\": \"[concat(parameters('functionAppName'), '/authsettings')]\",\n                    \"apiVersion\": \"2018-11-01\",\n                    \"type\": \"Microsoft.Web/sites/config\",\n                    \"location\": \"[resourceGroup().location]\",\n                    \"dependsOn\": [\n                        \"[resourceId('Microsoft.Web/sites', parameters('functionAppName'))]\"\n                    ],\n                    \"properties\": {\n                        \"enabled\": true,\n                        \"unauthenticatedClientAction\": \"RedirectToLoginPage\",\n                        \"tokenStoreEnabled\": true,\n                        \"defaultProvider\": \"AzureActiveDirectory\",\n                        \"clientId\": \"[parameters('aadAppClientId')]\",\n                        \"issuer\": \"[concat('https://login.microsoftonline.com/', parameters('aadAppTenantId'), '/v2.0')]\"\n                    }\n                }\n            ],\n    \n            \"properties\": {\n                \"serverFarmId\": \"[resourceId('Microsoft.Web/serverfarms', parameters('functionAppName'))]\",\n                \"siteConfig\": {\n                    \"appSettings\": [\n                        {\n                            \"name\": \"DFM_HUB_NAME\",\n                            \"value\": \"[parameters('taskHubName')]\"\n                        },\n                        {\n                            \"name\": \"DFM_ALLOWED_USER_NAMES\",\n                            \"value\": \"[parameters('allowedUserNames')]\"\n                        },\n                        {\n                            \"name\": \"AzureWebJobsStorage\",\n                            \"value\": \"[parameters('storageConnectionString')]\"\n                        },\n                        {\n                            \"name\": \"WEBSITE_CONTENTAZUREFILECONNECTIONSTRING\",\n                            \"value\": \"[parameters('storageConnectionString')]\"\n                        },\n                        {\n                            \"name\": \"WEBSITE_CONTENTSHARE\",\n                            \"value\": \"[toLower(parameters('functionAppName'))]\"\n                        },\n                        {\n                            \"name\": \"FUNCTIONS_EXTENSION_VERSION\",\n                            \"value\": \"~2\"\n                        },\n                        {\n                            \"name\": \"FUNCTIONS_WORKER_RUNTIME\",\n                            \"value\": \"dotnet\"\n                        },\n                        {\n                            \"name\": \"Project\",\n                            \"value\": \"custom-backends/netcore21\"\n                        }\n                    ]\n                }\n            }\n        }\n    ]\n}\n"
  },
  {
    "path": "custom-backends/netcore21/host.json",
    "content": "{\n    \"version\": \"2.0\",\n    \"extensions\": {\n        \"http\": {\n            \"routePrefix\": \"\"\n        }\n    }\n}"
  },
  {
    "path": "custom-backends/netcore31/.gitignore",
    "content": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n\n# nuget.exe\nnuget.exe\n\n# Azure Functions localsettings file\nlocal.settings.json\n\n# User-specific files\n*.suo\n*.user\n*.userosscache\n*.sln.docstates\n\n# User-specific files (MonoDevelop/Xamarin Studio)\n*.userprefs\n\n# Build results\n[Dd]ebug/\n[Dd]ebugPublic/\n[Rr]elease/\n[Rr]eleases/\nx64/\nx86/\nbld/\n[Bb]in/\n[Oo]bj/\n[Ll]og/\n\n# Visual Studio 2015 cache/options directory\n.vs/\n# Uncomment if you have tasks that create the project's static files in wwwroot\n#wwwroot/\n\n# MSTest test Results\n[Tt]est[Rr]esult*/\n[Bb]uild[Ll]og.*\n\n# NUNIT\n*.VisualState.xml\nTestResult.xml\n\n# Build Results of an ATL Project\n[Dd]ebugPS/\n[Rr]eleasePS/\ndlldata.c\n\n# DNX\nproject.lock.json\nproject.fragment.lock.json\nartifacts/\n\n*_i.c\n*_p.c\n*_i.h\n*.ilk\n*.meta\n*.obj\n*.pch\n*.pdb\n*.pgc\n*.pgd\n*.rsp\n*.sbr\n*.tlb\n*.tli\n*.tlh\n*.tmp\n*.tmp_proj\n*.log\n*.vspscc\n*.vssscc\n.builds\n*.pidb\n*.svclog\n*.scc\n\n# Chutzpah Test files\n_Chutzpah*\n\n# Visual C++ cache files\nipch/\n*.aps\n*.ncb\n*.opendb\n*.opensdf\n*.sdf\n*.cachefile\n*.VC.db\n*.VC.VC.opendb\n\n# Visual Studio profiler\n*.psess\n*.vsp\n*.vspx\n*.sap\n\n# TFS 2012 Local Workspace\n$tf/\n\n# Guidance Automation Toolkit\n*.gpState\n\n# ReSharper is a .NET coding add-in\n_ReSharper*/\n*.[Rr]e[Ss]harper\n*.DotSettings.user\n\n# JustCode is a .NET coding add-in\n.JustCode\n\n# TeamCity is a build add-in\n_TeamCity*\n\n# DotCover is a Code Coverage Tool\n*.dotCover\n\n# NCrunch\n_NCrunch_*\n.*crunch*.local.xml\nnCrunchTemp_*\n\n# MightyMoose\n*.mm.*\nAutoTest.Net/\n\n# Web workbench (sass)\n.sass-cache/\n\n# Installshield output folder\n[Ee]xpress/\n\n# DocProject is a documentation generator add-in\nDocProject/buildhelp/\nDocProject/Help/*.HxT\nDocProject/Help/*.HxC\nDocProject/Help/*.hhc\nDocProject/Help/*.hhk\nDocProject/Help/*.hhp\nDocProject/Help/Html2\nDocProject/Help/html\n\n# Click-Once directory\npublish/\n\n# Publish Web Output\n*.[Pp]ublish.xml\n*.azurePubxml\n# TODO: Comment the next line if you want to checkin your web deploy settings\n# but database connection strings (with potential passwords) will be unencrypted\n#*.pubxml\n*.publishproj\n\n# Microsoft Azure Web App publish settings. Comment the next line if you want to\n# checkin your Azure Web App publish settings, but sensitive information contained\n# in these scripts will be unencrypted\nPublishScripts/\n\n# NuGet Packages\n*.nupkg\n# The packages folder can be ignored because of Package Restore\n**/packages/*\n# except build/, which is used as an MSBuild target.\n!**/packages/build/\n# Uncomment if necessary however generally it will be regenerated when needed\n#!**/packages/repositories.config\n# NuGet v3's project.json files produces more ignoreable files\n*.nuget.props\n*.nuget.targets\n\n# Microsoft Azure Build Output\ncsx/\n*.build.csdef\n\n# Microsoft Azure Emulator\necf/\nrcf/\n\n# Windows Store app package directories and files\nAppPackages/\nBundleArtifacts/\nPackage.StoreAssociation.xml\n_pkginfo.txt\n\n# Visual Studio cache files\n# files ending in .cache can be ignored\n*.[Cc]ache\n# but keep track of directories ending in .cache\n!*.[Cc]ache/\n\n# Others\nClientBin/\n~$*\n*~\n*.dbmdl\n*.dbproj.schemaview\n*.jfm\n*.pfx\n*.publishsettings\nnode_modules/\norleans.codegen.cs\n\n# Since there are multiple workflows, uncomment next line to ignore bower_components\n# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)\n#bower_components/\n\n# RIA/Silverlight projects\nGenerated_Code/\n\n# Backup & report files from converting an old project file\n# to a newer Visual Studio version. Backup files are not needed,\n# because we have git ;-)\n_UpgradeReport_Files/\nBackup*/\nUpgradeLog*.XML\nUpgradeLog*.htm\n\n# SQL Server files\n*.mdf\n*.ldf\n\n# Business Intelligence projects\n*.rdl.data\n*.bim.layout\n*.bim_*.settings\n\n# Microsoft Fakes\nFakesAssemblies/\n\n# GhostDoc plugin setting file\n*.GhostDoc.xml\n\n# Node.js Tools for Visual Studio\n.ntvs_analysis.dat\n\n# Visual Studio 6 build log\n*.plg\n\n# Visual Studio 6 workspace options file\n*.opt\n\n# Visual Studio LightSwitch build output\n**/*.HTMLClient/GeneratedArtifacts\n**/*.DesktopClient/GeneratedArtifacts\n**/*.DesktopClient/ModelManifest.xml\n**/*.Server/GeneratedArtifacts\n**/*.Server/ModelManifest.xml\n_Pvt_Extensions\n\n# Paket dependency manager\n.paket/paket.exe\npaket-files/\n\n# FAKE - F# Make\n.fake/\n\n# JetBrains Rider\n.idea/\n*.sln.iml\n\n# CodeRush\n.cr/\n\n# Python Tools for Visual Studio (PTVS)\n__pycache__/\n*.pyc"
  },
  {
    "path": "custom-backends/netcore31/Dfm.NetCore31.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n  <PropertyGroup>\n    <TargetFramework>netcoreapp3.1</TargetFramework>\n    <AzureFunctionsVersion>v3</AzureFunctionsVersion>\n  </PropertyGroup>\n  <ItemGroup>\n    <PackageReference Include=\"Microsoft.NET.Sdk.Functions\" Version=\"3.0.12\" />\n    <PackageReference Include=\"Microsoft.Azure.WebJobs.Extensions.DurableTask\" Version=\"2.5.0\" />\n    <PackageReference Include=\"durablefunctionsmonitor.dotnetbackend\" Version=\"5.0.0\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Update=\"host.json\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"local.settings.json\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n      <CopyToPublishDirectory>Never</CopyToPublishDirectory>\n    </None>\n  </ItemGroup>\n</Project>\n"
  },
  {
    "path": "custom-backends/netcore31/README.md",
    "content": "# Durable Functions Monitor on .Net Core 3.1\n\nCustom Durable Functions Monitor backend project, configured to run on .Net Core 3.1.\n\n# How to deploy to Azure\n\n[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fscale-tone%2FDurableFunctionsMonitor%2Fmaster%2Fcustom-backends%2Fnetcore31%2Farm-template.json)\n\nThe above button will deploy *these sources* into *your newly created* Function App instance.\n"
  },
  {
    "path": "custom-backends/netcore31/Startup.cs",
    "content": "using DurableFunctionsMonitor.DotNetBackend;\nusing Microsoft.Azure.WebJobs;\nusing Microsoft.Azure.WebJobs.Hosting;\n\n[assembly: WebJobsStartup(typeof(Dfm.NetCore31.Startup))]\nnamespace Dfm.NetCore31\n{\n    public class Startup : IWebJobsStartup\n    {\n        public void Configure(IWebJobsBuilder builder)\n        {\n            DfmEndpoint.Setup();\n        }\n    }\n}\n"
  },
  {
    "path": "custom-backends/netcore31/arm-template.json",
    "content": "{\n    \"$schema\": \"https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#\",\n    \"contentVersion\": \"1.0.0.0\",\n    \"parameters\": {\n        \"functionAppName\": {\n            \"type\": \"string\",\n            \"defaultValue\": \"[concat('dfm-',uniqueString(resourceGroup().id))]\",\n            \"metadata\": {\n                \"description\": \"Name for the Function App, that will host your DFM instance. NOTE: there will be a NEW app created, and it will be different from the one that hosts your Durable Functions.\"\n            }\n        },\n        \"storageConnectionString\": {\n            \"type\": \"securestring\",\n            \"metadata\": {\n                \"description\": \"Storage Connection String to the Storage your Durable Functions reside in. Copy it from your Durable Functions App Settings.\"\n            }\n        },\n        \"taskHubName\": {\n            \"type\": \"string\",\n            \"defaultValue\": \"\",\n            \"metadata\": {\n                \"description\": \"(optional) Comma-separated list of Task Hub names to be monitored. WARNING: if not set, this instance will expose ALL Task Hubs in your Storage account!\"\n            }\n        },\n        \"aadAppClientId\": {\n            \"type\": \"string\",\n            \"metadata\": {\n                \"description\": \"In Azure Portal->Azure Active Directory->App Registrations create a new AAD App. Set its 'Redirect URI' setting to 'https://[your-function-app].azurewebsites.net/.auth/login/aad/callback'. Then on 'Authentication' page enable ID Tokens. Then copy that AAD App's ClientId into here.\"\n            }\n        },\n        \"aadAppTenantId\": {\n            \"type\": \"string\",\n            \"defaultValue\": \"[subscription().tenantId]\",\n            \"metadata\": {\n                \"description\": \"Put your AAD TenantId here (you can find it on Azure Portal->Azure Active Directory page), or leave as default to use the current subscription's TenantId.\"\n            }\n        },\n        \"allowedUserNames\": {\n            \"type\": \"string\",\n            \"metadata\": {\n                \"description\": \"Comma-separated list of users (emails), that will be allowed to access this DFM instance. Specify at least yourself here.\"\n            }\n        }\n    },\n    \"resources\": [\n        {\n            \"type\": \"Microsoft.Web/serverfarms\",\n            \"apiVersion\": \"2016-09-01\",\n            \"name\": \"[parameters('functionAppName')]\",\n            \"location\": \"[resourceGroup().location]\",\n            \"sku\": {\n                \"name\": \"Y1\",\n                \"tier\": \"Dynamic\"\n            },\n            \"properties\": {\n                \"name\": \"[parameters('functionAppName')]\",\n                \"computeMode\": \"Dynamic\"\n            }\n        },\n\n        {\n            \"apiVersion\": \"2018-11-01\",\n            \"type\": \"Microsoft.Web/sites\",\n            \"name\": \"[parameters('functionAppName')]\",\n            \"location\": \"[resourceGroup().location]\",\n            \"kind\": \"functionapp\",\n            \"dependsOn\": [\n                \"[resourceId('Microsoft.Web/serverfarms', parameters('functionAppName'))]\"\n            ],\n\n            \"resources\": [\n                {\n                    \"apiVersion\": \"2015-08-01\",\n                    \"name\": \"web\",\n                    \"type\": \"sourcecontrols\",\n                    \"dependsOn\": [\n                        \"[resourceId('Microsoft.Web/sites', parameters('functionAppName'))]\"\n                    ],\n                    \"properties\": {\n                        \"RepoUrl\": \"https://github.com/scale-tone/DurableFunctionsMonitor\",\n                        \"branch\": \"master\",\n                        \"IsManualIntegration\": true\n                    }\n                },\n\n                {\n                    \"name\": \"[concat(parameters('functionAppName'), '/authsettings')]\",\n                    \"apiVersion\": \"2018-11-01\",\n                    \"type\": \"Microsoft.Web/sites/config\",\n                    \"location\": \"[resourceGroup().location]\",\n                    \"dependsOn\": [\n                        \"[resourceId('Microsoft.Web/sites', parameters('functionAppName'))]\"\n                    ],\n                    \"properties\": {\n                        \"enabled\": true,\n                        \"unauthenticatedClientAction\": \"RedirectToLoginPage\",\n                        \"tokenStoreEnabled\": true,\n                        \"defaultProvider\": \"AzureActiveDirectory\",\n                        \"clientId\": \"[parameters('aadAppClientId')]\",\n                        \"issuer\": \"[concat('https://login.microsoftonline.com/', parameters('aadAppTenantId'), '/v2.0')]\"\n                    }\n                }\n            ],\n    \n            \"properties\": {\n                \"serverFarmId\": \"[resourceId('Microsoft.Web/serverfarms', parameters('functionAppName'))]\",\n                \"siteConfig\": {\n                    \"appSettings\": [\n                        {\n                            \"name\": \"DFM_HUB_NAME\",\n                            \"value\": \"[parameters('taskHubName')]\"\n                        },\n                        {\n                            \"name\": \"DFM_ALLOWED_USER_NAMES\",\n                            \"value\": \"[parameters('allowedUserNames')]\"\n                        },\n                        {\n                            \"name\": \"AzureWebJobsStorage\",\n                            \"value\": \"[parameters('storageConnectionString')]\"\n                        },\n                        {\n                            \"name\": \"WEBSITE_CONTENTAZUREFILECONNECTIONSTRING\",\n                            \"value\": \"[parameters('storageConnectionString')]\"\n                        },\n                        {\n                            \"name\": \"WEBSITE_CONTENTSHARE\",\n                            \"value\": \"[toLower(parameters('functionAppName'))]\"\n                        },\n                        {\n                            \"name\": \"FUNCTIONS_EXTENSION_VERSION\",\n                            \"value\": \"~3\"\n                        },\n                        {\n                            \"name\": \"FUNCTIONS_WORKER_RUNTIME\",\n                            \"value\": \"dotnet\"\n                        },\n                        {\n                            \"name\": \"Project\",\n                            \"value\": \"custom-backends/netcore31\"\n                        }\n                    ]\n                }\n            }\n        }\n    ]\n}\n"
  },
  {
    "path": "custom-backends/netcore31/host.json",
    "content": "{\n    \"version\": \"2.0\",\n    \"extensions\": {\n        \"http\": {\n            \"routePrefix\": \"\"\n        }\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/.gitignore",
    "content": "# build output\n*.vsix\n\n# DurableFunctionsMonitor.Functions build output\nbackend\n\n# Logs\nlogs\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\nlerna-debug.log*\n\n# Diagnostic reports (https://nodejs.org/api/report.html)\nreport.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json\n\n# Runtime data\npids\n*.pid\n*.seed\n*.pid.lock\n\n# Directory for instrumented libs generated by jscoverage/JSCover\nlib-cov\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# nyc test coverage\n.nyc_output\n\n# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)\n.grunt\n\n# Bower dependency directory (https://bower.io/)\nbower_components\n\n# node-waf configuration\n.lock-wscript\n\n# Compiled binary addons (https://nodejs.org/api/addons.html)\nbuild/Release\n\n# Dependency directories\nnode_modules/\njspm_packages/\n\n# TypeScript v1 declaration files\ntypings/\n\n# Optional npm cache directory\n.npm\n\n# Optional eslint cache\n.eslintcache\n\n# Optional REPL history\n.node_repl_history\n\n# Output of 'npm pack'\n*.tgz\n\n# Yarn Integrity file\n.yarn-integrity\n\n# dotenv environment variables file\n.env\n.env.test\n\n# parcel-bundler cache (https://parceljs.org/)\n.cache\n\n# next.js build output\n.next\n\n# nuxt.js build output\n.nuxt\n\n# vuepress build output\n.vuepress/dist\n\n# Serverless directories\n.serverless/\n\n# FuseBox cache\n.fusebox/\n\n# DynamoDB Local files\n.dynamodb/\n\n# TypeScript output\ndist\nout\n\n# Azure Functions artifacts\nbin\nobj\nappsettings.json\nlocal.settings.json"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/.vscode/extensions.json",
    "content": "{\n\t// See http://go.microsoft.com/fwlink/?LinkId=827846\n\t// for the documentation about the extensions.json format\n\t\"recommendations\": [\n\t\t\"ms-vscode.vscode-typescript-tslint-plugin\"\n\t]\n}"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/.vscode/launch.json",
    "content": "// A launch configuration that compiles the extension and then opens it inside a new window\n// Use IntelliSense to learn about possible attributes.\n// Hover to view descriptions of existing attributes.\n// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387\n{\n\t\"version\": \"0.2.0\",\n\t\"configurations\": [\n        {\n            \"name\": \"Run Extension\",\n            \"type\": \"extensionHost\",\n            \"request\": \"launch\",\n            \"runtimeExecutable\": \"${execPath}\",\n            \"args\": [\n                \"--extensionDevelopmentPath=${workspaceFolder}\"\n            ],\n            \"outFiles\": [\n                \"${workspaceFolder}/out/**/*.js\"\n            ],\n            \"preLaunchTask\": \"npm: watch\"\n        },\n        {\n            \"name\": \"Extension Tests\",\n            \"type\": \"extensionHost\",\n            \"request\": \"launch\",\n            \"runtimeExecutable\": \"${execPath}\",\n            \"args\": [\n                \"--extensionDevelopmentPath=${workspaceFolder}\",\n                \"--extensionTestsPath=${workspaceFolder}/out/test/suite/index\"\n            ],\n            \"outFiles\": [\n                \"${workspaceFolder}/out/test/**/*.js\"\n            ],\n            \"preLaunchTask\": \"npm: watch\"\n        },\n        {\n            \"name\": \"Local Process with Kubernetes (Preview)\",\n            \"type\": \"dev-spaces-connect-configuration\",\n            \"request\": \"launch\"\n        }\n    ]\n}\n"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/.vscode/settings.json",
    "content": "// Place your settings in this file to overwrite default and user settings.\n{\n    \"files.exclude\": {\n        \"out\": false // set this to true to hide the \"out\" folder with the compiled JS files\n    },\n    \"search.exclude\": {\n        \"out\": true // set this to false to include \"out\" folder in search results\n    },\n    // Turn off tsc task auto detection since we have the necessary tasks as npm scripts\n    \"typescript.tsc.autoDetect\": \"off\"\n}"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/.vscode/tasks.json",
    "content": "// See https://go.microsoft.com/fwlink/?LinkId=733558\n// for the documentation about the tasks.json format\n{\n\t\"version\": \"2.0.0\",\n\t\"tasks\": [\n\t\t{\n\t\t\t\"type\": \"npm\",\n\t\t\t\"script\": \"watch\",\n\t\t\t\"problemMatcher\": \"$tsc-watch\",\n\t\t\t\"isBackground\": true,\n\t\t\t\"presentation\": {\n\t\t\t\t\"reveal\": \"never\"\n\t\t\t},\n\t\t\t\"group\": {\n\t\t\t\t\"kind\": \"build\",\n\t\t\t\t\"isDefault\": true\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/.vscodeignore",
    "content": ".vscode/**\n.vscode-test/**\nout/test/**\nsrc/**\n.gitignore\nvsc-extension-quickstart.md\n**/tsconfig.json\n**/tslint.json\n**/*.map\n**/*.ts"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/CHANGELOG.md",
    "content": "# Change Log\n\n## Version 5.1.0\n\n- Instance execution history can now be filtered by time and other field values:\n![image](https://user-images.githubusercontent.com/5447190/140803804-84ef440b-bce7-432d-aaf9-4b663f2ef5cd.png)\n\n- 'In' and 'Not In' filter operators. Filter values should be comma-separated or in form of a JSON array.\n- Backend migrated to .Net Core 3.1.\n- Direct requests that DfMon makes against Azure Table Storage now contain custom **User-Agent** header: `DurableFunctionsMonitor-Standalone`, `DurableFunctionsMonitor-VsCodeExt` or `DurableFunctionsMonitor-Injected`. Note that the majority of calls is still done via DurableClient, and those cannot be instrumented like this yet.\n- Minor bugfixes.\n\n## Version 5.0.0\n\n- UI improvements for instance filter and in some other places.\n- Minor bugfixes.\n\n## Version 4.8.2\n\n- Minor hotfix (DfMon's View Container might become unresponsive after a debug session).\n\n## Version 4.8.1\n\n- Workaround for https://github.com/Azure/azure-functions-durable-extension/issues/1926 (being unable to execute .Reset() and .StartNew() against a Task Hub named 'TestHubName').\n\n## Version 4.8\n\n- 'Start New Orchestration Instance' feature:\n<img width=\"200px\" src=\"https://user-images.githubusercontent.com/5447190/130657962-c1c32575-c82c-4e29-ad88-3951eb821fe8.png\"/>\n<img width=\"400px\" src=\"https://user-images.githubusercontent.com/5447190/130658737-e51e259d-e7ec-43a2-902b-79907936fb82.png\"/>\n\n- Should now work seamlessly in [GitHub Codespaces](https://github.com/features/codespaces).\n- Full support for [Microsoft SQL storage provider](https://github.com/microsoft/durabletask-mssql).\n- Latest [az-func-as-a-graph](https://github.com/scale-tone/az-func-as-a-graph) integrated.\n- Minor bugfixes.\n\n## Version 4.7.1\n\n- Hotfix for incompatibility with Storage Emulator ([#112](https://github.com/scale-tone/DurableFunctionsMonitor/issues/112)).\n\n## Version 4.7\n\n- Latest [az-func-as-a-graph](https://github.com/scale-tone/az-func-as-a-graph) integrated, and it is now used as yet another visualization tab for both search results and instance details, with instance counts and statuses rendered on top of it. So it now acts as an *animated* code map of your project:\n![image](https://user-images.githubusercontent.com/5447190/127571400-f83c7f96-55bc-4714-8323-04d26f3be74f.png)\n\n- 'Open XXXInstances/XXXHistory in Storage Explorer' menu items for Task Hubs:\n<img src=\"https://user-images.githubusercontent.com/5447190/127571803-4502d249-9963-4f70-9c4e-8aa1397bf06e.png\" width=\"300\">\n\n- Long JSON (or just long error messages) can now be viewed in a popup window ([#109](https://github.com/scale-tone/DurableFunctionsMonitor/issues/109)).\n- Minor bugfixes.\n\n## Version 4.6\n\n- Added a sortable **Duration** column to the list of results. Now you can quickly find quickest and longest instances.\n- Gantt charts are now interactive (lines are clickable).\n- Custom backends: you can now switch to a .Net Core 3.1 backend, or even to your own customized one:\n\n    ![image](https://user-images.githubusercontent.com/5447190/123545702-c3aeb500-d759-11eb-9d6d-7c69db167ca2.png)\n\n- (Limited) support for [Microsoft SQL storage provider](https://github.com/microsoft/durabletask-mssql). When you open a project that uses it, the relevant Task Hub should appear in the **DURABLE FUNCTIONS** view container:\n\n    ![image](https://user-images.githubusercontent.com/5447190/123545989-281e4400-d75b-11eb-865e-b8aa3cee690a.png)\n\n- Minor bugfixes.\n\n## Version 4.5\n\n- Time can now be shown in local time zone. **File->Preferences->Settings->Durable Functions Monitor->Show Time As**.\n- F# support for Functions Graphs.\n- Instance Details tab is now integrated with Functions Graph. If relevant Functions project is currently open, the Details tab will allow navigating to Functions Graph and to Orchestration/Entity/Activity source code.\n- Minor bugfixes.\n\n## Version 4.4\n\n- Now you can get a quick overview of _any_ Azure Functions project in form of a graph. **Command Palette -> Visualize Functions as a Graph...**. For Durable Functions/Durable Entities the tool also tries to infer and show their relationships. Function nodes are clickable and lead to function's code.\n- Minor bugfixes.\n\n## Version 4.3\n\n- Fixed time ranges ('Last Minute', 'Last Hour' etc.).\n- Multiple choice for filtering by instance status ('Running', 'Completed' etc.).\n- 'Not Equals', 'Not Starts With' and 'Not Contains' filter operators.\n- Performance improvements.\n- Minor bugfixes.\n\n## Version 4.2\n\n- Orchestrations/Entities are now also visualized as a time histogram and as a Gantt chart. Time histogram is interactive, you can zoom it in/out with your mouse.\n<img src=\"https://raw.githubusercontent.com/scale-tone/DurableFunctionsMonitor/master/readme/screenshots/time-histogram.png\" width=\"400\">\n\n- 'Send Signal' button for Durable Entities.\n- Minor bugfixes.\n\n## Version 4.1\n\n- Dark color mode.\n- Minor bugfixes.\n\n## Version 4.0\n\n- It is now one backend per Storage Account, not per each Task Hub. Works faster and consumes less resources.\n- Minor bugfixes.\n\n## Version 3.9\n\n- Gantt Charts for orchestrations (in addition to Sequence Diagrams).\n- 'Go to instanceId...' feature to quickly navigate to an orchestration/entity instance by its id (with autocomplete supported). **Right-click on a Task Hub->Go to instanceId...**.\n- DotLiquid replaced with [Fluid](https://github.com/sebastienros/fluid) for rendering custom status tabs. [Fluid](https://github.com/sebastienros/fluid) looks much more mature (most of [Liquid](https://shopify.github.io/liquid/) seems to be supported) and more alive library.\n- 'Save as .SVG' button for diagrams.\n- Status tabs now refresh much smoother.\n- Minor bugfixes.\n\n## Version 3.8\n\n- WebViews are now persistent (do not reload every time you switch between them) and even persist their state (filters, sorting etc.) across restarts.\n- 'Restart' button for orchestrations (triggers the new [.RestartAsync()](https://github.com/Azure/azure-functions-durable-extension/pull/1545) method).\n- Sequence diagrams now show some timing (start times and durations).\n- 'Detach from all Task Hubs...' button for quickly killing all backends.\n- All logs (when enabled) now go to 'Durable Functions Monitor' output channel.\n- Minor bugfixes.\n\n## Version 3.7\n\n- Now settings are stored in VsCode's settings.json. **File->Preferences->Settings->Durable Functions Monitor**: \n<img src=\"https://raw.githubusercontent.com/scale-tone/DurableFunctionsMonitor/master/readme/screenshots/vscodeext-settings.png\" width=\"400\">\n\n- Local Storage Emulator, Azure Government and other exotic Storage Account types are now supported. If your Local Storage Emulator is running and there're some TaskHubs in it - they will appear automatically on your Azure Functions View Container (if not, try to modify the 'Storage Emulator Connection String' parameter on the Settings page).\n\n- Long-awaited 'Cancel' button on the Orchestrations page.\n\n- Now you can hide the columns you're not interested in:\n<img src=\"https://raw.githubusercontent.com/scale-tone/DurableFunctionsMonitor/master/readme/screenshots/hide-columns.png\" width=\"350\">\n\n- Minor other UI improvements.\n\n## Version 3.6\n\n- 'Clear Entity Storage...' menu item for doing garbage collection of deleted Durable Entities. Executes the recently added [IDurableEntityClient.CleanEntityStorageAsync()](https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.webjobs.extensions.durabletask.idurableentityclient.cleanentitystorageasync?view=azure-dotnet) method.\n\n- Custom status visualisation for orchestrations/entities in form of [Liquid templates](https://shopify.github.io/liquid/). \n  1. Create a [DotLiquid](https://github.com/dotliquid/dotliquid) template file. \n  2. Name it like `[My Custom Tab Name].[orchestration-or-entity-name].liquid` or just `[My Custom Tab Name].liquid` (this one will be applied to any kind of entity).\n  3. In the same Storage Account create a container called `durable-functions-monitor`.\n  4. Put your template file into a `tab-templates` virtual folder in that container (the full path should look like `/durable-functions-monitor/tab-templates/[My Custom Tab Name].[orchestration-or-entity-name].liquid`).\n  5. Restart Durable Functions Monitor.\n  6. Observe the newly appeared `My Custom Tab Name` tab on the Orchestration/Entity Details page.\n\n- Performance improvements for loading the list of Orchestrations/Entities.\n\n## Version 3.5\n\n- Now the **Orchestration Details** page features a nice [mermaid](https://www.npmjs.com/package/mermaid)-based sequence diagram:\n<img src=\"https://raw.githubusercontent.com/scale-tone/DurableFunctionsMonitor/master/readme/screenshots/vscodeext-orchestration-diagram-small.png\">\n- Also it's now possible to navigate to suborchestrations from the history list on the **Orchestration Details** page.\n\n## Version 3.4\n\n- Now integrated with [Azure Account](https://marketplace.visualstudio.com/items?itemName=ms-vscode.azure-account) extension, so once logged in to Azure, you can now see and connect to all your TaskHubs. It is also still possible to connect with connection strings, as before. NOTE1: only filtered Azure Subscriptions are shown, so make sure your filter is set correctly with [Azure: Select Subscriptions](https://docs.microsoft.com/en-us/azure/governance/policy/how-to/extension-for-vscode#select-subscriptions) command. NOTE2: many things can go wrong when fetching the list of TaskHubs, so to investigate those problems you can [enable logging](https://github.com/scale-tone/DurableFunctionsMonitor/blob/master/durablefunctionsmonitor-vscodeext/CHANGELOG.md#version-21) and then check the 'Durable Functions Monitor' output channel.\n\n## Version 3.3\n\n- customStatus value of your orchestration instances can now be changed with 'Set Custom Status' button.\n- Minor bugfixes.\n\n## Version 3.2\n\n- You can now delete unused Task Hubs with 'Delete Task Hub...' context menu item.\n- Better (non-native) DateTime pickers.\n\n## Version 3.1\n\n- Minor security improvements.\n- List of existing Task Hubs is now loaded from your Storage Account and shown to you, when connecting to a Task Hub.\n\n## Version 3.0\n\n- A 'DURABLE FUNCTIONS' TreeView added to Azure Functions View Container. It displays all currently attached Task Hubs, allows to connect to multiple Task Hubs and switch between them. You need to have [Azure Functions](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurefunctions) extension installed to see it (which is typically the case if you work with Azure Functions in VSCode).\n\n## Version 2.2\n\n- Bulk purge for Durable Entities as well.\n- Prettified JSON on instance details page.\n\n## Version 2.1\n\n- Instances list sort order is now persisted as well.\n- Whenever backend initialization fails, its error message is now being shown immediately (instead of a generic 'timeout' message as before).\n- A complete backend output can now be logged into a file for debugging purposes. Open the **settings.json** file in extension's folder and set the **logging** setting to **true**. That will produce a **backend/backend-37072.log** file with full console output from func.exe.\n\n## Version 2.0\n\n- More native support for Durable Entities.\n- Backend migrated to Microsoft.Azure.WebJobs.Extensions.DurableTask 2.0.0. Please, ensure you have the latest Azure Functions Core Tools installed globally, otherwise the backend might fail to start.\n- Now displaying connection info (storage account name/hub name) in the tab title.\n\n## Version 1.3\n\n- Implemented purging orchestration instance history. Type 'Purge Durable Functions History...' in your Command Palette.\n- Added a context menu over a **host.json** file.\n"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/LICENSE",
    "content": "MIT License\n\nCopyright (c) 2019 scale-tone\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/README.md",
    "content": "# Durable Functions Monitor as a VsCode Extension\n\nList/monitor/debug your Azure Durable Functions inside VsCode.\n\n**Command Palette -> Durable Functions Monitor**, or (if you have [Azure Functions](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurefunctions) extension also installed) **Azure Functions View Container -> DURABLE FUNCTIONS**, or right-click on your **host.json** file and use the context menu.\n\n## Features\n\n* Get a bird's eye view of any Azure Functions project in form of a graph - **Command Palette -> Visualize Functions as a Graph...**. \n* List your Orchestrations and/or Durable Entities, with sorting, infinite scrolling and auto-refresh.\n* Monitor the status of a certain Orchestration/Durable Entity. Restart, Purge, Rewind, Terminate, Raise Events.\n* Start new orchestration instances - **Azure Functions View Container -> DURABLE FUNCTIONS -> [right-click on your TaskHub] -> Start New Orchestration Instance...**\n* Quickly navigate to an Orchestration/Entity instance by its ID - **Command Palette -> Durable Functions Monitor: Go to instanceId...** or **Azure Functions View Container -> DURABLE FUNCTIONS -> [right-click on your TaskHub] -> Go to instanceId...**\n* Purge Orchestrations/Durable Entities history - **Command Palette -> Durable Functions Monitor: Purge History...**\n* Cleanup deleted Durable Entities - **Command Palette -> Durable Functions Monitor: Clean Entity Storage...**\n* Observe all Task Hubs in your Azure Subscription and connect to them - **Azure Functions View Container -> DURABLE FUNCTIONS**\n* Delete Task Hubs - **Command Palette -> Delete Task Hub...**\n\n## Pictures\n\n<img src=\"https://raw.githubusercontent.com/scale-tone/DurableFunctionsMonitor/master/readme/screenshots/vscodeext-command-palette.png\" width=\"624\">\n\n<img src=\"https://raw.githubusercontent.com/scale-tone/DurableFunctionsMonitor/master/readme/screenshots/vscodeext-orchestrations.png\" width=\"768\">\n\n<img src=\"https://raw.githubusercontent.com/scale-tone/DurableFunctionsMonitor/master/readme/screenshots/vscodeext-orchestration.png\" width=\"843\">\n\n<img src=\"https://raw.githubusercontent.com/scale-tone/DurableFunctionsMonitor/master/readme/screenshots/gantt-chart.png\" width=\"843\">\n\n<img src=\"https://raw.githubusercontent.com/scale-tone/DurableFunctionsMonitor/master/readme/screenshots/vscodeext-orchestration-diagram.png\" width=\"600\">\n\n<img src=\"https://raw.githubusercontent.com/scale-tone/DurableFunctionsMonitor/master/readme/screenshots/function-graph.png\" width=\"800\">\n\n## Prerequisites\n\nMake sure you have the latest [Azure Functions Core Tools](https://www.npmjs.com/package/azure-functions-core-tools) globally installed on your devbox.\n\nMore info and sources on [the github repo](https://github.com/scale-tone/DurableFunctionsMonitor#features).\n"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/package.json",
    "content": "{\n    \"name\": \"durablefunctionsmonitor\",\n    \"displayName\": \"Durable Functions Monitor\",\n    \"description\": \"Monitoring/debugging UI tool for Azure Durable Functions. View->Command Palette...->Durable Functions Monitor\",\n    \"version\": \"5.1.0\",\n    \"engines\": {\n        \"vscode\": \"^1.39.0\"\n    },\n    \"categories\": [\n        \"Other\",\n        \"Debuggers\"\n    ],\n    \"homepage\": \"https://github.com/scale-tone/DurableFunctionsMonitor\",\n    \"repository\": {\n        \"type\": \"git\",\n        \"url\": \"https://github.com/scale-tone/DurableFunctionsMonitor\"\n    },\n    \"bugs\": {\n        \"url\": \"https://github.com/scale-tone/DurableFunctionsMonitor/issues\"\n    },\n    \"icon\": \"logo.png\",\n    \"keywords\": [\n        \"Azure Durable Functions\",\n        \"Azure Durable Entities\",\n        \"Azure Functions\",\n        \"Serverless\",\n        \"Azure\"\n    ],\n    \"publisher\": \"DurableFunctionsMonitor\",\n    \"license\": \"MIT\",\n    \"activationEvents\": [\n        \"onView:durableFunctionsMonitorTreeView\",\n        \"onCommand:extension.durableFunctionsMonitor\",\n        \"onCommand:extension.durableFunctionsMonitorPurgeHistory\",\n        \"onCommand:extension.durableFunctionsMonitorCleanEntityStorage\",\n        \"onCommand:durableFunctionsMonitorTreeView.attachToAnotherTaskHub\",\n        \"onCommand:extension.durableFunctionsMonitorGotoInstanceId\",\n        \"onCommand:extension.durableFunctionsMonitorVisualizeAsGraph\",\n        \"onCommand:durableFunctionsMonitorTreeView.startNewInstance\",\n        \"onDebug\"\n    ],\n    \"main\": \"./out/extension.js\",\n    \"contributes\": {\n        \"views\": {\n            \"azure\": [\n                {\n                    \"id\": \"durableFunctionsMonitorTreeView\",\n                    \"name\": \"Durable Functions\"\n                }\n            ]\n        },\n        \"commands\": [\n            {\n                \"command\": \"extension.durableFunctionsMonitor\",\n                \"title\": \"Durable Functions Monitor\"\n            },\n            {\n                \"command\": \"extension.durableFunctionsMonitorPurgeHistory\",\n                \"title\": \"Durable Functions Monitor: Purge History...\"\n            },\n            {\n                \"command\": \"extension.durableFunctionsMonitorCleanEntityStorage\",\n                \"title\": \"Durable Functions Monitor: Clean Entity Storage...\"\n            },\n            {\n                \"command\": \"extension.durableFunctionsMonitorGotoInstanceId\",\n                \"title\": \"Durable Functions Monitor: Go to instanceId...\"\n            },\n            {\n                \"command\": \"extension.durableFunctionsMonitorVisualizeAsGraph\",\n                \"title\": \"Visualize Functions as a Graph...\"\n            },\n            {\n                \"command\": \"durableFunctionsMonitorTreeView.attachToTaskHub\",\n                \"title\": \"Attach\"\n            },\n            {\n                \"command\": \"durableFunctionsMonitorTreeView.detachFromTaskHub\",\n                \"title\": \"Detach\"\n            },\n            {\n                \"command\": \"durableFunctionsMonitorTreeView.openInstancesInStorageExplorer\",\n                \"title\": \"Open *Instances table in Storage Explorer\"\n            },\n            {\n                \"command\": \"durableFunctionsMonitorTreeView.openHistoryInStorageExplorer\",\n                \"title\": \"Open *History table in Storage Explorer\"\n            },\n            {\n                \"command\": \"durableFunctionsMonitorTreeView.deleteTaskHub\",\n                \"title\": \"Delete Task Hub...\"\n            },\n            {\n                \"command\": \"durableFunctionsMonitorTreeView.refresh\",\n                \"title\": \"Refresh\",\n                \"icon\": {\n                    \"light\": \"resources/light/refresh.svg\",\n                    \"dark\": \"resources/dark/refresh.svg\"\n                }\n            },\n            {\n                \"command\": \"durableFunctionsMonitorTreeView.attachToAnotherTaskHub\",\n                \"title\": \"Attach to Task Hub...\",\n                \"icon\": {\n                    \"light\": \"resources/light/plug.svg\",\n                    \"dark\": \"resources/dark/plug.svg\"\n                }\n            },\n            {\n                \"command\": \"durableFunctionsMonitorTreeView.detachFromAllTaskHubs\",\n                \"title\": \"Detach from all Task Hubs...\",\n                \"icon\": {\n                    \"light\": \"resources/light/unplug.svg\",\n                    \"dark\": \"resources/dark/unplug.svg\"\n                }\n            },\n            {\n                \"command\": \"durableFunctionsMonitorTreeView.purgeHistory\",\n                \"title\": \"Purge History...\"\n            },\n            {\n                \"command\": \"durableFunctionsMonitorTreeView.cleanEntityStorage\",\n                \"title\": \"Clean Entity Storage...\"\n            },\n            {\n                \"command\": \"durableFunctionsMonitorTreeView.gotoInstanceId\",\n                \"title\": \"Go to instanceId...\"\n            },\n            {\n                \"command\": \"durableFunctionsMonitorTreeView.startNewInstance\",\n                \"title\": \"Start New Orchestration Instance...\"\n            }\n        ],\n        \"menus\": {\n            \"explorer/context\": [\n                {\n                    \"command\": \"extension.durableFunctionsMonitor\",\n                    \"when\": \"resourceFilename == host.json\",\n                    \"group\": \"DurableFunctionMonitorGroup@1\"\n                },\n                {\n                    \"command\": \"extension.durableFunctionsMonitorPurgeHistory\",\n                    \"when\": \"resourceFilename == host.json\",\n                    \"group\": \"DurableFunctionMonitorGroup@2\"\n                },\n                {\n                    \"command\": \"extension.durableFunctionsMonitorCleanEntityStorage\",\n                    \"when\": \"resourceFilename == host.json\",\n                    \"group\": \"DurableFunctionMonitorGroup@3\"\n                },\n                {\n                    \"command\": \"extension.durableFunctionsMonitorGotoInstanceId\",\n                    \"when\": \"resourceFilename == host.json\",\n                    \"group\": \"DurableFunctionMonitorGroup@4\"\n                },\n                {\n                    \"command\": \"extension.durableFunctionsMonitorVisualizeAsGraph\",\n                    \"when\": \"resourceFilename == host.json\",\n                    \"group\": \"DurableFunctionMonitorGroup@5\"\n                }\n            ],\n            \"view/title\": [\n                {\n                    \"command\": \"durableFunctionsMonitorTreeView.refresh\",\n                    \"when\": \"view == durableFunctionsMonitorTreeView\",\n                    \"group\": \"navigation@1\"\n                },\n                {\n                    \"command\": \"durableFunctionsMonitorTreeView.detachFromAllTaskHubs\",\n                    \"when\": \"view == durableFunctionsMonitorTreeView\",\n                    \"group\": \"navigation@2\"\n                },\n                {\n                    \"command\": \"durableFunctionsMonitorTreeView.attachToAnotherTaskHub\",\n                    \"when\": \"view == durableFunctionsMonitorTreeView\",\n                    \"group\": \"navigation@3\"\n                }\n            ],\n            \"view/item/context\": [\n                {\n                    \"command\": \"durableFunctionsMonitorTreeView.gotoInstanceId\",\n                    \"when\": \"view == durableFunctionsMonitorTreeView && viewItem == taskHub-attached\",\n                    \"group\": \"2_purge_history@3\"\n                },\n                {\n                    \"command\": \"durableFunctionsMonitorTreeView.cleanEntityStorage\",\n                    \"when\": \"view == durableFunctionsMonitorTreeView && viewItem == taskHub-attached\",\n                    \"group\": \"2_purge_history@2\"\n                },\n                {\n                    \"command\": \"durableFunctionsMonitorTreeView.purgeHistory\",\n                    \"when\": \"view == durableFunctionsMonitorTreeView && viewItem == taskHub-attached\",\n                    \"group\": \"2_purge_history@1\"\n                },\n                {\n                    \"command\": \"durableFunctionsMonitorTreeView.startNewInstance\",\n                    \"when\": \"view == durableFunctionsMonitorTreeView && viewItem == taskHub-attached\",\n                    \"group\": \"2_purge_history@0\"\n                },\n                {\n                    \"command\": \"durableFunctionsMonitorTreeView.deleteTaskHub\",\n                    \"when\": \"view == durableFunctionsMonitorTreeView && viewItem == taskHub-attached\",\n                    \"group\": \"3_delete_task_hub@1\"\n                },\n                {\n                    \"command\": \"durableFunctionsMonitorTreeView.attachToTaskHub\",\n                    \"when\": \"view == durableFunctionsMonitorTreeView && viewItem == taskHub-detached\",\n                    \"group\": \"1_attach_detach@1\"\n                },\n                {\n                    \"command\": \"durableFunctionsMonitorTreeView.detachFromTaskHub\",\n                    \"when\": \"view == durableFunctionsMonitorTreeView && viewItem == storageAccount-attached\"\n                },\n                {\n                    \"command\": \"durableFunctionsMonitorTreeView.openInstancesInStorageExplorer\",\n                    \"when\": \"view == durableFunctionsMonitorTreeView && viewItem == taskHub-attached || viewItem == taskHub-detached\",\n                    \"group\": \"4_storage_explorer@1\"\n                },\n                {\n                    \"command\": \"durableFunctionsMonitorTreeView.openHistoryInStorageExplorer\",\n                    \"when\": \"view == durableFunctionsMonitorTreeView && viewItem == taskHub-attached || viewItem == taskHub-detached\",\n                    \"group\": \"4_storage_explorer@2\"\n                }\n            ],\n\n            \"commandPalette\": [\n                {\n                    \"command\": \"durableFunctionsMonitorTreeView.openInstancesInStorageExplorer\",\n                    \"when\": \"never\"\n                },\n                {\n                    \"command\": \"durableFunctionsMonitorTreeView.openHistoryInStorageExplorer\",\n                    \"when\": \"never\"\n                }\n            ]\n        },\n        \"configuration\": {\n            \"title\": \"Durable Functions Monitor\",\n            \"properties\": {\n                \"durableFunctionsMonitor.backendBaseUrl\": {\n                    \"type\": \"string\",\n                    \"default\": \"http://localhost:{portNr}/a/p/i\",\n                    \"description\": \"URL the backend(s) to be started on. You might want e.g. to change 'localhost' to '127.0.0.1', if you're observing firewall issues. Also it is possible to lock the port number here, if needed (by default it is automatically chosen from the range 37072-38000).\"\n                },\n                \"durableFunctionsMonitor.backendVersionToUse\": {\n                    \"type\": \"string\",\n                    \"enum\": [\n                        \"Default\",\n                        \".Net Core 3.1\",\n                        \".Net Core 2.1\"\n                    ],\n                    \"default\": \"Default\",\n                    \"description\": \"Choose which backend binaries to use when starting a backend. Currently 'Default' backend targets .Net Core 2.1, but you can try other ones, if 'Default' doesn't work for you.\"\n                },\n                \"durableFunctionsMonitor.customPathToBackendBinaries\": {\n                    \"type\": \"string\",\n                    \"description\": \"Put local path to a custom backend implementation to use. Overrides 'Backend Version to Use' when set.\"\n                },\n                \"durableFunctionsMonitor.backendTimeoutInSeconds\": {\n                    \"type\": \"number\",\n                    \"default\": \"60\",\n                    \"description\": \"Number of seconds to wait for the backend to start.\"\n                },\n                \"durableFunctionsMonitor.storageEmulatorConnectionString\": {\n                    \"type\": \"string\",\n                    \"default\": \"AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;DefaultEndpointsProtocol=http;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;\",\n                    \"description\": \"Connection String to talk to local Storage Emulator. The AccountKey here is a well-known AccountKey. Customize endpoint URLs when needed.\"\n                },\n                \"durableFunctionsMonitor.enableLogging\": {\n                    \"type\": \"boolean\",\n                    \"default\": false,\n                    \"description\": \"Enable extensive logging and output logs into 'Durable Functions Monitor' output channel\"\n                },\n                \"durableFunctionsMonitor.showTimeAs\": {\n                    \"type\": \"string\",\n                    \"default\": \"UTC\",\n                    \"enum\": [\n                        \"UTC\",\n                        \"Local\"\n                    ],\n                    \"description\": \"In which time zone time values should be displayed\"\n                },\n                \"durableFunctionsMonitor.showWhenDebugSessionStarts\": {\n                    \"type\": \"boolean\",\n                    \"default\": false,\n                    \"description\": \"Show Durable Functions Monitor when you start debugging a Durable Functions project\"\n                }\n            }\n        }\n    },\n    \"scripts\": {\n        \"vscode:prepublish\": \"npm run compile\",\n        \"compile\": \"tsc -p ./\",\n        \"watch\": \"tsc -watch -p ./\",\n        \"pretest\": \"npm run compile\",\n        \"test\": \"node ./out/test/runTest.js\",\n        \"package\": \"node ./node_modules/vsce/out/vsce package\"\n    },\n    \"devDependencies\": {\n        \"@types/glob\": \"^7.1.1\",\n        \"@types/mocha\": \"^5.2.6\",\n        \"@types/node\": \"^10.12.21\",\n        \"@types/vscode\": \"^1.39.0\",\n        \"glob\": \"^7.1.4\",\n        \"mocha\": \"^8.2.0\",\n        \"tslint\": \"^5.12.1\",\n        \"typescript\": \"^3.3.1\",\n        \"vsce\": \"^1.88.0\",\n        \"vscode-test\": \"^1.2.0\"\n    },\n    \"dependencies\": {\n        \"@azure/arm-storage\": \"^15.1.0\",\n        \"@types/crypto-js\": \"^3.1.47\",\n        \"@types/rimraf\": \"^3.0.0\",\n        \"rimraf\": \"^3.0.2\",\n        \"axios\": \"^0.21.2\",\n        \"crypto-js\": \"^4.0.0\",\n        \"portscanner\": \"^2.2.0\",\n        \"tree-kill\": \"^1.2.2\"\n    },\n    \"extensionDependencies\": [\n        \"ms-vscode.azure-account\"\n    ]\n}\n"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/src/BackendProcess.ts",
    "content": "const portscanner = require('portscanner');\n\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport * as vscode from 'vscode';\nimport * as crypto from 'crypto';\nimport * as killProcessTree from 'tree-kill';\nimport axios from 'axios';\nimport { spawn, spawnSync, ChildProcess } from 'child_process';\nimport * as CryptoJS from 'crypto-js';\n\nimport { ConnStringUtils } from \"./ConnStringUtils\";\n\nimport * as SharedConstants from './SharedConstants';\nimport { Settings } from './Settings';\n\n// Responsible for running the backend process\nexport class BackendProcess {\n\n    constructor(private _binariesFolder: string,\n        private _storageConnectionSettings: StorageConnectionSettings,\n        private _removeMyselfFromList: () => void,\n        private _log: (l: string) => void)\n    { }\n    \n    // Underlying Storage Connection Strings\n    get storageConnectionStrings(): string[] {\n        return this._storageConnectionSettings.storageConnStrings;\n    }\n\n    // Information about the started backend (if it was successfully started)\n    get backendUrl(): string {\n        return this._backendUrl;\n    }\n\n    // Folder where backend is run from (might be different, if the backend needs to be published first)\n    get binariesFolder(): string {\n        return this._eventualBinariesFolder;\n    }\n\n    // Kills the pending backend process\n    cleanup(): Promise<any> {\n\n        this._backendPromise = null;\n        this._backendUrl = '';\n\n        if (!this._funcProcess) {\n            return Promise.resolve();\n        }\n\n        console.log('Killing func process...');\n\n        return new Promise((resolve) => {\n\n            // The process is a shell. So to stop func.exe, we need to kill the entire process tree.\n            killProcessTree(this._funcProcess!.pid, resolve);\n            this._funcProcess = null;\n        });\n    }\n\n    get backendCommunicationNonce(): string { return this._backendCommunicationNonce; }\n\n    // Ensures that the backend is running (starts it, if needed) and returns its properties\n    getBackend(): Promise<void> {\n\n        if (!!this._backendPromise) {\n            return this._backendPromise;\n        }\n\n        this._backendPromise = new Promise<void>((resolve, reject) => {\n\n            vscode.window.withProgress({\n                location: vscode.ProgressLocation.Notification,\n                title: `Starting the backend `,\n                cancellable: true\n            }, (progress, token) => new Promise(stopProgress => {\n\n                // Starting the backend on a first available port\n                portscanner.findAPortNotInUse(37072, 38000).then((portNr: number) => {\n\n                    const backendUrl = Settings().backendBaseUrl.replace('{portNr}', portNr.toString());\n                    progress.report({ message: backendUrl });\n\n                    // Now running func.exe in backend folder\n                    this.startBackendOnPort(portNr, backendUrl, token)\n                        .then(resolve, reject)\n                        .finally(() => stopProgress(undefined));\n\n                }, (err: any) => { stopProgress(undefined); reject(`Failed to choose port for backend: ${err.message}`); });\n            }));\n        });\n\n        // Allowing the user to try again\n        this._backendPromise.catch(() => {\n\n            // This call is important, without it a typo in connString would persist until vsCode restart\n            this._removeMyselfFromList();\n        });\n\n        return this._backendPromise;\n    }\n    \n    // Reference to the shell instance running func.exe\n    private _funcProcess: ChildProcess | null = null;\n\n    // Promise that resolves when the backend is started successfully\n    private _backendPromise: Promise<void> | null = null;\n\n    // Information about the started backend (if it was successfully started)\n    private _backendUrl: string = '';\n\n    // Folder where backend is run from (might be different, if the backend needs to be published first)\n    private _eventualBinariesFolder: string = this._binariesFolder;\n\n    // A nonce for communicating with the backend\n    private _backendCommunicationNonce = crypto.randomBytes(64).toString('base64');\n\n    // Runs the backend Function instance on some port\n    private startBackendOnPort(portNr: number, backendUrl: string, cancelToken: vscode.CancellationToken): Promise<void> {\n\n        return new Promise<void>((resolve, reject) => {\n\n            this._log(`Attempting to start the backend from ${this._binariesFolder} on ${backendUrl}...`);\n\n            if (!fs.existsSync(this._binariesFolder)) {\n                reject(`Couldn't find backend binaries in ${this._binariesFolder}`);\n                return;\n            }\n    \n            // If this is a source code project\n            if (fs.readdirSync(this._binariesFolder).some(fn => fn.toLowerCase().endsWith('.csproj'))) {\n    \n                const publishFolder = path.join(this._binariesFolder, 'publish');\n                \n                // if it wasn't published yet\n                if (!fs.existsSync(publishFolder)) {\n    \n                    // publishing it\n                    const publishProcess = spawnSync('dotnet', ['publish', '-o', publishFolder],\n                        { cwd: this._binariesFolder, encoding: 'utf8' }\n                    );\n    \n                    if (!!publishProcess.stdout) {\n                        this._log(publishProcess.stdout.toString());\n                    }\n    \n                    if (publishProcess.status !== 0) {\n    \n                        const err = 'dotnet publish failed. ' +\n                            (!!publishProcess.stderr ? publishProcess.stderr.toString() : `status: ${publishProcess.status}`);\n    \n                        this._log(`ERROR: ${err}`);\n                        reject(err);\n                        return;\n                    }\n                }\n    \n                this._eventualBinariesFolder = publishFolder;\n            }\n\n            // Important to inherit the context from VsCode, so that globally installed tools can be found\n            const env = process.env;\n    \n            env[SharedConstants.NonceEnvironmentVariableName] = this._backendCommunicationNonce;\n\n            // Also setting AzureWebJobsSecretStorageType to 'files', so that the backend doesn't need Azure Storage\n            env['AzureWebJobsSecretStorageType'] = 'files';\n\n            if (this._storageConnectionSettings.isMsSql) {\n\n                env[SharedConstants.MsSqlConnStringEnvironmentVariableName] = this._storageConnectionSettings.storageConnStrings[0];\n\n                // For MSSQL just need to set DFM_HUB_NAME to something, doesn't matter what it is so far\n                env[SharedConstants.HubNameEnvironmentVariableName] = this._storageConnectionSettings.hubName;\n\n            } else {\n\n                // Need to unset this, in case it was set previously\n                delete env[SharedConstants.HubNameEnvironmentVariableName];\n                \n                env['AzureWebJobsStorage'] = this._storageConnectionSettings.storageConnStrings[0];\n            }\n            \n            this._funcProcess = spawn('func', ['start', '--port', portNr.toString(), '--csharp'], {\n                cwd: this._eventualBinariesFolder,\n                shell: true,\n                env\n            });\n    \n            this._funcProcess.stdout.on('data', (data) => {\n                const msg = data.toString();\n                this._log(msg);\n    \n                if (msg.toLowerCase().includes('no valid combination of account information found')) {\n                    reject('The provided Storage Connection String and/or Hub Name seem to be invalid.');\n                }\n            });\n\n            this._funcProcess!.stderr.on('data', (data) => {\n                const msg = data.toString();\n                this._log(`ERROR: ${msg}`);\n                reject(`Func: ${msg}`);\n            });\n\n            console.log(`Waiting for ${backendUrl} to respond...`);\n\n            // Waiting for the backend to be ready\n            const timeoutInSeconds = Settings().backendTimeoutInSeconds;\n            const intervalInMs = 500, numOfTries = timeoutInSeconds * 1000 / intervalInMs;\n            var i = numOfTries;\n            const intervalToken = setInterval(() => {\n\n                const headers: any = {};\n                headers[SharedConstants.NonceHeaderName] = this._backendCommunicationNonce;\n\n                // Pinging the backend and returning its URL when ready\n                axios.get(`${backendUrl}/--${this._storageConnectionSettings.hubName}/about`, { headers }).then(response => {\n                    console.log(`The backend is now running on ${backendUrl}`);\n                    clearInterval(intervalToken);\n\n                    this._backendUrl = backendUrl;\n\n                    resolve();\n                }, err => {\n                        \n                    if (!!err.response && err.response.status === 401) {\n                        // This typically happens when mistyping Task Hub name\n\n                        clearInterval(intervalToken);\n                        reject(err.message);\n                    }\n                });\n\n                if (cancelToken.isCancellationRequested) {\n\n                    clearInterval(intervalToken);\n                    reject(`Cancelled by the user`);\n\n                } else if (--i <= 0) {\n                    console.log(`Timed out waiting for the backend!`);\n                    clearInterval(intervalToken);\n                    reject(`No response within ${timeoutInSeconds} seconds. Ensure you have the latest Azure Functions Core Tools installed globally.`);\n                }\n\n            }, intervalInMs);\n        });\n    }\n}\n\nexport class StorageConnectionSettings {\n\n    get storageConnStrings(): string[] { return this._connStrings; };\n    get hubName(): string { return this._hubName; };\n    get connStringHashKey(): string { return this._connStringHashKey; }\n    get hashKey(): string { return this._hashKey; }\n    get isFromLocalSettingsJson(): boolean { return this._fromLocalSettingsJson; }\n    get isMsSql(): boolean { return !!ConnStringUtils.GetSqlServerName(this._connStrings[0]); }\n\n    constructor(private _connStrings: string[],\n        private _hubName: string,\n        private _fromLocalSettingsJson: boolean = false) {\n\n        this._connStringHashKey = StorageConnectionSettings.GetConnStringHashKey(this._connStrings);\n        this._hashKey = this._connStringHashKey + this._hubName.toLowerCase();\n    }\n\n    static GetConnStringHashKey(connStrings: string[]): string {\n\n        const sqlServerName = ConnStringUtils.GetSqlServerName(connStrings[0]);\n\n        if (!!sqlServerName) {\n            return sqlServerName + ConnStringUtils.GetSqlDatabaseName(connStrings[0]);\n        }\n\n        return ConnStringUtils.GetTableEndpoint(connStrings[0]).toLowerCase();\n    }\n\n    static MaskStorageConnString(connString: string): string {\n        return connString.replace(/AccountKey=[^;]+/gi, 'AccountKey=*****');\n    }\n\n    private readonly _connStringHashKey: string;\n    private readonly _hashKey: string;\n}\n\n// Creates the SharedKeyLite signature to query Table Storage REST API, also adds other needed headers\nexport function CreateAuthHeadersForTableStorage(accountName: string, accountKey: string, queryUrl: string): {} {\n\n    const dateInUtc = new Date().toUTCString();\n    const signature = CryptoJS.HmacSHA256(`${dateInUtc}\\n/${accountName}/${queryUrl}`, CryptoJS.enc.Base64.parse(accountKey));\n\n    return {\n        'Authorization': `SharedKeyLite ${accountName}:${signature.toString(CryptoJS.enc.Base64)}`,\n        'x-ms-date': dateInUtc,\n        'x-ms-version': '2015-12-11',\n        'Accept': 'application/json;odata=nometadata'\n    };\n}\n"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/src/ConnStringUtils.ts",
    "content": "\nimport { Settings } from './Settings';\n\nexport class ConnStringUtils {\n    \n    // Extracts AccountName from Storage Connection String\n    static GetAccountName(connString: string): string {\n        const match = /AccountName=([^;]+)/i.exec(connString);\n        return (!!match && match.length > 0) ? match[1] : '';\n    }\n\n    // Extracts AccountKey from Storage Connection String\n    static GetAccountKey(connString: string): string {\n        const match = /AccountKey=([^;]+)/i.exec(connString);\n        return (!!match && match.length > 0) ? match[1] : '';\n    }\n\n    // Extracts DefaultEndpointsProtocol from Storage Connection String\n    static GetDefaultEndpointsProtocol(connString: string): string {\n        const match = /DefaultEndpointsProtocol=([^;]+)/i.exec(connString);\n        return (!!match && match.length > 0) ? match[1] : 'https';\n    }\n\n    // Extracts TableEndpoint from Storage Connection String\n    static GetTableEndpoint(connString: string): string {\n\n        const accountName = ConnStringUtils.GetAccountName(connString);\n        if (!accountName) {\n            return '';\n        }\n\n        const endpointsProtocol = ConnStringUtils.GetDefaultEndpointsProtocol(connString);\n\n        const suffixMatch = /EndpointSuffix=([^;]+)/i.exec(connString);\n        if (!!suffixMatch && suffixMatch.length > 0) {\n\n            return `${endpointsProtocol}://${accountName}.table.${suffixMatch[1]}/`;\n        }\n\n        const endpointMatch = /TableEndpoint=([^;]+)/i.exec(connString);\n        return (!!endpointMatch && endpointMatch.length > 0) ? endpointMatch[1] : `${endpointsProtocol}://${accountName}.table.core.windows.net/`;\n    }\n\n    // Replaces 'UseDevelopmentStorage=true' with full Storage Emulator connection string\n    static ExpandEmulatorShortcutIfNeeded(connString: string): string {\n\n        if (connString.includes('UseDevelopmentStorage=true')) {\n            return Settings().storageEmulatorConnectionString;\n        }\n\n        return connString;\n    }\n\n    // Extracts server name from MSSQL Connection String\n    static GetSqlServerName(connString: string): string {\n        const match = /(Data Source|Server)=([^;]+)/i.exec(connString);\n        return (!!match && match.length > 1) ? match[2] : '';\n    }\n    \n    // Extracts database name from MSSQL Connection String\n    static GetSqlDatabaseName(connString: string): string {\n        const match = /Initial Catalog=([^;]+)/i.exec(connString);\n        return (!!match && match.length > 0) ? match[1] : '';\n    }\n\n    // Extracts human-readable storage name from a bunch of connection strings\n    static GetStorageName(connStrings: string[]): string {\n\n        const serverName = this.GetSqlServerName(connStrings[0]);\n\n        if (!serverName) {\n            return this.GetAccountName(connStrings[0]);\n        }\n\n        const dbName = this.GetSqlDatabaseName(connStrings[0]);\n\n        return serverName + (!dbName ? '' : '/' + dbName);\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/src/FunctionGraphList.ts",
    "content": "import * as vscode from 'vscode';\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport * as rimraf from 'rimraf';\n\nimport { FunctionGraphView } from \"./FunctionGraphView\";\nimport { traverseFunctionProject } from './az-func-as-a-graph/traverseFunctionProject';\nimport { FunctionsMap, ProxiesMap } from './az-func-as-a-graph/FunctionsMap';\n\nexport type TraversalResult = {\n    functions: FunctionsMap;\n    proxies: ProxiesMap;\n};\n\n// Aggregates Function Graph views\nexport class FunctionGraphList {\n\n    constructor(private _context: vscode.ExtensionContext, logChannel?: vscode.OutputChannel) {\n        this._log = !logChannel ? (s: any) => { } : (s: any) => logChannel!.append(s);\n    }\n\n    traverseFunctions(projectPath: string): Promise<TraversalResult> {\n\n        const isCurrentProject = projectPath === vscode.workspace.rootPath;\n\n        if (isCurrentProject && !!this._traversalResult) {\n            return Promise.resolve(this._traversalResult);\n        }\n\n        return traverseFunctionProject(projectPath, this._log).then(result => {\n\n            this._tempFolders.push(...result.tempFolders);\n\n            // Caching current project's functions\n            if (isCurrentProject) {\n\n                this._traversalResult = { functions: result.functions, proxies: result.proxies };\n\n                // And cleanup the cache on any change to the file system\n                if (!!this._watcher) {\n                    this._watcher.dispose();\n                }\n                this._watcher = vscode.workspace.createFileSystemWatcher(new vscode.RelativePattern(projectPath, '**/*'));\n\n                const cacheCleanupRoutine = () => {\n                    \n                    this._traversalResult = undefined;\n\n                    if (!!this._watcher) {\n                        this._watcher.dispose();\n                        this._watcher = undefined;\n                    }\n                }\n\n                this._watcher.onDidCreate(cacheCleanupRoutine);\n                this._watcher.onDidDelete(cacheCleanupRoutine);\n                this._watcher.onDidChange(cacheCleanupRoutine);\n            }\n\n            return { functions: result.functions, proxies: result.proxies };\n        });\n    }\n\n    visualize(item?: vscode.Uri): void {\n\n        // If host.json was clicked\n        if (!!item && item.scheme === 'file' && item.fsPath.toLowerCase().endsWith('host.json')) {\n\n            this.visualizeProjectPath(path.dirname(item.fsPath));\n            return;\n        }\n\n        var defaultProjectPath = '';\n        const ws = vscode.workspace;\n        if (!!ws.rootPath && fs.existsSync(path.join(ws.rootPath, 'host.json'))) {\n            defaultProjectPath = ws.rootPath;\n        }\n\n        vscode.window.showInputBox({ value: defaultProjectPath, prompt: 'Local path or link to GitHub repo' }).then(projectPath => {\n\n            if (!!projectPath) {\n                this.visualizeProjectPath(projectPath);\n            }\n        });\n    }\n\n    visualizeProjectPath(projectPath: string): void {\n\n        this._views.push(new FunctionGraphView(this._context, projectPath, this));\n    }\n\n    // Closes all views\n    cleanup(): void {\n\n        if (!!this._watcher) {\n            this._watcher.dispose();\n            this._watcher = undefined;\n        }\n\n        for (const view of this._views) {\n            view.cleanup();\n        }\n\n        for (var tempFolder of this._tempFolders) {\n\n            this._log(`Removing ${tempFolder}`);\n            try {\n                rimraf.sync(tempFolder)\n            } catch (err) {\n                this._log(`Failed to remove ${tempFolder}: ${err.message}`);\n            }\n        }\n    }\n\n    private _views: FunctionGraphView[] = [];\n    private _traversalResult?: TraversalResult;\n    private _watcher?: vscode.FileSystemWatcher;\n    private _tempFolders: string[] = [];\n    private _log: (line: string) => void;\n}"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/src/FunctionGraphView.ts",
    "content": "import * as vscode from 'vscode';\nimport * as fs from 'fs';\nimport * as path from 'path';\n\nimport { MonitorView } from './MonitorView';\nimport { FunctionGraphList, TraversalResult } from './FunctionGraphList';\n\n// Represents the function graph view\nexport class FunctionGraphView\n{\n    constructor(private _context: vscode.ExtensionContext,\n        private _functionProjectPath: string,\n        private _functionGraphList: FunctionGraphList) {\n        \n        this._staticsFolder = path.join(this._context.extensionPath, 'backend', 'DfmStatics');\n\n        this._webViewPanel = this.showWebView();\n    }\n\n    // Closes this web view\n    cleanup(): void {\n\n        if (!!this._webViewPanel) {\n            this._webViewPanel.dispose();\n        }\n    }\n\n    // Path to html statics\n    private _staticsFolder: string;\n\n    // Reference to the already opened WebView with the main page\n    private _webViewPanel: vscode.WebviewPanel | null = null;    \n\n    // Functions and proxies currently shown\n    private _traversalResult?: TraversalResult;\n\n    private static readonly ViewType = 'durableFunctionsMonitorFunctionGraph';\n\n    // Opens a WebView with function graph page in it\n    private showWebView(): vscode.WebviewPanel {\n\n        const title = `Functions Graph (${this._functionProjectPath})`;\n\n        const panel = vscode.window.createWebviewPanel(\n            FunctionGraphView.ViewType,\n            title,\n            vscode.ViewColumn.One,\n            {\n                retainContextWhenHidden: true,\n                enableScripts: true,\n                localResourceRoots: [vscode.Uri.file(this._staticsFolder)]\n            }\n        );\n\n        var html = fs.readFileSync(path.join(this._staticsFolder, 'index.html'), 'utf8');\n        html = MonitorView.fixLinksToStatics(html, this._staticsFolder, panel.webview);\n\n        html = this.embedTheme(html);\n        html = this.embedParams(html, !!this._functionProjectPath);\n\n        panel.webview.html = html;\n\n        // handle events from WebView\n        panel.webview.onDidReceiveMessage(request => {\n\n            switch (request.method) {\n                case 'SaveAs':\n\n                    // Just to be extra sure...\n                    if (!MonitorView.looksLikeSvg(request.data)) {\n                        vscode.window.showErrorMessage(`Invalid data format. Save failed.`);\n                        return;\n                    }\n                    \n                    // Saving some file to local hard drive\n                    vscode.window.showSaveDialog({ filters: { 'SVG Images': ['svg'] } }).then(filePath => {\n\n                        if (!filePath || !filePath.fsPath) { \n                            return;\n                        }\n\n                        fs.writeFile(filePath!.fsPath, request.data, err => {\n                            if (!err) {\n                                vscode.window.showInformationMessage(`Saved to ${filePath!.fsPath}`);\n                            } else {\n                                vscode.window.showErrorMessage(`Failed to save. ${err}`);\n                            }\n                        });\n                    });\n                    return;\n                \n                case 'SaveFunctionGraphAsJson':\n\n                    if (!this._traversalResult) {\n                        return;\n                    }\n                    \n                    // Saving some file to local hard drive\n                    vscode.window.showSaveDialog({ defaultUri: vscode.Uri.file('dfm-func-map.json'), filters: { 'JSON': ['json'] } }).then(filePath => {\n\n                        if (!filePath || !filePath.fsPath) { \n                            return;\n                        }\n\n                        fs.writeFile(filePath!.fsPath, JSON.stringify(this._traversalResult, null, 3), err => {\n                            if (!err) {\n                                vscode.window.showInformationMessage(`Saved to ${filePath!.fsPath}`);\n                            } else {\n                                vscode.window.showErrorMessage(`Failed to save. ${err}`);\n                            }\n                        });\n                    });\n                    return;\n                \n                case 'GotoFunctionCode':\n\n                    if (!this._traversalResult) {\n                        return;\n                    }\n\n                    const functionName = request.url;\n                    var functionOrProxy: any = null;\n\n                    if (functionName.startsWith('proxy.')) {\n                \n                        functionOrProxy = this._traversalResult.proxies[functionName.substr(6)];\n        \n                    } else {\n        \n                        functionOrProxy = this._traversalResult.functions[functionName];\n                    }\n        \n                    vscode.window.showTextDocument(vscode.Uri.file(functionOrProxy.filePath)).then(ed => {\n\n                        const pos = ed.document.positionAt(!!functionOrProxy.pos ? functionOrProxy.pos : 0);\n\n                        ed.selection = new vscode.Selection(pos, pos);\n                        ed.revealRange(new vscode.Range(pos, pos));\n                    });\n\n                    return;\n            }\n\n            // Intercepting request for Function Map\n            if (request.method === \"GET\" && request.url === '/function-map') {\n\n                if (!this._functionProjectPath) {\n                    return;\n                }\n\n                const requestId = request.id;\n                this._functionGraphList.traverseFunctions(this._functionProjectPath).then(result => {\n\n                    this._traversalResult = result;\n\n                    panel.webview.postMessage({\n                        id: requestId, data: {\n                            functions: result.functions,\n                            proxies: result.proxies\n                        }\n                    });\n\n                }, err => {\n                    // err might fail to serialize here, so passing err.message only\n                    panel.webview.postMessage({ id: requestId, err: { message: err.message } });\n                });\n            }\n\n        }, undefined, this._context.subscriptions);\n\n        return panel;\n    }\n\n    // Embeds the current color theme\n    private embedTheme(html: string): string {\n\n        if ([2, 3].includes((vscode.window as any).activeColorTheme.kind)) {\n            return html.replace('<script>var DfmClientConfig={}</script>', '<script>var DfmClientConfig={\\'theme\\':\\'dark\\'}</script>');\n        }\n        return html;\n    }\n\n    // Embeds some other parameters in the HTML served\n    private embedParams(html: string, isFunctionGraphAvailable: boolean): string {\n        return html\n            .replace(\n                `<script>var IsFunctionGraphAvailable=0</script>`,\n                `<script>var IsFunctionGraphAvailable=${!!isFunctionGraphAvailable ? 1 : 0}</script>`\n            )\n            .replace(\n                `<script>var DfmViewMode=0</script>`,\n                `<script>var DfmViewMode=1</script>`\n            );\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/src/MonitorTreeDataProvider.ts",
    "content": "import * as vscode from 'vscode';\n\nimport { MonitorView } from \"./MonitorView\";\nimport { MonitorViewList } from \"./MonitorViewList\";\nimport { StorageAccountTreeItem } from './StorageAccountTreeItem';\nimport { StorageAccountTreeItems } from './StorageAccountTreeItems';\nimport { TaskHubTreeItem } from './TaskHubTreeItem';\nimport { SubscriptionTreeItems } from './SubscriptionTreeItems';\nimport { SubscriptionTreeItem } from './SubscriptionTreeItem';\nimport { FunctionGraphList } from './FunctionGraphList';\nimport { Settings, UpdateSetting } from './Settings';\nimport { StorageConnectionSettings } from './BackendProcess';\n\n// Root object in the hierarchy. Also serves data for the TreeView.\nexport class MonitorTreeDataProvider implements vscode.TreeDataProvider<vscode.TreeItem> { \n\n    constructor(private _context: vscode.ExtensionContext, functionGraphList: FunctionGraphList, logChannel?: vscode.OutputChannel) {\n\n        this._monitorViews = new MonitorViewList(this._context,\n            functionGraphList,\n            () => this._onDidChangeTreeData.fire(),\n            !logChannel ? () => { } : (l) => logChannel.append(l));\n\n        const resourcesFolderPath = this._context.asAbsolutePath('resources');\n        this._storageAccounts = new StorageAccountTreeItems(resourcesFolderPath, this._monitorViews);\n\n        // Using Azure Account extension to connect to Azure, get subscriptions etc.\n        const azureAccountExtension = vscode.extensions.getExtension('ms-vscode.azure-account');\n\n        // Typings for azureAccount are here: https://github.com/microsoft/vscode-azure-account/blob/master/src/azure-account.api.d.ts\n        const azureAccount = !!azureAccountExtension ? azureAccountExtension.exports : undefined;\n        \n        if (!!azureAccount && !!azureAccount.onFiltersChanged) {\n\n            // When user changes their list of filtered subscriptions (or just relogins to Azure)...\n            this._context.subscriptions.push(azureAccount.onFiltersChanged(() => this.refresh()));\n        }\n\n        this._subscriptions = new SubscriptionTreeItems(\n            this._context,\n            azureAccount,\n            this._storageAccounts,\n            () => this._onDidChangeTreeData.fire(),\n            resourcesFolderPath,\n            !logChannel ? () => { } : (l) => logChannel.appendLine(l)\n        );\n\n        // Also trying to parse current project's files and create a Task Hub node for them\n        const connSettingsFromCurrentProject = this._monitorViews.getStorageConnectionSettingsFromCurrentProject();\n        if (!!connSettingsFromCurrentProject) {\n            this._storageAccounts.addNodeForConnectionSettings(connSettingsFromCurrentProject);\n        }\n    }\n\n    // Does nothing, actually\n    getTreeItem(element: vscode.TreeItem): vscode.TreeItem { return element; }\n\n    // Returns the children of `element` or root if no element is passed.\n    getChildren(element?: vscode.TreeItem): Promise<vscode.TreeItem[]> {\n\n        if (!element) {\n            return this._subscriptions.getNonEmptyNodes();\n        }\n\n        const subscriptionNode = element as SubscriptionTreeItem;\n        if (subscriptionNode.isSubscriptionTreeItem) {\n\n            const storageAccountNodes = subscriptionNode.storageAccountNodes;\n\n            // Initially collapsing those storage nodes, that don't have attached TaskHubs at the moment\n            for (const n of storageAccountNodes) {\n                if (!n.isAttached) {\n                    n.collapsibleState = vscode.TreeItemCollapsibleState.Collapsed;\n                }\n            }\n\n            return Promise.resolve(storageAccountNodes);\n        }\n\n        // If this is a storage account tree item\n        const item = element as StorageAccountTreeItem;\n        if (this._storageAccounts.nodes.includes(item)) {\n            return Promise.resolve(item.childItems);\n        }\n\n        return Promise.resolve([]);\n    }\n\n    // Handles 'Attach' context menu item or a click on a tree node\n    attachToTaskHub(taskHubItem: TaskHubTreeItem | null, messageToWebView: any = undefined): void {\n\n        if (!!this._inProgress) {\n            console.log(`Another operation already in progress...`);\n            return;\n        }\n\n        // This could happen, if the command is executed via Command Palette (and not via menu)\n        if (!taskHubItem) {\n            this.createOrActivateMonitorView(false, messageToWebView);\n            return;\n        }\n\n        this._inProgress = true;\n        const monitorView = this._monitorViews.getOrCreateFromStorageConnectionSettings(taskHubItem.storageConnectionSettings);\n\n        monitorView.show(messageToWebView).then(() => {\n\n            this._onDidChangeTreeData.fire();\n            this._inProgress = false;\n\n        }, (err: any) => {\n            // .finally() doesn't work here - vscode.window.showErrorMessage() blocks it until user \n            // closes the error message. As a result, _inProgress remains true until then, which blocks all commands\n\n            this._inProgress = false;\n            vscode.window.showErrorMessage(!err.message ? err : err.message);\n        });\n    }\n\n    // Triggers when F5 is being hit\n    handleOnDebugSessionStarted() {\n\n        if (!!this._monitorViews.isAnyMonitorViewVisible()) {\n            return;\n        }\n\n        const DfmDoNotAskUponDebugSession = 'DfmDoNotAskUponDebugSession';\n        const doNotAsk = this._context.globalState.get(DfmDoNotAskUponDebugSession, false);\n\n        if (!Settings().showWhenDebugSessionStarts && !!doNotAsk) {\n            return;\n        }\n\n        const defaultTaskHubName = 'TestHubName';\n        const curConnSettings = this._monitorViews.getStorageConnectionSettingsFromCurrentProject(defaultTaskHubName);\n        if (!curConnSettings) {\n            return;\n        }\n\n        if (!Settings().showWhenDebugSessionStarts) {\n\n            const prompt = `Do you want Durable Functions Monitor to be automatically shown when you start debugging a Durable Functions project? You can always change this preference via Settings.`;\n            vscode.window.showWarningMessage(prompt, `Yes`, `No, and don't ask again`).then(answer => {\n    \n                if (answer === `No, and don't ask again`) {\n\n                    UpdateSetting('showWhenDebugSessionStarts', false);\n                    this._context.globalState.update(DfmDoNotAskUponDebugSession, true);\n\n                } else if (answer === `Yes`) {\n                    \n                    UpdateSetting('showWhenDebugSessionStarts', true);\n\n                    this.showUponDebugSession(\n                        curConnSettings.hubName !== defaultTaskHubName ? curConnSettings : undefined\n                    );\n                }\n            });\n\n        } else {\n\n            this.showUponDebugSession(\n                curConnSettings.hubName !== defaultTaskHubName ? curConnSettings : undefined\n            );\n        }\n    }\n\n    // Handles 'Detach' context menu item\n    detachFromTaskHub(storageAccountItem: StorageAccountTreeItem) {\n\n        if (!storageAccountItem) {\n            vscode.window.showInformationMessage('This command is only available via context menu');\n            return;\n        }\n\n        if (!!this._inProgress) {\n            console.log(`Another operation already in progress...`);\n            return;\n        }\n        this._inProgress = true;\n\n        this._monitorViews.detachBackend(storageAccountItem.storageConnStrings).then(() => {\n\n            this._onDidChangeTreeData.fire();\n            this._inProgress = false;\n\n        }, err => {\n            this._inProgress = false;\n            vscode.window.showErrorMessage(`Failed to detach from Task Hub. ${err}`);\n        });\n    }\n\n    // Handles 'Delete Task Hub' context menu item\n    deleteTaskHub(taskHubItem: TaskHubTreeItem) {\n\n        if (!taskHubItem) {\n            vscode.window.showInformationMessage('This command is only available via context menu');\n            return;\n        }\n\n        if (!!this._inProgress) {\n            console.log(`Another operation already in progress...`);\n            return;\n        }\n\n        const monitorView = this._monitorViews.getOrCreateFromStorageConnectionSettings(taskHubItem.storageConnectionSettings);\n        if (!monitorView) {\n            console.log(`Tried to delete a detached Task Hub`);\n            return;\n        }\n        \n        const prompt = `This will permanently delete all Azure Storage resources used by '${taskHubItem.label}' orchestration service. There should be no running Function instances for this Task Hub present. Are you sure you want to proceed?`;\n        vscode.window.showWarningMessage(prompt, 'Yes', 'No').then(answer => {\n\n            if (answer === 'Yes') {\n\n                this._inProgress = true;\n                monitorView.deleteTaskHub().then(() => { \n\n                    taskHubItem.removeFromTree();\n\n                    this._onDidChangeTreeData.fire();\n                    this._inProgress = false;\n\n                }, (err) => { \n                    this._inProgress = false;\n                    vscode.window.showErrorMessage(`Failed to delete Task Hub. ${err}`);\n                });\n            }\n        });\n    }\n\n    // Handles 'Open in Storage Explorer' context menu item\n    async openTableInStorageExplorer(taskHubItem: TaskHubTreeItem, table: 'Instances' | 'History') {\n\n        // Using Azure Storage extension for this\n        var storageExt = vscode.extensions.getExtension('ms-azuretools.vscode-azurestorage');\n        if (!storageExt) {\n            vscode.window.showErrorMessage(`For this to work, please, install [Azure Storage](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurestorage) extension.`);\n            return;\n        }\n\n        try {\n\n            if (!storageExt.isActive) {\n                await storageExt.activate();\n            }\n            \n            await vscode.commands.executeCommand('azureStorage.openTable', {\n\n                root: {\n                    storageAccountId: taskHubItem.storageAccountId,\n                    subscriptionId: taskHubItem.subscriptionId\n                },\n\n                tableName: taskHubItem.hubName + table\n            });\n\n        } catch (err) {\n            vscode.window.showErrorMessage(`Failed to execute command. ${err}`);\n        }\n    }\n\n    // Handles 'Attach' button\n    attachToAnotherTaskHub() {\n\n        this.createOrActivateMonitorView(true);\n    }\n\n    // Handles 'Refresh' button\n    refresh() {\n        this._subscriptions.cleanup();\n        this._onDidChangeTreeData.fire();\n    }\n\n    // Handles 'Detach from all Task Hubs' button\n    detachFromAllTaskHubs() {\n\n        if (!!this._inProgress) {\n            console.log(`Another operation already in progress...`);\n            return;\n        }\n        this._inProgress = true;\n\n        this.cleanup().catch(err => {\n            vscode.window.showErrorMessage(`Failed to detach from Task Hub. ${err}`);\n        }).finally(() => {\n            this._onDidChangeTreeData.fire();\n            this._inProgress = false;\n        });\n    }\n    \n    // Handles 'Go to instanceId...' context menu item\n    gotoInstanceId(taskHubItem: TaskHubTreeItem | null) {\n\n        // Trying to get a running backend instance.\n        // If the relevant MonitorView is currently not visible, don't want to show it - that's why all the custom logic here.\n        var monitorView = !taskHubItem ?\n            this._monitorViews.firstOrDefault() :\n            this._monitorViews.getOrCreateFromStorageConnectionSettings(taskHubItem.storageConnectionSettings);\n\n        if (!!monitorView) {\n\n            monitorView.gotoInstanceId();\n\n        } else {\n\n            this.createOrActivateMonitorView(false).then(view => {\n                if (!!view) {\n\n                    // Not sure why this timeout here is needed, but without it the quickPick isn't shown\n                    setTimeout(() => {\n                        view.gotoInstanceId();\n                    }, 1000);\n                }\n            });\n        }\n    }\n\n    // Stops all backend processes and closes all views\n    cleanup(): Promise<any> {\n        return this._monitorViews.cleanup();\n    }\n\n    private _inProgress: boolean = false;\n\n    private _monitorViews: MonitorViewList;\n    private _storageAccounts: StorageAccountTreeItems;\n    private _subscriptions: SubscriptionTreeItems;\n\n    private _onDidChangeTreeData: vscode.EventEmitter<vscode.TreeItem | undefined> = new vscode.EventEmitter<StorageAccountTreeItem | undefined>();\n    readonly onDidChangeTreeData: vscode.Event<vscode.TreeItem | undefined> = this._onDidChangeTreeData.event;\n\n    // Shows or makes active the main view\n    private createOrActivateMonitorView(alwaysCreateNew: boolean, messageToWebView: any = undefined): Promise<MonitorView | null> {\n\n        if (!!this._inProgress) {\n            console.log(`Another operation already in progress...`);\n            return Promise.resolve(null);\n        }\n\n        return new Promise<MonitorView>((resolve, reject) => {\n\n            this._monitorViews.getOrAdd(alwaysCreateNew).then(monitorView => {\n\n                this._inProgress = true;\n\n                monitorView.show(messageToWebView).then(() => {\n\n                    this._storageAccounts.addNodeForMonitorView(monitorView);\n                    this._onDidChangeTreeData.fire();\n                    this._inProgress = false;\n\n                    resolve(monitorView);\n\n                }, (err) => {\n                    // .finally() doesn't work here - vscode.window.showErrorMessage() blocks it until user \n                    // closes the error message. As a result, _inProgress remains true until then, which blocks all commands\n                    this._inProgress = false;\n                    vscode.window.showErrorMessage(!err.message ? err : err.message);\n                });\n\n            }, vscode.window.showErrorMessage);\n        });\n    }\n\n    // Shows the main view upon a debug session\n    private showUponDebugSession(connSettingsFromCurrentProject?: StorageConnectionSettings) {\n        \n        if (!!this._inProgress) {\n            console.log(`Another operation already in progress...`);\n            return;\n        }\n\n        this._monitorViews.showUponDebugSession(connSettingsFromCurrentProject).then(monitorView => {\n\n            this._inProgress = true;\n\n            monitorView.show().then(() => {\n\n                this._storageAccounts.addNodeForMonitorView(monitorView);\n                this._onDidChangeTreeData.fire();\n                this._inProgress = false;\n        \n            }, (err) => {\n                // .finally() doesn't work here - vscode.window.showErrorMessage() blocks it until user \n                // closes the error message. As a result, _inProgress remains true until then, which blocks all commands\n                this._inProgress = false;\n                vscode.window.showErrorMessage(!err.message ? err : err.message);\n            });\n        }, vscode.window.showErrorMessage);\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/src/MonitorView.ts",
    "content": "import * as vscode from 'vscode';\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport axios from 'axios';\n\nimport * as SharedConstants from './SharedConstants';\n\nimport { BackendProcess, StorageConnectionSettings } from './BackendProcess';\nimport { ConnStringUtils } from './ConnStringUtils';\nimport { Settings } from './Settings';\nimport { FunctionGraphList } from './FunctionGraphList';\n\n// Represents the main view, along with all detailed views\nexport class MonitorView\n{\n    // Storage Connection settings (connString and hubName) of this Monitor View\n    get storageConnectionSettings(): StorageConnectionSettings {\n        return new StorageConnectionSettings(this._backend.storageConnectionStrings, this._hubName);\n    }\n\n    get isVisible(): boolean {\n        return !!this._webViewPanel;\n    }\n\n    // Path to html statics\n    get staticsFolder(): string {\n        return path.join(this._backend.binariesFolder, 'DfmStatics');\n    }\n\n    constructor(private _context: vscode.ExtensionContext,\n        private _backend: BackendProcess,\n        private _hubName: string,\n        private _functionGraphList: FunctionGraphList,\n        private _onViewStatusChanged: () => void) {\n        \n        const ws = vscode.workspace;\n        if (!!ws.rootPath && fs.existsSync(path.join(ws.rootPath, 'host.json'))) {\n            this._functionProjectPath = ws.rootPath;\n        }\n    }\n\n    // Closes all WebViews\n    cleanup(): void {\n\n        for (var childPanel of this._childWebViewPanels) {\n            childPanel.dispose();\n        }\n        this._childWebViewPanels = [];\n\n        if (!!this._webViewPanel) {\n            this._webViewPanel.dispose();\n        }\n    }\n\n    // Shows or makes active the main view\n    show(messageToWebView: any = undefined): Promise<void> {\n\n        if (!!this._webViewPanel) {\n            // Didn't find a way to check whether the panel still exists. \n            // So just have to catch a \"panel disposed\" exception here.\n            try {\n\n                this._webViewPanel.reveal();\n                if (!!messageToWebView) {\n                    // BUG: WebView might actually appear in 3 states: disposed, visible and inactive.\n                    // Didn't find the way to distinguish the last two. \n                    // But when it is inactive, it will be activated with above reveal() method,\n                    // and then miss this message we're sending here. No good solution for this problem so far...\n                    this._webViewPanel.webview.postMessage(messageToWebView);\n                }\n\n                return Promise.resolve();\n            } catch (err) {\n                this._webViewPanel = null;\n            }\n        }\n\n        return new Promise<void>((resolve, reject) => {\n\n            this._backend.getBackend().then(() => {\n\n                try {\n                    this._webViewPanel = this.showWebView('', messageToWebView);\n\n                    this._webViewPanel.onDidDispose(() => {\n                        this._webViewPanel = null;\n                        this._onViewStatusChanged();\n                    });\n\n                    resolve();\n                } catch (err) {\n                    reject(`WebView failed: ${err}`);\n                }\n                \n            }, reject);\n        });\n    }\n\n    // Permanently deletes all underlying Storage resources for this Task Hub\n    deleteTaskHub(): Promise<void> {\n\n        if (!this._backend.backendUrl) {\n            return Promise.reject('Backend is not started');\n        }\n\n        const headers: any = {};\n        headers[SharedConstants.NonceHeaderName] = this._backend.backendCommunicationNonce;\n\n        return new Promise<void>((resolve, reject) => {\n\n            const url = `${this._backend.backendUrl}/--${this._hubName}/delete-task-hub`;\n            axios.post(url, {}, { headers }).then(() => {\n                this.cleanup();\n                resolve();\n            }, err => reject(err.message));\n        });\n    }\n\n    // Handles 'Goto instanceId...' context menu item\n    gotoInstanceId() {\n\n        this.askForInstanceId().then(instanceId => {\n\n            // Opening another WebView\n            this._childWebViewPanels.push(this.showWebView(instanceId));\n        });\n    }\n\n    // Converts script and CSS links\n    static fixLinksToStatics(originalHtml: string, pathToBackend: string, webView: vscode.Webview): string {\n\n        var resultHtml: string = originalHtml;\n\n        const regex = / (href|src)=\"\\/([0-9a-z.\\/]+)\"/ig;\n        var match: RegExpExecArray | null;\n        while (match = regex.exec(originalHtml)) {\n\n            const relativePath = match[2];\n            const localPath = path.join(pathToBackend, relativePath);\n            const newPath = webView.asWebviewUri(vscode.Uri.file(localPath)).toString();\n\n            resultHtml = resultHtml.replace(`/${relativePath}`, newPath);\n        }\n\n        return resultHtml;\n    }\n\n    // Validates incoming SVG, just to be extra sure...\n    static looksLikeSvg(data: string): boolean {\n        return data.startsWith('<svg') && data.endsWith('</svg>') && !data.includes('<script');\n    }\n\n    // Reference to the already opened WebView with the main page\n    private _webViewPanel: vscode.WebviewPanel | null = null;    \n\n    // Reference to all child WebViews\n    private _childWebViewPanels: vscode.WebviewPanel[] = [];\n\n    // Functions and proxies currently shown\n    private _functionsAndProxies: { [name: string]: { filePath?: string, pos?: number } } = {};\n\n    private _functionProjectPath: string = '';\n\n    private static readonly ViewType = 'durableFunctionsMonitor';\n    private static readonly GlobalStateName = MonitorView.ViewType + 'WebViewState';\n\n    // Opens a WebView with main page or orchestration page in it\n    private showWebView(orchestrationId: string = '', messageToWebView: any = undefined): vscode.WebviewPanel {\n\n        const title = (!!orchestrationId) ?\n            `Instance '${orchestrationId}'`\n            :\n            `Durable Functions Monitor (${this.taskHubFullTitle})`;\n\n        const panel = vscode.window.createWebviewPanel(\n            MonitorView.ViewType,\n            title,\n            vscode.ViewColumn.One,\n            {\n                retainContextWhenHidden: true,\n                enableScripts: true,\n                localResourceRoots: [vscode.Uri.file(this.staticsFolder)]\n            }\n        );\n\n        var html = fs.readFileSync(path.join(this.staticsFolder, 'index.html'), 'utf8');\n        html = MonitorView.fixLinksToStatics(html, this.staticsFolder, panel.webview);\n\n        // Also passing persisted settings via HTML\n        const webViewState = this._context.globalState.get(MonitorView.GlobalStateName, {});\n\n        html = this.embedOrchestrationIdAndState(html, orchestrationId, webViewState);\n        html = this.embedIsFunctionGraphAvailable(html, !!this._functionProjectPath);\n        html = this.embedThemeAndSettings(html);\n\n        panel.webview.html = html;\n\n        // handle events from WebView\n        panel.webview.onDidReceiveMessage(request => {\n\n            switch (request.method) {\n                case 'IAmReady':\n                    // Sending an initial message (if any), when the webView is ready\n                    if (!!messageToWebView) {\n                        panel.webview.postMessage(messageToWebView);\n                        messageToWebView = undefined;\n                    }\n                    return;\n                case 'PersistState':\n                    // Persisting state values\n                    const webViewState = this._context.globalState.get(MonitorView.GlobalStateName, {}) as any;\n                    webViewState[request.key] = request.data;\n                    this._context.globalState.update(MonitorView.GlobalStateName, webViewState);\n                    return;\n                case 'OpenInNewWindow':\n                    // Opening another WebView\n                    this._childWebViewPanels.push(this.showWebView(request.url));\n                    return;\n                case 'SaveAs':\n\n                    // Just to be extra sure...\n                    if (!MonitorView.looksLikeSvg(request.data)) {\n                        vscode.window.showErrorMessage(`Invalid data format. Save failed.`);\n                        return;\n                    }\n                    \n                    // Saving some file to local hard drive\n                    vscode.window.showSaveDialog({ filters: { 'SVG Images': ['svg'] } }).then(filePath => {\n\n                        if (!filePath || !filePath.fsPath) { \n                            return;\n                        }\n\n                        fs.writeFile(filePath!.fsPath, request.data, err => {\n                            if (!err) {\n                                vscode.window.showInformationMessage(`Saved to ${filePath!.fsPath}`);\n                            } else {\n                                vscode.window.showErrorMessage(`Failed to save. ${err}`);\n                            }\n                        });\n                    });\n                    return;\n                case 'GotoFunctionCode':\n\n                    const func = this._functionsAndProxies[request.url];\n                    if (!!func && !!func.filePath) {\n\n                        vscode.window.showTextDocument(vscode.Uri.file(func.filePath)).then(ed => {\n\n                            const pos = ed.document.positionAt(!!func.pos ? func.pos : 0);\n\n                            ed.selection = new vscode.Selection(pos, pos);\n                            ed.revealRange(new vscode.Range(pos, pos));\n                        });\n                    }\n\n                    return;\n                case 'VisualizeFunctionsAsAGraph':\n\n                    const ws = vscode.workspace;\n                    if (!!ws.rootPath && fs.existsSync(path.join(ws.rootPath, 'host.json'))) {\n                        this._functionGraphList.visualizeProjectPath(ws.rootPath);\n                    }\n\n                    return;\n            }\n\n            // Intercepting request for Function Map\n            if (request.method === \"GET\" && request.url === '/function-map') {\n                \n                if (!this._functionProjectPath) {\n                    return;\n                }\n\n                const requestId = request.id;\n                this._functionGraphList.traverseFunctions(this._functionProjectPath).then(result => {\n\n                    this._functionsAndProxies = {};\n                    for (const name in result.functions) {\n                        this._functionsAndProxies[name] = result.functions[name];\n                    }\n                    for (const name in result.proxies) {\n                        this._functionsAndProxies['proxy.' + name] = result.proxies[name];\n                    }\n\n                    panel.webview.postMessage({\n                        id: requestId, data: { \n                            functions: result.functions,\n                            proxies: result.proxies\n                        }\n                    });\n\n                }, err => {\n                    // err might fail to serialize here, so passing err.message only\n                    panel.webview.postMessage({ id: requestId, err: { message: err.message } });\n                });\n\n                return;\n            }\n\n            // Then it's just a propagated HTTP request\n            const requestId = request.id;\n\n            const headers: any = {};\n            headers[SharedConstants.NonceHeaderName] = this._backend.backendCommunicationNonce;\n\n            // Workaround for https://github.com/Azure/azure-functions-durable-extension/issues/1926\n            var hubName = this._hubName;\n            if (hubName === 'TestHubName' && request.method === 'POST' && request.url.match(/\\/(orchestrations|restart)$/i)) {\n                // Turning task hub name into lower case, this allows to bypass function name validation\n                hubName = 'testhubname';\n            }\n\n            axios.request({\n                url: `${this._backend.backendUrl}/--${hubName}${request.url}`,\n                method: request.method,\n                data: request.data,\n                headers\n            }).then(response => {\n\n                panel.webview.postMessage({ id: requestId, data: response.data });\n            }, err => {\n\n                panel.webview.postMessage({ id: requestId, err: { message: err.message, response: { data: !err.response ? undefined : err.response.data } } });\n            });\n\n        }, undefined, this._context.subscriptions);\n\n        return panel;\n    }\n\n    // Embeds the current color theme\n    private embedThemeAndSettings(html: string): string {\n\n        const theme = [2, 3].includes((vscode.window as any).activeColorTheme.kind) ? 'dark' : 'light';\n\n        return html.replace('<script>var DfmClientConfig={}</script>',\n            `<script>var DfmClientConfig={'theme':'${theme}','showTimeAs':'${Settings().showTimeAs}'}</script>`);\n    }\n\n    // Embeds the orchestrationId in the HTML served\n    private embedOrchestrationIdAndState(html: string, orchestrationId: string, state: any): string {\n        return html.replace(\n            `<script>var OrchestrationIdFromVsCode=\"\",StateFromVsCode={}</script>`,\n            `<script>var OrchestrationIdFromVsCode=\"${orchestrationId}\",StateFromVsCode=${JSON.stringify(state)}</script>`\n        );\n    }\n\n    // Embeds the isFunctionGraphAvailable flag in the HTML served\n    private embedIsFunctionGraphAvailable(html: string, isFunctionGraphAvailable: boolean): string {\n\n        if (!isFunctionGraphAvailable) {\n            return html;\n        }\n\n        return html.replace(\n            `<script>var IsFunctionGraphAvailable=0</script>`,\n            `<script>var IsFunctionGraphAvailable=1</script>`\n        );\n    }\n\n    private askForInstanceId(): Promise<string> {\n        return new Promise<string>((resolve, reject) => {\n\n            var instanceId = '';\n            const instanceIdPick = vscode.window.createQuickPick();\n\n            instanceIdPick.onDidHide(() => instanceIdPick.dispose());\n\n            instanceIdPick.onDidChangeSelection(items => {\n                if (!!items && !!items.length) {\n                    instanceId = items[0].label;\n                }\n            });\n\n            // Still allowing to type free text\n            instanceIdPick.onDidChangeValue(value => {\n                instanceId = value;\n\n                // Loading suggestions from backend\n                if (instanceId.length > 1) {\n                    this.getInstanceIdSuggestions(instanceId).then(suggestions => {\n\n                        instanceIdPick.items = suggestions.map(id => {\n                            return { label: id };\n                        });\n                    });\n                } else {\n                    instanceIdPick.items = [];\n                }\n            });\n\n            instanceIdPick.onDidAccept(() => {\n                if (!!instanceId) {\n                    resolve(instanceId);\n                }\n                instanceIdPick.hide();\n            });\n\n            instanceIdPick.title = `(${this.taskHubFullTitle}) instanceId to go to:`;\n\n            instanceIdPick.show();\n            // If nothing is selected, leaving the promise unresolved, so nothing more happens\n        });\n    }\n\n    // Human-readable TaskHub title in form '[storage-account]/[task-hub]'\n    private get taskHubFullTitle(): string {\n\n        return `${ConnStringUtils.GetStorageName(this._backend.storageConnectionStrings)}/${this._hubName}`;\n    }\n\n    // Returns orchestration/entity instanceIds that start with prefix\n    private getInstanceIdSuggestions(prefix: string): Promise<string[]> {\n\n        const headers: any = {};\n        headers[SharedConstants.NonceHeaderName] = this._backend.backendCommunicationNonce;\n\n        return axios.get(`${this._backend.backendUrl}/--${this._hubName}/id-suggestions(prefix='${prefix}')`, { headers })\n            .then(response => {\n                return response.data as string[];\n            });\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/src/MonitorViewList.ts",
    "content": "import * as vscode from 'vscode';\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport axios from 'axios';\n\nimport { ConnStringUtils } from \"./ConnStringUtils\";\n\nimport { MonitorView } from \"./MonitorView\";\nimport { BackendProcess, StorageConnectionSettings, CreateAuthHeadersForTableStorage } from './BackendProcess';\nimport { Settings } from './Settings';\nimport { FunctionGraphList } from './FunctionGraphList';\n\n// Represents all MonitorViews created so far\nexport class MonitorViewList {\n\n    constructor(private _context: vscode.ExtensionContext,\n        private _functionGraphList: FunctionGraphList,\n        private _onViewStatusChanged: () => void,\n        private _log: (line: string) => void) {\n    }\n\n    isAnyMonitorViewVisible(): boolean {\n        return Object.keys(this._monitorViews).some(k => !!this._monitorViews[k] && this._monitorViews[k].isVisible);\n    }\n\n    isMonitorViewVisible(connSettings: StorageConnectionSettings): boolean {\n        const monitorView = this._monitorViews[connSettings.hashKey];\n        return !!monitorView && monitorView.isVisible;\n    }\n\n    // Creates a new MonitorView with provided connection settings\n    getOrCreateFromStorageConnectionSettings(connSettings: StorageConnectionSettings): MonitorView {\n\n        var monitorView = this._monitorViews[connSettings.hashKey];\n        if (!!monitorView) {\n            return monitorView;\n        }\n\n        monitorView = new MonitorView(this._context,\n            this.getOrAddBackend(connSettings),\n            connSettings.hubName,\n            this._functionGraphList,\n            this._onViewStatusChanged);\n        \n        this._monitorViews[connSettings.hashKey] = monitorView;\n        return monitorView;\n    }\n\n    // Gets an existing (first in the list) MonitorView,\n    // or initializes a new one by asking user for connection settings\n    getOrAdd(alwaysCreateNew: boolean): Promise<MonitorView> {\n\n        const keys = Object.keys(this._monitorViews);\n        if (!alwaysCreateNew && keys.length > 0) {\n            return Promise.resolve(this._monitorViews[keys[0]]);\n        }\n\n        return new Promise<MonitorView>((resolve, reject) => {\n            this.askForStorageConnectionSettings().then(connSettings => {\n\n                const monitorView = this.getOrCreateFromStorageConnectionSettings(connSettings);\n                resolve(monitorView);\n            }, reject);\n        });\n    }\n\n    firstOrDefault(): MonitorView | null {\n\n        const keys = Object.keys(this._monitorViews);\n        if (keys.length <= 0) {\n            return null;\n        }\n\n        return this._monitorViews[keys[0]];\n    }\n\n    // Parses local project files and tries to infer connction settings from them\n    getStorageConnectionSettingsFromCurrentProject(defaultTaskHubName?: string): StorageConnectionSettings | null {\n\n        const hostJson = this.readHostJson();\n\n        if (hostJson.storageProviderType === 'mssql') {\n            \n            const sqlConnectionString = this.getValueFromLocalSettings(hostJson.connectionStringName);\n            if (!sqlConnectionString) {\n                return null;\n            }\n\n            return new StorageConnectionSettings(\n                [sqlConnectionString],\n                'DurableFunctionsHub',\n                true);\n        }\n\n        var hubName: string | undefined = hostJson.hubName;\n        if (!hubName) {\n\n            hubName = defaultTaskHubName;\n            if (!hubName) {\n                return null;\n            }\n        }\n\n        const storageConnString = this.getValueFromLocalSettings('AzureWebJobsStorage');\n        if (!storageConnString) {\n            return null;\n        }\n\n        return new StorageConnectionSettings([ConnStringUtils.ExpandEmulatorShortcutIfNeeded(storageConnString)], hubName, true);\n    }\n\n    // Stops all backend processes and closes all views\n    cleanup(): Promise<any> {\n\n        Object.keys(this._monitorViews).map(k => this._monitorViews[k].cleanup());\n        this._monitorViews = {};\n\n        const backends = this._backends;\n        this._backends = {};\n        return Promise.all(Object.keys(backends).map(k => backends[k].cleanup()));\n    }\n\n    detachBackend(storageConnStrings: string[]): Promise<any> {\n\n        const connStringHashKey = StorageConnectionSettings.GetConnStringHashKey(storageConnStrings);\n\n        // Closing all views related to this connection\n        for (const key of Object.keys(this._monitorViews)) {\n            const monitorView = this._monitorViews[key];\n\n            if (monitorView.storageConnectionSettings.connStringHashKey === connStringHashKey) {\n\n                monitorView.cleanup();\n                delete this._monitorViews[key];\n            }\n        }\n\n        // Stopping background process\n        const backendProcess = this._backends[connStringHashKey];\n        if (!backendProcess) {\n            return Promise.resolve();\n        }\n\n        return backendProcess.cleanup().then(() => {\n            delete this._backends[connStringHashKey];\n        });\n    }\n\n    getBackendUrl(storageConnStrings: string[]): string {\n\n        const backendProcess = this._backends[StorageConnectionSettings.GetConnStringHashKey(storageConnStrings)];\n        return !backendProcess ? '' : backendProcess.backendUrl; \n    }\n\n    showUponDebugSession(connSettingsFromCurrentProject?: StorageConnectionSettings): Promise<MonitorView> {\n\n        if (!connSettingsFromCurrentProject) {\n            return this.getOrAdd(true);\n        }\n\n        return Promise.resolve(this.getOrCreateFromStorageConnectionSettings(connSettingsFromCurrentProject));\n    }\n\n    private _monitorViews: { [key: string]: MonitorView } = {};\n    private _backends: { [key: string]: BackendProcess } = {};\n\n    private getOrAddBackend(connSettings: StorageConnectionSettings): BackendProcess {\n\n        // If a backend for this connection already exists, then just returning the existing one.\n        var backendProcess = this._backends[connSettings.connStringHashKey];\n\n        if (!backendProcess) {\n\n            var binariesFolder = Settings().customPathToBackendBinaries;\n            if (!binariesFolder) {\n                \n                if (connSettings.isMsSql) {\n                    binariesFolder = path.join(this._context.extensionPath, 'custom-backends', 'mssql');\n                } else if (Settings().backendVersionToUse === '.Net Core 2.1') {\n                    binariesFolder = path.join(this._context.extensionPath, 'custom-backends', 'netcore21');\n                } else if (Settings().backendVersionToUse === '.Net Core 3.1') {\n                    binariesFolder = path.join(this._context.extensionPath, 'custom-backends', 'netcore31');\n                } else {\n                    binariesFolder = path.join(this._context.extensionPath, 'backend');\n                }\n            }\n\n            backendProcess = new BackendProcess(\n                binariesFolder,\n                connSettings,\n                () => this.detachBackend(connSettings.storageConnStrings),\n                this._log\n            );\n\n            this._backends[connSettings.connStringHashKey] = backendProcess;\n        }\n\n        return backendProcess;\n    }\n\n    // Obtains Storage Connection String and Hub Name from user\n    private askForStorageConnectionSettings(): Promise<StorageConnectionSettings> {\n\n        return new Promise<StorageConnectionSettings>((resolve, reject) => {\n\n            // Asking the user for Connection String\n            var connStringToShow = '';\n            const connStringFromLocalSettings = this.getValueFromLocalSettings('AzureWebJobsStorage');\n\n            if (!!connStringFromLocalSettings) {\n                connStringToShow = StorageConnectionSettings.MaskStorageConnString(connStringFromLocalSettings);\n            }\n\n            vscode.window.showInputBox({ value: connStringToShow, prompt: 'Storage or MSSQL Connection String' }).then(connString => {\n\n                if (!connString) {\n                    // Leaving the promise unresolved, so nothing more happens\n                    return;\n                }\n\n                // If the user didn't change it\n                if (connString === connStringToShow) {\n                    // Then setting it back to non-masked one\n                    connString = connStringFromLocalSettings;\n                }\n\n                // If it is MSSQL storage provider\n                if (!!ConnStringUtils.GetSqlServerName(connString)) {\n                    \n                    resolve(new StorageConnectionSettings([connString!], 'DurableFunctionsHub'));\n                    return;\n                }\n\n                // Dealing with 'UseDevelopmentStorage=true' early\n                connString = ConnStringUtils.ExpandEmulatorShortcutIfNeeded(connString);\n\n                // Asking the user for Hub Name\n                var hubName = '';\n                const hubPick = vscode.window.createQuickPick();\n\n                hubPick.onDidHide(() => hubPick.dispose());\n\n                hubPick.onDidChangeSelection(items => {\n                    if (!!items && !!items.length) {\n                        hubName = items[0].label;\n                    }\n                });\n\n                // Still allowing to type free text\n                hubPick.onDidChangeValue(value => {\n                    hubName = value;\n                });\n\n                hubPick.onDidAccept(() => {\n                    if (!!hubName) {\n                        resolve(new StorageConnectionSettings([connString!], hubName));\n                    }\n                    hubPick.hide();\n                });\n                \n                hubPick.title = 'Hub Name';\n\n                var hubNameFromHostJson = this.readHostJson().hubName;\n                if (!!hubNameFromHostJson) {\n\n                    hubPick.items = [{\n                        label: hubNameFromHostJson,\n                        description: '(from host.json)'\n                    }];\n                    hubPick.placeholder = hubNameFromHostJson;\n\n                } else {\n\n                    hubPick.items = [{\n                        label: 'DurableFunctionsHub',\n                        description: '(default hub name)'\n                    }];\n\n                    hubPick.placeholder = 'DurableFunctionsHub';\n                }\n\n                // Loading other hub names directly from Table Storage\n                this.loadHubNamesFromTableStorage(connString).then(hubNames => {\n\n                    if (hubNames.length >= 0) {\n\n                        // Adding loaded names to the list\n                        hubPick.items = hubNames.map(label => {\n                            return { label: label, description: '(from Table Storage)' };\n                        });\n\n                        hubPick.placeholder = hubNames[0];\n                    }\n                });\n\n                hubPick.show();\n                // If nothing is selected, leaving the promise unresolved, so nothing more happens\n\n            }, reject);\n        });\n    }\n\n    private loadHubNamesFromTableStorage(storageConnString: string): Promise<string[]> {\n        return new Promise<string[]>((resolve) => {\n\n            const accountName = ConnStringUtils.GetAccountName(storageConnString);\n            const accountKey = ConnStringUtils.GetAccountKey(storageConnString);\n            const tableEndpoint = ConnStringUtils.GetTableEndpoint(storageConnString);\n\n            if (!accountName || !accountKey) {\n                // Leaving the promise unresolved\n                return;\n            }\n\n            getTaskHubNamesFromTableStorage(accountName, accountKey, tableEndpoint).then(hubNames => {\n\n                if (!hubNames || hubNames.length <= 0) {\n                    // Leaving the promise unresolved\n                    return;\n                }\n                resolve(hubNames);\n\n            }, err => {\n                console.log(`Failed to load the list of tables. ${err.message}`);\n                // Leaving the promise unresolved\n            });\n        });\n    }\n\n    private getValueFromLocalSettings(valueName: string): string {\n\n        const ws = vscode.workspace;\n        if (!!ws.rootPath && fs.existsSync(path.join(ws.rootPath, 'local.settings.json'))) {\n\n            const localSettings = JSON.parse(fs.readFileSync(path.join(ws.rootPath, 'local.settings.json'), 'utf8'));\n\n            if (!!localSettings.Values && !!localSettings.Values[valueName]) {\n                return localSettings.Values[valueName];\n            }\n        }\n        return '';\n    }\n\n    private readHostJson(): { hubName: string, storageProviderType: 'default' | 'mssql', connectionStringName: string } {\n\n        const result = { hubName: '', storageProviderType: 'default' as any, connectionStringName: '' };\n\n        const ws = vscode.workspace;\n        if (!!ws.rootPath && fs.existsSync(path.join(ws.rootPath, 'host.json'))) {\n\n            var hostJson;\n            try {\n                hostJson = JSON.parse(fs.readFileSync(path.join(ws.rootPath, 'host.json'), 'utf8'));\n            } catch (err) {\n\n                console.log(`Failed to parse host.json. ${(err as any).message}`);\n                return result;\n            }\n\n            if (!!hostJson && !!hostJson.extensions && hostJson.extensions.durableTask) {\n\n                const durableTask = hostJson.extensions.durableTask;\n                if (!!durableTask.HubName || !!durableTask.hubName) {\n                    result.hubName = !!durableTask.HubName ? durableTask.HubName : durableTask.hubName\n                }\n\n                if (!!durableTask.storageProvider && durableTask.storageProvider.type === 'mssql') {\n                    result.storageProviderType = 'mssql';\n                    result.connectionStringName = durableTask.storageProvider.connectionStringName;\n                }\n            }\n        }\n        return result;\n    }\n}\n\n// Tries to load the list of TaskHub names from a storage account.\n// Had to handcraft this code, since @azure/data-tables package is still in beta :(\nexport async function getTaskHubNamesFromTableStorage(accountName: string, accountKey: string, tableEndpointUrl: string): Promise<string[] | null> {\n\n    if (!tableEndpointUrl) {\n        tableEndpointUrl = `https://${accountName}.table.core.windows.net/`;\n    } else if (!tableEndpointUrl.endsWith('/')) {\n        tableEndpointUrl += '/';\n    }\n\n    // Local emulator URLs contain account name _after_ host (like http://127.0.0.1:10002/devstoreaccount1/ ),\n    // and this part should be included when obtaining SAS\n    const tableEndpointUrlParts = tableEndpointUrl.split('/');\n    const tableQueryUrl = (tableEndpointUrlParts.length > 3 && !!tableEndpointUrlParts[3]) ?\n        `${tableEndpointUrlParts[3]}/Tables` :\n        'Tables';\n\n    // Creating the SharedKeyLite signature to query Table Storage REST API for the list of tables\n    const authHeaders = CreateAuthHeadersForTableStorage(accountName, accountKey, tableQueryUrl);\n\n    var response: any;\n    try {\n        response = await axios.get(`${tableEndpointUrl}Tables`, { headers: authHeaders });\n    } catch (err) {\n        console.log(`Failed to load hub names from table storage. ${(err as any).message}`);\n    }\n\n    if (!response || !response.data || !response.data.value || response.data.value.length <= 0) {\n        return null;\n    }\n\n    const instancesTables: string[] = response.data.value.map((table: any) => table.TableName)\n        .filter((tableName: string) => tableName.endsWith('Instances'))\n        .map((tableName: string) => tableName.substr(0, tableName.length - 'Instances'.length));\n\n    const historyTables: string[] = response.data.value.map((table: any) => table.TableName)\n        .filter((tableName: string) => tableName.endsWith('History'))\n        .map((tableName: string) => tableName.substr(0, tableName.length - 'History'.length));\n\n    // Considering it to be a hub, if it has both *Instances and *History tables\n    return instancesTables.filter(name => historyTables.indexOf(name) >= 0);\n}"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/src/Settings.ts",
    "content": "import * as vscode from 'vscode';\n\n// Returns config values stored in VsCode's settings.json\nexport function Settings(): ISettings {\n\n    const config = vscode.workspace.getConfiguration('durableFunctionsMonitor');\n\n    // Better to have default values hardcoded here (not only in package.json) as well\n    return {\n        backendBaseUrl: config.get<string>('backendBaseUrl', 'http://localhost:{portNr}/a/p/i'),\n        backendVersionToUse: config.get<'Default' | '.Net Core 3.1'>('backendVersionToUse', 'Default'),\n        customPathToBackendBinaries: config.get<string>('customPathToBackendBinaries', ''),\n        backendTimeoutInSeconds: config.get<number>('backendTimeoutInSeconds', 60),\n        storageEmulatorConnectionString: config.get<string>('storageEmulatorConnectionString', 'AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;DefaultEndpointsProtocol=http;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;'),\n        enableLogging: config.get<boolean>('enableLogging', false),\n        showTimeAs: config.get<'UTC' | 'Local'>('showTimeAs', 'UTC'),\n        showWhenDebugSessionStarts: config.get<boolean>('showWhenDebugSessionStarts', false),\n    };\n}\n\n// Updates a config value stored in VsCode's settings.json\nexport function UpdateSetting(name: string, val: any) {\n\n    const config = vscode.workspace.getConfiguration('durableFunctionsMonitor');\n    config.update(name, val, true);\n}\n\ninterface ISettings\n{\n    backendBaseUrl: string;\n    backendVersionToUse: 'Default' | '.Net Core 3.1' | '.Net Core 2.1';\n    customPathToBackendBinaries: string;\n    backendTimeoutInSeconds: number;\n    storageEmulatorConnectionString: string;\n    enableLogging: boolean;\n    showTimeAs: 'UTC' | 'Local';\n    showWhenDebugSessionStarts: boolean;\n}"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/src/SharedConstants.ts",
    "content": "export const NonceEnvironmentVariableName = 'DFM_NONCE';\nexport const NonceHeaderName = 'x-dfm-nonce';\nexport const MsSqlConnStringEnvironmentVariableName = 'DFM_SQL_CONNECTION_STRING';\nexport const HubNameEnvironmentVariableName = 'DFM_HUB_NAME';"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/src/StorageAccountTreeItem.ts",
    "content": "import * as vscode from 'vscode';\nimport * as path from 'path';\n\nimport { StorageConnectionSettings } from './BackendProcess';\nimport { ConnStringUtils } from \"./ConnStringUtils\";\nimport { TaskHubTreeItem } from \"./TaskHubTreeItem\";\nimport { MonitorViewList } from \"./MonitorViewList\";\n\n// Represents the Storage Account item in the TreeView\nexport class StorageAccountTreeItem extends vscode.TreeItem {\n\n    constructor(private _connStrings: string[],\n        private _resourcesFolderPath: string,\n        private _monitorViewList: MonitorViewList,\n        private _fromLocalSettingsJson: boolean = false) {\n      \n        super(ConnStringUtils.GetStorageName(_connStrings), vscode.TreeItemCollapsibleState.Expanded);\n\n        this.isMsSqlStorage = !!ConnStringUtils.GetSqlServerName(this._connStrings[0]);\n    }\n\n    readonly isMsSqlStorage: boolean;\n    isV2StorageAccount: boolean = false;\n    storageAccountId: string = '';\n\n    get isAttached(): boolean {\n        return !!this.backendUrl;\n    }\n\n    get backendUrl(): string {\n        return this._monitorViewList.getBackendUrl(this._connStrings);\n    }\n\n    get storageName(): string {\n        return this.label!;\n    }\n\n    get storageConnStrings(): string[] {\n        return this._connStrings;\n    }\n\n    get childItems(): TaskHubTreeItem[] {\n        return this._taskHubItems;\n    }\n\n    get tooltip(): string {\n\n        if (this._fromLocalSettingsJson) {\n            return `from local.settings.json`;\n        }\n\n        if (!!this.isMsSqlStorage) {\n            return 'MSSQL Storage Provider';\n        }\n\n        return StorageConnectionSettings.MaskStorageConnString(this._connStrings[0]);\n    }\n\n    // Something to show to the right of this item\n    get description(): string {\n        return `${this._taskHubItems.length} Task Hubs`;\n    }\n\n    // Item's icon\n    get iconPath(): string {\n        if (!!this.isMsSqlStorage) {\n            return path.join(this._resourcesFolderPath, this.isAttached ? 'mssqlAttached.svg' : 'mssql.svg');\n        }\n        if (this.isV2StorageAccount) {\n            return path.join(this._resourcesFolderPath, this.isAttached ? 'storageAccountV2Attached.svg' : 'storageAccountV2.svg');\n        }\n        return path.join(this._resourcesFolderPath, this.isAttached ? 'storageAccountAttached.svg' : 'storageAccount.svg');\n    }\n\n    // For binding context menu to this tree node\n    get contextValue(): string {\n        return this.isAttached ? 'storageAccount-attached' : 'storageAccount-detached';\n    }\n\n    // For sorting\n    static compare(first: StorageAccountTreeItem, second: StorageAccountTreeItem): number {\n        const a = first.storageName.toLowerCase();\n        const b = second.storageName.toLowerCase();\n        return a === b ? 0 : (a < b ? -1 : 1);\n    }\n\n    // Creates or returns existing TaskHubTreeItem by hub name\n    getOrAdd(hubName: string): TaskHubTreeItem {\n\n        var hubItem = this._taskHubItems.find(taskHub => taskHub.hubName.toLowerCase() === hubName.toLowerCase());\n        if (!hubItem) {\n            hubItem = new TaskHubTreeItem(this, hubName, this._resourcesFolderPath);\n            this._taskHubItems.push(hubItem);\n            this._taskHubItems.sort(TaskHubTreeItem.compare);\n        }\n\n        return hubItem;\n    }\n\n    isTaskHubVisible(hubName: string): boolean {\n        return this._monitorViewList.isMonitorViewVisible(new StorageConnectionSettings(this._connStrings, hubName));\n    }\n    \n    private _taskHubItems: TaskHubTreeItem[] = [];\n}"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/src/StorageAccountTreeItems.ts",
    "content": "import { MonitorView } from \"./MonitorView\";\nimport { MonitorViewList } from \"./MonitorViewList\";\nimport { StorageAccountTreeItem } from \"./StorageAccountTreeItem\";\nimport { StorageConnectionSettings } from \"./BackendProcess\";\nimport { ConnStringUtils } from \"./ConnStringUtils\";\nimport { TaskHubTreeItem } from \"./TaskHubTreeItem\";\n\n// Represents the list of Storage Account items in the TreeView\nexport class StorageAccountTreeItems {\n\n    constructor(private _resourcesFolderPath: string, private _monitorViewList: MonitorViewList) {}\n\n    get nodes(): StorageAccountTreeItem[] {\n        return this._storageAccountItems;\n    }\n\n    get taskHubNodes(): TaskHubTreeItem[] {\n        return ([] as TaskHubTreeItem[]).concat(...this._storageAccountItems.map(n => n.childItems));\n    }\n\n    // Adds a node to the tree for MonitorView, that's already running\n    addNodeForMonitorView(monitorView: MonitorView): void {\n\n        const storageConnStrings = monitorView.storageConnectionSettings.storageConnStrings;\n        const storageName = ConnStringUtils.GetStorageName(storageConnStrings);\n        const hubName = monitorView.storageConnectionSettings.hubName;\n\n        // Only creating a new tree node, if no node for this account exists so far\n        var node = this._storageAccountItems.find(item => item.storageName.toLowerCase() === storageName.toLowerCase());\n        if (!node) {\n\n            node = new StorageAccountTreeItem(storageConnStrings, this._resourcesFolderPath, this._monitorViewList);\n\n            this._storageAccountItems.push(node);\n            this._storageAccountItems.sort(StorageAccountTreeItem.compare);\n        }\n\n        node.getOrAdd(hubName);\n    }\n\n    // Adds a detached node to the tree for the specified storage connection settings\n    addNodeForConnectionSettings(connSettings: StorageConnectionSettings, isV2StorageAccount: boolean = false, storageAccountId: string = ''): void {\n\n        const storageConnStrings = connSettings.storageConnStrings;\n        const hubName = connSettings.hubName;\n\n        // Trying to infer account name from connection string\n        const storageName = ConnStringUtils.GetStorageName(storageConnStrings);\n        if (!storageName) {\n            return;\n        }\n\n        // Only creating a new tree node, if no node for this account exists so far\n        var node = this._storageAccountItems.find(item => item.storageName === storageName);\n        if (!node) {\n\n            node = new StorageAccountTreeItem(storageConnStrings,\n                this._resourcesFolderPath,\n                this._monitorViewList,\n                connSettings.isFromLocalSettingsJson\n            );\n \n            this._storageAccountItems.push(node);\n            this._storageAccountItems.sort(StorageAccountTreeItem.compare);\n        }\n\n        node.isV2StorageAccount = isV2StorageAccount;\n        node.storageAccountId = storageAccountId;\n\n        node.getOrAdd(hubName);\n    }\n    \n    private _storageAccountItems: StorageAccountTreeItem[] = [];\n}"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/src/SubscriptionTreeItem.ts",
    "content": "import * as vscode from 'vscode';\nimport * as path from 'path';\n\nimport { StorageAccountTreeItem } from \"./StorageAccountTreeItem\";\nimport { StorageAccountTreeItems } from \"./StorageAccountTreeItems\";\n\n// Represents an Azure Subscription in the TreeView\nexport class SubscriptionTreeItem extends vscode.TreeItem {\n\n    get isSubscriptionTreeItem(): boolean { return true; }\n\n    // Returns storage account nodes, that belong to this subscription\n    get storageAccountNodes(): StorageAccountTreeItem[] {\n        return this._storageAccounts.nodes.filter(a => this.isMyStorageAccount(a));\n    }\n\n    constructor(subscriptionName: string,\n        private _storageAccounts: StorageAccountTreeItems,\n        private _storageAccountNames: string[],\n        protected _resourcesFolderPath: string\n    ) {\n        super(subscriptionName, vscode.TreeItemCollapsibleState.Expanded);\n        this.iconPath = path.join(this._resourcesFolderPath, 'azureSubscription.svg');\n    }\n\n    // Checks whether this storage account belongs to this subscription.\n    isMyStorageAccount(accNode: StorageAccountTreeItem): boolean {\n\n        // The only way to do this is by matching the account name against all account names in this subscription.\n        // We need to fetch these acccount names for other purposes anyway, so why not using them here as well \n        // (as opposite to making separate roundtrips to get subscriptionId for a given account).\n        return this._storageAccountNames.includes(accNode.storageName);\n    }\n}\n\n// Represents a special node in the TreeView where all 'orphaned' (those with unidentified subscription) storage accounts go\nexport class DefaultSubscriptionTreeItem extends SubscriptionTreeItem {\n\n    constructor(storageAccounts: StorageAccountTreeItems,\n        private _otherSubscriptionNodes: SubscriptionTreeItem[],\n        resourcesFolderPath: string\n    ) {\n        super('Storages', storageAccounts, [], resourcesFolderPath);\n        this.iconPath = path.join(this._resourcesFolderPath, 'storageAccounts.svg');\n    }\n\n    // Checks whether this storage account belongs to this tree item.\n    isMyStorageAccount(accNode: StorageAccountTreeItem): boolean {\n\n        // Let's see if this account belongs to any other subscription node. If not - it's ours. \n        return this._otherSubscriptionNodes.every(n => !n.isMyStorageAccount(accNode));\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/src/SubscriptionTreeItems.ts",
    "content": "import * as vscode from 'vscode';\n\nimport { StorageManagementClient } from \"@azure/arm-storage\";\nimport { StorageAccount } from \"@azure/arm-storage/src/models\";\n\nimport { SubscriptionTreeItem, DefaultSubscriptionTreeItem } from \"./SubscriptionTreeItem\";\nimport { StorageAccountTreeItems } from \"./StorageAccountTreeItems\";\nimport { getTaskHubNamesFromTableStorage } from './MonitorViewList';\nimport { ConnStringUtils } from \"./ConnStringUtils\";\nimport { Settings } from './Settings';\nimport { StorageConnectionSettings } from \"./BackendProcess\";\n\n// Full typings for this can be found here: https://github.com/microsoft/vscode-azure-account/blob/master/src/azure-account.api.d.ts\ntype AzureSubscription = { session: { credentials2: any }, subscription: { subscriptionId: string, displayName: string } };\n\n// Represents the list of Azure Subscriptions in the TreeView\nexport class SubscriptionTreeItems {\n\n    constructor(private _context: vscode.ExtensionContext,\n        private _azureAccount: any,\n        private _storageAccounts: StorageAccountTreeItems,\n        private _onStorageAccountsChanged: () => void,\n        private _resourcesFolderPath: string,\n        private _log: (l: string) => void)\n    { }\n\n    // Returns subscription nodes, but only those that have some TaskHubs in them\n    async getNonEmptyNodes(): Promise<SubscriptionTreeItem[]> {\n\n        if (!this._nodes) {\n\n            // Need to wait until Azure Account ext loads the filtered list of subscriptions\n            if (!this._azureAccount || !await this._azureAccount.waitForFilters()) {\n\n                this._nodes = [];\n\n            } else {\n\n                // Showing only filtered subscriptions and ignoring those, which are hidden\n                const subscriptions = this._azureAccount.filters;\n\n                this._nodes = await this.loadSubscriptionNodes(subscriptions);\n            }\n\n            // Adding the 'default subscription' node, where all orphaned (unrecognized) storage accounts will go to.\n            this._nodes.push(new DefaultSubscriptionTreeItem(this._storageAccounts, this._nodes.slice(), this._resourcesFolderPath));\n\n            // Also pinging local Storage Emulator and deliberately not awaiting\n            this.tryLoadingTaskHubsForLocalStorageEmulator();\n        }\n\n        // Only showing non-empty subscriptions\n        return this._nodes.filter(n => n.storageAccountNodes.length > 0);\n    }\n\n    cleanup(): void {\n        this._nodes = undefined;\n    }\n    \n    private _nodes?: SubscriptionTreeItem[];\n\n    private async tryLoadingStorageAccountsForSubscription(storageManagementClient: StorageManagementClient): Promise<StorageAccount[]> {\n \n        const result: StorageAccount[] = [];\n\n        var storageAccountsPartialResponse = await storageManagementClient.storageAccounts.list();\n        result.push(...storageAccountsPartialResponse);\n\n        while (!!storageAccountsPartialResponse.nextLink) {\n\n            storageAccountsPartialResponse = await storageManagementClient.storageAccounts.listNext(storageAccountsPartialResponse.nextLink);\n            result.push(...storageAccountsPartialResponse);\n        }\n\n        return result;\n    }\n\n    private static HasAlreadyShownStorageV2Warning = false;\n\n    private showWarning4V2StorageAccounts(v2AccountNames: string[]): void {\n\n        const DfmDoNotShowStorageV2Warning = 'DfmDoNotShowStorageV2Warning';\n\n        if (!!SubscriptionTreeItems.HasAlreadyShownStorageV2Warning || !!this._context.globalState.get(DfmDoNotShowStorageV2Warning, false) || !v2AccountNames.length) {\n            return;\n        }\n        SubscriptionTreeItems.HasAlreadyShownStorageV2Warning = true;\n\n        const prompt = `Looks like your Durable Functions are using the following General-purpose V2 Storage accounts: ${v2AccountNames.join(', ')}. Combined with Durable Functions, V2 Storage accounts can be more expensive under high loads. Consider using General-purpose V1 Storage instead.`;\n        vscode.window.showWarningMessage(prompt, 'OK', `Don't Show Again`).then(answer => {\n\n            if (answer === `Don't Show Again`) {\n                this._context.globalState.update(DfmDoNotShowStorageV2Warning, true);\n            }\n        });\n    }\n\n    private async tryLoadingTaskHubsForSubscription(storageManagementClient: StorageManagementClient, storageAccounts: StorageAccount[]): Promise<boolean> {\n\n        const v2AccountNames: string[] = [];\n        var taskHubsAdded = false;\n        await Promise.all(storageAccounts.map(async storageAccount => {\n\n            // Extracting resource group name\n            const match = /\\/resourceGroups\\/([^\\/]+)\\/providers/gi.exec(storageAccount.id!);\n            if (!match || match.length <= 0) {\n                return;\n            }\n            const resourceGroupName = match[1];\n\n            const storageKeys = await storageManagementClient.storageAccounts.listKeys(resourceGroupName, storageAccount.name!);\n            if (!storageKeys.keys || storageKeys.keys.length <= 0) {\n                return;\n            }\n\n            // Choosing the key that looks best\n            var storageKey = storageKeys.keys.find(k => !k.permissions || k.permissions.toLowerCase() === \"full\");\n            if (!storageKey) {\n                storageKey = storageKeys.keys.find(k => !k.permissions || k.permissions.toLowerCase() === \"read\");\n            }\n            if (!storageKey) {\n                return;\n            }\n\n            var tableEndpoint = '';\n            if (!!storageAccount.primaryEndpoints) {\n                tableEndpoint = storageAccount.primaryEndpoints.table!;\n            }\n\n            const hubNames = await getTaskHubNamesFromTableStorage(storageAccount.name!, storageKey.value!, tableEndpoint);\n            if (!hubNames || !hubNames.length) {\n                return;\n            }\n\n            const isV2StorageAccount = storageAccount.kind === 'StorageV2';\n\n            if (isV2StorageAccount) {\n                v2AccountNames.push(storageAccount.name!);\n            }\n\n            for (const hubName of hubNames) {\n\n                this._storageAccounts.addNodeForConnectionSettings(\n                    new StorageConnectionSettings([this.getConnectionStringForStorageAccount(storageAccount, storageKey.value!)], hubName, false),\n                    isV2StorageAccount,\n                    storageAccount.id\n                );\n                \n                taskHubsAdded = true;\n            }\n        }));\n\n        // Notifying about potentially higher costs of V2 accounts\n        this.showWarning4V2StorageAccounts(v2AccountNames);\n\n        return taskHubsAdded;\n    }\n\n    private async tryLoadingTaskHubsForLocalStorageEmulator(): Promise<void> {\n\n        const emulatorConnString = Settings().storageEmulatorConnectionString;\n\n        const accountName = ConnStringUtils.GetAccountName(emulatorConnString);\n        const accountKey = ConnStringUtils.GetAccountKey(emulatorConnString);\n        const tableEndpoint = ConnStringUtils.GetTableEndpoint(emulatorConnString);\n\n        const hubNames = await getTaskHubNamesFromTableStorage(accountName, accountKey, tableEndpoint);\n        if (!hubNames) {\n            return;\n        }\n\n        for (const hubName of hubNames) {\n            this._storageAccounts.addNodeForConnectionSettings(new StorageConnectionSettings([emulatorConnString], hubName));\n        }\n\n        if (hubNames.length > 0) {\n            this._onStorageAccountsChanged();\n        }\n    }\n\n    private getConnectionStringForStorageAccount(account: StorageAccount, storageKey: string): string {\n\n        var endpoints = ''; \n        if (!!account.primaryEndpoints) {\n            endpoints = `BlobEndpoint=${account.primaryEndpoints!.blob};QueueEndpoint=${account.primaryEndpoints!.queue};TableEndpoint=${account.primaryEndpoints!.table};FileEndpoint=${account.primaryEndpoints!.file};`;\n        } else {\n            endpoints = `BlobEndpoint=https://${account.name}.blob.core.windows.net/;QueueEndpoint=https://${account.name}.queue.core.windows.net/;TableEndpoint=https://${account.name}.table.core.windows.net/;FileEndpoint=https://${account.name}.file.core.windows.net/;`;\n        }\n\n        return `DefaultEndpointsProtocol=https;AccountName=${account.name};AccountKey=${storageKey};${endpoints}`;\n    }\n\n    private async loadSubscriptionNodes(subscriptions: AzureSubscription[]): Promise<SubscriptionTreeItem[]> {\n        \n        const results = await Promise.all(subscriptions.map(async s => {\n\n            try {\n                const storageManagementClient = new StorageManagementClient(s.session.credentials2, s.subscription.subscriptionId);\n\n                // Trying to load all storage account names in this subscription.\n                // We need that list of names to subsequently match storage account nodes with their subscription nodes.\n                const storageAccounts = await this.tryLoadingStorageAccountsForSubscription(storageManagementClient);\n\n                // Now let's try to detect and load TaskHubs in this subscription.\n                // Many things can go wrong there, that is why we're doing it so asynchronously\n                this.tryLoadingTaskHubsForSubscription(storageManagementClient, storageAccounts)\n                    .then(anyMoreTaskHubsAdded => {\n                        if (anyMoreTaskHubsAdded) {\n                            this._onStorageAccountsChanged();\n                        }\n                    }, err => { \n                        this._onStorageAccountsChanged();\n                        this._log(`Failed to load TaskHubs from subscription ${s.subscription.displayName}. ${err.message}`);\n                    });\n\n                return {\n                    subscriptionId: s.subscription.subscriptionId,\n                    subscriptionName: s.subscription.displayName,\n                    storageAccountNames: storageAccounts.map(a => a.name!)\n                };\n\n            } catch (err) {\n\n                this._log(`Failed to load storage accounts from subscription ${s.subscription.displayName}. ${err.message}`);\n\n                return null;\n            }\n        }));\n\n        return results\n            .filter(r => r !== null)\n            .map(r => new SubscriptionTreeItem(\n                r!.subscriptionName,\n                this._storageAccounts,\n                r!.storageAccountNames,\n                this._resourcesFolderPath\n            ));\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/src/TaskHubTreeItem.ts",
    "content": "import * as vscode from 'vscode';\nimport * as path from 'path';\n\nimport { StorageConnectionSettings } from './BackendProcess';\nimport { StorageAccountTreeItem } from \"./StorageAccountTreeItem\";\n\n// Represents the Task Hub item in the TreeView\nexport class TaskHubTreeItem extends vscode.TreeItem {\n\n    constructor(private _parentItem: StorageAccountTreeItem, private _hubName: string, private _resourcesFolderPath: string) {\n        super(_hubName);\n    }\n\n    get storageAccountId(): string {\n        return this._parentItem.storageAccountId;\n    }\n\n    get subscriptionId(): string {\n\n        const match = /\\/subscriptions\\/([^\\/]+)\\/resourceGroups/gi.exec(this._parentItem.storageAccountId);\n        if (!match || match.length <= 0) {\n            return '';\n        }\n        return match[1];\n    }\n\n    get hubName(): string {\n        return this._hubName;\n    }\n\n    // Gets associated storage connection settings\n    get storageConnectionSettings(): StorageConnectionSettings {\n        return new StorageConnectionSettings(this._parentItem.storageConnStrings, this._hubName);\n    }\n\n    // Item's icon\n    get iconPath(): string {\n        return path.join(this._resourcesFolderPath, this._parentItem.isTaskHubVisible(this._hubName) ? 'taskHubAttached.svg' : 'taskHub.svg');\n    }\n\n    // As a tooltip, showing the backend's URL\n    get tooltip(): string {\n\n        const backendUrl = this._parentItem.backendUrl;\n        return !backendUrl ? '' : `${backendUrl}/${this._hubName}`;\n    }\n\n    // This is what happens when the item is being clicked\n    get command(): vscode.Command {\n        return {\n            title: 'Attach',\n            command: 'durableFunctionsMonitorTreeView.attachToTaskHub',\n            arguments: [this]\n        };\n    }\n\n    // For binding context menu to this tree node\n    get contextValue(): string {\n        return this._parentItem.isAttached ? 'taskHub-attached' : 'taskHub-detached';\n    }\n\n    // For sorting\n    static compare(first: TaskHubTreeItem, second: TaskHubTreeItem): number {\n        const a = first.label!.toLowerCase();\n        const b = second.label!.toLowerCase();\n        return a === b ? 0 : (a < b ? -1 : 1);\n    }\n\n    // Drops itself from parent's list\n    removeFromTree(): void {\n\n        this._parentItem.childItems.splice(this._parentItem.childItems.indexOf(this), 1);\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/src/az-func-as-a-graph/FunctionsMap.d.ts",
    "content": "\nexport type FunctionsMap = {\n    [name: string]: {\n        bindings: any[],\n        isCalledBy: string[],\n        isSignalledBy: { name: string, signalName: string }[],\n        isCalledByItself?: boolean,\n        filePath?: string,\n        pos?: number,\n        lineNr?: number\n    }\n};\n\nexport type ProxiesMap = {\n    [name: string]: {\n        matchCondition?: {\n            methods?: string[];\n            route?: string;\n        };\n        backendUri?: string;\n        requestOverrides?: {};\n        responseOverrides?: {};\n        filePath?: string,\n        pos?: number,\n        lineNr?: number,\n        warningNotAddedToCsProjFile?: boolean\n    }\n};\n\nexport type TraverseFunctionResult = {\n    functions: FunctionsMap;\n    proxies: ProxiesMap;\n    tempFolders: string[];\n    projectFolder: string;\n};\n"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/src/az-func-as-a-graph/traverseFunctionProject.ts",
    "content": "import * as os from 'os';\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport { execSync } from 'child_process';\n\nimport { FunctionsMap, ProxiesMap, TraverseFunctionResult } from './FunctionsMap';\nimport {\n    getCodeInBrackets, TraversalRegexes, DotNetBindingsParser,\n    isDotNetProjectAsync, posToLineNr, cloneFromGitHub\n} from './traverseFunctionProjectUtils';\n\nconst ExcludedFolders = ['node_modules', 'obj', '.vs', '.vscode', '.env', '.python_packages', '.git', '.github'];\n\n// Collects all function.json files in a Functions project. Also tries to supplement them with bindings\n// extracted from .Net code (if the project is .Net). Also parses and organizes orchestrators/activities \n// (if the project uses Durable Functions)\nexport async function traverseFunctionProject(projectFolder: string, log: (s: any) => void)\n    : Promise<TraverseFunctionResult> {\n\n    var functions: FunctionsMap = {}, tempFolders = [];\n    \n    // If it is a git repo, cloning it\n    if (projectFolder.toLowerCase().startsWith('http')) {\n\n        log(`Cloning ${projectFolder}`);\n\n        const gitInfo = await cloneFromGitHub(projectFolder);\n\n        log(`Successfully cloned to ${gitInfo.gitTempFolder}`);\n\n        tempFolders.push(gitInfo.gitTempFolder);\n        projectFolder = gitInfo.projectFolder;\n    }\n    \n    const hostJsonMatch = await findFileRecursivelyAsync(projectFolder, 'host.json', false);\n    if (!hostJsonMatch) {\n        throw new Error('host.json file not found under the provided project path');\n    }\n\n    log(`>>> Found host.json at ${hostJsonMatch.filePath}`);\n\n    var hostJsonFolder = path.dirname(hostJsonMatch.filePath);\n\n    // If it is a C# function, we'll need to dotnet publish first\n    if (await isDotNetProjectAsync(hostJsonFolder)) {\n\n        const publishTempFolder = await fs.promises.mkdtemp(path.join(os.tmpdir(), 'dotnet-publish-'));\n        tempFolders.push(publishTempFolder);\n\n        log(`>>> Publishing ${hostJsonFolder} to ${publishTempFolder}...`);\n        execSync(`dotnet publish -o ${publishTempFolder}`, { cwd: hostJsonFolder });\n        hostJsonFolder = publishTempFolder;\n    }\n\n    // Reading function.json files, in parallel\n    const promises = (await fs.promises.readdir(hostJsonFolder)).map(async functionName => {\n\n        const fullPath = path.join(hostJsonFolder, functionName);\n        const functionJsonFilePath = path.join(fullPath, 'function.json');\n\n        const isDirectory = (await fs.promises.lstat(fullPath)).isDirectory();\n        const functionJsonExists = fs.existsSync(functionJsonFilePath);\n\n        if (isDirectory && functionJsonExists) {\n\n            try {\n                const functionJsonString = await fs.promises.readFile(functionJsonFilePath, { encoding: 'utf8' });\n                const functionJson = JSON.parse(functionJsonString);\n\n                functions[functionName] = { bindings: functionJson.bindings, isCalledBy: [], isSignalledBy: [] };\n\n            } catch (err) {\n                log(`>>> Failed to parse ${functionJsonFilePath}: ${err}`);\n            }\n        }\n    });\n    await Promise.all(promises);\n\n    // Now enriching data from function.json with more info extracted from code\n    functions = await mapOrchestratorsAndActivitiesAsync(functions, projectFolder, hostJsonFolder);\n\n    // Also reading proxies\n    const proxies = await readProxiesJson(projectFolder, log);\n\n    return { functions, proxies, tempFolders, projectFolder };\n}\n\n// Tries to read proxies.json file from project folder\nasync function readProxiesJson(projectFolder: string, log: (s: any) => void): Promise<ProxiesMap> {\n\n    const proxiesJsonPath = path.join(projectFolder, 'proxies.json');\n    if (!fs.existsSync(proxiesJsonPath)) {\n        return {};\n    }\n    \n    const proxiesJsonString = await fs.promises.readFile(proxiesJsonPath, { encoding: 'utf8' });\n    try {\n\n        const proxies = JSON.parse(proxiesJsonString).proxies as ProxiesMap;\n        if (!proxies) {\n            return {};\n        }\n\n        var notAddedToCsProjFile = false;\n        if (await isDotNetProjectAsync(projectFolder)) {\n\n            // Also checking that proxies.json is added to .csproj file\n\n            const csProjFile = await findFileRecursivelyAsync(projectFolder, '.+\\\\.csproj$', true);\n            const proxiesJsonEntryRegex = new RegExp(`\\\\s*=\\\\s*\"proxies.json\"\\\\s*>`);\n\n            if (!!csProjFile && csProjFile.code && (!proxiesJsonEntryRegex.exec(csProjFile.code))) {\n                \n                notAddedToCsProjFile = true;\n            }            \n        }\n\n        // Also adding filePath and lineNr\n        for (var proxyName in proxies) {\n\n            const proxy = proxies[proxyName];\n            proxy.filePath = proxiesJsonPath;\n            if (notAddedToCsProjFile) {\n                proxy.warningNotAddedToCsProjFile = true;\n            }\n\n            const proxyNameRegex = new RegExp(`\"${proxyName}\"\\\\s*:`);\n            const match = proxyNameRegex.exec(proxiesJsonString);\n            if (!!match) {\n                \n                proxy.pos = match.index;\n                proxy.lineNr = posToLineNr(proxiesJsonString, proxy.pos);\n            }\n        }\n\n        return proxies;\n\n    } catch(err) {\n\n        log(`>>> Failed to parse ${proxiesJsonPath}: ${err}`);\n        return {};\n    }\n}\n\n// fileName can be a regex, pattern should be a regex (which will be searched for in the matching files).\n// If returnFileContents == true, returns file content. Otherwise returns full path to the file.\nasync function findFileRecursivelyAsync(folder: string, fileName: string, returnFileContents: boolean, pattern?: RegExp)\n    : Promise<{ filePath: string, code?: string, pos?: number, length?: number } | undefined> {\n\n    const fileNameRegex = new RegExp(fileName, 'i');\n\n    for (const name of await fs.promises.readdir(folder)) {\n        var fullPath = path.join(folder, name);\n\n        if ((await fs.promises.lstat(fullPath)).isDirectory()) {\n\n            if (ExcludedFolders.includes(name.toLowerCase())) {\n                continue;\n            }\n\n            const result = await findFileRecursivelyAsync(fullPath, fileName, returnFileContents, pattern);\n            if (!!result) {\n                return result;\n            }\n\n        } else if (!!fileNameRegex.exec(name)) {\n\n            if (!pattern) {\n                return {\n                    filePath: fullPath,\n                    code: returnFileContents ? (await fs.promises.readFile(fullPath, { encoding: 'utf8' })) : undefined\n                };\n            }\n\n            const code = await fs.promises.readFile(fullPath, { encoding: 'utf8' });\n            const match = pattern.exec(code);\n\n            if (!!match) {\n                return {\n                    filePath: fullPath,\n                    code: returnFileContents ? code : undefined,\n                    pos: match.index,\n                    length: match[0].length\n                };\n            }\n        }\n    }\n\n    return undefined;\n}\n\n// Tries to match orchestrations and their activities by parsing source code\nasync function mapOrchestratorsAndActivitiesAsync(functions: FunctionsMap, projectFolder: string, hostJsonFolder: string): Promise<{}> {\n\n    const isDotNet = await isDotNetProjectAsync(projectFolder);\n    const functionNames = Object.keys(functions);\n    \n    const orchestratorNames = functionNames.filter(name => functions[name].bindings.some((b: any) => b.type === 'orchestrationTrigger'));\n    const orchestrators = await getFunctionsAndTheirCodesAsync(orchestratorNames, isDotNet, projectFolder, hostJsonFolder);\n\n    const activityNames = Object.keys(functions).filter(name => functions[name].bindings.some((b: any) => b.type === 'activityTrigger'));\n    const activities = await getFunctionsAndTheirCodesAsync(activityNames, isDotNet, projectFolder, hostJsonFolder);\n\n    const entityNames = functionNames.filter(name => functions[name].bindings.some((b: any) => b.type === 'entityTrigger'));\n    const entities = await getFunctionsAndTheirCodesAsync(entityNames, isDotNet, projectFolder, hostJsonFolder);\n\n    const otherFunctionNames = functionNames.filter(name => !functions[name].bindings.some((b: any) => ['orchestrationTrigger', 'activityTrigger', 'entityTrigger'].includes(b.type)));\n    const otherFunctions = await getFunctionsAndTheirCodesAsync(otherFunctionNames, isDotNet, projectFolder, hostJsonFolder);\n\n    for (const orch of orchestrators) {\n\n        // Trying to match this orchestrator with its calling function\n        const regex = TraversalRegexes.getStartNewOrchestrationRegex(orch.name);\n        for (const func of otherFunctions) {\n\n            // If this function seems to be calling that orchestrator\n            if (!!regex.exec(func.code)) {\n                functions[orch.name].isCalledBy.push(func.name);\n            }\n        }\n\n        // Matching suborchestrators\n        for (const subOrch of orchestrators) {\n            if (orch.name === subOrch.name) {\n                continue;\n            }\n\n            // If this orchestrator seems to be calling that suborchestrator\n            const regex = TraversalRegexes.getCallSubOrchestratorRegex(subOrch.name);\n            if (!!regex.exec(orch.code)) {\n\n                // Mapping that suborchestrator to this orchestrator\n                functions[subOrch.name].isCalledBy.push(orch.name);\n            }\n        }\n\n        // Mapping activities to orchestrators\n        mapActivitiesToOrchestrator(functions, orch, activityNames);\n\n        // Checking whether orchestrator calls itself\n        if (!!TraversalRegexes.continueAsNewRegex.exec(orch.code)) {\n            functions[orch.name].isCalledByItself = true;\n        }\n\n        // Trying to map event producers with their consumers\n        const eventNames = getEventNames(orch.code);\n        for (const eventName of eventNames) {\n            \n            const regex = TraversalRegexes.getRaiseEventRegex(eventName);\n            for (const func of otherFunctions) {\n\n                // If this function seems to be sending that event\n                if (!!regex.exec(func.code)) {\n                    functions[orch.name].isSignalledBy.push({ name: func.name, signalName: eventName });\n                }\n            }\n        }\n    }\n\n    for (const entity of entities) {\n\n        // Trying to match this entity with its calling function\n        for (const func of otherFunctions) {\n\n            // If this function seems to be calling that entity\n            const regex = TraversalRegexes.getSignalEntityRegex(entity.name);\n            if (!!regex.exec(func.code)) {\n                functions[entity.name].isCalledBy.push(func.name);\n            }\n        }\n    }\n\n    if (isDotNet) {\n        \n        // Trying to extract extra binding info from C# code\n        for (const func of otherFunctions) {\n\n            const moreBindings = DotNetBindingsParser.tryExtractBindings(func.code);\n            functions[func.name].bindings.push(...moreBindings);\n        }\n    }\n\n    // Also adding file paths and code positions\n    for (const func of otherFunctions.concat(orchestrators).concat(activities).concat(entities)) {\n        functions[func.name].filePath = func.filePath;\n        functions[func.name].pos = func.pos;\n        functions[func.name].lineNr = func.lineNr;\n    }\n\n    return functions;\n}\n\n// Tries to extract event names that this orchestrator is awaiting\nfunction getEventNames(orchestratorCode: string): string[] {\n\n    const result = [];\n\n    const regex = TraversalRegexes.waitForExternalEventRegex;\n    var match: RegExpExecArray | null;\n    while (!!(match = regex.exec(orchestratorCode))) {\n        result.push(match[4]);\n    }\n\n    return result;\n}\n\n// Tries to load code for functions of certain type\nasync function getFunctionsAndTheirCodesAsync(functionNames: string[], isDotNet: boolean, projectFolder: string, hostJsonFolder: string)\n    : Promise<{ name: string, code: string, filePath: string, pos: number, lineNr: number }[]> {\n    \n    const promises = functionNames.map(async name => {\n\n        const match = await (isDotNet ?\n            findFileRecursivelyAsync(projectFolder, '.+\\\\.(f|c)s$', true, TraversalRegexes.getDotNetFunctionNameRegex(name)) :\n            findFileRecursivelyAsync(path.join(hostJsonFolder, name), '(index\\\\.ts|index\\\\.js|__init__\\\\.py)$', true));\n        \n        if (!match) {\n            return undefined;\n        }\n\n        const code = !isDotNet ? match.code : getCodeInBrackets(match.code!, match.pos! + match.length!, '{', '}', ' \\n');\n        const pos = !match.pos ? 0 : match.pos;\n        const lineNr = posToLineNr(match.code, pos);\n\n        return { name, code, filePath: match.filePath, pos, lineNr };\n    });\n\n    return (await Promise.all(promises)).filter(f => !!f) as any;\n}\n\n// Tries to match orchestrator with its activities\nfunction mapActivitiesToOrchestrator(functions: FunctionsMap, orch: {name: string, code: string}, activityNames: string[]): void {\n\n    for (const activityName of activityNames) {\n\n        // If this orchestrator seems to be calling this activity\n        const regex = TraversalRegexes.getCallActivityRegex(activityName);\n        if (!!regex.exec(orch.code)) {\n\n            // Then mapping this activity to this orchestrator\n            if (!functions[activityName].isCalledBy) {\n                functions[activityName].isCalledBy = [];\n            }\n            functions[activityName].isCalledBy.push(orch.name);\n        }\n    }\n}\n"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/src/az-func-as-a-graph/traverseFunctionProjectUtils.ts",
    "content": "import * as os from 'os';\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport { execSync } from 'child_process';\n\n// Does a git clone into a temp folder and returns info about that cloned code\nexport async function cloneFromGitHub(url: string): Promise<{gitTempFolder: string, projectFolder: string}> {\n\n    var repoName = '', branchName = '', relativePath = '', gitTempFolder = '';\n\n    var restOfUrl: string[] = [];\n    const match = /(https:\\/\\/github.com\\/.*?)\\/([^\\/]+)(\\/tree\\/)?(.*)/i.exec(url);\n\n    if (!match || match.length < 5) {\n\n        // expecting repo name to be the last segment of remote origin URL\n        repoName = url.substr(url.lastIndexOf('/') + 1);\n\n    } else {\n\n        const orgUrl = match[1];\n\n        repoName = match[2];\n        if (repoName.toLowerCase().endsWith('.git')) {\n            repoName = repoName.substr(0, repoName.length - 4);\n        }\n\n        url = `${orgUrl}/${repoName}.git`;\n\n        if (!!match[4]) {\n            restOfUrl = match[4].split('/').filter(s => !!s);\n        }\n    }\n\n    gitTempFolder = await fs.promises.mkdtemp(path.join(os.tmpdir(), 'git-clone-'));\n\n    // The provided URL might contain both branch name and relative path. The only way to separate one from another\n    // is to repeatedly try cloning assumed branch names, until we finally succeed.\n    for (var i = restOfUrl.length; i > 0; i--) {\n\n        try {\n\n            const assumedBranchName = restOfUrl.slice(0, i).join('/');\n            execSync(`git clone ${url} --branch ${assumedBranchName}`, { cwd: gitTempFolder });\n\n            branchName = assumedBranchName;\n            relativePath = path.join(...restOfUrl.slice(i, restOfUrl.length));\n\n            break;\n        } catch {\n            continue;\n        }\n    }\n\n    if (!branchName) {\n\n        // Just doing a normal git clone\n        execSync(`git clone ${url}`, { cwd: gitTempFolder });\n    }\n\n    return { gitTempFolder, projectFolder: path.join(gitTempFolder, repoName, relativePath) };\n}\n\n// Primitive way of getting a line number out of symbol position\nexport function posToLineNr(code: string | undefined, pos: number): number {\n    if (!code) {\n        return 0;\n    }\n    const lineBreaks = code.substr(0, pos).match(/(\\r\\n|\\r|\\n)/g);\n    return !lineBreaks ? 1 : lineBreaks.length + 1;\n}\n\n// Checks if the given folder looks like a .Net project\nexport async function isDotNetProjectAsync(projectFolder: string): Promise<boolean> {\n    return (await fs.promises.readdir(projectFolder)).some(fn => {\n        fn = fn.toLowerCase();\n        return fn.endsWith('.sln') ||\n            fn.endsWith('.fsproj') ||\n            (fn.endsWith('.csproj') && fn !== 'extensions.csproj');\n    });\n}\n\n// Complements regex's inability to keep up with nested brackets\nexport function getCodeInBrackets(str: string, startFrom: number, openingBracket: string, closingBracket: string, mustHaveSymbols: string = ''): string {\n\n    var bracketCount = 0, openBracketPos = 0, mustHaveSymbolFound = !mustHaveSymbols;\n    for (var i = startFrom; i < str.length; i++) {\n        switch (str[i]) {\n            case openingBracket:\n                if (bracketCount <= 0) {\n                    openBracketPos = i + 1;\n                }\n                bracketCount++;\n                break;\n            case closingBracket:\n                bracketCount--;\n                if (bracketCount <= 0 && mustHaveSymbolFound) {\n                    return str.substring(startFrom, i + 1);\n                }\n                break;\n        }\n\n        if (bracketCount > 0 && mustHaveSymbols.includes(str[i])) {\n            mustHaveSymbolFound = true;\n        }\n    }\n    return '';\n}\n\n// General-purpose regexes\nexport class TraversalRegexes {\n\n    static getStartNewOrchestrationRegex(orchName: string): RegExp {\n        return new RegExp(`(StartNew|StartNewAsync|start_new)(\\\\s*<[\\\\w\\\\.-\\\\[\\\\]\\\\<\\\\>,\\\\s]+>)?\\\\s*\\\\(\\\\s*([\"'\\`]|nameof\\\\s*\\\\(\\\\s*[\\\\w\\\\.-]*|[\\\\w\\\\s\\\\.]+\\\\.\\\\s*)${orchName}\\\\s*[\"'\\\\),]{1}`, 'i');\n    }\n\n    static getCallSubOrchestratorRegex(subOrchName: string): RegExp {\n        return new RegExp(`(CallSubOrchestrator|CallSubOrchestratorWithRetry|call_sub_orchestrator)(Async)?(\\\\s*<[\\\\w\\\\.-\\\\[\\\\]\\\\<\\\\>,\\\\s]+>)?\\\\s*\\\\(\\\\s*([\"'\\`]|nameof\\\\s*\\\\(\\\\s*[\\\\w\\\\.-]*|[\\\\w\\\\s\\\\.]+\\\\.\\\\s*)${subOrchName}\\\\s*[\"'\\\\),]{1}`, 'i');\n    }\n\n    static readonly continueAsNewRegex = new RegExp(`ContinueAsNew\\\\s*\\\\(`, 'i');\n\n    static getRaiseEventRegex(eventName: string): RegExp {\n        return new RegExp(`(RaiseEvent|raise_event)(Async)?(.|\\r|\\n)*${eventName}`, 'i');\n    }\n\n    static getSignalEntityRegex(entityName: string): RegExp {\n        return new RegExp(`${entityName}\\\\s*[\"'>]{1}`);\n    }\n\n    static readonly waitForExternalEventRegex = new RegExp(`(WaitForExternalEvent|wait_for_external_event)(<[\\\\s\\\\w,\\\\.-\\\\[\\\\]\\\\(\\\\)\\\\<\\\\>]+>)?\\\\s*\\\\(\\\\s*(nameof\\\\s*\\\\(\\\\s*|[\"'\\`]|[\\\\w\\\\s\\\\.]+\\\\.\\\\s*)?([\\\\s\\\\w\\\\.-]+)\\\\s*[\"'\\`\\\\),]{1}`, 'gi');\n\n    static getDotNetFunctionNameRegex(funcName: string): RegExp {\n        return new RegExp(`FunctionName(Attribute)?\\\\s*\\\\(\\\\s*(nameof\\\\s*\\\\(\\\\s*|[\"'\\`]|[\\\\w\\\\s\\\\.]+\\\\.\\\\s*)${funcName}\\\\s*[\"'\\`\\\\)]{1}`)\n    }\n\n    static getCallActivityRegex(activityName: string): RegExp {\n        return new RegExp(`(CallActivity|call_activity)[\\\\s\\\\w,\\\\.-<>\\\\[\\\\]\\\\(\\\\)\\\\?]*\\\\([\\\\s\\\\w\\\\.-]*[\"'\\`]?${activityName}\\\\s*[\"'\\`\\\\),]{1}`, 'i');\n    }\n}\n\n// In .Net not all bindings are mentioned in function.json, so we need to analyze source code to extract them\nexport class DotNetBindingsParser {\n\n    // Extracts additional bindings info from C#/F# source code\n    static tryExtractBindings(funcCode: string): {type: string, direction: string}[] {\n\n        const result: {type: string, direction: string}[] = [];\n\n        if (!funcCode) {\n            return result;\n        }\n\n        const regex = this.bindingAttributeRegex;\n        var match: RegExpExecArray | null;\n        while (!!(match = regex.exec(funcCode))) {\n\n            const isReturn = !!match[2];\n\n            const attributeName = match[3];\n            const attributeCodeStartIndex = match.index + match[0].length - 1;\n            const attributeCode = getCodeInBrackets(funcCode, attributeCodeStartIndex, '(', ')', '');\n\n            this.isOutRegex.lastIndex = attributeCodeStartIndex + attributeCode.length;\n            const isOut = !!this.isOutRegex.exec(funcCode);\n\n            switch (attributeName) {\n                case 'Blob': {\n                    const binding: any = { type: 'blob', direction: isReturn || isOut ? 'out' : 'in' };\n\n                    const paramsMatch = this.blobParamsRegex.exec(attributeCode);\n                    if (!!paramsMatch) {\n                        binding['path'] = paramsMatch[1];\n                    }\n                    result.push(binding);\n\n                    break;\n                }\n                case 'Table': {\n                    const binding: any = { type: 'table', direction: isReturn || isOut ? 'out' : 'in' };\n\n                    const paramsMatch = this.singleParamRegex.exec(attributeCode);\n                    if (!!paramsMatch) {\n                        binding['tableName'] = paramsMatch[2];\n                    }\n                    result.push(binding);\n\n                    break;\n                }\n                case 'CosmosDB': {\n                    const binding: any = { type: 'cosmosDB', direction: isReturn || isOut ? 'out' : 'in' };\n\n                    const paramsMatch = this.cosmosDbParamsRegex.exec(attributeCode);\n                    if (!!paramsMatch) {\n                        binding['databaseName'] = paramsMatch[1];\n                        binding['collectionName'] = paramsMatch[3];\n                    }\n                    result.push(binding);\n\n                    break;\n                }\n                case 'SignalRConnectionInfo': {\n                    const binding: any = { type: 'signalRConnectionInfo', direction: 'in' };\n\n                    const paramsMatch = this.signalRConnInfoParamsRegex.exec(attributeCode);\n                    if (!!paramsMatch) {\n                        binding['hubName'] = paramsMatch[1];\n                    }\n                    result.push(binding);\n\n                    break;\n                }\n                case 'EventGrid': {\n                    const binding: any = { type: 'eventGrid', direction: 'out' };\n\n                    const paramsMatch = this.eventGridParamsRegex.exec(attributeCode);\n                    if (!!paramsMatch) {\n                        binding['topicEndpointUri'] = paramsMatch[1];\n                        binding['topicKeySetting'] = paramsMatch[3];\n                    }\n                    result.push(binding);\n\n                    break;\n                }\n                case 'EventHub': {\n                    const binding: any = { type: 'eventHub', direction: 'out' };\n\n                    const paramsMatch = this.eventHubParamsRegex.exec(attributeCode);\n                    if (!!paramsMatch) {\n                        binding['eventHubName'] = paramsMatch[1];\n                    }\n                    result.push(binding);\n\n                    break;\n                }\n                case 'Queue': {\n                    const binding: any = { type: 'queue', direction: 'out' };\n\n                    const paramsMatch = this.singleParamRegex.exec(attributeCode);\n                    if (!!paramsMatch) {\n                        binding['queueName'] = paramsMatch[2];\n                    }\n                    result.push(binding);\n\n                    break;\n                }\n                case 'ServiceBus': {\n                    const binding: any = { type: 'serviceBus', direction: 'out' };\n\n                    const paramsMatch = this.singleParamRegex.exec(attributeCode);\n                    if (!!paramsMatch) {\n                        binding['queueName'] = paramsMatch[2];\n                    }\n                    result.push(binding);\n\n                    break;\n                }\n                case 'SignalR': {\n                    const binding: any = { type: 'signalR', direction: 'out' };\n\n                    const paramsMatch = this.signalRParamsRegex.exec(attributeCode);\n                    if (!!paramsMatch) {\n                        binding['hubName'] = paramsMatch[1];\n                    }\n                    result.push(binding);\n\n                    break;\n                }\n                case 'RabbitMQ': {\n                    const binding: any = { type: 'rabbitMQ', direction: 'out' };\n\n                    const paramsMatch = this.rabbitMqParamsRegex.exec(attributeCode);\n                    if (!!paramsMatch) {\n                        binding['queueName'] = paramsMatch[1];\n                    }\n                    result.push(binding);\n\n                    break;\n                }\n                case 'SendGrid': {\n                    result.push({ type: 'sendGrid', direction: 'out' });\n                    break;\n                }\n                case 'TwilioSms': {\n                    result.push({ type: 'twilioSms', direction: 'out' });\n                    break;\n                }\n            }\n        }\n\n        return result;\n    }\n\n    static readonly bindingAttributeRegex = new RegExp(`\\\\[(<)?\\\\s*(return:)?\\\\s*(\\\\w+)(Attribute)?\\\\s*\\\\(`, 'g');\n    static readonly singleParamRegex = new RegExp(`(\"|nameof\\\\s*\\\\()?([\\\\w\\\\.-]+)`);\n    static readonly eventHubParamsRegex = new RegExp(`\"([^\"]+)\"`);\n    static readonly signalRParamsRegex = new RegExp(`\"([^\"]+)\"`);\n    static readonly rabbitMqParamsRegex = new RegExp(`\"([^\"]+)\"`);\n    static readonly blobParamsRegex = new RegExp(`\"([^\"]+)\"`);\n    static readonly cosmosDbParamsRegex = new RegExp(`\"([^\"]+)\"(.|\\r|\\n)+?\"([^\"]+)\"`);\n    static readonly signalRConnInfoParamsRegex = new RegExp(`\"([^\"]+)\"`);\n    static readonly eventGridParamsRegex = new RegExp(`\"([^\"]+)\"(.|\\r|\\n)+?\"([^\"]+)\"`);\n\n    static readonly isOutRegex = new RegExp(`\\\\]\\\\s*(out |ICollector|IAsyncCollector).*?(,|\\\\()`, 'g');\n}\n"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/src/extension.ts",
    "content": "import * as vscode from 'vscode';\n\nimport { MonitorTreeDataProvider } from './MonitorTreeDataProvider';\nimport { FunctionGraphList } from './FunctionGraphList';\nimport { Settings } from './Settings';\n\nvar monitorTreeDataProvider: MonitorTreeDataProvider;\nvar functionGraphList: FunctionGraphList;\n\n// Name for our logging OutputChannel\nconst OutputChannelName = 'Durable Functions Monitor';\n\nexport function activate(context: vscode.ExtensionContext) {\n\n    // For logging\n    const logChannel = Settings().enableLogging ? vscode.window.createOutputChannel(OutputChannelName) : undefined;\n    if (!!logChannel) {\n        context.subscriptions.push(logChannel);\n    }\n\n    functionGraphList = new FunctionGraphList(context, logChannel);\n    monitorTreeDataProvider = new MonitorTreeDataProvider(context, functionGraphList, logChannel);\n\n    context.subscriptions.push(\n\n        vscode.debug.onDidStartDebugSession(() => monitorTreeDataProvider.handleOnDebugSessionStarted()),\n\n        vscode.commands.registerCommand('extension.durableFunctionsMonitor',\n            () => monitorTreeDataProvider.attachToTaskHub(null)),\n        \n        vscode.commands.registerCommand('extension.durableFunctionsMonitorPurgeHistory',\n            () => monitorTreeDataProvider.attachToTaskHub(null, { id: 'purgeHistory' })),\n\n        vscode.commands.registerCommand('extension.durableFunctionsMonitorCleanEntityStorage',\n            () => monitorTreeDataProvider.attachToTaskHub(null, { id: 'cleanEntityStorage' })),\n\n        vscode.commands.registerCommand('extension.durableFunctionsMonitorGotoInstanceId',\n            () => monitorTreeDataProvider.gotoInstanceId(null)),\n        \n        vscode.commands.registerCommand('durableFunctionsMonitorTreeView.purgeHistory',\n            (item) => monitorTreeDataProvider.attachToTaskHub(item, { id: 'purgeHistory' })),\n\n        vscode.commands.registerCommand('durableFunctionsMonitorTreeView.cleanEntityStorage',\n            (item) => monitorTreeDataProvider.attachToTaskHub(item, { id: 'cleanEntityStorage' })),\n\n        vscode.commands.registerCommand('durableFunctionsMonitorTreeView.startNewInstance',\n        (item) => monitorTreeDataProvider.attachToTaskHub(item, { id: 'startNewInstance' })),\n        \n        vscode.commands.registerCommand('durableFunctionsMonitorTreeView.attachToTaskHub',\n            (item) => monitorTreeDataProvider.attachToTaskHub(item)),\n\n        vscode.commands.registerCommand('durableFunctionsMonitorTreeView.detachFromTaskHub',\n            (item) => monitorTreeDataProvider.detachFromTaskHub(item)),\n\n        vscode.commands.registerCommand('durableFunctionsMonitorTreeView.deleteTaskHub',\n            (item) => monitorTreeDataProvider.deleteTaskHub(item)),\n        \n        vscode.commands.registerCommand('durableFunctionsMonitorTreeView.gotoInstanceId',\n            (item) => monitorTreeDataProvider.gotoInstanceId(item)),\n\n        vscode.commands.registerCommand('durableFunctionsMonitorTreeView.refresh',\n            () => monitorTreeDataProvider.refresh()),\n        \n        vscode.commands.registerCommand('durableFunctionsMonitorTreeView.attachToAnotherTaskHub',\n            () => monitorTreeDataProvider.attachToAnotherTaskHub()),\n\n        vscode.commands.registerCommand('durableFunctionsMonitorTreeView.detachFromAllTaskHubs',\n            () => monitorTreeDataProvider.detachFromAllTaskHubs()),\n        \n        vscode.window.registerTreeDataProvider('durableFunctionsMonitorTreeView', monitorTreeDataProvider),\n\n        vscode.commands.registerCommand('extension.durableFunctionsMonitorVisualizeAsGraph',\n            (item) => functionGraphList.visualize(item)),\n        \n        vscode.commands.registerCommand('durableFunctionsMonitorTreeView.openInstancesInStorageExplorer',\n            (item) => monitorTreeDataProvider.openTableInStorageExplorer(item, 'Instances')),\n        \n        vscode.commands.registerCommand('durableFunctionsMonitorTreeView.openHistoryInStorageExplorer',\n            (item) => monitorTreeDataProvider.openTableInStorageExplorer(item, 'History')),\n    );\n}\n\nexport function deactivate() {\n    functionGraphList.cleanup();\n    return monitorTreeDataProvider.cleanup();\n}"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/src/test/runTest.ts",
    "content": "import * as path from 'path';\n\nimport { runTests } from 'vscode-test';\n\nasync function main() {\n\ttry {\n\t\t// The folder containing the Extension Manifest package.json\n\t\t// Passed to `--extensionDevelopmentPath`\n\t\tconst extensionDevelopmentPath = path.resolve(__dirname, '../../');\n\n\t\t// The path to test runner\n\t\t// Passed to --extensionTestsPath\n\t\tconst extensionTestsPath = path.resolve(__dirname, './suite/index');\n\n\t\t// Download VS Code, unzip it and run the integration test\n\t\tawait runTests({ extensionDevelopmentPath, extensionTestsPath });\n\t} catch (err) {\n\t\tconsole.error('Failed to run tests');\n\t\tprocess.exit(1);\n\t}\n}\n\nmain();\n"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/src/test/suite/extension.test.ts",
    "content": "import * as assert from 'assert';\n\n// You can import and use all API from the 'vscode' module\n// as well as import your extension to test it\nimport * as vscode from 'vscode';\n// import * as myExtension from '../extension';\n\nsuite('Extension Test Suite', () => {\n\tvscode.window.showInformationMessage('Start all tests.');\n\n\ttest('Sample test', () => {\n\t\tassert.equal(-1, [1, 2, 3].indexOf(5));\n\t\tassert.equal(-1, [1, 2, 3].indexOf(0));\n\t});\n});\n"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/src/test/suite/index.ts",
    "content": "import * as path from 'path';\nimport * as Mocha from 'mocha';\nimport * as glob from 'glob';\n\nexport function run(): Promise<void> {\n\t// Create the mocha test\n\tconst mocha = new Mocha({\n\t\tui: 'tdd',\n\t});\n\tmocha.useColors(true);\n\n\tconst testsRoot = path.resolve(__dirname, '..');\n\n\treturn new Promise((c, e) => {\n\t\tglob('**/**.test.js', { cwd: testsRoot }, (err, files) => {\n\t\t\tif (err) {\n\t\t\t\treturn e(err);\n\t\t\t}\n\n\t\t\t// Add files to the test suite\n\t\t\tfiles.forEach(f => mocha.addFile(path.resolve(testsRoot, f)));\n\n\t\t\ttry {\n\t\t\t\t// Run the mocha test\n\t\t\t\tmocha.run(failures => {\n\t\t\t\t\tif (failures > 0) {\n\t\t\t\t\t\te(new Error(`${failures} tests failed.`));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tc();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} catch (err) {\n\t\t\t\te(err);\n\t\t\t}\n\t\t});\n\t});\n}\n"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/tsconfig.json",
    "content": "{\n\t\"compilerOptions\": {\n\t\t\"module\": \"commonjs\",\n\t\t\"target\": \"es6\",\n\t\t\"outDir\": \"out\",\n\t\t\"lib\": [\n            \"dom\",\n\t\t\t\"es6\"\n\t\t],\n\t\t\"sourceMap\": true,\n        \"rootDir\": \"src\",\n\t\t\"strict\": true,   /* enable all strict type-checking options */\n\t\t/* Additional Checks */\n\t\t// \"noImplicitReturns\": true, /* Report error when not all code paths in function return a value. */\n\t\t// \"noFallthroughCasesInSwitch\": true, /* Report errors for fallthrough cases in switch statement. */\n        // \"noUnusedParameters\": true,  /* Report errors on unused parameters. */\n        \n        \"resolveJsonModule\": true\n\t},\n\t\"exclude\": [\n\t\t\"node_modules\",\n        \".vscode-test\",\n        \"backend\"\n\t]\n}\n"
  },
  {
    "path": "durablefunctionsmonitor-vscodeext/tslint.json",
    "content": "{\n\t\"rules\": {\n\t\t\"no-string-throw\": true,\n\t\t\"no-unused-expression\": true,\n\t\t\"no-duplicate-variable\": true,\n\t\t\"curly\": true,\n\t\t\"class-name\": true,\n\t\t\"semicolon\": [\n\t\t\ttrue,\n\t\t\t\"always\"\n\t\t],\n\t\t\"triple-equals\": true\n\t},\n\t\"defaultSeverity\": \"warning\"\n}\n"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/.gitignore",
    "content": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n\n# nuget.exe\nnuget.exe\n\n# Azure Functions localsettings file\nlocal.settings.json\n\n# User-specific files\n*.suo\n*.user\n*.userosscache\n*.sln.docstates\n\n# User-specific files (MonoDevelop/Xamarin Studio)\n*.userprefs\n\n# Build results\n[Dd]ebug/\n[Dd]ebugPublic/\n[Rr]elease/\n[Rr]eleases/\nx64/\nx86/\nbld/\n[Bb]in/\n[Oo]bj/\n[Ll]og/\n\n# Visual Studio 2015 cache/options directory\n.vs/\n# Uncomment if you have tasks that create the project's static files in wwwroot\n#wwwroot/\n\n# MSTest test Results\n[Tt]est[Rr]esult*/\n[Bb]uild[Ll]og.*\n\n# NUNIT\n*.VisualState.xml\nTestResult.xml\n\n# Build Results of an ATL Project\n[Dd]ebugPS/\n[Rr]eleasePS/\ndlldata.c\n\n# DNX\nproject.lock.json\nproject.fragment.lock.json\nartifacts/\n\n*_i.c\n*_p.c\n*_i.h\n*.ilk\n*.meta\n*.obj\n*.pch\n*.pdb\n*.pgc\n*.pgd\n*.rsp\n*.sbr\n*.tlb\n*.tli\n*.tlh\n*.tmp\n*.tmp_proj\n*.log\n*.vspscc\n*.vssscc\n.builds\n*.pidb\n*.svclog\n*.scc\n\n# Chutzpah Test files\n_Chutzpah*\n\n# Visual C++ cache files\nipch/\n*.aps\n*.ncb\n*.opendb\n*.opensdf\n*.sdf\n*.cachefile\n*.VC.db\n*.VC.VC.opendb\n\n# Visual Studio profiler\n*.psess\n*.vsp\n*.vspx\n*.sap\n\n# TFS 2012 Local Workspace\n$tf/\n\n# Guidance Automation Toolkit\n*.gpState\n\n# ReSharper is a .NET coding add-in\n_ReSharper*/\n*.[Rr]e[Ss]harper\n*.DotSettings.user\n\n# JustCode is a .NET coding add-in\n.JustCode\n\n# TeamCity is a build add-in\n_TeamCity*\n\n# DotCover is a Code Coverage Tool\n*.dotCover\n\n# NCrunch\n_NCrunch_*\n.*crunch*.local.xml\nnCrunchTemp_*\n\n# MightyMoose\n*.mm.*\nAutoTest.Net/\n\n# Web workbench (sass)\n.sass-cache/\n\n# Installshield output folder\n[Ee]xpress/\n\n# DocProject is a documentation generator add-in\nDocProject/buildhelp/\nDocProject/Help/*.HxT\nDocProject/Help/*.HxC\nDocProject/Help/*.hhc\nDocProject/Help/*.hhk\nDocProject/Help/*.hhp\nDocProject/Help/Html2\nDocProject/Help/html\n\n# Click-Once directory\npublish/\n\n# Publish Web Output\n*.[Pp]ublish.xml\n*.azurePubxml\n# TODO: Comment the next line if you want to checkin your web deploy settings\n# but database connection strings (with potential passwords) will be unencrypted\n#*.pubxml\n*.publishproj\n\n# Microsoft Azure Web App publish settings. Comment the next line if you want to\n# checkin your Azure Web App publish settings, but sensitive information contained\n# in these scripts will be unencrypted\nPublishScripts/\n\n# NuGet Packages\n*.nupkg\n# The packages folder can be ignored because of Package Restore\n**/packages/*\n# except build/, which is used as an MSBuild target.\n!**/packages/build/\n# Uncomment if necessary however generally it will be regenerated when needed\n#!**/packages/repositories.config\n# NuGet v3's project.json files produces more ignoreable files\n*.nuget.props\n*.nuget.targets\n\n# Microsoft Azure Build Output\ncsx/\n*.build.csdef\n\n# Microsoft Azure Emulator\necf/\nrcf/\n\n# Windows Store app package directories and files\nAppPackages/\nBundleArtifacts/\nPackage.StoreAssociation.xml\n_pkginfo.txt\n\n# Visual Studio cache files\n# files ending in .cache can be ignored\n*.[Cc]ache\n# but keep track of directories ending in .cache\n!*.[Cc]ache/\n\n# Others\nClientBin/\n~$*\n*~\n*.dbmdl\n*.dbproj.schemaview\n*.jfm\n*.pfx\n*.publishsettings\nnode_modules/\norleans.codegen.cs\n\n# Since there are multiple workflows, uncomment next line to ignore bower_components\n# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)\n#bower_components/\n\n# RIA/Silverlight projects\nGenerated_Code/\n\n# Backup & report files from converting an old project file\n# to a newer Visual Studio version. Backup files are not needed,\n# because we have git ;-)\n_UpgradeReport_Files/\nBackup*/\nUpgradeLog*.XML\nUpgradeLog*.htm\n\n# SQL Server files\n*.mdf\n*.ldf\n\n# Business Intelligence projects\n*.rdl.data\n*.bim.layout\n*.bim_*.settings\n\n# Microsoft Fakes\nFakesAssemblies/\n\n# GhostDoc plugin setting file\n*.GhostDoc.xml\n\n# Node.js Tools for Visual Studio\n.ntvs_analysis.dat\n\n# Visual Studio 6 build log\n*.plg\n\n# Visual Studio 6 workspace options file\n*.opt\n\n# Visual Studio LightSwitch build output\n**/*.HTMLClient/GeneratedArtifacts\n**/*.DesktopClient/GeneratedArtifacts\n**/*.DesktopClient/ModelManifest.xml\n**/*.Server/GeneratedArtifacts\n**/*.Server/ModelManifest.xml\n_Pvt_Extensions\n\n# Paket dependency manager\n.paket/paket.exe\npaket-files/\n\n# FAKE - F# Make\n.fake/\n\n# JetBrains Rider\n.idea/\n*.sln.iml\n\n# CodeRush\n.cr/\n\n# Python Tools for Visual Studio (PTVS)\n__pycache__/\n*.pyc"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/.vscode/extensions.json",
    "content": "{\n  \"recommendations\": [\n    \"ms-azuretools.vscode-azurefunctions\",\n    \"ms-vscode.csharp\"\n  ]\n}\n"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/.vscode/launch.json",
    "content": "{\n    \"version\": \"0.2.0\",\n    \"configurations\": [\n        {\n            \"name\": \"Attach to .NET Functions\",\n            \"type\": \"coreclr\",\n            \"request\": \"attach\",\n            \"processId\": \"${command:pickProcess}\"\n        }\n    ]\n}"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/.vscode/settings.json",
    "content": "{\n    \"azureFunctions.deploySubpath\": \"bin/Release/netcoreapp3.1/publish\",\n    \"azureFunctions.projectLanguage\": \"C#\",\n    \"azureFunctions.projectRuntime\": \"~2\",\n    \"debug.internalConsoleOptions\": \"neverOpen\",\n    \"azureFunctions.preDeployTask\": \"publish\"\n}"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/.vscode/tasks.json",
    "content": "{\n    \"version\": \"2.0.0\",\n    \"tasks\": [\n        {\n            \"label\": \"clean\",\n            \"command\": \"dotnet\",\n            \"args\": [\n                \"clean\",\n                \"/property:GenerateFullPaths=true\",\n                \"/consoleloggerparameters:NoSummary\"\n            ],\n            \"type\": \"process\",\n            \"problemMatcher\": \"$msCompile\"\n        },\n        {\n            \"label\": \"build\",\n            \"command\": \"dotnet\",\n            \"args\": [\n                \"build\",\n                \"/property:GenerateFullPaths=true\",\n                \"/consoleloggerparameters:NoSummary\"\n            ],\n            \"type\": \"process\",\n            \"dependsOn\": \"clean\",\n            \"group\": {\n                \"kind\": \"build\",\n                \"isDefault\": true\n            },\n            \"problemMatcher\": \"$msCompile\"\n        },\n        {\n            \"label\": \"clean release\",\n            \"command\": \"dotnet\",\n            \"args\": [\n                \"clean\",\n                \"--configuration\",\n                \"Release\",\n                \"/property:GenerateFullPaths=true\",\n                \"/consoleloggerparameters:NoSummary\"\n            ],\n            \"type\": \"process\",\n            \"problemMatcher\": \"$msCompile\"\n        },\n        {\n            \"label\": \"publish\",\n            \"command\": \"dotnet\",\n            \"args\": [\n                \"publish\",\n                \"--configuration\",\n                \"Release\",\n                \"/property:GenerateFullPaths=true\",\n                \"/consoleloggerparameters:NoSummary\"\n            ],\n            \"type\": \"process\",\n            \"dependsOn\": \"clean release\",\n            \"problemMatcher\": \"$msCompile\"\n        },\n        {\n            \"type\": \"func\",\n            \"dependsOn\": \"build\",\n            \"options\": {\n                \"cwd\": \"${workspaceFolder}/bin/Debug/netcoreapp3.1\"\n            },\n            \"command\": \"host start\",\n            \"isBackground\": true,\n            \"problemMatcher\": \"$func-watch\"\n        }\n    ]\n}"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/Common/Auth.cs",
    "content": "using System;\nusing System.Collections;\nusing System.Collections.Generic;\nusing System.IdentityModel.Tokens.Jwt;\nusing System.IO;\nusing System.Linq;\nusing System.Reflection;\nusing System.Security.Claims;\nusing System.Text.RegularExpressions;\nusing System.Threading.Tasks;\nusing Microsoft.AspNetCore.Http;\nusing Microsoft.IdentityModel.Protocols;\nusing Microsoft.IdentityModel.Protocols.OpenIdConnect;\nusing Microsoft.IdentityModel.Tokens;\nusing Newtonsoft.Json.Linq;\n\nnamespace DurableFunctionsMonitor.DotNetBackend\n{\n    internal static class Auth\n    {\n        // Magic constant for turning auth off\n        public const string ISureKnowWhatIAmDoingNonce = \"i_sure_know_what_i_am_doing\";\n\n        // Value of WEBSITE_AUTH_UNAUTHENTICATED_ACTION config setting, when server-directed login flow is configured\n        public const string UnauthenticatedActionRedirectToLoginPage = \"RedirectToLoginPage\";\n\n        // Default user name claim name\n        public const string PreferredUserNameClaim = \"preferred_username\";\n\n        // Roles claim name\n        private const string RolesClaim = \"roles\";\n\n        // If DFM_NONCE was passed as env variable, validates that the incoming request contains it. Throws UnauthorizedAccessException, if it doesn't.\n        public static bool IsNonceSetAndValid(IHeaderDictionary headers)\n        {\n            // From now on it is the only way to skip auth\n            if (DfmEndpoint.Settings.DisableAuthentication)\n            {\n                return true;\n            }\n\n            string nonce = Environment.GetEnvironmentVariable(EnvVariableNames.DFM_NONCE);\n\n            if (!string.IsNullOrEmpty(nonce))\n            {\n                // Checking the nonce header\n                if (nonce == headers[\"x-dfm-nonce\"])\n                {\n                    return true;\n                }\n\n                throw new UnauthorizedAccessException(\"Invalid nonce. Call is rejected.\");\n            }\n\n            return false;\n        }\n\n        // Validates that the incoming request is properly authenticated\n        public static async Task ValidateIdentityAsync(ClaimsPrincipal principal, IHeaderDictionary headers, IRequestCookieCollection cookies, string taskHubName)\n        {\n            // First validating Task Hub name, if it was specified\n            if (!string.IsNullOrEmpty(taskHubName))\n            {\n                await ThrowIfTaskHubNameIsInvalid(taskHubName);\n            }\n\n            // Starting with nonce (used when running as a VsCode extension)\n            if (IsNonceSetAndValid(headers))\n            {\n                return;\n            }\n\n            // Then validating anti-forgery token\n            ThrowIfXsrfTokenIsInvalid(headers, cookies);\n\n            // Trying with EasyAuth\n            var userNameClaim = principal?.FindFirst(DfmEndpoint.Settings.UserNameClaimName);\n            if (userNameClaim == null)\n            {\n                // Validating and parsing the token ourselves\n                principal = await ValidateToken(headers[\"Authorization\"]);\n                userNameClaim = principal.FindFirst(DfmEndpoint.Settings.UserNameClaimName);\n            }\n\n            if (userNameClaim == null)\n            {\n                throw new UnauthorizedAccessException($\"'{DfmEndpoint.Settings.UserNameClaimName}' claim is missing in the incoming identity. Call is rejected.\");\n            }\n\n            if (DfmEndpoint.Settings.AllowedUserNames != null)\n            {\n                if (!DfmEndpoint.Settings.AllowedUserNames.Contains(userNameClaim.Value))\n                {\n                    throw new UnauthorizedAccessException($\"User {userNameClaim.Value} is not mentioned in {EnvVariableNames.DFM_ALLOWED_USER_NAMES} config setting. Call is rejected\");\n                }\n            }\n\n            // Also validating App Roles, if set\n            if (DfmEndpoint.Settings.AllowedAppRoles != null)\n            {\n                var roleClaims = principal.FindAll(RolesClaim);\n                if (!roleClaims.Any(claim => DfmEndpoint.Settings.AllowedAppRoles.Contains(claim.Value)))\n                {\n                    throw new UnauthorizedAccessException($\"User {userNameClaim.Value} doesn't have any of roles mentioned in {EnvVariableNames.DFM_ALLOWED_APP_ROLES} config setting. Call is rejected\");\n                }\n            }\n        }\n\n        private static async Task<HashSet<string>> GetTaskHubNamesFromStorage(string connStringName)\n        {\n            var tableNames = await TableClient.GetTableClient(connStringName).ListTableNamesAsync();\n\n            var hubNames = new HashSet<string>(tableNames\n                .Where(n => n.EndsWith(\"Instances\"))\n                .Select(n => n.Remove(n.Length - \"Instances\".Length)),\n                StringComparer.InvariantCultureIgnoreCase);\n\n            hubNames.IntersectWith(tableNames\n                .Where(n => n.EndsWith(\"History\"))\n                .Select(n => n.Remove(n.Length - \"History\".Length)));\n\n            return hubNames;\n        }\n\n        // Lists all allowed Task Hubs. The returned HashSet is configured to ignore case.\n        public static async Task<HashSet<string>> GetAllowedTaskHubNamesAsync()\n        {\n            // Respecting DFM_HUB_NAME, if it is set\n            string dfmHubName = Environment.GetEnvironmentVariable(EnvVariableNames.DFM_HUB_NAME);\n            if (!string.IsNullOrEmpty(dfmHubName))\n            {\n                return new HashSet<string>(dfmHubName.Split(','), StringComparer.InvariantCultureIgnoreCase);\n            }\n\n            // Also respecting host.json setting, when set\n            dfmHubName = TryGetHubNameFromHostJson();\n            if (!string.IsNullOrEmpty(dfmHubName))\n            {\n                return new HashSet<string>(new string[] { dfmHubName }, StringComparer.InvariantCultureIgnoreCase);\n            }\n\n            // Otherwise trying to load table names from the Storage\n            try\n            {\n                var hubNames = await GetTaskHubNamesFromStorage(EnvVariableNames.AzureWebJobsStorage);\n\n                // Also checking alternative connection strings\n                foreach(var connName in AlternativeConnectionStringNames)\n                {\n                    var connAndHubNames = (await GetTaskHubNamesFromStorage(Globals.GetFullConnectionStringEnvVariableName(connName)))\n                        .Select(hubName => Globals.CombineConnNameAndHubName(connName, hubName));\n\n                    hubNames.UnionWith(connAndHubNames);\n                }\n\n                return hubNames;\n            }\n            catch (Exception)\n            {\n                // Intentionally returning null. Need to skip validation, if for some reason list of tables\n                // cannot be loaded from Storage. But only in that case.\n                return null;\n            }\n        }\n\n        private static readonly Regex ValidTaskHubNameRegex = new Regex(@\"^[\\w-]{3,128}$\", RegexOptions.IgnoreCase | RegexOptions.Compiled);\n\n        private static Task<HashSet<string>> HubNamesTask = GetAllowedTaskHubNamesAsync();\n\n        // Checks that a Task Hub name looks like a Task Hub name\n        public static void ThrowIfTaskHubNameHasInvalidSymbols(string hubName)\n        {\n            if (!ValidTaskHubNameRegex.Match(hubName).Success)\n            {\n                throw new ArgumentException($\"Task Hub name is invalid.\");\n            }\n        }\n\n        // Checks that a Task Hub name is valid for this instace\n        public static async Task ThrowIfTaskHubNameIsInvalid(string hubName)\n        {\n            // Two bugs away. Validating that the incoming Task Hub name looks like a Task Hub name\n            ThrowIfTaskHubNameHasInvalidSymbols(hubName);\n\n            var hubNames = await HubNamesTask;\n\n            if (hubNames == null || !hubNames.Contains(hubName))\n            {\n                // doing double-check, by reloading hub names\n                HubNamesTask = GetAllowedTaskHubNamesAsync();\n                hubNames = await HubNamesTask;\n            }\n\n            // If existing Task Hub names cannot be read from Storage, we can only skip validation and return true.\n            // Note, that it will never be null, if DFM_HUB_NAME is set. So authZ is always in place.\n            if (hubNames == null)\n            {\n                return;\n            }\n\n            if (!hubNames.Contains(hubName))\n            {\n                throw new UnauthorizedAccessException($\"Task Hub '{hubName}' is not allowed.\");\n            }\n        }\n\n        // Compares our XSRF tokens, that come from cookies and headers\n        public static void ThrowIfXsrfTokenIsInvalid(IHeaderDictionary headers, IRequestCookieCollection cookies)\n        {\n            string tokenFromHeaders = headers[Globals.XsrfTokenCookieAndHeaderName];\n\n            if (string.IsNullOrEmpty(tokenFromHeaders))\n            {\n                throw new UnauthorizedAccessException(\"XSRF token is missing.\");\n            }\n\n            string tokenFromCookies = cookies[Globals.XsrfTokenCookieAndHeaderName];\n\n            if (tokenFromCookies != tokenFromHeaders)\n            {\n                throw new UnauthorizedAccessException(\"XSRF tokens do not match.\");\n            }\n        }\n\n        internal static string[] AlternativeConnectionStringNames = GetAlternativeConnectionStringNames().ToArray();\n\n        internal static IEnumerable<string> GetAlternativeConnectionStringNames()\n        {\n            var envVars = Environment.GetEnvironmentVariables();\n            foreach(DictionaryEntry kv in envVars)\n            {\n                string variableName = kv.Key.ToString();\n                if (variableName.StartsWith(EnvVariableNames.DFM_ALTERNATIVE_CONNECTION_STRING_PREFIX))\n                {\n                    yield return variableName.Substring(EnvVariableNames.DFM_ALTERNATIVE_CONNECTION_STRING_PREFIX.Length);\n                }\n            }\n        } \n\n        private static string TryGetHubNameFromHostJson()\n        {\n            try\n            {\n                string assemblyLocation = Assembly.GetExecutingAssembly().Location;\n                string functionAppFolder = Path.GetDirectoryName(Path.GetDirectoryName(assemblyLocation));\n\n                string hostJsonFileName = Path.Combine(functionAppFolder, \"host.json\");\n                dynamic hostJson = JObject.Parse(File.ReadAllText(hostJsonFileName));\n\n                string hubName = hostJson.extensions.durableTask.hubName;\n                if (hubName.StartsWith('%') && hubName.EndsWith('%'))\n                {\n                    hubName = Environment.GetEnvironmentVariable(hubName.Trim('%'));\n                }\n\n                return hubName;\n            }\n            catch (Exception)\n            {\n                return string.Empty;\n            }\n        }\n\n        internal static JwtSecurityTokenHandler MockedJwtSecurityTokenHandler = null;\n\n        private static async Task<ClaimsPrincipal> ValidateToken(string authorizationHeader)\n        {\n            if (string.IsNullOrEmpty(authorizationHeader))\n            {\n                throw new UnauthorizedAccessException(\"No access token provided. Call is rejected.\");\n            }\n\n            string clientId = Environment.GetEnvironmentVariable(EnvVariableNames.WEBSITE_AUTH_CLIENT_ID);\n            if (string.IsNullOrEmpty(clientId))\n            {\n                throw new UnauthorizedAccessException($\"Specify the Valid Audience value via '{EnvVariableNames.WEBSITE_AUTH_CLIENT_ID}' config setting. Typically it is the ClientId of your AAD application.\");\n            }\n\n            string openIdIssuer = Environment.GetEnvironmentVariable(EnvVariableNames.WEBSITE_AUTH_OPENID_ISSUER);\n            if (string.IsNullOrEmpty(openIdIssuer))\n            {\n                throw new UnauthorizedAccessException($\"Specify the Valid Issuer value via '{EnvVariableNames.WEBSITE_AUTH_OPENID_ISSUER}' config setting. Typically it looks like 'https://login.microsoftonline.com/<your-aad-tenant-id>/v2.0'.\");\n            }\n\n            string token = authorizationHeader.Substring(\"Bearer \".Length);\n\n            var validationParameters = new TokenValidationParameters\n            {\n                ValidAudiences = new[] { clientId },\n                ValidIssuers = new[] { openIdIssuer },\n                // Yes, it is OK to await a Task multiple times like this\n                IssuerSigningKeys = await GetSigningKeysTask,\n                // According to internet, this should not be needed (despite the fact that the default value is false)\n                // But better to be two-bugs away\n                ValidateIssuerSigningKey = true\n            };\n\n            var handler = MockedJwtSecurityTokenHandler ?? new JwtSecurityTokenHandler();\n\n            return handler.ValidateToken(token, validationParameters, out SecurityToken validatedToken);\n        }\n\n        // Caching the keys for 24 hours\n        internal static Task<ICollection<SecurityKey>> GetSigningKeysTask = InitGetSigningKeysTask(86400, 0);\n\n        internal static Task<ICollection<SecurityKey>> InitGetSigningKeysTask(int cacheTtlInSeconds, int retryCount = 0)\n        {\n            // If you ever use this code in Asp.Net, don't forget to wrap this line with Task.Run(), to decouple from SynchronizationContext\n            var task = GetSigningKeysAsync();\n\n            // Adding cache-flushing continuation\n            task.ContinueWith(async t =>\n            {\n                // If the data retrieval failed, then retrying immediately, but no more than 3 times.\n                // Otherwise re-populating the cache in cacheTtlInSeconds.\n                if (t.IsFaulted)\n                {\n                    if (retryCount > 1)\n                    {\n                        return;\n                    }\n                }\n                else\n                {\n                    await Task.Delay(TimeSpan.FromSeconds(cacheTtlInSeconds));\n                }\n\n                GetSigningKeysTask = InitGetSigningKeysTask(cacheTtlInSeconds, t.IsFaulted ? retryCount + 1 : 0);\n            });\n\n            return task;\n        }\n\n        private static async Task<ICollection<SecurityKey>> GetSigningKeysAsync()\n        {\n            string openIdIssuer = Environment.GetEnvironmentVariable(EnvVariableNames.WEBSITE_AUTH_OPENID_ISSUER);\n            if (string.IsNullOrEmpty(openIdIssuer))\n            {\n                throw new UnauthorizedAccessException($\"Specify the Valid Issuer value via '{EnvVariableNames.WEBSITE_AUTH_OPENID_ISSUER}' config setting. Typically it looks like 'https://login.microsoftonline.com/<your-aad-tenant-id>/v2.0'.\");\n            }\n\n            if (openIdIssuer.EndsWith(\"/v2.0\"))\n            {\n                openIdIssuer = openIdIssuer.Substring(0, openIdIssuer.Length - \"/v2.0\".Length);\n            }\n\n            string stsDiscoveryEndpoint = $\"{openIdIssuer}/.well-known/openid-configuration\";\n            var configManager = new ConfigurationManager<OpenIdConnectConfiguration>(stsDiscoveryEndpoint, new OpenIdConnectConfigurationRetriever());\n            var config = await configManager.GetConfigurationAsync();\n\n            return config.SigningKeys;\n        }\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/Common/CustomTemplates.cs",
    "content": "using System;\nusing System.Threading.Tasks;\nusing System.Linq;\nusing System.Collections.Generic;\nusing Microsoft.WindowsAzure.Storage;\nusing System.IO;\nusing System.Text;\nusing System.Collections.Concurrent;\nusing System.Reflection;\n\nnamespace DurableFunctionsMonitor.DotNetBackend\n{\n    // Contains all logic of loading custom tab/html templates\n    // TODO: respect alternative connection strings\n    class CustomTemplates\n    {\n        internal static Task<LiquidTemplatesMap> GetTabTemplatesAsync()\n        {\n            if (TabTemplatesTask == null)\n            {\n                TabTemplatesTask = string.IsNullOrEmpty(DfmEndpoint.Settings.CustomTemplatesFolderName) ?\n                    GetTabTemplatesFromStorageAsync() : GetTabTemplatesFromFolderAsync(DfmEndpoint.Settings.CustomTemplatesFolderName);\n            }\n\n            return TabTemplatesTask;\n        }\n\n        internal static Task<string> GetCustomMetaTagCodeAsync()\n        {\n            if (CustomMetaTagCodeTask == null)\n            {\n                CustomMetaTagCodeTask = string.IsNullOrEmpty(DfmEndpoint.Settings.CustomTemplatesFolderName) ?\n                    GetCustomMetaTagCodeFromStorageAsync() : GetCustomMetaTagCodeFromFolderAsync(DfmEndpoint.Settings.CustomTemplatesFolderName);\n            }\n\n            return CustomMetaTagCodeTask;\n        }\n\n        internal static Task<FunctionMapsMap> GetFunctionMapsAsync()\n        {\n            if (FunctionMapsTask == null)\n            {\n                FunctionMapsTask = string.IsNullOrEmpty(DfmEndpoint.Settings.CustomTemplatesFolderName) ?\n                    GetFunctionMapsFromStorageAsync() : GetFunctionMapsFromFolderAsync(DfmEndpoint.Settings.CustomTemplatesFolderName);\n            }\n\n            return FunctionMapsTask;\n        }\n\n        // Yes, it is OK to use Task in this way.\n        // The Task code will only be executed once. All subsequent/parallel awaits will get the same returned value.\n        // Tasks do have the same behavior as Lazy<T>.\n        private static Task<LiquidTemplatesMap> TabTemplatesTask;\n\n        private static Task<string> CustomMetaTagCodeTask;\n\n        private static Task<FunctionMapsMap> FunctionMapsTask;\n\n        // Tries to load liquid templates from underlying Azure Storage\n        private static async Task<LiquidTemplatesMap> GetTabTemplatesFromStorageAsync()\n        {\n            var result = new LiquidTemplatesMap();\n            try\n            {\n                string connectionString = Environment.GetEnvironmentVariable(EnvVariableNames.AzureWebJobsStorage);\n                var blobClient = CloudStorageAccount.Parse(connectionString).CreateCloudBlobClient();\n\n                // Listing all blobs in durable-functions-monitor/tab-templates folder\n                var container = blobClient.GetContainerReference(Globals.TemplateContainerName);\n\n                string templateFolderName = Globals.TabTemplateFolderName + \"/\";\n                var templateNames = await container.ListBlobsAsync(templateFolderName);\n\n                // Loading blobs in parallel\n                await Task.WhenAll(templateNames.Select(async templateName =>\n                {\n                    var blob = await blobClient.GetBlobReferenceFromServerAsync(templateName.Uri);\n\n                    // Expecting the blob name to be like \"[Tab Name].[EntityTypeName].liquid\" or just \"[Tab Name].liquid\"\n                    var nameParts = blob.Name.Substring(templateFolderName.Length).Split('.');\n                    if (nameParts.Length < 2 || nameParts.Last() != \"liquid\")\n                    {\n                        return;\n                    }\n\n                    string tabName = nameParts[0];\n                    string entityTypeName = nameParts.Length > 2 ? nameParts[1] : string.Empty;\n\n                    using (var stream = new MemoryStream())\n                    {\n                        await blob.DownloadToStreamAsync(stream);\n                        string templateText = Encoding.UTF8.GetString(stream.ToArray());\n\n                        result.GetOrAdd(entityTypeName, new ConcurrentDictionary<string, string>())[tabName] = templateText;\n                    }\n                }));\n            } \n            catch (Exception)\n            {\n                // Intentionally swallowing all exceptions here\n            }\n            return result;\n        }\n\n        // Tries to load liquid templates from local folder\n        private static async Task<LiquidTemplatesMap> GetTabTemplatesFromFolderAsync(string folderName)\n        {\n            var result = new LiquidTemplatesMap();\n\n            string binFolder = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);\n            string templatesFolder = Path.Combine(binFolder, \"..\", folderName, Globals.TabTemplateFolderName);\n\n            if (!Directory.Exists(templatesFolder))\n            {\n                return result;\n            }\n\n            foreach(var templateFilePath in Directory.EnumerateFiles(templatesFolder, \"*.liquid\"))\n            {\n                var nameParts = Path.GetFileName(templateFilePath).Split('.');\n                if(nameParts.Length < 2)\n                {\n                    continue;\n                }\n\n                string tabName = nameParts[0];\n                string entityTypeName = nameParts.Length > 2 ? nameParts[1] : string.Empty;\n                string templateText = await File.ReadAllTextAsync(templateFilePath);\n\n                result.GetOrAdd(entityTypeName, new ConcurrentDictionary<string, string>())[tabName] = templateText;\n            }\n\n            return result;\n        }\n\n        // Tries to load code for our meta tag from Storage\n        private static async Task<string> GetCustomMetaTagCodeFromStorageAsync()\n        {\n            try\n            {\n                var blobClient = CloudStorageAccount.Parse(Environment.GetEnvironmentVariable(EnvVariableNames.AzureWebJobsStorage)).CreateCloudBlobClient();\n                var container = blobClient.GetContainerReference(Globals.TemplateContainerName);\n                var blob = container.GetBlobReference(Globals.CustomMetaTagBlobName);\n\n                if (!(await blob.ExistsAsync()))\n                {\n                    return null;\n                }\n\n                using (var stream = new MemoryStream())\n                {\n                    await blob.DownloadToStreamAsync(stream);\n                    return Encoding.UTF8.GetString(stream.ToArray());\n                }\n            } \n            catch (Exception)\n            {\n                // Intentionally swallowing all exceptions here\n                return null;\n            }\n        }\n\n        // Tries to load code for our meta tag from local folder\n        private static async Task<string> GetCustomMetaTagCodeFromFolderAsync(string folderName)\n        {\n            string binFolder = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);\n            string filePath = Path.Combine(binFolder, \"..\", folderName, Globals.CustomMetaTagBlobName);\n\n            if(!File.Exists(filePath))\n            {\n                return null;\n            }\n\n            return await File.ReadAllTextAsync(filePath);\n        }\n\n        // Tries to load Function Maps from underlying Azure Storage\n        private static async Task<FunctionMapsMap> GetFunctionMapsFromStorageAsync()\n        {\n            var result = new FunctionMapsMap();\n            try\n            {\n                string connectionString = Environment.GetEnvironmentVariable(EnvVariableNames.AzureWebJobsStorage);\n                var blobClient = CloudStorageAccount.Parse(connectionString).CreateCloudBlobClient();\n\n                // Listing all blobs in durable-functions-monitor/function-maps folder\n                var container = blobClient.GetContainerReference(Globals.TemplateContainerName);\n\n                string functionMapFolderName = Globals.FunctionMapFolderName + \"/\";\n                var fileNames = await container.ListBlobsAsync(functionMapFolderName);\n\n                // Loading blobs in parallel\n                await Task.WhenAll(fileNames.Select(async templateName =>\n                {\n                    var blob = await blobClient.GetBlobReferenceFromServerAsync(templateName.Uri);\n\n                    // Expecting the blob name to be like \"dfm-function-map.[TaskHubName].json\" or just \"dfm-function-map.json\"\n                    var nameParts = blob.Name.Substring(functionMapFolderName.Length).Split('.');\n                    if (nameParts.Length < 2 || nameParts.First() != Globals.FunctionMapFilePrefix || nameParts.Last() != \"json\")\n                    {\n                        return;\n                    }\n\n                    string taskHubName = nameParts.Length > 2 ? nameParts[1] : string.Empty;\n\n                    using (var stream = new MemoryStream())\n                    {\n                        await blob.DownloadToStreamAsync(stream);\n                        string templateText = Encoding.UTF8.GetString(stream.ToArray());\n\n                        result.TryAdd(taskHubName, templateText);\n                    }\n                }));\n            } \n            catch (Exception)\n            {\n                // Intentionally swallowing all exceptions here\n            }\n            return result;\n        }\n\n        // Tries to load Function Maps from local folder\n        private static async Task<FunctionMapsMap> GetFunctionMapsFromFolderAsync(string folderName)\n        {\n            var result = new FunctionMapsMap();\n\n            string binFolder = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);\n            string functionMapsFolder = Path.Combine(binFolder, \"..\", folderName, Globals.FunctionMapFolderName);\n\n            if (!Directory.Exists(functionMapsFolder))\n            {\n                return result;\n            }\n\n            foreach(var filePath in Directory.EnumerateFiles(functionMapsFolder, $\"{Globals.FunctionMapFilePrefix}*.json\"))\n            {\n                var nameParts = Path.GetFileName(filePath).Split('.');\n                if (nameParts.Length < 2)\n                {\n                    continue;\n                }\n\n                string taskHubName = nameParts.Length > 2 ? nameParts[1] : string.Empty;\n                string json = await File.ReadAllTextAsync(filePath);\n\n                result.TryAdd(taskHubName, json);\n            }\n\n            return result;\n        }\n    }\n\n    // Represents the liquid template map\n    class LiquidTemplatesMap: ConcurrentDictionary<string, IDictionary<string, string>>\n    {\n        public List<string> GetTemplateNames(string entityTypeName)\n        {\n            var result = new List<string>();\n            IDictionary<string, string> templates;\n\n            // Getting template names for all entity types\n            if (this.TryGetValue(string.Empty, out templates))\n            {\n                result.AddRange(templates.Keys);\n            }\n\n            // Getting template names for this particular entity type\n            if (this.TryGetValue(entityTypeName, out templates))\n            {\n                result.AddRange(templates.Keys);\n            }\n\n            result.Sort();\n\n            return result;\n        }\n\n        public string GetTemplate(string entityTypeName, string templateName)\n        {\n            string result = null;\n            IDictionary<string, string> templates;\n\n            // Getting template names for all entity types\n            if (this.TryGetValue(string.Empty, out templates))\n            {\n                if(templates.TryGetValue(templateName, out result)){\n                    return result;\n                }\n            }\n\n            // Getting template names for this particular entity type\n            if (this.TryGetValue(entityTypeName, out templates))\n            {\n                if (templates.TryGetValue(templateName, out result))\n                {\n                    return result;\n                }\n            }\n\n            return result;\n        }\n    }\n\n    // Represents the map of Function Maps\n    class FunctionMapsMap : ConcurrentDictionary<string, string>\n    {\n        public string GetFunctionMap(string taskHubName)\n        {\n            string result = null;\n\n            // Getting Function Map for this particular Task Hub\n            if (!this.TryGetValue(taskHubName, out result))\n            {\n                // Getting Function Map for all Task Hubs\n                this.TryGetValue(string.Empty, out result);\n            }\n\n            return result;\n        }\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/Common/DetailedOrchestrationStatus.cs",
    "content": "using Microsoft.Azure.WebJobs.Extensions.DurableTask;\nusing System.Collections.Generic;\nusing Newtonsoft.Json.Linq;\nusing System;\nusing Microsoft.WindowsAzure.Storage;\nusing System.IO;\nusing Newtonsoft.Json;\nusing System.IO.Compression;\n\nnamespace DurableFunctionsMonitor.DotNetBackend\n{\n    // Adds extra fields to DurableOrchestrationStatus returned by IDurableClient.GetStatusAsync()\n    class DetailedOrchestrationStatus : DurableOrchestrationStatus\n    {\n        public EntityTypeEnum EntityType { get; private set; }\n        public EntityId? EntityId { get; private set; }\n\n        public List<string> TabTemplateNames\n        {\n            get\n            {\n                // The underlying Task never throws, so it's OK.\n                var templatesMap = CustomTemplates.GetTabTemplatesAsync().Result;\n                return templatesMap.GetTemplateNames(this.GetEntityTypeName());\n            }\n        }\n\n        public DetailedOrchestrationStatus(DurableOrchestrationStatus that, string connName)\n        {\n            this.Name = that.Name;\n            this.InstanceId = that.InstanceId;\n            this.CreatedTime = that.CreatedTime;\n            this.LastUpdatedTime = that.LastUpdatedTime;\n            this.RuntimeStatus = that.RuntimeStatus;\n            this.Output = that.Output;\n            this.CustomStatus = that.CustomStatus;\n            this.History = that.History;\n\n            // Detecting whether it is an Orchestration or a Durable Entity\n            var match = ExpandedOrchestrationStatus.EntityIdRegex.Match(this.InstanceId);\n            if (match.Success)\n            {\n                this.EntityType = EntityTypeEnum.DurableEntity;\n                this.EntityId = new EntityId(match.Groups[1].Value, match.Groups[2].Value);\n            }\n\n            this.Input = this.ConvertInput(that.Input, connName);\n        }\n\n        internal string GetEntityTypeName()\n        {\n            return this.EntityType == EntityTypeEnum.DurableEntity ? this.EntityId.Value.EntityName : this.Name;\n        }\n\n        private JToken ConvertInput(JToken input, string connName)\n        {\n            if (this.EntityType != EntityTypeEnum.DurableEntity)\n            {\n                return input;\n            }\n\n            // Temp fix for https://github.com/Azure/azure-functions-durable-extension/issues/1786\n            if (input.Type == JTokenType.String && input.ToString().ToLowerInvariant().StartsWith(\"https://\"))\n            {\n                string connectionString = Environment.GetEnvironmentVariable(Globals.GetFullConnectionStringEnvVariableName(connName));\n                var blobClient = CloudStorageAccount.Parse(connectionString).CreateCloudBlobClient();\n                var blob = blobClient.GetBlobReferenceFromServerAsync(new Uri(input.ToString())).Result;\n\n                using (var stream = new MemoryStream())\n                {\n                    blob.DownloadToStreamAsync(stream).Wait();\n                    stream.Position = 0;\n                    using (var gzipStream = new GZipStream(stream, CompressionMode.Decompress))\n                    using (var streamReader = new StreamReader(gzipStream))\n                    using (var jsonTextReader = new JsonTextReader(streamReader))\n                    {\n                        input = JToken.ReadFrom(jsonTextReader);\n                    }\n                }\n            }\n\n            var stateToken = input[\"state\"];\n            if (stateToken == null || stateToken.Type != JTokenType.String)\n            {\n                return input;\n            }\n\n            var stateString = stateToken.Value<string>();\n            if (!(stateString.StartsWith('{') && stateString.EndsWith('}')))\n            {\n                return input;\n            }\n\n            // Converting JSON string into JSON object\n            input[\"state\"] = JObject.Parse(stateString);\n            return input;\n        }\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/Common/ExpandedOrchestrationStatus.cs",
    "content": "using System;\nusing System.Threading.Tasks;\nusing System.Linq;\nusing Microsoft.Azure.WebJobs.Extensions.DurableTask;\nusing System.Text.RegularExpressions;\nusing System.Collections.Generic;\n\nnamespace DurableFunctionsMonitor.DotNetBackend\n{\n    enum EntityTypeEnum\n    {\n        Orchestration = 0,\n        DurableEntity\n    }\n\n    // Adds extra fields to DurableOrchestrationStatus returned by IDurableClient.ListInstancesAsync()\n    class ExpandedOrchestrationStatus : DurableOrchestrationStatus\n    {\n        public static readonly Regex EntityIdRegex = new Regex(@\"@(\\w+)@(.+)\", RegexOptions.IgnoreCase | RegexOptions.Compiled);\n        public EntityTypeEnum EntityType { get; private set; }\n        public EntityId? EntityId { get; private set; }\n        public double Duration { get; private set; }\n        public string LastEvent\n        {\n            get\n            {\n                if (this._detailsTask == null)\n                {\n                    return string.Empty;\n                }\n\n                if (this._lastEvent != null)\n                {\n                    return this._lastEvent;\n                }\n\n                this._lastEvent = string.Empty;\n                DurableOrchestrationStatus details;\n                try\n                {\n                    // For some orchestrations getting an extended status might fail due to bugs in DurableOrchestrationClient.\n                    // So just returning an empty string in that case.\n                    details = this._detailsTask.Result;\n                }\n                catch(Exception)\n                {\n                    return this._lastEvent;\n                }\n\n                if (details.History == null)\n                {\n                    return this._lastEvent;\n                }\n\n                var lastEvent = details.History\n                    .Select(e => e[\"Name\"] ?? e[\"FunctionName\"] )\n                    .LastOrDefault(e => e != null);\n\n                if (lastEvent == null)\n                {\n                    return this._lastEvent;\n                }\n\n                this._lastEvent = lastEvent.ToString();\n                return this._lastEvent;\n            }\n        }\n\n        public ExpandedOrchestrationStatus(DurableOrchestrationStatus that,\n            Task<DurableOrchestrationStatus> detailsTask,\n            HashSet<string> hiddenColumns)\n        {\n            this.Name = that.Name;\n            this.InstanceId = that.InstanceId;\n            this.CreatedTime = that.CreatedTime;\n            this.LastUpdatedTime = that.LastUpdatedTime;\n            this.Duration = Math.Round((that.LastUpdatedTime - that.CreatedTime).TotalMilliseconds);\n            this.RuntimeStatus = that.RuntimeStatus;\n\n            this.Input = hiddenColumns.Contains(\"input\") ? null : that.Input;\n            this.Output = hiddenColumns.Contains(\"output\") ? null : that.Output;\n            this.CustomStatus = hiddenColumns.Contains(\"customStatus\") ? null : that.CustomStatus;\n\n            // Detecting whether it is an Orchestration or a Durable Entity\n            var match = EntityIdRegex.Match(this.InstanceId);\n            if(match.Success)\n            {\n                this.EntityType = EntityTypeEnum.DurableEntity;\n                this.EntityId = new EntityId(match.Groups[1].Value, match.Groups[2].Value);\n            }\n\n            this._detailsTask = detailsTask;\n        }\n\n        internal string GetEntityTypeName()\n        {\n            return this.EntityType == EntityTypeEnum.DurableEntity ? this.EntityId.Value.EntityName : this.Name;\n        }\n\n        private Task<DurableOrchestrationStatus> _detailsTask;\n        private string _lastEvent;\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/Common/FilterClause.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Reflection;\nusing System.Text.RegularExpressions;\n\nnamespace DurableFunctionsMonitor.DotNetBackend\n{\n    // A parsed $filter clause\n    class FilterClause\n    {\n        public FilterClause(string filterString)\n        {\n            if (filterString == null)\n            {\n                filterString = string.Empty;\n            }\n\n            filterString = this.ExtractTimeRange(filterString);\n            filterString = this.ExtractRuntimeStatuses(filterString);\n            this.ExtractPredicate(filterString);\n        }\n\n        public Func<string, bool> Predicate { get; private set; }\n        public string FieldName { get; private set; }\n\n        public DateTime? TimeFrom { get; private set; }\n        public DateTime? TimeTill { get; private set; }\n        public string[] RuntimeStatuses { get; private set; }\n\n        private string ExtractTimeRange(string filterClause)\n        {\n            this.TimeFrom = null;\n            this.TimeTill = null;\n\n            if (string.IsNullOrEmpty(filterClause))\n            {\n                return filterClause;\n            }\n\n            var match = TimeFromRegex.Match(filterClause);\n            if (match.Success)\n            {\n                this.TimeFrom = DateTime.Parse(match.Groups[3].Value);\n                filterClause = filterClause.Substring(0, match.Index) + filterClause.Substring(match.Index + match.Length);\n            }\n\n            match = TimeTillRegex.Match(filterClause);\n            if (match.Success)\n            {\n                this.TimeTill = DateTime.Parse(match.Groups[2].Value);\n                filterClause = filterClause.Substring(0, match.Index) + filterClause.Substring(match.Index + match.Length);\n            }\n\n            return filterClause;\n        }\n\n        private string ExtractRuntimeStatuses(string filterClause)\n        {\n            this.RuntimeStatuses = null;\n\n            if (string.IsNullOrEmpty(filterClause))\n            {\n                return filterClause;\n            }\n\n            var match = RuntimeStatusRegex.Match(filterClause);\n            if (match.Success)\n            {\n                this.RuntimeStatuses = match.Groups[2].Value\n                    .Split(',').Where(s => !string.IsNullOrEmpty(s))\n                    .Select(s => s.Trim(' ', '\\'')).ToArray();\n\n                filterClause = filterClause.Substring(0, match.Index) + filterClause.Substring(match.Index + match.Length);\n            }\n\n            return filterClause;\n        }\n\n        private void ExtractPredicate(string filterString)\n        {\n            // startswith(field-name, 'value') eq true|false\n            var match = StartsWithRegex.Match(filterString);\n            if (match.Success)\n            {\n\n                bool result = true;\n                if (match.Groups.Count > 4)\n                {\n                    result = match.Groups[4].Value != \"false\";\n                }\n                string arg = match.Groups[2].Value;\n\n                this.Predicate = (v) => v.StartsWith(arg) == result;\n            }\n            // contains(field-name, 'value') eq true|false\n            else if ((match = ContainsRegex.Match(filterString)).Success)\n            {\n                bool result = true;\n                if (match.Groups.Count > 4)\n                {\n                    result = match.Groups[4].Value != \"false\";\n                }\n                string arg = match.Groups[2].Value;\n\n                this.Predicate = (v) => v.Contains(arg) == result;\n            }\n            // field-name eq|ne 'value'\n            else if ((match = EqRegex.Match(filterString)).Success)\n            {\n                string value = match.Groups[3].Value;\n                string op = match.Groups[2].Value;\n\n                this.Predicate = (v) =>\n                {\n                    bool res = value == \"null\" ? string.IsNullOrEmpty(v) : v == value;\n                    return op == \"ne\" ? !res : res;\n                };\n            }\n            // field-name in ('value1','value2','value3')\n            else if ((match = InRegex.Match(filterString)).Success)\n            {\n                string value = match.Groups[2].Value.Trim();\n\n                string[] values;\n                if (value.StartsWith(\"'\"))\n                {\n                    values = LazyQuotesRegex.Matches(value)\n                        .Select(m => m.Groups[1].Value)\n                        .ToArray();\n                }\n                else\n                {\n                    values = match.Groups[2].Value\n                        .Split(',').Where(s => !string.IsNullOrEmpty(s))\n                        .Select(s => s.Trim(' ', '\\''))\n                        .ToArray();\n                }\n\n                if ((match.Groups.Count) > 4 && (match.Groups[4].Value == \"false\"))\n                {\n                    this.Predicate = (v) => !values.Contains(v);\n                }\n                else\n                {\n                    this.Predicate = (v) => values.Contains(v);\n                }\n            }\n\n            if (this.Predicate != null)\n            {\n                this.FieldName = match.Groups[1].Value;\n            }\n        }\n\n        private static readonly Regex StartsWithRegex = new Regex(@\"startswith\\s*\\(\\s*(\\w+)\\s*,\\s*'([^']+)'\\s*\\)\\s*(eq)?\\s*(true|false)?\", RegexOptions.IgnoreCase | RegexOptions.Compiled);\n        private static readonly Regex ContainsRegex = new Regex(@\"contains\\s*\\(\\s*(\\w+)\\s*,\\s*'([^']+)'\\s*\\)\\s*(eq)?\\s*(true|false)?\", RegexOptions.IgnoreCase | RegexOptions.Compiled);\n        private static readonly Regex EqRegex = new Regex(@\"(\\w+)\\s+(eq|ne)\\s*'([^']+)\", RegexOptions.IgnoreCase | RegexOptions.Compiled);\n        private static readonly Regex InRegex = new Regex(@\"(\\w+)\\s+in\\s*\\((.*)\\)\\s*(eq)?\\s*(true|false)?\", RegexOptions.IgnoreCase | RegexOptions.Compiled);\n        private static readonly Regex LazyQuotesRegex = new Regex(@\"'(.*?)'\", RegexOptions.IgnoreCase | RegexOptions.Compiled);\n\n        private static readonly Regex RuntimeStatusRegex = new Regex(@\"\\s*(and\\s+)?runtimeStatus\\s+in\\s*\\(([^\\)]*)\\)(\\s*and)?\\s*\", RegexOptions.IgnoreCase | RegexOptions.Compiled);\n        private static readonly Regex TimeFromRegex = new Regex(@\"\\s*(and\\s+)?(createdTime|timestamp)\\s+ge\\s+'([\\d-:.T]{19,}Z)'(\\s*and)?\\s*\", RegexOptions.IgnoreCase | RegexOptions.Compiled);\n        private static readonly Regex TimeTillRegex = new Regex(@\"\\s*(and\\s+)?createdTime\\s+le\\s+'([\\d-:.T]{19,}Z)'(\\s*and)?\\s*\", RegexOptions.IgnoreCase | RegexOptions.Compiled);\n    }\n\n    static class FilterClauseExtensions\n    {\n        // Applies a filter to a collection of items\n        internal static IEnumerable<T> ApplyFilter<T>(this IEnumerable<T> items, FilterClause filter)\n        {\n            if (string.IsNullOrEmpty(filter.FieldName))\n            {\n                // if field to be filtered is not specified, returning everything\n                foreach (var orchestration in items)\n                {\n                    yield return orchestration;\n                }\n            }\n            else\n            {\n                if (filter.Predicate == null)\n                {\n                    // if filter expression is invalid, returning nothing\n                    yield break;\n                }\n\n                var propInfo = typeof(T).GetProperties()\n                    .FirstOrDefault(p => p.Name.Equals(filter.FieldName, StringComparison.InvariantCultureIgnoreCase));\n\n                if (propInfo == null)\n                {\n                    // if field name is invalid, returning nothing\n                    yield break;\n                }\n\n                foreach (var item in items)\n                {\n                    if (filter.Predicate(item.GetPropertyValueAsString(propInfo)))\n                    {\n                        yield return item;\n                    }\n                }\n            }\n        }\n\n        // Helper for formatting orchestration field values\n        internal static string GetPropertyValueAsString<T>(this T orchestration, PropertyInfo propInfo)\n        {\n            object propValue = propInfo.GetValue(orchestration);\n\n            if (propValue == null)\n            {\n                return string.Empty;\n            }\n\n            // Explicitly handling DateTime as 'yyyy-MM-ddTHH:mm:ssZ'\n            if (propInfo.PropertyType == typeof(DateTime))\n            {\n                return ((DateTime)propValue).ToString(Globals.SerializerSettings.DateFormatString);\n            }\n\n            return propValue.ToString();\n        }\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/Common/Globals.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\nusing Microsoft.AspNetCore.Http;\nusing Microsoft.AspNetCore.Mvc;\nusing Microsoft.Extensions.Logging;\nusing Microsoft.WindowsAzure.Storage.Blob;\nusing Microsoft.WindowsAzure.Storage.Table;\nusing Newtonsoft.Json;\nusing Newtonsoft.Json.Converters;\nusing Newtonsoft.Json.Serialization;\nusing System.Runtime.CompilerServices;\nusing System.Linq;\n\n[assembly: InternalsVisibleToAttribute(\"durablefunctionsmonitor.dotnetbackend.tests\")]\n\nnamespace DurableFunctionsMonitor.DotNetBackend\n{\n    static class EnvVariableNames\n    {\n        public const string AzureWebJobsStorage = \"AzureWebJobsStorage\";\n        public const string WEBSITE_SITE_NAME = \"WEBSITE_SITE_NAME\";\n        public const string WEBSITE_AUTH_CLIENT_ID = \"WEBSITE_AUTH_CLIENT_ID\";\n        public const string WEBSITE_AUTH_OPENID_ISSUER = \"WEBSITE_AUTH_OPENID_ISSUER\";\n        public const string WEBSITE_AUTH_UNAUTHENTICATED_ACTION = \"WEBSITE_AUTH_UNAUTHENTICATED_ACTION\";\n        public const string DFM_ALLOWED_USER_NAMES = \"DFM_ALLOWED_USER_NAMES\";\n        public const string DFM_ALLOWED_APP_ROLES = \"DFM_ALLOWED_APP_ROLES\";\n        public const string DFM_HUB_NAME = \"DFM_HUB_NAME\";\n        public const string DFM_NONCE = \"DFM_NONCE\";\n        public const string DFM_CLIENT_CONFIG = \"DFM_CLIENT_CONFIG\";\n        public const string DFM_MODE = \"DFM_MODE\";\n        public const string DFM_USERNAME_CLAIM_NAME = \"DFM_USERNAME_CLAIM_NAME\";\n        public const string DFM_ALTERNATIVE_CONNECTION_STRING_PREFIX = \"DFM_ALTERNATIVE_CONNECTION_STRING_\";\n    }\n\n    static class Globals\n    {\n        public const string XsrfTokenCookieAndHeaderName = \"x-dfm-xsrf-token\";\n        public const string TemplateContainerName = \"durable-functions-monitor\";\n        public const string TabTemplateFolderName = \"tab-templates\";\n        public const string FunctionMapFolderName = \"function-maps\";\n        public const string FunctionMapFilePrefix = \"dfm-func-map\";\n        public const string CustomMetaTagBlobName = \"custom-meta-tag.htm\";\n\n        public const string ConnAndTaskHubNameSeparator = \"-\";\n\n        public const string HubNameRouteParamName = \"{hubName}\";\n\n        // Constant, that defines the /a/p/i/{connName}-{hubName} route prefix, to let Functions Host distinguish api methods from statics\n        public const string ApiRoutePrefix = \"a/p/i/{connName}-{hubName}\";\n\n        public static void SplitConnNameAndHubName(string connAndHubName, out string connName, out string hubName)\n        {\n            int pos = connAndHubName.LastIndexOf(\"-\");\n            if (pos < 0)\n            {\n                connName = null;\n                hubName = connAndHubName;\n            }\n            else\n            {\n                connName = connAndHubName.Substring(0, pos);\n                hubName = connAndHubName.Substring(pos + 1);\n            }\n        }\n\n        public static string CombineConnNameAndHubName(string connName, string hubName)\n        {\n            if (string.IsNullOrEmpty(connName) || connName == \"-\")\n            {\n                return hubName;\n            }\n\n            return $\"{connName}{ConnAndTaskHubNameSeparator}{hubName}\";\n        }\n\n        public static bool IsDefaultConnectionStringName(string connName)\n        {\n            return string.IsNullOrEmpty(connName) || connName == \"-\";\n        }\n\n        public static string GetFullConnectionStringEnvVariableName(string connName)\n        {\n            if (IsDefaultConnectionStringName(connName))\n            {\n                return EnvVariableNames.AzureWebJobsStorage;\n            }\n            else\n            {\n                return EnvVariableNames.DFM_ALTERNATIVE_CONNECTION_STRING_PREFIX + connName;\n            }\n        }\n\n        // Applies authN/authZ rules and handles incoming HTTP request. Also does error handling.\n        public static async Task<IActionResult> HandleAuthAndErrors(this HttpRequest req, string connName, string hubName, ILogger log, Func<Task<IActionResult>> todo)\n        {\n            return await HandleErrors(req, log, async () => { \n\n                await Auth.ValidateIdentityAsync(req.HttpContext.User, req.Headers, req.Cookies, CombineConnNameAndHubName(connName, hubName));\n                \n                return await todo();\n            });\n        }\n\n        // Handles incoming HTTP request with error handling.\n        public static async Task<IActionResult> HandleErrors(this HttpRequest req, ILogger log, Func<Task<IActionResult>> todo)\n        {\n            try\n            {\n                return await todo();\n            } \n            catch (UnauthorizedAccessException ex)\n            {\n                log.LogError(ex, $\"DFM failed to authenticate request\");\n                return new UnauthorizedResult();\n            }\n            catch (Exception ex)\n            {\n                log.LogError(ex, \"DFM failed\");\n                return new BadRequestObjectResult(ex.Message);\n            }\n        }\n\n        // Lists all blobs from Azure Blob Container\n        public static async Task<IEnumerable<IListBlobItem>> ListBlobsAsync(this CloudBlobContainer container, string prefix)\n        {\n            var result = new List<IListBlobItem>();\n            BlobContinuationToken token = null;\n            do\n            {\n                var nextBatch = await container.ListBlobsSegmentedAsync(prefix, token);\n                result.AddRange(nextBatch.Results);\n                token = nextBatch.ContinuationToken;\n            }\n            while (token != null);\n            return result;\n        }\n\n        // Fighting with https://github.com/Azure/azure-functions-durable-js/issues/94\n        // Could use a custom JsonConverter, but it won't be invoked for nested items :(\n        public static string FixUndefinedsInJson(this string json)\n        {\n            return json.Replace(\"\\\": undefined\", \"\\\": null\");\n        }\n\n        // Shared JSON serialization settings\n        public static JsonSerializerSettings SerializerSettings = GetSerializerSettings();\n\n        // A customized way of returning JsonResult, to cope with Functions v2/v3 incompatibility\n        public static ContentResult ToJsonContentResult(this object result, Func<string, string> applyThisToJson = null)\n        {\n            string json = JsonConvert.SerializeObject(result, Globals.SerializerSettings);\n            if(applyThisToJson != null)\n            {\n                json = applyThisToJson(json);\n            }\n            return new ContentResult() { Content = json, ContentType = \"application/json\" };\n        }\n\n        public static IEnumerable<T> ApplyTop<T>(this IEnumerable<T> collection, IQueryCollection query)\n        {\n            var clause = query[\"$top\"];\n            return clause.Any() ? collection.Take(int.Parse(clause)) : collection;\n        }\n        public static IEnumerable<T> ApplySkip<T>(this IEnumerable<T> collection, IQueryCollection query)\n        {\n            var clause = query[\"$skip\"];\n            return clause.Any() ? collection.Skip(int.Parse(clause)) : collection;\n        }\n\n        private static JsonSerializerSettings GetSerializerSettings()\n        {\n            var settings = new JsonSerializerSettings\n            {\n                Formatting = Formatting.Indented,\n                DateFormatString = \"yyyy-MM-ddTHH:mm:ssZ\",\n                ContractResolver = new CamelCasePropertyNamesContractResolver()\n            };\n            settings.Converters.Add(new StringEnumConverter());\n            return settings;\n        }\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/Common/HttpHandlerBase.cs",
    "content": "using System;\nusing System.Threading.Tasks;\nusing Microsoft.AspNetCore.Http;\nusing Microsoft.AspNetCore.Mvc;\nusing Microsoft.Azure.WebJobs.Extensions.DurableTask;\nusing Microsoft.Azure.WebJobs.Extensions.DurableTask.ContextImplementations;\nusing Microsoft.Azure.WebJobs.Extensions.DurableTask.Options;\nusing Microsoft.Extensions.Logging;\n\nnamespace DurableFunctionsMonitor.DotNetBackend\n{\n    // Base class for all HTTP request handlers.\n    // Provides tooling for authZ and error handling.\n    public abstract class HttpHandlerBase\n    {\n        // Default instance of IDurableClientFactory, injected via ctor \n        private readonly IDurableClientFactory _durableClientFactory;\n\n        public HttpHandlerBase(IDurableClientFactory durableClientFactory)\n        {\n            this._durableClientFactory = durableClientFactory;\n        }\n\n        // Applies authN/authZ rules and handles incoming HTTP request. Also creates IDurableClient (when needed) and does error handling.\n        protected async Task<IActionResult> HandleAuthAndErrors(IDurableClient defaultDurableClient, HttpRequest req, string connName, string hubName, ILogger log, Func<IDurableClient, Task<IActionResult>> todo)\n        {\n            return await Globals.HandleErrors(req, log, async () => { \n\n                await Auth.ValidateIdentityAsync(req.HttpContext.User, req.Headers, req.Cookies, Globals.CombineConnNameAndHubName(connName, hubName));\n\n                // For default storage connections using default durableClient, injected normally, as a parameter.\n                // Only using IDurableClientFactory for custom connections, just in case.\n                var durableClient = Globals.IsDefaultConnectionStringName(connName) ? \n                    defaultDurableClient : \n                    this._durableClientFactory.CreateClient(new DurableClientOptions\n                    {\n                        TaskHub = hubName,\n                        ConnectionName = Globals.GetFullConnectionStringEnvVariableName(connName)\n                    });\n                \n                return await todo(durableClient);\n            });\n        }\n    }\n}\n"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/Common/OrchestrationHistory.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing Microsoft.Azure.WebJobs.Extensions.DurableTask;\nusing Microsoft.WindowsAzure.Storage.Table;\nusing Newtonsoft.Json.Linq;\n\nnamespace DurableFunctionsMonitor.DotNetBackend\n{\n    static class OrchestrationHistory\n    {\n        /// <summary>\n        /// Fetches orchestration instance history directly from XXXHistory table\n        /// Tries to mimic this algorithm: https://github.com/Azure/azure-functions-durable-extension/blob/main/src/WebJobs.Extensions.DurableTask/ContextImplementations/DurableClient.cs#L718\n        /// Intentionally returns IEnumerable<>, because the consuming code not always iterates through all of it.\n        /// </summary>\n        public static IEnumerable<HistoryEvent> GetHistoryDirectlyFromTable(IDurableClient durableClient, string connName, string hubName, string instanceId)\n        {\n            var tableClient = TableClient.GetTableClient(connName);\n\n            // Need to fetch executionId first\n\n            var instanceEntity = tableClient.ExecuteAsync($\"{hubName}Instances\", TableOperation.Retrieve(instanceId, string.Empty))\n                .Result.Result as DynamicTableEntity;\n\n            string executionId = instanceEntity.Properties.ContainsKey(\"ExecutionId\") ? \n                instanceEntity.Properties[\"ExecutionId\"].StringValue : \n                null;\n\n            var instanceIdFilter = TableQuery.CombineFilters\n            (\n                TableQuery.GenerateFilterCondition(\"PartitionKey\", QueryComparisons.Equal, instanceId),\n                TableOperators.And,\n                TableQuery.GenerateFilterCondition(\"ExecutionId\", QueryComparisons.Equal, executionId)\n            );\n\n            // Fetching _all_ correlated events with a separate parallel query. This seems to be the only option.\n            var correlatedEventsQuery = new TableQuery<HistoryEntity>().Where\n            (\n                TableQuery.CombineFilters\n                (\n                    instanceIdFilter,\n                    TableOperators.And,\n                    TableQuery.GenerateFilterConditionForInt(\"TaskScheduledId\", QueryComparisons.GreaterThanOrEqual, 0)\n                )\n            );\n\n            var correlatedEventsTask = tableClient.GetAllAsync($\"{hubName}History\", correlatedEventsQuery)\n                .ContinueWith(t => t.Result.ToDictionary(e => e.TaskScheduledId));\n\n            // Memorizing 'ExecutionStarted' event, to further correlate with 'ExecutionCompleted'\n            HistoryEntity executionStartedEvent = null;\n\n            // Fetching the history\n            var query = new TableQuery<HistoryEntity>().Where(instanceIdFilter);\n\n            foreach (var evt in tableClient.GetAll($\"{hubName}History\", query))\n            {\n                switch (evt.EventType)\n                {\n                    case \"TaskScheduled\":\n                    case \"SubOrchestrationInstanceCreated\":\n\n                        // Trying to match the completion event\n                        correlatedEventsTask.Result.TryGetValue(evt.EventId, out var correlatedEvt);\n                        if (correlatedEvt != null)\n                        {\n                            yield return correlatedEvt.ToHistoryEvent\n                            (\n                                evt._Timestamp,\n                                evt.Name,\n                                correlatedEvt.EventType == \"GenericEvent\" ? evt.EventType : null,\n                                evt.InstanceId\n                            );\n                        }\n                        else\n                        {\n                            yield return evt.ToHistoryEvent();\n                        }\n\n                        break;\n                    case \"ExecutionStarted\":\n\n                        executionStartedEvent = evt;\n\n                        yield return evt.ToHistoryEvent(null, evt.Name);\n\n                        break;\n                    case \"ExecutionCompleted\":\n                    case \"ExecutionFailed\":\n                    case \"ExecutionTerminated\":\n\n                        yield return evt.ToHistoryEvent(executionStartedEvent?._Timestamp);\n\n                        break;\n                    case \"ContinueAsNew\":\n                    case \"TimerCreated\":\n                    case \"TimerFired\":\n                    case \"EventRaised\":\n                    case \"EventSent\":\n\n                        yield return evt.ToHistoryEvent();\n\n                        break;\n                }\n            }\n        }\n\n        private static HistoryEvent ToHistoryEvent(this HistoryEntity evt, \n            DateTimeOffset? scheduledTime = null, \n            string functionName = null, \n            string eventType = null,\n            string subOrchestrationId = null)\n        {\n            return new HistoryEvent\n            {\n                Timestamp = evt._Timestamp.ToUniversalTime(),\n                EventType = eventType ?? evt.EventType,\n                EventId = evt.TaskScheduledId,\n                Name = string.IsNullOrEmpty(evt.Name) ? functionName : evt.Name,\n                Result = evt.Result,\n                Details = evt.Details,\n                SubOrchestrationId = subOrchestrationId,\n                ScheduledTime = scheduledTime,\n                DurationInMs = scheduledTime.HasValue ? (evt._Timestamp - scheduledTime.Value).TotalMilliseconds : 0\n            };\n        }\n\n        internal static HistoryEvent ToHistoryEvent(JToken token)\n        {\n            dynamic dynamicToken = token;\n\n            return new HistoryEvent\n            {\n                Timestamp = dynamicToken.Timestamp,\n                EventType = dynamicToken.EventType,\n                EventId = dynamicToken.EventId,\n                Name = string.IsNullOrEmpty(dynamicToken.Name) ? dynamicToken.FunctionName : dynamicToken.Name,\n                ScheduledTime = dynamicToken.ScheduledTime,\n                Result = dynamicToken.Result?.ToString(),\n                Details = dynamicToken.Details?.ToString(),\n                DurationInMs = dynamicToken.DurationInMs,\n                SubOrchestrationId = dynamicToken.SubOrchestrationId\n            };\n        }\n\n        internal static IEnumerable<HistoryEvent> ApplyTimeFrom(this IEnumerable<HistoryEvent> events, DateTime? timeFrom)\n        {\n            if (timeFrom == null)\n            {\n                return events;\n            }\n\n            return events.Where(evt => evt.Timestamp >= timeFrom);\n        }\n    }\n\n    /// <summary>\n    /// Represents a record in orchestration's history\n    /// </summary>\n    public class HistoryEvent\n    {\n        public DateTimeOffset Timestamp { get; set; }\n        public string EventType { get; set; }\n        public int? EventId { get; set; }\n        public string Name { get; set; }\n        public DateTimeOffset? ScheduledTime { get; set; }\n        public string Result { get; set; }\n        public string Details { get; set; }\n        public double? DurationInMs { get; set; }\n        public string SubOrchestrationId { get; set; }\n    }\n\n    // Represents an record in XXXHistory table\n    class HistoryEntity : TableEntity\n    {\n        public string InstanceId { get; set; }\n        public string EventType { get; set; }\n        public string Name { get; set; }\n        public DateTimeOffset _Timestamp { get; set; }\n        public string Result { get; set; }\n        public string Details { get; set; }\n        public int EventId { get; set; }\n        public int? TaskScheduledId { get; set; }\n    }\n}\n"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/Common/Setup.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Reflection;\nusing Microsoft.Azure.WebJobs.Extensions.DurableTask;\n\nnamespace DurableFunctionsMonitor.DotNetBackend\n{\n    /// <summary>\n    /// Defines functional mode for DurableFunctionsMonitor endpoint.\n    /// </summary>\n    public enum DfmMode\n    {\n        Normal = 0,\n        ReadOnly\n    }\n\n    /// <summary>\n    /// DurableFunctionsMonitor configuration settings\n    /// </summary>\n    public class DfmSettings\n    {\n        /// <summary>\n        /// Turns authentication off for DurableFunctionsMonitor endpoint.\n        /// WARNING: this might not only expose DurableFunctionsMonitor to the public, but also\n        /// expose all other HTTP-triggered endpoints in your project. Make sure you know what you're doing.\n        /// </summary>\n        public bool DisableAuthentication { get; set; }\n\n        /// <summary>\n        /// Functional mode for DurableFunctionsMonitor endpoint.\n        /// Currently only Normal (default) and ReadOnly modes are supported.\n        /// </summary>\n        public DfmMode Mode { get; set; }\n\n        /// <summary>\n        /// List of App Roles, that are allowed to access DurableFunctionsMonitor endpoint. Users/Groups then need \n        /// to be assigned one of these roles via AAD Enterprise Applications->[your AAD app]->Users and Groups tab.\n        /// Once set, the incoming access token is expected to contain one of these in its 'roles' claim.\n        /// </summary>\n        public IEnumerable<string> AllowedAppRoles { get; set; }\n\n        /// <summary>\n        /// List of users, that are allowed to access DurableFunctionsMonitor endpoint. You typically put emails into here.\n        /// Once set, the incoming access token is expected to contain one of these names in its 'preferred_username' claim.\n        /// </summary>\n        public IEnumerable<string> AllowedUserNames { get; set; }\n\n        /// <summary>\n        /// Folder where to search for custom tab/html templates.\n        /// Must be a part of your Functions project and be adjacent to your host.json file.\n        /// </summary>\n        public string CustomTemplatesFolderName { get; set; }\n\n        /// <summary>\n        /// Name of the claim (from ClaimsCredential) to be used as a user name.\n        /// Defaults to \"preferred_username\"\n        /// </summary>\n        public string UserNameClaimName { get; set; }\n\n        public DfmSettings()\n        {\n            this.UserNameClaimName = Auth.PreferredUserNameClaim;\n        }\n    }\n\n    /// <summary>\n    /// A set of extension points that can be customized by the client code, when DFM is used in 'injected' mode.\n    /// </summary>\n    public class DfmExtensionPoints\n    {\n        /// <summary>\n        /// Routine for fetching orchestration history.\n        /// Takes IDurableClient, connString env variable name, taskHubName and instanceId and returns IEnumerable[HistoryEvent].\n        /// Provide your own implementation for a custom storage provider.\n        /// Default implementation fetches history directly from XXXHistory table.\n        /// </summary>\n        public Func<IDurableClient, string, string, string, IEnumerable<HistoryEvent>> GetInstanceHistoryRoutine { get; set; }\n\n        public DfmExtensionPoints()\n        {\n            this.GetInstanceHistoryRoutine = OrchestrationHistory.GetHistoryDirectlyFromTable;\n        }\n    }\n\n    /// <summary>\n    /// DurableFunctionsMonitor configuration\n    /// </summary>\n    public static class DfmEndpoint\n    {\n        /// <summary>\n        /// Initializes DurableFunctionsMonitor endpoint with some settings\n        /// </summary>\n        /// <param name=\"settings\">When null, default settings are used</param>\n        /// <param name=\"extensionPoints\">Routines, that can be customized by client code. When null, default instance of DfmExtensionPoints is used</param>\n        public static void Setup(DfmSettings settings = null, DfmExtensionPoints extensionPoints = null)\n        {\n            string dfmNonce = Environment.GetEnvironmentVariable(EnvVariableNames.DFM_NONCE);\n\n            _settings = settings;\n            \n            if (_settings == null)\n            {\n                string dfmAllowedUserNames = Environment.GetEnvironmentVariable(EnvVariableNames.DFM_ALLOWED_USER_NAMES);\n                string dfmAllowedAppRoles = Environment.GetEnvironmentVariable(EnvVariableNames.DFM_ALLOWED_APP_ROLES);\n                string dfmMode = Environment.GetEnvironmentVariable(EnvVariableNames.DFM_MODE);\n                string dfmUserNameClaimName = Environment.GetEnvironmentVariable(EnvVariableNames.DFM_USERNAME_CLAIM_NAME);\n\n                _settings = new DfmSettings()\n                {\n                    // Don't want to move the below initializatin to DfmSettings's ctor. The idea is: either _everything_ comes \n                    // from env variables or _everything_ is configured programmatically. To avoid unclarity we shouldn't mix these two approaches.\n                    DisableAuthentication = dfmNonce == Auth.ISureKnowWhatIAmDoingNonce,\n                    Mode = dfmMode == DfmMode.ReadOnly.ToString() ? DfmMode.ReadOnly : DfmMode.Normal,\n                    AllowedUserNames = dfmAllowedUserNames == null ? null : dfmAllowedUserNames.Split(','),\n                    AllowedAppRoles = dfmAllowedAppRoles == null ? null : dfmAllowedAppRoles.Split(','),\n                    UserNameClaimName = string.IsNullOrEmpty(dfmUserNameClaimName) ? Auth.PreferredUserNameClaim : dfmUserNameClaimName\n                };\n            }\n\n            if (extensionPoints != null)\n            {\n                _extensionPoints = extensionPoints;\n            }\n\n            // Also initializing CustomUserAgent value based on input parameters\n            if (!string.IsNullOrEmpty(dfmNonce) && (dfmNonce != Auth.ISureKnowWhatIAmDoingNonce))\n            {\n                _customUserAgent = $\"DurableFunctionsMonitor-VsCodeExt/{GetVersion()}\";\n            }\n            else\n            {\n                _customUserAgent = $\"DurableFunctionsMonitor-Injected/{GetVersion()}\";\n            }\n        }\n\n        internal static DfmSettings Settings \n        {\n            get \n            {\n                if (_settings != null)\n                {\n                    return _settings;\n                }\n\n                if (!AreWeInStandaloneMode())\n                {\n                    throw new InvalidOperationException(\"Make sure you called DfmEndpoint.Setup() in your code\");\n                }\n\n                DfmEndpoint.Setup();\n\n                // Need to reinitialize CustomUserAgent\n                _customUserAgent = $\"DurableFunctionsMonitor-Standalone/{GetVersion()}\";\n\n                return _settings; \n            }\n        }\n\n        internal static DfmExtensionPoints ExtensionPoints \n        { \n            get { return _extensionPoints; } \n        }\n\n        internal static string CustomUserAgent\n        {\n            get { return _customUserAgent; }\n        }\n\n        private static DfmSettings _settings = null;\n        private static DfmExtensionPoints _extensionPoints = new DfmExtensionPoints();\n        private static string _customUserAgent;\n\n        /// <summary>\n        /// Checks whether we should do our internal initialization (Standalone mode)\n        /// or throw an exception when not initialized (Injected mode)\n        /// </summary>\n        private static bool AreWeInStandaloneMode()\n        {\n            string assemblyLocation = Assembly.GetExecutingAssembly().Location;\n            if (string.IsNullOrEmpty(assemblyLocation))\n            {\n                return true;\n            }\n\n            string currentFolder = Path.GetDirectoryName(assemblyLocation);\n            string targetsFileName = \"durablefunctionsmonitor.dotnetbackend.targets\";\n\n            // Using our .targets file as a marker. It should only appear in our own output folder\n            return File.Exists(Path.Combine(currentFolder, targetsFileName)) || \n                File.Exists(Path.Combine(Path.GetDirectoryName(currentFolder), targetsFileName));\n        }\n\n        private static string GetVersion()\n        {\n            var version = typeof(DfmEndpoint).Assembly.GetName().Version;\n            return $\"{version.Major}.{version.Minor}.{version.Build}\";\n        }\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/Common/TableClient.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing Microsoft.WindowsAzure.Storage.Table;\nusing Microsoft.WindowsAzure.Storage;\n\nnamespace DurableFunctionsMonitor.DotNetBackend\n{\n    // CloudTableClient wrapper interface. Seems to be the only way to unit-test.\n    public interface ITableClient\n    {\n        // Gets the list of table names\n        Task<IEnumerable<string>> ListTableNamesAsync();\n\n        // Synchronously retrieves all results from Azure Table\n        IEnumerable<TEntity> GetAll<TEntity>(string tableName, TableQuery<TEntity> query) where TEntity : TableEntity, new();\n\n        // Asynchronously retrieves all results from Azure Table\n        Task<IEnumerable<TEntity>> GetAllAsync<TEntity>(string tableName, TableQuery<TEntity> query) where TEntity : TableEntity, new();\n        \n        // Executes a TableOperation\n        Task<TableResult> ExecuteAsync(string tableName, TableOperation operation);\n    }\n\n    // CloudTableClient wrapper. Seems to be the only way to unit-test.\n    class TableClient: ITableClient\n    {\n        // Cannot use DI functionality (our startup method will not be called when installed as a NuGet package),\n        // so just leaving this as an internal static variable.\n        internal static ITableClient MockedTableClient = null;\n\n        public static ITableClient GetTableClient(string connStringName)\n        {\n            if (MockedTableClient != null)\n            {\n                return MockedTableClient;\n            }\n\n            return new TableClient(connStringName);\n        }\n\n        private TableClient(string connStringName)\n        {\n            string connectionString = Environment.GetEnvironmentVariable(connStringName);\n            this._client = CloudStorageAccount.Parse(connectionString).CreateCloudTableClient();\n        }\n\n        /// <inheritdoc/>\n        public async Task<IEnumerable<string>> ListTableNamesAsync()\n        {\n            // Overriding User-Agent header\n            var operationContext = new OperationContext\n            {\n                CustomUserAgent = DfmEndpoint.CustomUserAgent\n            };\n\n            var result = new List<string>();\n            TableContinuationToken token = null;\n            do\n            {\n                var nextBatch = await this._client.ListTablesSegmentedAsync(null, null, token, null, operationContext);\n                result.AddRange(nextBatch.Results.Select(r => r.Name));\n                token = nextBatch.ContinuationToken;\n            }\n            while (token != null);\n            return result;\n        }\n\n        /// <inheritdoc/>\n        public IEnumerable<TEntity> GetAll<TEntity>(string tableName, TableQuery<TEntity> query)\n            where TEntity : TableEntity, new()\n        {\n            var table = this._client.GetTableReference(tableName);\n\n            // Overriding User-Agent header\n            var operationContext = new OperationContext\n            {\n                CustomUserAgent = DfmEndpoint.CustomUserAgent\n            };\n\n            TableContinuationToken token = null;\n            do\n            {\n                var nextBatch = table.ExecuteQuerySegmentedAsync(query, token, null, operationContext).Result;\n\n                foreach (var evt in nextBatch.Results)\n                {\n                    yield return evt;\n                }\n\n                token = nextBatch.ContinuationToken;\n            }\n            while (token != null);\n        }\n\n        /// <inheritdoc/>\n        public async Task<IEnumerable<TEntity>> GetAllAsync<TEntity>(string tableName, TableQuery<TEntity> query)\n            where TEntity : TableEntity, new()\n        {\n            var table = this._client.GetTableReference(tableName);\n\n            // Overriding User-Agent header\n            var operationContext = new OperationContext\n            {\n                CustomUserAgent = DfmEndpoint.CustomUserAgent\n            };\n\n            var result = new List<TEntity>();\n            TableContinuationToken token = null;\n            do\n            {\n                var nextBatch = await table.ExecuteQuerySegmentedAsync(query, token, null, operationContext);\n\n                result.AddRange(nextBatch.Results);\n                token = nextBatch.ContinuationToken;\n            }\n            while (token != null);\n\n            return result;\n        }\n\n        /// <inheritdoc/>\n        public Task<TableResult> ExecuteAsync(string tableName, TableOperation operation)\n        {\n            // Overriding User-Agent header\n            var operationContext = new OperationContext\n            {\n                CustomUserAgent = DfmEndpoint.CustomUserAgent\n            };\n\n            return this._client.GetTableReference(tableName).ExecuteAsync(operation, null, operationContext);\n        }\n\n        private readonly CloudTableClient _client;\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/DfmStatics/index.html",
    "content": "<!doctype html><html lang=\"en\"><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width,initial-scale=1,shrink-to-fit=no\"><meta name=\"theme-color\" content=\"#000000\"><meta name=\"durable-functions-monitor-meta\"><link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap\"/><link rel=\"manifest\" href=\"/manifest.json\" crossorigin=\"use-credentials\"><link rel=\"shortcut icon\" href=\"/favicon.png\"><title>Durable Functions Monitor</title><link href=\"/static/css/2.62e7949a.chunk.css\" rel=\"stylesheet\"><link href=\"/static/css/main.12374d2f.chunk.css\" rel=\"stylesheet\"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><script>var OrchestrationIdFromVsCode=\"\",StateFromVsCode={}</script><script>var DfmRoutePrefix=\"\"</script><script>var DfmClientConfig={}</script><script>var DfmViewMode=0</script><script>var IsFunctionGraphAvailable=0</script><div id=\"root\"></div><svg version=\"1.1\" id=\"all-azure-icons-svg\" style=\"display:none\"><defs><svg version=\"1.1\" id=\"az-icon-activity\" viewBox=\"0 0 64 64\" enable-background=\"new 0 0 64 64\" xml:space=\"preserve\"><g><path fill=\"#3999C6\" d=\"M63.6,32.4c0.6-0.6,0.5-1.7,0-2.3L60.5,27L46.7,13.6c-0.6-0.6-1.5-0.6-2.2,0l0,0c-0.6,0.6-0.8,1.7,0,2.3\n            L59,30.1c0.6,0.6,0.6,1.7,0,2.3L44.2,47.1c-0.6,0.6-0.6,1.7,0,2.3l0,0c0.6,0.6,1.7,0.5,2.2,0l13.7-13.6c0,0,0,0,0.1-0.1L63.6,32.4z\n            \"/><path fill=\"#3999C6\" d=\"M0.4,32.4c-0.6-0.6-0.5-1.7,0-2.3L3.5,27l13.8-13.4c0.6-0.6,1.5-0.6,2.2,0l0,0c0.6,0.6,0.8,1.7,0,2.3\n            L5.3,30.1c-0.6,0.6-0.6,1.7,0,2.3l14.5,14.7c0.6,0.6,0.6,1.7,0,2.3l0,0c-0.6,0.6-1.7,0.5-2.2,0L3.6,36c0,0,0,0-0.1-0.1L0.4,32.4z\"/><polygon fill=\"#FCD116\" points=\"47.6,2.5 28.1,2.5 17.6,32.1 30.4,32.2 20.4,61.5 48,22.4 34.6,22.4 \t\"/><polygon opacity=\"0.3\" fill=\"#FF8C00\" enable-background=\"new    \" points=\"34.6,22.4 47.6,2.5 37.4,2.5 26.6,27.1 39.4,27.2 \n            20.4,61.5 48,22.4 \t\"/></g></svg> <svg version=\"1.1\" id=\"az-icon-activityTrigger\" viewBox=\"0 0 64 64\" enable-background=\"new 0 0 64 64\" xml:space=\"preserve\"><g><path fill=\"#3999C6\" d=\"M63.6,32.4c0.6-0.6,0.5-1.7,0-2.3L60.5,27L46.7,13.6c-0.6-0.6-1.5-0.6-2.2,0l0,0c-0.6,0.6-0.8,1.7,0,2.3\n            L59,30.1c0.6,0.6,0.6,1.7,0,2.3L44.2,47.1c-0.6,0.6-0.6,1.7,0,2.3l0,0c0.6,0.6,1.7,0.5,2.2,0l13.7-13.6c0,0,0,0,0.1-0.1L63.6,32.4z\n            \"/><path fill=\"#3999C6\" d=\"M0.4,32.4c-0.6-0.6-0.5-1.7,0-2.3L3.5,27l13.8-13.4c0.6-0.6,1.5-0.6,2.2,0l0,0c0.6,0.6,0.8,1.7,0,2.3\n            L5.3,30.1c-0.6,0.6-0.6,1.7,0,2.3l14.5,14.7c0.6,0.6,0.6,1.7,0,2.3l0,0c-0.6,0.6-1.7,0.5-2.2,0L3.6,36c0,0,0,0-0.1-0.1L0.4,32.4z\"/><polygon fill=\"#FCD116\" points=\"47.6,2.5 28.1,2.5 17.6,32.1 30.4,32.2 20.4,61.5 48,22.4 34.6,22.4 \t\"/><polygon opacity=\"0.3\" fill=\"#FF8C00\" enable-background=\"new    \" points=\"34.6,22.4 47.6,2.5 37.4,2.5 26.6,27.1 39.4,27.2 \n            20.4,61.5 48,22.4 \t\"/></g></svg> <svg xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:svg=\"http://www.w3.org/2000/svg\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:sodipodi=\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\" xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\" version=\"1.1\" id=\"az-icon-blob\" x=\"0px\" y=\"0px\" viewBox=\"0 0 64 64\" enable-background=\"new 0 0 64 64\" xml:space=\"preserve\" sodipodi:docname=\"blob.svg\" inkscape:version=\"1.0.2 (e86c870879, 2021-01-15, custom)\"><metadata id=\"metadata17\"><rdf:RDF><cc:Work rdf:about=\"\"><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/></cc:Work></rdf:RDF></metadata><defs id=\"defs15\"/><sodipodi:namedview pagecolor=\"#ffffff\" bordercolor=\"#666666\" borderopacity=\"1\" objecttolerance=\"10\" gridtolerance=\"10\" guidetolerance=\"10\" inkscape:pageopacity=\"0\" inkscape:pageshadow=\"2\" inkscape:window-width=\"2160\" inkscape:window-height=\"1470\" id=\"namedview13\" showgrid=\"false\" inkscape:zoom=\"11.484375\" inkscape:cx=\"32\" inkscape:cy=\"32\" inkscape:window-x=\"85\" inkscape:window-y=\"-11\" inkscape:window-maximized=\"1\" inkscape:current-layer=\"Layer_1\"/><g id=\"paths\" transform=\"matrix(1.6491033,0,0,1.6491033,-93.240155,-59.965319)\"><g id=\"Access_control\"/><g id=\"Azure_active_directory\"/><g id=\"API_Management\"/><g id=\"Azure_automation\"/><g id=\"Azure_SQL_database\"/><g id=\"Azure_subscription\"/><g id=\"Backup_service\"/><g id=\"Bitbucket_code_source\"/><g id=\"Azure_cache\"/><g id=\"Content_delivery_network__x28_CDN_x29_\"/><g id=\"Cloud_service\"/><g id=\"CodePlex\"/><g id=\"Dropbox_code_source\"/><g id=\"Express_route\"/><g id=\"Git_repository\"/><g id=\"GitHub_code\"/><g id=\"HD_Insight\"/><g id=\"Health_monitoring\"/><g id=\"Healthy\"/><g id=\"BizTalk_hybrid_connection\"/><g id=\"Hybrid_connection_manager_for_BizTalk_hybrid_connection\"/><g id=\"Hyper-V_recovery_manager\"/><g id=\"Machine_learning\"/><g id=\"Media_services\"/><g id=\"Microsoft_account\"/><g id=\"Mobile_services\"/><g id=\"Multi-factor_authentication\"/><g id=\"MySQL_database\"/><g id=\"Notification_hub\"/><g id=\"Notification_topic\"/><g id=\"Cloud_Office_365\"/><g id=\"Office_365\"/><g id=\"OS_image\"/><g id=\"Remote_app\"/><g id=\"Task_scheduler\"/><g id=\"Azure_SDK\"/><g id=\"Service_bus\"/><g id=\"Service_bus_queue\"/><g id=\"Service_bus_relay\"/><g id=\"Service_bus_topic\"/><g id=\"Service_endpoint\"/><g id=\"Custom_create\"/><g id=\"SQL_data_sync\"/><g id=\"SQL_reporting\"/><g id=\"Startup_task\"/><g id=\"Windows_Azure_storage\"/><g id=\"Storage_blob\"><g id=\"g63\"><path fill=\"#0078d7\" d=\"M 85.7,39.7 H 66.4 l -9.6,16.7 9.6,16.7 h 19.3 l 9.6,-16.7 z m 0.1,24.2 c 0,1.4 -1.2,2.6 -2.6,2.6 H 69 c -1.4,0 -2.6,-1.2 -2.6,-2.6 V 49 c 0,-1.4 1.2,-2.6 2.6,-2.6 h 10.5 c 1,0 2,0 2,0 h 0.3 l 4,4 v 2.1 z\" id=\"path55\"/><path fill=\"#0078d7\" d=\"m 74.6,59.1 c 0,-0.2 -0.1,-0.3 -0.1,-0.4 0,-0.1 -0.1,-0.2 -0.2,-0.3 -0.1,-0.1 -0.1,-0.1 -0.2,-0.1 -0.1,0 -0.2,0 -0.3,0 -0.2,0 -0.3,0 -0.4,0.1 -0.1,0.1 -0.2,0.2 -0.3,0.4 C 73,59 73,59.2 73,59.4 c 0,0.2 0,0.5 0,0.9 0,0.4 0,0.7 0,1 0,0.3 0.1,0.5 0.2,0.6 0.1,0.2 0.2,0.3 0.3,0.3 0.1,0.1 0.2,0.1 0.4,0.1 0.1,0 0.2,0 0.3,-0.1 0.1,0 0.2,-0.1 0.2,-0.2 0.1,-0.1 0.1,-0.2 0.2,-0.3 0,-0.1 0.1,-0.2 0.1,-0.4 0,-0.1 0,-0.3 0.1,-0.5 0,-0.2 0,-0.4 0,-0.6 0,-0.3 0,-0.5 0,-0.7 -0.2,-0.1 -0.2,-0.2 -0.2,-0.4 z\" id=\"path57\"/><path fill=\"#0078d7\" d=\"M 79.1,51.3 C 79.1,51.1 79,51 79,50.9 c 0,-0.1 -0.1,-0.2 -0.2,-0.3 -0.1,-0.1 -0.1,-0.1 -0.2,-0.1 -0.1,0 -0.2,0 -0.3,0 -0.2,0 -0.3,0 -0.4,0.1 -0.1,0.1 -0.2,0.2 -0.3,0.4 -0.1,0.2 -0.1,0.4 -0.1,0.6 0,0.2 0,0.5 0,0.9 0,0.4 0,0.7 0,1 0,0.3 0.1,0.5 0.2,0.6 0.1,0.2 0.2,0.3 0.3,0.3 0.1,0.1 0.2,0.1 0.4,0.1 0.1,0 0.2,0 0.3,-0.1 0.1,0 0.2,-0.1 0.2,-0.2 0.1,-0.1 0.1,-0.2 0.2,-0.3 0,-0.1 0.1,-0.2 0.1,-0.4 0,-0.1 0,-0.3 0.1,-0.5 0,-0.2 0,-0.4 0,-0.6 0,-0.3 0,-0.5 0,-0.7 -0.1,0 -0.1,-0.2 -0.2,-0.4 z\" id=\"path59\"/><path fill=\"#0078d7\" d=\"m 81.1,47.8 c -0.4,0 -1,0 -1.6,0 H 69 c -0.7,0 -1.2,0.5 -1.2,1.2 v 14.9 c 0,0.7 0.5,1.2 1.2,1.2 h 14.2 c 0.6,0 1.2,-0.5 1.2,-1.2 V 51.1 h -3.2 v -3.3 z m -8.9,3 c 0,0 0,-0.1 0,-0.1 0,0 0,-0.1 0,-0.1 0,0 0,0 0.1,-0.1 l 1.2,-0.8 c 0,0 0,0 0.1,0 0,0 0.1,0 0.1,0 0,0 0.1,0 0.1,0 0.1,0 0.1,0 0.2,0 0.1,0 0.2,0 0.3,0 0.1,0 0.1,0 0.2,0 0,0 0.1,0 0.1,0 0,0 0,0 0,0.1 v 4.7 h 0.9 c 0,0 0.1,0 0.1,0 0,0 0,0 0.1,0.1 0.1,0.1 0,0.1 0,0.1 0,0.1 0,0.1 0,0.2 0,0.1 0,0.2 0,0.2 0,0.1 0,0.1 0,0.1 0,0 0,0.1 -0.1,0.1 0,0 0,0 -0.1,0 h -3.1 c 0,0 0,0 -0.1,0 0,0 0,0 -0.1,-0.1 0,0 0,-0.1 0,-0.1 0,-0.1 0,-0.1 0,-0.2 0,-0.1 0,-0.2 0,-0.2 0,-0.1 0,-0.1 0,-0.1 0,0 0,-0.1 0.1,-0.1 0,0 0,0 0.1,0 h 1.1 v -3.7 l -0.9,0.5 c -0.1,0 -0.1,0.1 -0.2,0.1 0,0 -0.1,0 -0.1,0 0,0 0,-0.1 -0.1,-0.1 0,-0.1 0,-0.1 0,-0.3 0,-0.1 0,-0.2 0,-0.2 z m 3.5,10.7 c -0.1,0.4 -0.2,0.7 -0.4,0.9 -0.2,0.3 -0.4,0.5 -0.6,0.6 -0.3,0.1 -0.6,0.2 -1,0.2 -0.4,0 -0.7,-0.1 -1,-0.2 -0.3,-0.1 -0.5,-0.3 -0.6,-0.6 -0.1,-0.3 -0.3,-0.6 -0.3,-0.9 -0.1,-0.4 -0.1,-0.8 -0.1,-1.2 0,-0.5 0,-0.9 0.1,-1.2 0.1,-0.4 0.2,-0.7 0.4,-0.9 0.2,-0.2 0.4,-0.5 0.6,-0.6 0.3,-0.1 0.6,-0.2 1,-0.2 0.4,0 0.7,0.1 1,0.2 0.3,0.1 0.5,0.3 0.6,0.6 0.1,0.3 0.3,0.6 0.3,0.9 0.1,0.4 0.1,0.8 0.1,1.2 0,0.5 0,0.9 -0.1,1.2 z m 4.5,1.4 c 0,0.1 0,0.1 0,0.1 0,0 0,0.1 -0.1,0.1 0,0 0,0 -0.1,0 h -3.1 c 0,0 0,0 -0.1,0 0,0 0,0 -0.1,-0.1 0,0 0,-0.1 0,-0.1 0,-0.1 0,-0.1 0,-0.2 0,-0.1 0,-0.2 0,-0.2 0,-0.1 0,-0.1 0,-0.1 0,0 0,-0.1 0.1,-0.1 0,0 0,0 0.1,0 H 78 v -3.7 l -0.9,0.5 c -0.1,0 -0.1,0.1 -0.2,0.1 0,0 -0.1,0 -0.1,0 0,0 0,-0.1 -0.1,-0.1 0,-0.1 0,-0.1 0,-0.3 0,-0.1 0,-0.1 0,-0.2 0,0 0,-0.1 0,-0.1 0,0 0,-0.1 0,-0.1 0,0 0,0 0.1,-0.1 L 78,57.5 c 0,0 0,0 0.1,0 0,0 0.1,0 0.1,0 0,0 0.1,0 0.1,0 0.1,0 0.1,0 0.2,0 0.1,0 0.2,0 0.3,0 0.1,0 0.1,0 0.2,0 0,0 0.1,0 0.1,0 0,0 0,0 0,0.1 v 4.7 H 80 c 0,0 0.1,0 0.1,0 0,0 0,0 0.1,0.1 0,0 0,0.1 0,0.1 0,0.1 0,0.1 0,0.2 0,0.1 0,0.2 0,0.2 z m 0.1,-9.2 c -0.1,0.4 -0.2,0.7 -0.4,0.9 -0.2,0.3 -0.4,0.5 -0.6,0.6 -0.3,0.1 -0.6,0.2 -1,0.2 -0.4,0 -0.7,-0.1 -1,-0.2 -0.3,-0.1 -0.5,-0.3 -0.6,-0.6 -0.1,-0.2 -0.3,-0.6 -0.3,-0.9 0,-0.3 -0.1,-0.8 -0.1,-1.2 0,-0.5 0,-0.9 0.1,-1.2 0.1,-0.4 0.2,-0.7 0.4,-0.9 0.2,-0.3 0.4,-0.5 0.6,-0.6 0.3,-0.1 0.6,-0.2 1,-0.2 0.4,0 0.7,0.1 1,0.2 0.3,0.1 0.5,0.3 0.6,0.6 0.1,0.3 0.3,0.6 0.3,0.9 0.1,0.4 0.1,0.8 0.1,1.2 0,0.5 -0.1,0.9 -0.1,1.2 z\" id=\"path61\"/></g></g></g></svg> <svg xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:svg=\"http://www.w3.org/2000/svg\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:sodipodi=\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\" xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\" version=\"1.1\" id=\"az-icon-blobTrigger\" x=\"0px\" y=\"0px\" viewBox=\"0 0 64 64\" enable-background=\"new 0 0 64 64\" xml:space=\"preserve\" sodipodi:docname=\"blob.svg\" inkscape:version=\"1.0.2 (e86c870879, 2021-01-15, custom)\"><metadata id=\"metadata17\"><rdf:RDF><cc:Work rdf:about=\"\"><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/></cc:Work></rdf:RDF></metadata><defs id=\"defs15\"/><sodipodi:namedview pagecolor=\"#ffffff\" bordercolor=\"#666666\" borderopacity=\"1\" objecttolerance=\"10\" gridtolerance=\"10\" guidetolerance=\"10\" inkscape:pageopacity=\"0\" inkscape:pageshadow=\"2\" inkscape:window-width=\"2160\" inkscape:window-height=\"1470\" id=\"namedview13\" showgrid=\"false\" inkscape:zoom=\"11.484375\" inkscape:cx=\"32\" inkscape:cy=\"32\" inkscape:window-x=\"85\" inkscape:window-y=\"-11\" inkscape:window-maximized=\"1\" inkscape:current-layer=\"Layer_1\"/><g id=\"paths\" transform=\"matrix(1.6491033,0,0,1.6491033,-93.240155,-59.965319)\"><g id=\"Access_control\"/><g id=\"Azure_active_directory\"/><g id=\"API_Management\"/><g id=\"Azure_automation\"/><g id=\"Azure_SQL_database\"/><g id=\"Azure_subscription\"/><g id=\"Backup_service\"/><g id=\"Bitbucket_code_source\"/><g id=\"Azure_cache\"/><g id=\"Content_delivery_network__x28_CDN_x29_\"/><g id=\"Cloud_service\"/><g id=\"CodePlex\"/><g id=\"Dropbox_code_source\"/><g id=\"Express_route\"/><g id=\"Git_repository\"/><g id=\"GitHub_code\"/><g id=\"HD_Insight\"/><g id=\"Health_monitoring\"/><g id=\"Healthy\"/><g id=\"BizTalk_hybrid_connection\"/><g id=\"Hybrid_connection_manager_for_BizTalk_hybrid_connection\"/><g id=\"Hyper-V_recovery_manager\"/><g id=\"Machine_learning\"/><g id=\"Media_services\"/><g id=\"Microsoft_account\"/><g id=\"Mobile_services\"/><g id=\"Multi-factor_authentication\"/><g id=\"MySQL_database\"/><g id=\"Notification_hub\"/><g id=\"Notification_topic\"/><g id=\"Cloud_Office_365\"/><g id=\"Office_365\"/><g id=\"OS_image\"/><g id=\"Remote_app\"/><g id=\"Task_scheduler\"/><g id=\"Azure_SDK\"/><g id=\"Service_bus\"/><g id=\"Service_bus_queue\"/><g id=\"Service_bus_relay\"/><g id=\"Service_bus_topic\"/><g id=\"Service_endpoint\"/><g id=\"Custom_create\"/><g id=\"SQL_data_sync\"/><g id=\"SQL_reporting\"/><g id=\"Startup_task\"/><g id=\"Windows_Azure_storage\"/><g id=\"Storage_blob\"><g id=\"g63\"><path fill=\"#0078d7\" d=\"M 85.7,39.7 H 66.4 l -9.6,16.7 9.6,16.7 h 19.3 l 9.6,-16.7 z m 0.1,24.2 c 0,1.4 -1.2,2.6 -2.6,2.6 H 69 c -1.4,0 -2.6,-1.2 -2.6,-2.6 V 49 c 0,-1.4 1.2,-2.6 2.6,-2.6 h 10.5 c 1,0 2,0 2,0 h 0.3 l 4,4 v 2.1 z\" id=\"path55\"/><path fill=\"#0078d7\" d=\"m 74.6,59.1 c 0,-0.2 -0.1,-0.3 -0.1,-0.4 0,-0.1 -0.1,-0.2 -0.2,-0.3 -0.1,-0.1 -0.1,-0.1 -0.2,-0.1 -0.1,0 -0.2,0 -0.3,0 -0.2,0 -0.3,0 -0.4,0.1 -0.1,0.1 -0.2,0.2 -0.3,0.4 C 73,59 73,59.2 73,59.4 c 0,0.2 0,0.5 0,0.9 0,0.4 0,0.7 0,1 0,0.3 0.1,0.5 0.2,0.6 0.1,0.2 0.2,0.3 0.3,0.3 0.1,0.1 0.2,0.1 0.4,0.1 0.1,0 0.2,0 0.3,-0.1 0.1,0 0.2,-0.1 0.2,-0.2 0.1,-0.1 0.1,-0.2 0.2,-0.3 0,-0.1 0.1,-0.2 0.1,-0.4 0,-0.1 0,-0.3 0.1,-0.5 0,-0.2 0,-0.4 0,-0.6 0,-0.3 0,-0.5 0,-0.7 -0.2,-0.1 -0.2,-0.2 -0.2,-0.4 z\" id=\"path57\"/><path fill=\"#0078d7\" d=\"M 79.1,51.3 C 79.1,51.1 79,51 79,50.9 c 0,-0.1 -0.1,-0.2 -0.2,-0.3 -0.1,-0.1 -0.1,-0.1 -0.2,-0.1 -0.1,0 -0.2,0 -0.3,0 -0.2,0 -0.3,0 -0.4,0.1 -0.1,0.1 -0.2,0.2 -0.3,0.4 -0.1,0.2 -0.1,0.4 -0.1,0.6 0,0.2 0,0.5 0,0.9 0,0.4 0,0.7 0,1 0,0.3 0.1,0.5 0.2,0.6 0.1,0.2 0.2,0.3 0.3,0.3 0.1,0.1 0.2,0.1 0.4,0.1 0.1,0 0.2,0 0.3,-0.1 0.1,0 0.2,-0.1 0.2,-0.2 0.1,-0.1 0.1,-0.2 0.2,-0.3 0,-0.1 0.1,-0.2 0.1,-0.4 0,-0.1 0,-0.3 0.1,-0.5 0,-0.2 0,-0.4 0,-0.6 0,-0.3 0,-0.5 0,-0.7 -0.1,0 -0.1,-0.2 -0.2,-0.4 z\" id=\"path59\"/><path fill=\"#0078d7\" d=\"m 81.1,47.8 c -0.4,0 -1,0 -1.6,0 H 69 c -0.7,0 -1.2,0.5 -1.2,1.2 v 14.9 c 0,0.7 0.5,1.2 1.2,1.2 h 14.2 c 0.6,0 1.2,-0.5 1.2,-1.2 V 51.1 h -3.2 v -3.3 z m -8.9,3 c 0,0 0,-0.1 0,-0.1 0,0 0,-0.1 0,-0.1 0,0 0,0 0.1,-0.1 l 1.2,-0.8 c 0,0 0,0 0.1,0 0,0 0.1,0 0.1,0 0,0 0.1,0 0.1,0 0.1,0 0.1,0 0.2,0 0.1,0 0.2,0 0.3,0 0.1,0 0.1,0 0.2,0 0,0 0.1,0 0.1,0 0,0 0,0 0,0.1 v 4.7 h 0.9 c 0,0 0.1,0 0.1,0 0,0 0,0 0.1,0.1 0.1,0.1 0,0.1 0,0.1 0,0.1 0,0.1 0,0.2 0,0.1 0,0.2 0,0.2 0,0.1 0,0.1 0,0.1 0,0 0,0.1 -0.1,0.1 0,0 0,0 -0.1,0 h -3.1 c 0,0 0,0 -0.1,0 0,0 0,0 -0.1,-0.1 0,0 0,-0.1 0,-0.1 0,-0.1 0,-0.1 0,-0.2 0,-0.1 0,-0.2 0,-0.2 0,-0.1 0,-0.1 0,-0.1 0,0 0,-0.1 0.1,-0.1 0,0 0,0 0.1,0 h 1.1 v -3.7 l -0.9,0.5 c -0.1,0 -0.1,0.1 -0.2,0.1 0,0 -0.1,0 -0.1,0 0,0 0,-0.1 -0.1,-0.1 0,-0.1 0,-0.1 0,-0.3 0,-0.1 0,-0.2 0,-0.2 z m 3.5,10.7 c -0.1,0.4 -0.2,0.7 -0.4,0.9 -0.2,0.3 -0.4,0.5 -0.6,0.6 -0.3,0.1 -0.6,0.2 -1,0.2 -0.4,0 -0.7,-0.1 -1,-0.2 -0.3,-0.1 -0.5,-0.3 -0.6,-0.6 -0.1,-0.3 -0.3,-0.6 -0.3,-0.9 -0.1,-0.4 -0.1,-0.8 -0.1,-1.2 0,-0.5 0,-0.9 0.1,-1.2 0.1,-0.4 0.2,-0.7 0.4,-0.9 0.2,-0.2 0.4,-0.5 0.6,-0.6 0.3,-0.1 0.6,-0.2 1,-0.2 0.4,0 0.7,0.1 1,0.2 0.3,0.1 0.5,0.3 0.6,0.6 0.1,0.3 0.3,0.6 0.3,0.9 0.1,0.4 0.1,0.8 0.1,1.2 0,0.5 0,0.9 -0.1,1.2 z m 4.5,1.4 c 0,0.1 0,0.1 0,0.1 0,0 0,0.1 -0.1,0.1 0,0 0,0 -0.1,0 h -3.1 c 0,0 0,0 -0.1,0 0,0 0,0 -0.1,-0.1 0,0 0,-0.1 0,-0.1 0,-0.1 0,-0.1 0,-0.2 0,-0.1 0,-0.2 0,-0.2 0,-0.1 0,-0.1 0,-0.1 0,0 0,-0.1 0.1,-0.1 0,0 0,0 0.1,0 H 78 v -3.7 l -0.9,0.5 c -0.1,0 -0.1,0.1 -0.2,0.1 0,0 -0.1,0 -0.1,0 0,0 0,-0.1 -0.1,-0.1 0,-0.1 0,-0.1 0,-0.3 0,-0.1 0,-0.1 0,-0.2 0,0 0,-0.1 0,-0.1 0,0 0,-0.1 0,-0.1 0,0 0,0 0.1,-0.1 L 78,57.5 c 0,0 0,0 0.1,0 0,0 0.1,0 0.1,0 0,0 0.1,0 0.1,0 0.1,0 0.1,0 0.2,0 0.1,0 0.2,0 0.3,0 0.1,0 0.1,0 0.2,0 0,0 0.1,0 0.1,0 0,0 0,0 0,0.1 v 4.7 H 80 c 0,0 0.1,0 0.1,0 0,0 0,0 0.1,0.1 0,0 0,0.1 0,0.1 0,0.1 0,0.1 0,0.2 0,0.1 0,0.2 0,0.2 z m 0.1,-9.2 c -0.1,0.4 -0.2,0.7 -0.4,0.9 -0.2,0.3 -0.4,0.5 -0.6,0.6 -0.3,0.1 -0.6,0.2 -1,0.2 -0.4,0 -0.7,-0.1 -1,-0.2 -0.3,-0.1 -0.5,-0.3 -0.6,-0.6 -0.1,-0.2 -0.3,-0.6 -0.3,-0.9 0,-0.3 -0.1,-0.8 -0.1,-1.2 0,-0.5 0,-0.9 0.1,-1.2 0.1,-0.4 0.2,-0.7 0.4,-0.9 0.2,-0.3 0.4,-0.5 0.6,-0.6 0.3,-0.1 0.6,-0.2 1,-0.2 0.4,0 0.7,0.1 1,0.2 0.3,0.1 0.5,0.3 0.6,0.6 0.1,0.3 0.3,0.6 0.3,0.9 0.1,0.4 0.1,0.8 0.1,1.2 0,0.5 -0.1,0.9 -0.1,1.2 z\" id=\"path61\"/></g></g></g></svg> <svg version=\"1.1\" id=\"az-icon-cosmosDB\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" enable-background=\"new 0 0 24 24\" xml:space=\"preserve\"><path fill=\"#B8D432\" d=\"M8.147,19.01c1.73-1.219,3.716-2.861,5.859-5.004c2.201-2.201,3.819-4.167,5.008-5.853\n          C17.654,5.678,15.024,4,12,4c-4.418,0-8,3.582-8,8C4,15.021,5.675,17.649,8.147,19.01z\"/><path fill=\"#B8D432\" d=\"M16.127,16.127c-1.43,1.429-2.888,2.725-4.318,3.863C11.873,19.992,11.936,20,12,20c4.418,0,8-3.582,8-8\n          c0-0.065-0.008-0.127-0.01-0.191C18.82,13.276,17.513,14.741,16.127,16.127z\"/><path fill=\"#0078D7\" d=\"M23.417,0.583c-0.342-0.342-0.839-0.504-1.461-0.504c-1.703,0-4.348,1.225-7.312,3.328\n          c0.389,0.121,0.768,0.262,1.133,0.433c2.682-1.821,4.904-2.761,6.18-2.761c0.247,0,0.579,0.037,0.754,0.211\n          c0.947,0.947-0.966,6.391-7.997,13.422c-5.389,5.389-10.452,8.208-12.668,8.208c-0.248,0-0.579-0.037-0.754-0.211\n          c-0.626-0.626,0.011-3.228,2.542-6.949c-0.167-0.36-0.306-0.734-0.425-1.118c-2.872,4.047-4.1,7.497-2.824,8.774\n          c0.342,0.342,0.839,0.504,1.461,0.504c2.819,0,8.21-3.337,13.375-8.501C21.725,9.114,25.305,2.472,23.417,0.583z\"/><path fill=\"#0078D7\" d=\"M4,0c0,2.209-1.791,4-4,4c2.209,0,4,1.791,4,4c0-2.209,1.791-4,4-4C5.791,4,4,2.209,4,0L4,0z\"/><path fill=\"#0078D7\" d=\"M21,18c0,1.657-1.343,3-3,3c1.657,0,3,1.343,3,3c0-1.657,1.343-3,3-3C22.343,21,21,19.657,21,18L21,18z\"/><path fill=\"#59B4D9\" d=\"M8.639,13.194H8.312c0.041-0.163,0.061-0.327,0.061-0.51c0-1.205-0.98-2.184-2.184-2.184H4.146\n          C4.053,10.986,4,11.487,4,12c0,2.164,0.863,4.123,2.258,5.563h2.381c1.205,0,2.184-0.98,2.184-2.184\n          C10.823,14.174,9.843,13.194,8.639,13.194z\"/><path fill=\"#59B4D9\" d=\"M14.001,14.011c0.002-0.002,0.003-0.003,0.005-0.005c0.296-0.296,0.572-0.584,0.847-0.871\n          C14.48,13.323,14.178,13.631,14.001,14.011z\"/><path fill=\"#59B4D9\" d=\"M16.127,16.127c-0.936,0.936-1.885,1.815-2.831,2.632c0.336,0.333,0.797,0.54,1.304,0.54h0.665\n          c2.519-1.129,4.346-3.519,4.676-6.37H19.07C18.147,14.017,17.159,15.094,16.127,16.127z\"/><path fill=\"#59B4D9\" d=\"M12.661,11.234h3.926c0.958-1.107,1.759-2.134,2.422-3.073c-0.799-1.452-2.032-2.633-3.531-3.358h-0.449\n          c-0.817,0-1.47,0.653-1.47,1.47c0,0.122,0.02,0.265,0.061,0.388h-0.939c-1.286,0-2.307,1.021-2.307,2.286\n          S11.395,11.234,12.661,11.234z\"/></svg> <svg version=\"1.1\" id=\"az-icon-cosmosDBTrigger\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" enable-background=\"new 0 0 24 24\" xml:space=\"preserve\"><path fill=\"#B8D432\" d=\"M8.147,19.01c1.73-1.219,3.716-2.861,5.859-5.004c2.201-2.201,3.819-4.167,5.008-5.853\n          C17.654,5.678,15.024,4,12,4c-4.418,0-8,3.582-8,8C4,15.021,5.675,17.649,8.147,19.01z\"/><path fill=\"#B8D432\" d=\"M16.127,16.127c-1.43,1.429-2.888,2.725-4.318,3.863C11.873,19.992,11.936,20,12,20c4.418,0,8-3.582,8-8\n          c0-0.065-0.008-0.127-0.01-0.191C18.82,13.276,17.513,14.741,16.127,16.127z\"/><path fill=\"#0078D7\" d=\"M23.417,0.583c-0.342-0.342-0.839-0.504-1.461-0.504c-1.703,0-4.348,1.225-7.312,3.328\n          c0.389,0.121,0.768,0.262,1.133,0.433c2.682-1.821,4.904-2.761,6.18-2.761c0.247,0,0.579,0.037,0.754,0.211\n          c0.947,0.947-0.966,6.391-7.997,13.422c-5.389,5.389-10.452,8.208-12.668,8.208c-0.248,0-0.579-0.037-0.754-0.211\n          c-0.626-0.626,0.011-3.228,2.542-6.949c-0.167-0.36-0.306-0.734-0.425-1.118c-2.872,4.047-4.1,7.497-2.824,8.774\n          c0.342,0.342,0.839,0.504,1.461,0.504c2.819,0,8.21-3.337,13.375-8.501C21.725,9.114,25.305,2.472,23.417,0.583z\"/><path fill=\"#0078D7\" d=\"M4,0c0,2.209-1.791,4-4,4c2.209,0,4,1.791,4,4c0-2.209,1.791-4,4-4C5.791,4,4,2.209,4,0L4,0z\"/><path fill=\"#0078D7\" d=\"M21,18c0,1.657-1.343,3-3,3c1.657,0,3,1.343,3,3c0-1.657,1.343-3,3-3C22.343,21,21,19.657,21,18L21,18z\"/><path fill=\"#59B4D9\" d=\"M8.639,13.194H8.312c0.041-0.163,0.061-0.327,0.061-0.51c0-1.205-0.98-2.184-2.184-2.184H4.146\n          C4.053,10.986,4,11.487,4,12c0,2.164,0.863,4.123,2.258,5.563h2.381c1.205,0,2.184-0.98,2.184-2.184\n          C10.823,14.174,9.843,13.194,8.639,13.194z\"/><path fill=\"#59B4D9\" d=\"M14.001,14.011c0.002-0.002,0.003-0.003,0.005-0.005c0.296-0.296,0.572-0.584,0.847-0.871\n          C14.48,13.323,14.178,13.631,14.001,14.011z\"/><path fill=\"#59B4D9\" d=\"M16.127,16.127c-0.936,0.936-1.885,1.815-2.831,2.632c0.336,0.333,0.797,0.54,1.304,0.54h0.665\n          c2.519-1.129,4.346-3.519,4.676-6.37H19.07C18.147,14.017,17.159,15.094,16.127,16.127z\"/><path fill=\"#59B4D9\" d=\"M12.661,11.234h3.926c0.958-1.107,1.759-2.134,2.422-3.073c-0.799-1.452-2.032-2.633-3.531-3.358h-0.449\n          c-0.817,0-1.47,0.653-1.47,1.47c0,0.122,0.02,0.265,0.061,0.388h-0.939c-1.286,0-2.307,1.021-2.307,2.286\n          S11.395,11.234,12.661,11.234z\"/></svg> <svg version=\"1.1\" id=\"az-icon-entity\" viewBox=\"0 0 64 64\" enable-background=\"new 0 0 64 64\" xml:space=\"preserve\"><g><path fill=\"#3999C6\" d=\"M63.6,32.4c0.6-0.6,0.5-1.7,0-2.3L60.5,27L46.7,13.6c-0.6-0.6-1.5-0.6-2.2,0l0,0c-0.6,0.6-0.8,1.7,0,2.3\n            L59,30.1c0.6,0.6,0.6,1.7,0,2.3L44.2,47.1c-0.6,0.6-0.6,1.7,0,2.3l0,0c0.6,0.6,1.7,0.5,2.2,0l13.7-13.6c0,0,0,0,0.1-0.1L63.6,32.4z\n            \"/><path fill=\"#3999C6\" d=\"M0.4,32.4c-0.6-0.6-0.5-1.7,0-2.3L3.5,27l13.8-13.4c0.6-0.6,1.5-0.6,2.2,0l0,0c0.6,0.6,0.8,1.7,0,2.3\n            L5.3,30.1c-0.6,0.6-0.6,1.7,0,2.3l14.5,14.7c0.6,0.6,0.6,1.7,0,2.3l0,0c-0.6,0.6-1.7,0.5-2.2,0L3.6,36c0,0,0,0-0.1-0.1L0.4,32.4z\"/><polygon fill=\"#FCD116\" points=\"47.6,2.5 28.1,2.5 17.6,32.1 30.4,32.2 20.4,61.5 48,22.4 34.6,22.4 \t\"/><polygon opacity=\"0.3\" fill=\"#FF8C00\" enable-background=\"new    \" points=\"34.6,22.4 47.6,2.5 37.4,2.5 26.6,27.1 39.4,27.2 \n            20.4,61.5 48,22.4 \t\"/></g></svg> <svg version=\"1.1\" id=\"az-icon-entityTrigger\" viewBox=\"0 0 64 64\" enable-background=\"new 0 0 64 64\" xml:space=\"preserve\"><g><path fill=\"#3999C6\" d=\"M63.6,32.4c0.6-0.6,0.5-1.7,0-2.3L60.5,27L46.7,13.6c-0.6-0.6-1.5-0.6-2.2,0l0,0c-0.6,0.6-0.8,1.7,0,2.3\n            L59,30.1c0.6,0.6,0.6,1.7,0,2.3L44.2,47.1c-0.6,0.6-0.6,1.7,0,2.3l0,0c0.6,0.6,1.7,0.5,2.2,0l13.7-13.6c0,0,0,0,0.1-0.1L63.6,32.4z\n            \"/><path fill=\"#3999C6\" d=\"M0.4,32.4c-0.6-0.6-0.5-1.7,0-2.3L3.5,27l13.8-13.4c0.6-0.6,1.5-0.6,2.2,0l0,0c0.6,0.6,0.8,1.7,0,2.3\n            L5.3,30.1c-0.6,0.6-0.6,1.7,0,2.3l14.5,14.7c0.6,0.6,0.6,1.7,0,2.3l0,0c-0.6,0.6-1.7,0.5-2.2,0L3.6,36c0,0,0,0-0.1-0.1L0.4,32.4z\"/><polygon fill=\"#FCD116\" points=\"47.6,2.5 28.1,2.5 17.6,32.1 30.4,32.2 20.4,61.5 48,22.4 34.6,22.4 \t\"/><polygon opacity=\"0.3\" fill=\"#FF8C00\" enable-background=\"new    \" points=\"34.6,22.4 47.6,2.5 37.4,2.5 26.6,27.1 39.4,27.2 \n            20.4,61.5 48,22.4 \t\"/></g></svg> <svg version=\"1.1\" id=\"az-icon-eventGrid\" width=\"50px\" height=\"50px\" viewBox=\"0 0 50 50\" enable-background=\"new 0 0 50 50\" xml:space=\"preserve\"><polygon fill=\"#0072C6\" points=\"39,22 39,20 24.004,20 23.996,19.996 16.991,27 11.82,27 23.82,15 32,15 32,13 23,13 23,13.005 \n          22.992,13 8.991,27 7,27 7,29 13,29 20,35.999 20,35.999 20,36 37,36 37,34 20.828,34 15.829,29 28,29 28,27 19.82,27 24.82,22 \"/><circle fill=\"#59B4D9\" cx=\"30\" cy=\"28\" r=\"2.9\"/><ellipse transform=\"matrix(0.7071 -0.7071 0.7071 0.7071 -0.2338 27.4349)\" fill=\"#59B4D9\" cx=\"33\" cy=\"14\" rx=\"2.9\" ry=\"2.9\"/><ellipse transform=\"matrix(0.7071 -0.7071 0.7071 0.7071 -3.1333 34.4349)\" fill=\"#B8D432\" cx=\"40\" cy=\"21\" rx=\"2.9\" ry=\"2.9\"/><ellipse transform=\"matrix(0.7071 -0.7071 0.7071 0.7071 -13.9114 36.4141)\" fill=\"#B8D432\" cx=\"37\" cy=\"35\" rx=\"2.9\" ry=\"2.9\"/><path fill=\"#0072C6\" d=\"M0.801,0C0.3,0,0,0.3,0,0.8v10c0,0.5,0.3,0.8,0.801,0.8h5.008c0.501,0,0.801-0.3,0.801-0.8V6.7H43.37v4.2\n          c0,0.5,0.3,0.8,1.002,0.8h4.808c0.501,0,0.801-0.3,0.801-0.8v-5v-5c0.1-0.6-0.2-0.9-0.701-0.9l0,0H0.801z\"/><path fill=\"#0072C6\" d=\"M49.2,50c0.5,0,0.8-0.3,0.8-0.8v-9.8c0-0.5-0.3-0.8-0.8-0.8h-4.8c-0.5,0-0.8,0.3-0.8,0.8v4H6.7v-4.2\n          c0-0.5-0.3-0.8-1-0.8H0.8c-0.5,0-0.8,0.3-0.8,1v9.8C0,49.7,0.3,50,0.8,50H49.2z\"/></svg> <svg version=\"1.1\" id=\"az-icon-eventGridTrigger\" width=\"50px\" height=\"50px\" viewBox=\"0 0 50 50\" enable-background=\"new 0 0 50 50\" xml:space=\"preserve\"><polygon fill=\"#0072C6\" points=\"39,22 39,20 24.004,20 23.996,19.996 16.991,27 11.82,27 23.82,15 32,15 32,13 23,13 23,13.005 \n          22.992,13 8.991,27 7,27 7,29 13,29 20,35.999 20,35.999 20,36 37,36 37,34 20.828,34 15.829,29 28,29 28,27 19.82,27 24.82,22 \"/><circle fill=\"#59B4D9\" cx=\"30\" cy=\"28\" r=\"2.9\"/><ellipse transform=\"matrix(0.7071 -0.7071 0.7071 0.7071 -0.2338 27.4349)\" fill=\"#59B4D9\" cx=\"33\" cy=\"14\" rx=\"2.9\" ry=\"2.9\"/><ellipse transform=\"matrix(0.7071 -0.7071 0.7071 0.7071 -3.1333 34.4349)\" fill=\"#B8D432\" cx=\"40\" cy=\"21\" rx=\"2.9\" ry=\"2.9\"/><ellipse transform=\"matrix(0.7071 -0.7071 0.7071 0.7071 -13.9114 36.4141)\" fill=\"#B8D432\" cx=\"37\" cy=\"35\" rx=\"2.9\" ry=\"2.9\"/><path fill=\"#0072C6\" d=\"M0.801,0C0.3,0,0,0.3,0,0.8v10c0,0.5,0.3,0.8,0.801,0.8h5.008c0.501,0,0.801-0.3,0.801-0.8V6.7H43.37v4.2\n          c0,0.5,0.3,0.8,1.002,0.8h4.808c0.501,0,0.801-0.3,0.801-0.8v-5v-5c0.1-0.6-0.2-0.9-0.701-0.9l0,0H0.801z\"/><path fill=\"#0072C6\" d=\"M49.2,50c0.5,0,0.8-0.3,0.8-0.8v-9.8c0-0.5-0.3-0.8-0.8-0.8h-4.8c-0.5,0-0.8,0.3-0.8,0.8v4H6.7v-4.2\n          c0-0.5-0.3-0.8-1-0.8H0.8c-0.5,0-0.8,0.3-0.8,1v9.8C0,49.7,0.3,50,0.8,50H49.2z\"/></svg> <svg xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:svg=\"http://www.w3.org/2000/svg\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:sodipodi=\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\" xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\" version=\"1.1\" id=\"az-icon-eventHub\" x=\"0px\" y=\"0px\" viewBox=\"-163 237 32 32\" enable-background=\"new -163 237 32 32\" xml:space=\"preserve\" sodipodi:docname=\"eventHub.svg\" inkscape:version=\"1.0.2 (e86c870879, 2021-01-15, custom)\"><metadata id=\"metadata23\"><rdf:RDF><cc:Work rdf:about=\"\"><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/></cc:Work></rdf:RDF></metadata><defs id=\"defs21\"/><sodipodi:namedview pagecolor=\"#ffffff\" bordercolor=\"#666666\" borderopacity=\"1\" objecttolerance=\"10\" gridtolerance=\"10\" guidetolerance=\"10\" inkscape:pageopacity=\"0\" inkscape:pageshadow=\"2\" inkscape:window-width=\"2160\" inkscape:window-height=\"1470\" id=\"namedview19\" showgrid=\"false\" inkscape:zoom=\"4.71875\" inkscape:cx=\"16\" inkscape:cy=\"16\" inkscape:window-x=\"85\" inkscape:window-y=\"-11\" inkscape:window-maximized=\"1\" inkscape:current-layer=\"Layer_1\"/><path fill=\"#B8D432\" d=\"M-144,251.5c0,0.3-0.2,0.5-0.5,0.5h-3.9c-0.3,0-0.5-0.2-0.5-0.5v-2.9c0-0.3,0.2-0.5,0.5-0.5h3.9  c0.3,0,0.5,0.2,0.5,0.5V251.5z\" id=\"path2\"/><path fill=\"#B8D432\" d=\"M-137,254.5c0,0.3-0.2,0.5-0.5,0.5h-3.9c-0.3,0-0.5-0.2-0.5-0.5v-2.9c0-0.3,0.2-0.5,0.5-0.5h3.9  c0.3,0,0.5,0.2,0.5,0.5V254.5z\" id=\"path4\"/><path fill=\"#B8D432\" d=\"M-144,257.5c0,0.3-0.2,0.5-0.5,0.5h-3.9c-0.3,0-0.5-0.2-0.5-0.5v-2.9c0-0.3,0.2-0.5,0.5-0.5h3.9  c0.3,0,0.5,0.2,0.5,0.5V257.5z\" id=\"path6\"/><path fill=\"#B8D432\" d=\"M-151,248.5c0,0.3-0.2,0.5-0.5,0.5h-4c-0.3,0-0.5-0.2-0.5-0.5v-3c0-0.3,0.2-0.5,0.5-0.5h3.9  c0.4,0,0.6,0.2,0.6,0.5V248.5z\" id=\"path8\"/><path fill=\"#0072C6\" d=\"M-133.5,238L-133.5,238h-3h-22.1h-1.9h-1c-0.3,0-0.5,0.2-0.5,0.5v6c0,0.3,0.2,0.5,0.5,0.5h3  c0.3,0,0.5-0.2,0.5-0.5V242h21v2.5c0,0.3,0.2,0.5,0.6,0.5h2.9c0.3,0,0.5-0.2,0.5-0.5v-3v-3C-133,238.2-133.2,238-133.5,238z\" id=\"path10\"/><path fill=\"#0072C6\" d=\"M-133.5,261.1h-2.9c-0.3,0-0.5,0.2-0.5,0.5v2.4H-158v-2.5c0-0.3-0.2-0.5-0.6-0.5h-2.9  c-0.3,0-0.5,0.2-0.5,0.6v5.9c0,0.3,0.2,0.5,0.5,0.5h1h2h22.1h2.8h0.1c0.3,0,0.5-0.2,0.5-0.5v-5.9  C-133,261.3-133.2,261.1-133.5,261.1z\" id=\"path12\"/><path fill=\"#B8D432\" d=\"M-151,254.5c0,0.3-0.2,0.5-0.5,0.5h-4c-0.3,0-0.5-0.2-0.5-0.5v-3c0-0.3,0.2-0.5,0.5-0.5h3.9  c0.4,0,0.6,0.2,0.6,0.5V254.5z\" id=\"path14\"/><path fill=\"#B8D432\" d=\"M-151,260.5c0,0.3-0.2,0.5-0.5,0.5h-4c-0.3,0-0.5-0.2-0.5-0.5v-3c0-0.3,0.2-0.5,0.5-0.5h3.9  c0.4,0,0.6,0.2,0.6,0.5V260.5z\" id=\"path16\"/></svg> <svg version=\"1.1\" id=\"az-icon-function\" viewBox=\"0 0 64 64\" enable-background=\"new 0 0 64 64\" xml:space=\"preserve\"><g><path fill=\"#3999C6\" d=\"M63.6,32.4c0.6-0.6,0.5-1.7,0-2.3L60.5,27L46.7,13.6c-0.6-0.6-1.5-0.6-2.2,0l0,0c-0.6,0.6-0.8,1.7,0,2.3\n            L59,30.1c0.6,0.6,0.6,1.7,0,2.3L44.2,47.1c-0.6,0.6-0.6,1.7,0,2.3l0,0c0.6,0.6,1.7,0.5,2.2,0l13.7-13.6c0,0,0,0,0.1-0.1L63.6,32.4z\n            \"/><path fill=\"#3999C6\" d=\"M0.4,32.4c-0.6-0.6-0.5-1.7,0-2.3L3.5,27l13.8-13.4c0.6-0.6,1.5-0.6,2.2,0l0,0c0.6,0.6,0.8,1.7,0,2.3\n            L5.3,30.1c-0.6,0.6-0.6,1.7,0,2.3l14.5,14.7c0.6,0.6,0.6,1.7,0,2.3l0,0c-0.6,0.6-1.7,0.5-2.2,0L3.6,36c0,0,0,0-0.1-0.1L0.4,32.4z\"/><polygon fill=\"#FCD116\" points=\"47.6,2.5 28.1,2.5 17.6,32.1 30.4,32.2 20.4,61.5 48,22.4 34.6,22.4 \t\"/><polygon opacity=\"0.3\" fill=\"#FF8C00\" enable-background=\"new    \" points=\"34.6,22.4 47.6,2.5 37.4,2.5 26.6,27.1 39.4,27.2 \n            20.4,61.5 48,22.4 \t\"/></g></svg> <svg id=\"az-icon-http\" enable-background=\"new 0 0 32 32\" version=\"1.1\" viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"#009DA5\" d=\"m0 0h32v32h-32z\"/><g fill=\"#fff\"><path d=\"m13.854 21.164h4.218v1.891h-4.218z\"/><path d=\"m12.036 21.673h1.527v1.382h-1.527z\"/><path d=\"m18.436 21.673h1.527v1.382h-1.527z\"/><path d=\"M15.309 23.418h1.382v.582h-1.382z\"/><path d=\"M21.218 19.782l-1.236-1.236h3.782v-.8h-3.782l1.236-1.164h-1.018l-1.673 1.527 1.745 1.673z\"/><path d=\"M15.273 20.873h1.382v-1.018c.8-.073 1.527-.364 2.182-.727l-.727-.727-.145-.145-.655.218c.364-.582.655-1.455.8-2.4.873-.145 1.745-.291 2.327-.582-.073.218-.145.364-.218.509h1.309c.218-.655.364-1.382.364-2.109 0-1.091-.291-2.109-.8-2.982-1.018-1.745-2.909-2.909-5.091-2.909-2.182 0-4.073 1.164-5.091 2.909-.509.873-.8 1.891-.8 2.982 0 3.055 2.327 5.527 5.236 5.891v1.091zm2.4-5.164c-.509.073-1.091.073-1.745.073-.655 0-1.236 0-1.745-.073-.073-.582-.145-1.164-.145-1.745 0-.436 0-.873.073-1.309.582.073 1.164.145 1.818.145.582 0 1.236-.073 1.818-.145.073.436.073.8.073 1.309 0 .655-.073 1.236-.145 1.745zm2.618-3.782c.291.582.436 1.309.436 2.036l-.073 1.018c-.509.291-1.309.582-2.473.727.073-.582.073-1.164.073-1.745 0-.436 0-.945-.073-1.382.873-.145 1.6-.364 2.109-.655zm-.218-.364c-.436.218-1.091.436-1.891.582-.145-1.164-.436-2.109-.873-2.764 1.164.364 2.182 1.091 2.764 2.182zm-4.145-2.4c.218 0 .436 0 .655.073.436.509.873 1.6 1.091 2.982-.509.073-1.091.145-1.745.145-.655 0-1.236-.073-1.745-.145.218-1.382.582-2.473 1.091-2.982.218-.073.436-.073.655-.073zm-1.309.218c-.364.655-.727 1.6-.873 2.764-.8-.145-1.455-.364-1.891-.582.582-1.091 1.527-1.818 2.764-2.182zm-3.491 4.582c0-.727.145-1.382.436-2.036.509.291 1.236.509 2.109.655-.073.436-.073.873-.073 1.382l.073 1.745c-1.164-.145-1.964-.436-2.473-.727l-.073-1.018zm.291 1.6c.582.291 1.455.436 2.327.582.145.945.436 1.818.8 2.4-1.455-.436-2.618-1.527-3.127-2.982zm2.836.655c.582.073 1.091.073 1.673.073.582 0 1.091 0 1.673-.073-.218 1.164-.582 2.036-.945 2.473l-.655.073c-.218 0-.436 0-.655-.073-.509-.509-.873-1.309-1.091-2.473z\"/></g></svg> <svg id=\"az-icon-httpTrigger\" enable-background=\"new 0 0 32 32\" version=\"1.1\" viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m0 0h32v32h-32z\" fill=\"#009da5\"/><g fill=\"#fff\"><path d=\"m13.9 21.164h4.218v1.891h-4.218z\"/><path d=\"m18.409 21.673h1.527v1.382h-1.527z\"/><path d=\"m12.009 21.673h1.527v1.382h-1.527z\"/><path d=\"M15.282 23.418h1.382v.582h-1.382z\"/><path d=\"M24.882 18.109l-1.673-1.527h-1.018l1.236 1.164h-3.709v.8h3.709l-1.164 1.236h.945z\"/><path d=\"M15.282 20.873h1.382v-1.018c.8-.073 1.527-.364 2.255-.727v-1.382c-.436.364-1.018.655-1.6.8.364-.582.655-1.455.8-2.4.873-.145 1.745-.291 2.327-.582-.218.582-.509 1.018-.873 1.455h1.455c.582-.873.873-1.964.873-3.127 0-1.091-.291-2.109-.8-2.982-1.018-1.745-2.909-2.909-5.091-2.909-2.182 0-4.073 1.164-5.091 2.909-.509.873-.8 1.891-.8 2.982 0 3.055 2.327 5.527 5.236 5.891v1.091zm2.473-5.164c-.509.073-1.091.073-1.745.073-.655 0-1.236 0-1.745-.073-.073-.582-.145-1.164-.145-1.745 0-.436 0-.873.073-1.309.582.073 1.164.145 1.818.145.655 0 1.236-.073 1.818-.145.073.436.073.8.073 1.309 0 .655-.073 1.236-.145 1.745zm2.618-3.782c.291.582.436 1.309.436 2.036l-.073 1.018c-.509.291-1.309.582-2.473.727.073-.509.073-1.091.073-1.745 0-.436 0-.945-.073-1.382.8-.145 1.527-.364 2.109-.655zm-.218-.364c-.436.218-1.091.436-1.891.582-.145-1.164-.436-2.109-.873-2.764 1.164.364 2.109 1.091 2.764 2.182zm-4.145-2.4c.218 0 .436 0 .655.073.436.509.873 1.6 1.091 2.982-.509.073-1.091.145-1.745.145-.655 0-1.236-.073-1.745-.145.218-1.382.582-2.473 1.091-2.982.145-.073.436-.073.655-.073zm-1.382.218c-.364.655-.727 1.6-.873 2.764-.8-.145-1.455-.364-1.891-.582.582-1.091 1.6-1.818 2.764-2.182zm-3.418 4.582c0-.727.145-1.382.436-2.036.509.291 1.236.509 2.109.655-.073.436-.073.873-.073 1.382l.073 1.745c-1.164-.145-1.964-.436-2.473-.727l-.073-1.018zm.291 1.6c.582.291 1.455.436 2.327.582.145.945.436 1.818.8 2.4-1.455-.436-2.618-1.527-3.127-2.982zm2.836.655c.582.073 1.091.073 1.673.073.582 0 1.091 0 1.673-.073-.218 1.164-.582 2.036-.945 2.473l-.655.073c-.218 0-.436 0-.655-.073-.509-.509-.873-1.309-1.091-2.473z\"/></g></svg> <svg version=\"1.1\" id=\"az-icon-orchestrationClient\" viewBox=\"0 0 64 64\" enable-background=\"new 0 0 64 64\" xml:space=\"preserve\"><g><path fill=\"#3999C6\" d=\"M63.6,32.4c0.6-0.6,0.5-1.7,0-2.3L60.5,27L46.7,13.6c-0.6-0.6-1.5-0.6-2.2,0l0,0c-0.6,0.6-0.8,1.7,0,2.3\n            L59,30.1c0.6,0.6,0.6,1.7,0,2.3L44.2,47.1c-0.6,0.6-0.6,1.7,0,2.3l0,0c0.6,0.6,1.7,0.5,2.2,0l13.7-13.6c0,0,0,0,0.1-0.1L63.6,32.4z\n            \"/><path fill=\"#3999C6\" d=\"M0.4,32.4c-0.6-0.6-0.5-1.7,0-2.3L3.5,27l13.8-13.4c0.6-0.6,1.5-0.6,2.2,0l0,0c0.6,0.6,0.8,1.7,0,2.3\n            L5.3,30.1c-0.6,0.6-0.6,1.7,0,2.3l14.5,14.7c0.6,0.6,0.6,1.7,0,2.3l0,0c-0.6,0.6-1.7,0.5-2.2,0L3.6,36c0,0,0,0-0.1-0.1L0.4,32.4z\"/><polygon fill=\"#FCD116\" points=\"47.6,2.5 28.1,2.5 17.6,32.1 30.4,32.2 20.4,61.5 48,22.4 34.6,22.4 \t\"/><polygon opacity=\"0.3\" fill=\"#FF8C00\" enable-background=\"new    \" points=\"34.6,22.4 47.6,2.5 37.4,2.5 26.6,27.1 39.4,27.2 \n            20.4,61.5 48,22.4 \t\"/></g></svg> <svg version=\"1.1\" id=\"az-icon-orchestrationTrigger\" viewBox=\"0 0 64 64\" enable-background=\"new 0 0 64 64\" xml:space=\"preserve\"><g><path fill=\"#3999C6\" d=\"M63.6,32.4c0.6-0.6,0.5-1.7,0-2.3L60.5,27L46.7,13.6c-0.6-0.6-1.5-0.6-2.2,0l0,0c-0.6,0.6-0.8,1.7,0,2.3\n            L59,30.1c0.6,0.6,0.6,1.7,0,2.3L44.2,47.1c-0.6,0.6-0.6,1.7,0,2.3l0,0c0.6,0.6,1.7,0.5,2.2,0l13.7-13.6c0,0,0,0,0.1-0.1L63.6,32.4z\n            \"/><path fill=\"#3999C6\" d=\"M0.4,32.4c-0.6-0.6-0.5-1.7,0-2.3L3.5,27l13.8-13.4c0.6-0.6,1.5-0.6,2.2,0l0,0c0.6,0.6,0.8,1.7,0,2.3\n            L5.3,30.1c-0.6,0.6-0.6,1.7,0,2.3l14.5,14.7c0.6,0.6,0.6,1.7,0,2.3l0,0c-0.6,0.6-1.7,0.5-2.2,0L3.6,36c0,0,0,0-0.1-0.1L0.4,32.4z\"/><polygon fill=\"#FCD116\" points=\"47.6,2.5 28.1,2.5 17.6,32.1 30.4,32.2 20.4,61.5 48,22.4 34.6,22.4 \t\"/><polygon opacity=\"0.3\" fill=\"#FF8C00\" enable-background=\"new    \" points=\"34.6,22.4 47.6,2.5 37.4,2.5 26.6,27.1 39.4,27.2 \n            20.4,61.5 48,22.4 \t\"/></g></svg> <svg version=\"1.1\" id=\"az-icon-orchestrator\" viewBox=\"0 0 64 64\" enable-background=\"new 0 0 64 64\" xml:space=\"preserve\"><g><path fill=\"#3999C6\" d=\"M63.6,32.4c0.6-0.6,0.5-1.7,0-2.3L60.5,27L46.7,13.6c-0.6-0.6-1.5-0.6-2.2,0l0,0c-0.6,0.6-0.8,1.7,0,2.3\n            L59,30.1c0.6,0.6,0.6,1.7,0,2.3L44.2,47.1c-0.6,0.6-0.6,1.7,0,2.3l0,0c0.6,0.6,1.7,0.5,2.2,0l13.7-13.6c0,0,0,0,0.1-0.1L63.6,32.4z\n            \"/><path fill=\"#3999C6\" d=\"M0.4,32.4c-0.6-0.6-0.5-1.7,0-2.3L3.5,27l13.8-13.4c0.6-0.6,1.5-0.6,2.2,0l0,0c0.6,0.6,0.8,1.7,0,2.3\n            L5.3,30.1c-0.6,0.6-0.6,1.7,0,2.3l14.5,14.7c0.6,0.6,0.6,1.7,0,2.3l0,0c-0.6,0.6-1.7,0.5-2.2,0L3.6,36c0,0,0,0-0.1-0.1L0.4,32.4z\"/><polygon fill=\"#FCD116\" points=\"47.6,2.5 28.1,2.5 17.6,32.1 30.4,32.2 20.4,61.5 48,22.4 34.6,22.4 \t\"/><polygon opacity=\"0.3\" fill=\"#FF8C00\" enable-background=\"new    \" points=\"34.6,22.4 47.6,2.5 37.4,2.5 26.6,27.1 39.4,27.2 \n            20.4,61.5 48,22.4 \t\"/></g></svg> <svg xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:svg=\"http://www.w3.org/2000/svg\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:sodipodi=\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\" xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\" version=\"1.1\" id=\"az-icon-queue\" x=\"0px\" y=\"0px\" viewBox=\"0 0 64 64\" enable-background=\"new 0 0 64 64\" xml:space=\"preserve\" sodipodi:docname=\"queueTrigger.svg\" inkscape:version=\"1.0.2 (e86c870879, 2021-01-15, custom)\"><metadata id=\"metadata17\"><rdf:RDF><cc:Work rdf:about=\"\"><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/></cc:Work></rdf:RDF></metadata><defs id=\"defs15\"/><sodipodi:namedview pagecolor=\"#ffffff\" bordercolor=\"#666666\" borderopacity=\"1\" objecttolerance=\"10\" gridtolerance=\"10\" guidetolerance=\"10\" inkscape:pageopacity=\"0\" inkscape:pageshadow=\"2\" inkscape:window-width=\"2160\" inkscape:window-height=\"1470\" id=\"namedview13\" showgrid=\"false\" inkscape:zoom=\"11.484375\" inkscape:cx=\"32\" inkscape:cy=\"32\" inkscape:window-x=\"85\" inkscape:window-y=\"-11\" inkscape:window-maximized=\"1\" inkscape:current-layer=\"Layer_1\"/><g id=\"paths\" transform=\"matrix(1.6800567,0,0,1.6800567,-95.643846,-64.835106)\"><g id=\"Access_control\"/><g id=\"Azure_active_directory\"/><g id=\"API_Management\"/><g id=\"Azure_automation\"/><g id=\"Azure_SQL_database\"/><g id=\"Azure_subscription\"/><g id=\"Backup_service\"/><g id=\"Bitbucket_code_source\"/><g id=\"Azure_cache\"/><g id=\"Content_delivery_network__x28_CDN_x29_\"/><g id=\"Cloud_service\"/><g id=\"CodePlex\"/><g id=\"Dropbox_code_source\"/><g id=\"Express_route\"/><g id=\"Git_repository\"/><g id=\"GitHub_code\"/><g id=\"HD_Insight\"/><g id=\"Health_monitoring\"/><g id=\"Healthy\"/><g id=\"BizTalk_hybrid_connection\"/><g id=\"Hybrid_connection_manager_for_BizTalk_hybrid_connection\"/><g id=\"Hyper-V_recovery_manager\"/><g id=\"Machine_learning\"/><g id=\"Media_services\"/><g id=\"Microsoft_account\"/><g id=\"Mobile_services\"/><g id=\"Multi-factor_authentication\"/><g id=\"MySQL_database\"/><g id=\"Notification_hub\"/><g id=\"Notification_topic\"/><g id=\"Cloud_Office_365\"/><g id=\"Office_365\"/><g id=\"OS_image\"/><g id=\"Remote_app\"/><g id=\"Task_scheduler\"/><g id=\"Azure_SDK\"/><g id=\"Service_bus\"/><g id=\"Service_bus_queue\"/><g id=\"Service_bus_relay\"/><g id=\"Service_bus_topic\"/><g id=\"Service_endpoint\"/><g id=\"Custom_create\"/><g id=\"SQL_data_sync\"/><g id=\"SQL_reporting\"/><g id=\"Startup_task\"/><g id=\"Windows_Azure_storage\"/><g id=\"Storage_blob\"/><g id=\"Storage_table\"/><g id=\"Storage_queue\"><g id=\"g69\"><polygon fill=\"#0078d7\" points=\"86.5,56.5 78.3,56.5 82.4,59.7 \" id=\"polygon57\"/><path fill=\"#0078d7\" d=\"m 69.9,60.8 c -0.1,0 -0.2,0 -0.3,-0.1 l -3.8,-3 v 4.9 h 8.7 v -5 l -4.1,3.1 c -0.2,0.1 -0.4,0.1 -0.5,0.1 z\" id=\"path59\"/><path fill=\"#0078d7\" d=\"m 82.4,60.8 c -0.1,0 -0.3,0 -0.3,-0.1 l -3.9,-3 v 4.9 h 8.7 v -5 l -4.1,3.1 c -0.2,0.1 -0.3,0.1 -0.4,0.1 z\" id=\"path61\"/><path fill=\"#0078d7\" d=\"m 85.5,42.3 h -19 L 57,58.7 66.5,75.1 h 18.9 l 9.5,-16.4 z m 3.3,23.4 H 62.9 c -0.8,0 -1.4,-0.7 -1.4,-1.5 v -9.9 c 0,-0.8 0.6,-1.5 1.4,-1.5 h 25.9 c 0.3,0 0.8,0 4.2,6.4 l 0.1,0.3 -0.1,0.3 c -3.4,5.9 -3.9,5.9 -4.2,5.9 z\" id=\"path63\"/><polygon fill=\"#0078d7\" points=\"74,56.5 65.7,56.5 69.8,59.7 \" id=\"polygon65\"/><path fill=\"#0078d7\" d=\"m 62.9,53.9 c -0.2,0 -0.4,0.2 -0.4,0.4 v 9.9 c 0,0.2 0.2,0.5 0.4,0.5 h 25.7 c 0.5,-0.5 2,-2.9 3.3,-5.2 C 90.6,57 89,54.4 88.6,53.9 Z m 12.6,9.2 c 0,0.3 -0.3,0.6 -0.7,0.6 H 65 c -0.3,0 -0.4,-0.3 -0.4,-0.6 v -7.3 c 0,-0.3 0.1,-0.4 0.4,-0.4 h 9.8 c 0.3,0 0.7,0.1 0.7,0.4 z m 12.3,0 c 0,0.3 -0.2,0.6 -0.5,0.6 h -9.7 c -0.3,0 -0.5,-0.3 -0.5,-0.6 v -7.3 c 0,-0.3 0.2,-0.4 0.5,-0.4 h 9.7 c 0.3,0 0.5,0.1 0.5,0.4 z\" id=\"path67\"/></g></g></g></svg> <svg xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:svg=\"http://www.w3.org/2000/svg\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:sodipodi=\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\" xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\" version=\"1.1\" id=\"az-icon-queueTrigger\" x=\"0px\" y=\"0px\" viewBox=\"0 0 64 64\" enable-background=\"new 0 0 64 64\" xml:space=\"preserve\" sodipodi:docname=\"queueTrigger.svg\" inkscape:version=\"1.0.2 (e86c870879, 2021-01-15, custom)\"><metadata id=\"metadata17\"><rdf:RDF><cc:Work rdf:about=\"\"><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/></cc:Work></rdf:RDF></metadata><defs id=\"defs15\"/><sodipodi:namedview pagecolor=\"#ffffff\" bordercolor=\"#666666\" borderopacity=\"1\" objecttolerance=\"10\" gridtolerance=\"10\" guidetolerance=\"10\" inkscape:pageopacity=\"0\" inkscape:pageshadow=\"2\" inkscape:window-width=\"2160\" inkscape:window-height=\"1470\" id=\"namedview13\" showgrid=\"false\" inkscape:zoom=\"11.484375\" inkscape:cx=\"32\" inkscape:cy=\"32\" inkscape:window-x=\"85\" inkscape:window-y=\"-11\" inkscape:window-maximized=\"1\" inkscape:current-layer=\"Layer_1\"/><g id=\"paths\" transform=\"matrix(1.6800567,0,0,1.6800567,-95.643846,-64.835106)\"><g id=\"Access_control\"/><g id=\"Azure_active_directory\"/><g id=\"API_Management\"/><g id=\"Azure_automation\"/><g id=\"Azure_SQL_database\"/><g id=\"Azure_subscription\"/><g id=\"Backup_service\"/><g id=\"Bitbucket_code_source\"/><g id=\"Azure_cache\"/><g id=\"Content_delivery_network__x28_CDN_x29_\"/><g id=\"Cloud_service\"/><g id=\"CodePlex\"/><g id=\"Dropbox_code_source\"/><g id=\"Express_route\"/><g id=\"Git_repository\"/><g id=\"GitHub_code\"/><g id=\"HD_Insight\"/><g id=\"Health_monitoring\"/><g id=\"Healthy\"/><g id=\"BizTalk_hybrid_connection\"/><g id=\"Hybrid_connection_manager_for_BizTalk_hybrid_connection\"/><g id=\"Hyper-V_recovery_manager\"/><g id=\"Machine_learning\"/><g id=\"Media_services\"/><g id=\"Microsoft_account\"/><g id=\"Mobile_services\"/><g id=\"Multi-factor_authentication\"/><g id=\"MySQL_database\"/><g id=\"Notification_hub\"/><g id=\"Notification_topic\"/><g id=\"Cloud_Office_365\"/><g id=\"Office_365\"/><g id=\"OS_image\"/><g id=\"Remote_app\"/><g id=\"Task_scheduler\"/><g id=\"Azure_SDK\"/><g id=\"Service_bus\"/><g id=\"Service_bus_queue\"/><g id=\"Service_bus_relay\"/><g id=\"Service_bus_topic\"/><g id=\"Service_endpoint\"/><g id=\"Custom_create\"/><g id=\"SQL_data_sync\"/><g id=\"SQL_reporting\"/><g id=\"Startup_task\"/><g id=\"Windows_Azure_storage\"/><g id=\"Storage_blob\"/><g id=\"Storage_table\"/><g id=\"Storage_queue\"><g id=\"g69\"><polygon fill=\"#0078d7\" points=\"86.5,56.5 78.3,56.5 82.4,59.7 \" id=\"polygon57\"/><path fill=\"#0078d7\" d=\"m 69.9,60.8 c -0.1,0 -0.2,0 -0.3,-0.1 l -3.8,-3 v 4.9 h 8.7 v -5 l -4.1,3.1 c -0.2,0.1 -0.4,0.1 -0.5,0.1 z\" id=\"path59\"/><path fill=\"#0078d7\" d=\"m 82.4,60.8 c -0.1,0 -0.3,0 -0.3,-0.1 l -3.9,-3 v 4.9 h 8.7 v -5 l -4.1,3.1 c -0.2,0.1 -0.3,0.1 -0.4,0.1 z\" id=\"path61\"/><path fill=\"#0078d7\" d=\"m 85.5,42.3 h -19 L 57,58.7 66.5,75.1 h 18.9 l 9.5,-16.4 z m 3.3,23.4 H 62.9 c -0.8,0 -1.4,-0.7 -1.4,-1.5 v -9.9 c 0,-0.8 0.6,-1.5 1.4,-1.5 h 25.9 c 0.3,0 0.8,0 4.2,6.4 l 0.1,0.3 -0.1,0.3 c -3.4,5.9 -3.9,5.9 -4.2,5.9 z\" id=\"path63\"/><polygon fill=\"#0078d7\" points=\"74,56.5 65.7,56.5 69.8,59.7 \" id=\"polygon65\"/><path fill=\"#0078d7\" d=\"m 62.9,53.9 c -0.2,0 -0.4,0.2 -0.4,0.4 v 9.9 c 0,0.2 0.2,0.5 0.4,0.5 h 25.7 c 0.5,-0.5 2,-2.9 3.3,-5.2 C 90.6,57 89,54.4 88.6,53.9 Z m 12.6,9.2 c 0,0.3 -0.3,0.6 -0.7,0.6 H 65 c -0.3,0 -0.4,-0.3 -0.4,-0.6 v -7.3 c 0,-0.3 0.1,-0.4 0.4,-0.4 h 9.8 c 0.3,0 0.7,0.1 0.7,0.4 z m 12.3,0 c 0,0.3 -0.2,0.6 -0.5,0.6 h -9.7 c -0.3,0 -0.5,-0.3 -0.5,-0.6 v -7.3 c 0,-0.3 0.2,-0.4 0.5,-0.4 h 9.7 c 0.3,0 0.5,0.1 0.5,0.4 z\" id=\"path67\"/></g></g></g></svg> <svg version=\"1.1\" id=\"az-icon-serviceBus\" width=\"50px\" height=\"50px\" viewBox=\"0 0 50 50\" enable-background=\"new 0 0 50 50\" xml:space=\"preserve\"><path fill=\"#0072C6\" d=\"M0.833,0C0.333,0,0,0.333,0,0.833v10c0,0.5,0.333,0.833,0.833,0.833h5c0.5,0,0.833-0.333,0.833-0.833V6.667\n          h36.667v4.167c0,0.5,0.333,0.833,1,0.833h4.833c0.5,0,0.833-0.333,0.833-0.833v-5v-5C50,0.333,49.667,0,49.167,0l0,0H0.833z\"/><path fill=\"#0072C6\" d=\"M49.167,50c0.5,0,0.833-0.333,0.833-0.833v-9.833c0-0.5-0.333-0.833-0.833-0.833h-4.833\n          c-0.5,0-0.833,0.333-0.833,0.833v4H6.667v-4.167c0-0.5-0.333-0.833-1-0.833H0.833c-0.5,0-0.833,0.333-0.833,1v9.833\n          C0,49.667,0.333,50,0.833,50H49.167z\"/><path fill=\"#59B4D9\" d=\"M29.857,26.098C28.56,27.395,26.835,28.11,25,28.11s-3.56-0.714-4.858-2.012l-9.309-9.309v18.923h28.333\n          V16.788L29.857,26.098z\"/><path fill=\"#59B4D9\" d=\"M25,26.728c1.466,0,2.844-0.571,3.88-1.607l10.286-10.286V14.29H10.833v0.546L21.119,25.12\n          C22.156,26.157,23.534,26.728,25,26.728z\"/></svg> <svg version=\"1.1\" id=\"az-icon-serviceBusTrigger\" width=\"50px\" height=\"50px\" viewBox=\"0 0 50 50\" enable-background=\"new 0 0 50 50\" xml:space=\"preserve\"><path fill=\"#0072C6\" d=\"M0.833,0C0.333,0,0,0.333,0,0.833v10c0,0.5,0.333,0.833,0.833,0.833h5c0.5,0,0.833-0.333,0.833-0.833V6.667\n          h36.667v4.167c0,0.5,0.333,0.833,1,0.833h4.833c0.5,0,0.833-0.333,0.833-0.833v-5v-5C50,0.333,49.667,0,49.167,0l0,0H0.833z\"/><path fill=\"#0072C6\" d=\"M49.167,50c0.5,0,0.833-0.333,0.833-0.833v-9.833c0-0.5-0.333-0.833-0.833-0.833h-4.833\n          c-0.5,0-0.833,0.333-0.833,0.833v4H6.667v-4.167c0-0.5-0.333-0.833-1-0.833H0.833c-0.5,0-0.833,0.333-0.833,1v9.833\n          C0,49.667,0.333,50,0.833,50H49.167z\"/><path fill=\"#59B4D9\" d=\"M29.857,26.098C28.56,27.395,26.835,28.11,25,28.11s-3.56-0.714-4.858-2.012l-9.309-9.309v18.923h28.333\n          V16.788L29.857,26.098z\"/><path fill=\"#59B4D9\" d=\"M25,26.728c1.466,0,2.844-0.571,3.88-1.607l10.286-10.286V14.29H10.833v0.546L21.119,25.12\n          C22.156,26.157,23.534,26.728,25,26.728z\"/></svg> <svg xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:svg=\"http://www.w3.org/2000/svg\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:sodipodi=\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\" xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\" version=\"1.1\" id=\"az-icon-signalR\" x=\"0px\" y=\"0px\" viewBox=\"-163 237 32 32\" enable-background=\"new -163 237 32 32\" xml:space=\"preserve\" sodipodi:docname=\"signalR.svg\" inkscape:version=\"1.0.2 (e86c870879, 2021-01-15, custom)\"><metadata id=\"metadata23\"><rdf:RDF><cc:Work rdf:about=\"\"><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs id=\"defs21\"/><sodipodi:namedview pagecolor=\"#ffffff\" bordercolor=\"#666666\" borderopacity=\"1\" objecttolerance=\"10\" gridtolerance=\"10\" guidetolerance=\"10\" inkscape:pageopacity=\"0\" inkscape:pageshadow=\"2\" inkscape:window-width=\"2160\" inkscape:window-height=\"1470\" id=\"namedview19\" showgrid=\"false\" inkscape:zoom=\"18.875\" inkscape:cx=\"16\" inkscape:cy=\"16\" inkscape:window-x=\"85\" inkscape:window-y=\"-11\" inkscape:window-maximized=\"1\" inkscape:current-layer=\"Layer_1\"/><path d=\"m -149.86488,260.08626 1.77666,-4.32174 h 3.88625 c 1.42572,0 2.68287,-1.017 2.89451,-2.42691 a 2.8707363,2.8707363 0 0 0 -2.83064,-3.29987 h -12.88526 l 7.15848,-7.15848 v 2.80114 h 5.70561 c 3.40819,0 6.6915,2.74513 7.18076,6.11807 a 7.1572328,7.1572328 0 0 1 -6.78785,8.23973 l 5.85837,5.8585 a 15.835798,15.835798 0 1 0 -9.02765,2.83314 15.264986,15.264986 0 0 0 4.94596,-0.81633 z\" fill=\"#59b4d9\" id=\"path4\" style=\"stroke-width:.124495\"/></svg> <svg xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:svg=\"http://www.w3.org/2000/svg\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:sodipodi=\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\" xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\" version=\"1.1\" id=\"az-icon-signalRConnectionInfo\" x=\"0px\" y=\"0px\" viewBox=\"-163 237 32 32\" enable-background=\"new -163 237 32 32\" xml:space=\"preserve\" sodipodi:docname=\"signalR.svg\" inkscape:version=\"1.0.2 (e86c870879, 2021-01-15, custom)\"><metadata id=\"metadata23\"><rdf:RDF><cc:Work rdf:about=\"\"><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs id=\"defs21\"/><sodipodi:namedview pagecolor=\"#ffffff\" bordercolor=\"#666666\" borderopacity=\"1\" objecttolerance=\"10\" gridtolerance=\"10\" guidetolerance=\"10\" inkscape:pageopacity=\"0\" inkscape:pageshadow=\"2\" inkscape:window-width=\"2160\" inkscape:window-height=\"1470\" id=\"namedview19\" showgrid=\"false\" inkscape:zoom=\"18.875\" inkscape:cx=\"16\" inkscape:cy=\"16\" inkscape:window-x=\"85\" inkscape:window-y=\"-11\" inkscape:window-maximized=\"1\" inkscape:current-layer=\"Layer_1\"/><path d=\"m -149.86488,260.08626 1.77666,-4.32174 h 3.88625 c 1.42572,0 2.68287,-1.017 2.89451,-2.42691 a 2.8707363,2.8707363 0 0 0 -2.83064,-3.29987 h -12.88526 l 7.15848,-7.15848 v 2.80114 h 5.70561 c 3.40819,0 6.6915,2.74513 7.18076,6.11807 a 7.1572328,7.1572328 0 0 1 -6.78785,8.23973 l 5.85837,5.8585 a 15.835798,15.835798 0 1 0 -9.02765,2.83314 15.264986,15.264986 0 0 0 4.94596,-0.81633 z\" fill=\"#59b4d9\" id=\"path4\" style=\"stroke-width:.124495\"/></svg> <svg xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:svg=\"http://www.w3.org/2000/svg\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:sodipodi=\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\" xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\" version=\"1.1\" id=\"az-icon-signalRTrigger\" x=\"0px\" y=\"0px\" viewBox=\"-163 237 32 32\" enable-background=\"new -163 237 32 32\" xml:space=\"preserve\" sodipodi:docname=\"signalR.svg\" inkscape:version=\"1.0.2 (e86c870879, 2021-01-15, custom)\"><metadata id=\"metadata23\"><rdf:RDF><cc:Work rdf:about=\"\"><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs id=\"defs21\"/><sodipodi:namedview pagecolor=\"#ffffff\" bordercolor=\"#666666\" borderopacity=\"1\" objecttolerance=\"10\" gridtolerance=\"10\" guidetolerance=\"10\" inkscape:pageopacity=\"0\" inkscape:pageshadow=\"2\" inkscape:window-width=\"2160\" inkscape:window-height=\"1470\" id=\"namedview19\" showgrid=\"false\" inkscape:zoom=\"18.875\" inkscape:cx=\"16\" inkscape:cy=\"16\" inkscape:window-x=\"85\" inkscape:window-y=\"-11\" inkscape:window-maximized=\"1\" inkscape:current-layer=\"Layer_1\"/><path d=\"m -149.86488,260.08626 1.77666,-4.32174 h 3.88625 c 1.42572,0 2.68287,-1.017 2.89451,-2.42691 a 2.8707363,2.8707363 0 0 0 -2.83064,-3.29987 h -12.88526 l 7.15848,-7.15848 v 2.80114 h 5.70561 c 3.40819,0 6.6915,2.74513 7.18076,6.11807 a 7.1572328,7.1572328 0 0 1 -6.78785,8.23973 l 5.85837,5.8585 a 15.835798,15.835798 0 1 0 -9.02765,2.83314 15.264986,15.264986 0 0 0 4.94596,-0.81633 z\" fill=\"#59b4d9\" id=\"path4\" style=\"stroke-width:.124495\"/></svg> <svg xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:svg=\"http://www.w3.org/2000/svg\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:sodipodi=\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\" xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\" version=\"1.1\" id=\"az-icon-table\" x=\"0px\" y=\"0px\" viewBox=\"0 0 64 64\" enable-background=\"new 0 0 64 64\" xml:space=\"preserve\" sodipodi:docname=\"table.svg\" inkscape:version=\"1.0.2 (e86c870879, 2021-01-15, custom)\"><metadata id=\"metadata17\"><rdf:RDF><cc:Work rdf:about=\"\"><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/></cc:Work></rdf:RDF></metadata><defs id=\"defs15\"/><sodipodi:namedview pagecolor=\"#ffffff\" bordercolor=\"#666666\" borderopacity=\"1\" objecttolerance=\"10\" gridtolerance=\"10\" guidetolerance=\"10\" inkscape:pageopacity=\"0\" inkscape:pageshadow=\"2\" inkscape:window-width=\"2160\" inkscape:window-height=\"1470\" id=\"namedview13\" showgrid=\"false\" inkscape:zoom=\"11.484375\" inkscape:cx=\"32\" inkscape:cy=\"32\" inkscape:window-x=\"85\" inkscape:window-y=\"-11\" inkscape:window-maximized=\"1\" inkscape:current-layer=\"Layer_1\"/><g id=\"paths\" transform=\"matrix(1.6524869,0,0,1.6524869,-93.549915,-64.449854)\"><g id=\"Access_control\"/><g id=\"Azure_active_directory\"/><g id=\"API_Management\"/><g id=\"Azure_automation\"/><g id=\"Azure_SQL_database\"/><g id=\"Azure_subscription\"/><g id=\"Backup_service\"/><g id=\"Bitbucket_code_source\"/><g id=\"Azure_cache\"/><g id=\"Content_delivery_network__x28_CDN_x29_\"/><g id=\"Cloud_service\"/><g id=\"CodePlex\"/><g id=\"Dropbox_code_source\"/><g id=\"Express_route\"/><g id=\"Git_repository\"/><g id=\"GitHub_code\"/><g id=\"HD_Insight\"/><g id=\"Health_monitoring\"/><g id=\"Healthy\"/><g id=\"BizTalk_hybrid_connection\"/><g id=\"Hybrid_connection_manager_for_BizTalk_hybrid_connection\"/><g id=\"Hyper-V_recovery_manager\"/><g id=\"Machine_learning\"/><g id=\"Media_services\"/><g id=\"Microsoft_account\"/><g id=\"Mobile_services\"/><g id=\"Multi-factor_authentication\"/><g id=\"MySQL_database\"/><g id=\"Notification_hub\"/><g id=\"Notification_topic\"/><g id=\"Cloud_Office_365\"/><g id=\"Office_365\"/><g id=\"OS_image\"/><g id=\"Remote_app\"/><g id=\"Task_scheduler\"/><g id=\"Azure_SDK\"/><g id=\"Service_bus\"/><g id=\"Service_bus_queue\"/><g id=\"Service_bus_relay\"/><g id=\"Service_bus_topic\"/><g id=\"Service_endpoint\"/><g id=\"Custom_create\"/><g id=\"SQL_data_sync\"/><g id=\"SQL_reporting\"/><g id=\"Startup_task\"/><g id=\"Windows_Azure_storage\"/><g id=\"Storage_blob\"/><g id=\"Storage_table\"><path fill=\"#0078d7\" d=\"m 85.5,42.3 h -19 L 57,58.7 66.5,75.1 h 18.9 l 9.5,-16.4 z m -10.4,8.6 h 4.4 v 4.4 h -4.4 z m 0,5.5 h 4.4 v 4.4 h -4.4 z m 0,5.5 h 4.4 v 4.4 h -4.4 z m -5.5,-11 H 74 v 4.4 h -4.4 z m 0,5.5 H 74 v 4.4 h -4.4 z m 0,5.5 H 74 v 4.4 h -4.4 z m 15.3,6.8 H 67 V 50.8 h 1.2 v 16.7 0 0 H 84.9 Z M 85,66.3 H 80.6 V 61.9 H 85 Z m 0,-5.5 H 80.6 V 56.4 H 85 Z m 0,-5.5 H 80.6 V 50.9 H 85 Z\" id=\"path56\"/></g></g></svg> <svg id=\"az-icon-timerTrigger\" width=\"32\" height=\"32\" version=\"1.1\" viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m0 0h32v32h-32z\" fill=\"#1F85FF\"/><g fill=\"#fff\"><path d=\"M16.015 10.138c-3.84-.007-6.953 3.106-6.946 6.931.007 3.833 3.106 6.931 6.924 6.931 3.818 0 6.931-3.106 6.938-6.924.007-3.811-3.106-6.938-6.917-6.938zm-.029 12.328c-3.076-.015-5.396-2.495-5.382-5.418.015-3.098 2.596-5.462 5.607-5.375 2.815.087 5.207 2.531 5.178 5.396-.007 2.989-2.393 5.411-5.404 5.396z\"/><path d=\"M21.949 12.138c.138-.349.262-.691.415-1.018.24-.502.109-.938-.262-1.287-.88-.836-1.913-1.433-3.084-1.767-.364-.102-.764-.116-1.04.196-.313.349-.575.749-.873 1.149 1.942.356 3.527 1.28 4.844 2.727z\"/><path d=\"M10.029 12.116c1.309-1.462 2.895-2.364 4.815-2.727-.233-.327-.458-.618-.655-.916-.269-.422-.655-.531-1.113-.444-1.04.204-1.913.756-2.756 1.367-.182.131-.349.298-.502.465-.262.284-.407.618-.291.996.138.415.327.822.502 1.258z\"/><path d=\"M16.516 12.923c-.604-.327-1.265.051-1.265.735.007.967.015 1.935.036 2.909.007.189-.044.327-.196.458-.385.32-.771.647-1.135.989-.313.291-.305.735-.015 1.055.284.313.742.364 1.055.095.538-.465 1.069-.931 1.585-1.418.109-.102.211-.291.211-.436.022-.676.007-1.36.007-2.036h.036v-1.731c.007-.269-.073-.48-.32-.618z\"/></g></svg></defs></svg><script>!function(e){function r(r){for(var n,i,l=r[0],a=r[1],f=r[2],p=0,s=[];p<l.length;p++)i=l[p],Object.prototype.hasOwnProperty.call(o,i)&&o[i]&&s.push(o[i][0]),o[i]=0;for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n]);for(c&&c(r);s.length;)s.shift()();return u.push.apply(u,f||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,l=1;l<t.length;l++){var a=t[l];0!==o[a]&&(n=!1)}n&&(u.splice(r--,1),e=i(i.s=t[0]))}return e}var n={},o={1:0},u=[];function i(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,i),t.l=!0,t.exports}i.m=e,i.c=n,i.d=function(e,r,t){i.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},i.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},i.t=function(e,r){if(1&r&&(e=i(e)),8&r)return e;if(4&r&&\"object\"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(i.r(t),Object.defineProperty(t,\"default\",{enumerable:!0,value:e}),2&r&&\"string\"!=typeof e)for(var n in e)i.d(t,n,function(r){return e[r]}.bind(null,n));return t},i.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(r,\"a\",r),r},i.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},i.p=\"/\";var l=this[\"webpackJsonpdurablefunctionsmonitor.react\"]=this[\"webpackJsonpdurablefunctionsmonitor.react\"]||[],a=l.push.bind(l);l.push=r,l=l.slice();for(var f=0;f<l.length;f++)r(l[f]);var c=a;t()}([])</script><script src=\"/static/js/2.7e622828.chunk.js\"></script><script src=\"/static/js/main.7371b08e.chunk.js\"></script></body></html>"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/DfmStatics/manifest.json",
    "content": "{\n    \"short_name\": \"Durable Functions Monitor\",\n    \"name\": \"Durable Functions Monitor\",\n    \"icons\": [\n        {\n            \"src\": \"favicon.png\",\n            \"sizes\": \"64x64\",\n            \"type\": \"image/png\"\n        }\n    ],\n    \"start_url\": \"./index.html\",\n    \"display\": \"standalone\",\n    \"theme_color\": \"#000000\",\n    \"background_color\": \"#ffffff\"\n}"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/DfmStatics/static/css/2.62e7949a.chunk.css",
    "content": ".react-vis-magic-css-import-rule{display:inherit}.rv-treemap{font-size:12px;position:relative}.rv-treemap__leaf{overflow:hidden;position:absolute}.rv-treemap__leaf--circle{align-items:center;border-radius:100%;display:flex;justify-content:center}.rv-treemap__leaf__content{overflow:hidden;padding:10px;text-overflow:ellipsis}.rv-xy-plot{color:#c3c3c3;position:relative}.rv-xy-plot canvas{pointer-events:none}.rv-xy-plot .rv-xy-canvas{pointer-events:none;position:absolute}.rv-xy-plot__inner{display:block}.rv-xy-plot__axis__line{fill:none;stroke-width:2px;stroke:#e6e6e9}.rv-xy-plot__axis__tick__line{stroke:#e6e6e9}.rv-xy-plot__axis__tick__text,.rv-xy-plot__axis__title text{fill:#6b6b76;font-size:11px}.rv-xy-plot__grid-lines__line{stroke:#e6e6e9}.rv-xy-plot__circular-grid-lines__line{fill-opacity:0;stroke:#e6e6e9}.rv-xy-plot__series,.rv-xy-plot__series path{pointer-events:all}.rv-xy-plot__series--line{fill:none;stroke:#000;stroke-width:2px}.rv-crosshair{position:absolute;font-size:11px;pointer-events:none}.rv-crosshair__line{background:#47d3d9;width:1px}.rv-crosshair__inner{position:absolute;text-align:left;top:0}.rv-crosshair__inner__content{border-radius:4px;background:#3a3a48;color:#fff;font-size:12px;padding:7px 10px;box-shadow:0 2px 4px rgba(0,0,0,.5)}.rv-crosshair__inner--left{right:4px}.rv-crosshair__inner--right{left:4px}.rv-crosshair__title{font-weight:700;white-space:nowrap}.rv-crosshair__item{white-space:nowrap}.rv-hint{position:absolute;pointer-events:none}.rv-hint__content{border-radius:4px;padding:7px 10px;font-size:12px;background:#3a3a48;box-shadow:0 2px 4px rgba(0,0,0,.5);color:#fff;text-align:left;white-space:nowrap}.rv-discrete-color-legend{box-sizing:border-box;overflow-y:auto;font-size:12px}.rv-discrete-color-legend.horizontal{white-space:nowrap}.rv-discrete-color-legend-item{color:#3a3a48;border-radius:1px;padding:9px 10px}.rv-discrete-color-legend-item.horizontal{display:inline-block}.rv-discrete-color-legend-item.horizontal .rv-discrete-color-legend-item__title{margin-left:0;display:block}.rv-discrete-color-legend-item__color{display:inline-block;vertical-align:middle;overflow:visible}.rv-discrete-color-legend-item__color__path{stroke:#dcdcdc;stroke-width:2px}.rv-discrete-color-legend-item__title{margin-left:10px}.rv-discrete-color-legend-item.disabled{color:#b8b8b8}.rv-discrete-color-legend-item.clickable{cursor:pointer}.rv-discrete-color-legend-item.clickable:hover{background:#f9f9f9}.rv-search-wrapper{display:flex;flex-direction:column}.rv-search-wrapper__form{flex:0 1}.rv-search-wrapper__form__input{width:100%;color:#a6a6a5;border:1px solid #e5e5e4;padding:7px 10px;font-size:12px;box-sizing:border-box;border-radius:2px;margin:0 0 9px;outline:0}.rv-search-wrapper__contents{flex:1 1;overflow:auto}.rv-continuous-color-legend{font-size:12px}.rv-continuous-color-legend .rv-gradient{height:4px;border-radius:2px;margin-bottom:5px}.rv-continuous-size-legend{font-size:12px}.rv-continuous-size-legend .rv-bubbles{text-align:justify;overflow:hidden;margin-bottom:5px;width:100%}.rv-continuous-size-legend .rv-bubble{background:#d8d9dc;display:inline-block;vertical-align:bottom}.rv-continuous-size-legend .rv-spacer{display:inline-block;font-size:0;line-height:0;width:100%}.rv-legend-titles{height:16px;position:relative}.rv-legend-titles__center,.rv-legend-titles__left,.rv-legend-titles__right{position:absolute;white-space:nowrap;overflow:hidden}.rv-legend-titles__center{display:block;text-align:center;width:100%}.rv-legend-titles__right{right:0}.rv-radial-chart .rv-xy-plot__series--label{pointer-events:none}\n/*# sourceMappingURL=2.62e7949a.chunk.css.map */"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/DfmStatics/static/css/main.12374d2f.chunk.css",
    "content": "html{overflow-y:scroll!important}body{margin:0;padding:0;font-family:sans-serif;display:table;width:100%}.top-appbar{box-shadow:none!important}.top-toolbar{padding-top:5px;padding-bottom:18px;max-width:100vw;min-width:900px}.toolbar-select{min-width:150px}.long-text-cell{min-width:160px;max-width:250px}.long-text-cell-input{font-size:x-small!important}.long-text-cell-input:hover{text-decoration:underline;cursor:pointer;opacity:.8}.empty-table-placeholder{padding:30px;text-align:center}.name-cell{min-width:165px;word-break:break-all}.link-with-pointer-cursor{cursor:pointer}.time-zone-name-span{padding-left:2px;font-size:x-small}.title-typography{padding-right:10px}.app-bar{margin-bottom:10px}.instance-id-input{width:320px}.instance-id-valid .MuiOutlinedInput-root .MuiOutlinedInput-notchedOutline{border-color:green!important}.raw-html-div{padding:10px}.login-progress{text-align:center;margin-top:20px;margin-bottom:20px}.task-hub-list{padding-bottom:25px!important}.show-time-as-typography{padding-top:10px;padding-left:16px;padding-right:10px}.datetime-cell{min-width:145px}.till-checkbox{padding:20px 14px 4px 4px!important}.till-label{padding-left:15px!important}.from-input{width:215px;margin-left:10px!important}.till-input{width:215px}.time-period-menu-drop-btn{width:32px!important;min-width:32px!important;margin-top:16px!important}.filter-value-input{flex:1 1;margin-left:20px!important}.filtered-column-input{width:180px}.items-count-label{margin-top:8px!important;padding-left:15px;height:20px}.instance-id-cell{min-width:145px;max-width:270px;word-break:break-all}.output-cell{min-width:75px;max-width:200px}.entity-type-radio{margin-bottom:0}.toolbar-grid1{width:260px!important}.toolbar-grid1-item2{padding-top:20px;min-height:68px!important;min-width:257px!important}.toolbar-grid2{margin-left:40px;margin-right:40px}.toolbar-grid2-item-1{display:flex}.toolbar-grid2-item1-select{margin-left:20px!important}.toolbar-grid2-item2{padding-top:20px}.toolbar-grid3{width:auto!important}.toolbar-grid3-item2{padding-top:26px}.toolbar-runtime-status-group{margin-left:30px;margin-right:30px}.toolbar-runtime-status-group-label{padding-left:10px!important}.form-control-float-right{float:right}.column-hide-button{width:8px!important;padding:0!important;margin-right:-8px!important;float:right;opacity:.7}.unhide-button{vertical-align:text-bottom!important;font-size:12px}.tab-buttons{min-height:37px!important}.histogram-legend{padding-left:70px;white-space:normal!important}.histogram-legend-dark-mode>div>span{color:#d3d3d3}.status-checkbox{padding-left:10px!important;padding-top:5px!important;padding-bottom:5px!important}.autorefresh-select{min-width:130px}.refresh-button{width:130px}.selected-statuses-box{display:flex;flex-wrap:wrap}.message-snackbar{top:80px!important}.error-icon{margin-right:10px;margin-bottom:-7px}.error-snackbar-content{background-color:red!important}.settings-group{padding-top:5px;padding-left:20px;padding-bottom:5px}.link-to-az-func-as-a-graph{padding-top:10px}.metrics-chip{margin-right:3px;font-size:xx-small!important}.metrics-span{position:absolute;visibility:hidden;white-space:nowrap}.total-metrics-span{display:inherit;padding-top:9px;padding-left:20px}.diagram-div{padding-top:30px;padding-bottom:30px}.diagram-div>svg{display:block;margin:auto;width:100%!important;height:100%!important}.link-to-az-func-as-a-graph{float:right;padding-right:10px}.details-top-toolbar{padding-top:5px;padding-bottom:20px;max-width:100vw;min-width:900px}.grid-container{padding-top:20px;padding-right:15px}.grid-item{padding-left:15px}.details-datetime-cell{min-width:250px}.history-events-count-label{padding-top:10px;padding-left:16px;padding-bottom:10px}.details-refresh-button{width:90px}.functions-graph-tab-span{display:inline-flex;flex-direction:row}.functions-graph-link-icon{width:15px!important;margin-top:-2px;padding-left:5px}.history-filtered-column-input{width:150px}.history-filter-value-input{width:250px}.history-appbar{margin-top:15px;margin-bottom:15px;padding-top:5px;padding-bottom:5px}.history-toolbar{margin-left:-8px!important;padding-left:0!important;padding-top:17px!important}.history-from-input{width:210px}.history-from-checkbox{padding-top:18px!important}.history-from-label{margin-left:-40px}.purge-history-from-input,.purge-history-till-input{padding-bottom:20px!important}.purge-history-till-input{margin-left:20px!important}.purge-history-apply-to{padding-top:10px!important;padding-bottom:10px!important}.success-message{color:green!important}.dialog-text-field{padding-bottom:10px}\n/*# sourceMappingURL=main.12374d2f.chunk.css.map */"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/DfmStatics/static/js/2.7e622828.chunk.js",
    "content": "/*! For license information please see 2.7e622828.chunk.js.LICENSE.txt */\n(this[\"webpackJsonpdurablefunctionsmonitor.react\"]=this[\"webpackJsonpdurablefunctionsmonitor.react\"]||[]).push([[2],[function(e,t,n){\"use strict\";e.exports=n(419)},function(e,t,n){e.exports=n(427)()},function(e,t,n){\"use strict\";n.d(t,\"i\",(function(){return r})),n.d(t,\"j\",(function(){return i})),n.d(t,\"o\",(function(){return o})),n.d(t,\"l\",(function(){return a})),n.d(t,\"q\",(function(){return s})),n.d(t,\"w\",(function(){return c})),n.d(t,\"h\",(function(){return u})),n.d(t,\"r\",(function(){return l})),n.d(t,\"a\",(function(){return f})),n.d(t,\"d\",(function(){return d})),n.d(t,\"e\",(function(){return h})),n.d(t,\"g\",(function(){return p})),n.d(t,\"f\",(function(){return g})),n.d(t,\"k\",(function(){return y})),n.d(t,\"n\",(function(){return m})),n.d(t,\"p\",(function(){return b})),n.d(t,\"t\",(function(){return v})),n.d(t,\"s\",(function(){return x})),n.d(t,\"u\",(function(){return w})),n.d(t,\"v\",(function(){return _})),n.d(t,\"b\",(function(){return k})),n.d(t,\"c\",(function(){return O})),n.d(t,\"m\",(function(){return E}));var r=1e-6,i=1e-12,o=Math.PI,a=o/2,s=o/4,c=2*o,u=180/o,l=o/180,f=Math.abs,d=Math.atan,h=Math.atan2,p=Math.cos,g=Math.ceil,y=Math.exp,m=(Math.floor,Math.log),b=Math.pow,v=Math.sin,x=Math.sign||function(e){return e>0?1:e<0?-1:0},w=Math.sqrt,_=Math.tan;function k(e){return e>1?0:e<-1?o:Math.acos(e)}function O(e){return e>1?a:e<-1?-a:Math.asin(e)}function E(e){return(e=v(e/2))*e}},function(e,t,n){\"use strict\";function r(){return r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r.apply(this,arguments)}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";(function(e,r){n.d(t,\"a\",(function(){return E})),n.d(t,\"b\",(function(){return Be})),n.d(t,\"c\",(function(){return be})),n.d(t,\"d\",(function(){return Ge})),n.d(t,\"e\",(function(){return te})),n.d(t,\"f\",(function(){return nt})),n.d(t,\"g\",(function(){return T})),n.d(t,\"h\",(function(){return at})),n.d(t,\"i\",(function(){return At})),n.d(t,\"j\",(function(){return Dt})),n.d(t,\"k\",(function(){return Yt})),n.d(t,\"l\",(function(){return X})),n.d(t,\"m\",(function(){return Xe})),n.d(t,\"n\",(function(){return Ye})),n.d(t,\"o\",(function(){return ht})),n.d(t,\"p\",(function(){return ce}));var i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},i(e,t)};var o=function(){return o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},o.apply(this,arguments)};function a(e){var t=\"function\"===typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}function s(e,t){var n=\"function\"===typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)a.push(r.value)}catch(s){i={error:s}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return a}function c(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(s(arguments[t]));return e}var u=[];Object.freeze(u);var l={};function f(){return++je.mobxGuid}function d(e){throw h(!1,e),\"X\"}function h(e,t){if(!e)throw new Error(\"[mobx] \"+(t||\"An invariant failed, however the error is obfuscated because this is a production build.\"))}Object.freeze(l);function p(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}var g=function(){};function y(e){return null!==e&&\"object\"===typeof e}function m(e){if(null===e||\"object\"!==typeof e)return!1;var t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}function b(e,t,n){Object.defineProperty(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function v(e,t){var n=\"isMobX\"+e;return t.prototype[n]=!0,function(e){return y(e)&&!0===e[n]}}function x(e){return e instanceof Map}function w(e){return e instanceof Set}function _(e){var t=new Set;for(var n in e)t.add(n);return Object.getOwnPropertySymbols(e).forEach((function(n){Object.getOwnPropertyDescriptor(e,n).enumerable&&t.add(n)})),Array.from(t)}function k(e){return e&&e.toString?e.toString():new String(e).toString()}function O(e){return null===e?null:\"object\"===typeof e?\"\"+e:e}var E=Symbol(\"mobx administration\"),S=function(){function e(e){void 0===e&&(e=\"Atom@\"+f()),this.name=e,this.isPendingUnobservation=!1,this.isBeingObserved=!1,this.observers=new Set,this.diffValue=0,this.lastAccessedBy=0,this.lowestObserverState=Z.NOT_TRACKING}return e.prototype.onBecomeObserved=function(){this.onBecomeObservedListeners&&this.onBecomeObservedListeners.forEach((function(e){return e()}))},e.prototype.onBecomeUnobserved=function(){this.onBecomeUnobservedListeners&&this.onBecomeUnobservedListeners.forEach((function(e){return e()}))},e.prototype.reportObserved=function(){return Re(this)},e.prototype.reportChanged=function(){Ne(),function(e){if(e.lowestObserverState===Z.STALE)return;e.lowestObserverState=Z.STALE,e.observers.forEach((function(t){t.dependenciesState===Z.UP_TO_DATE&&(t.isTracing!==J.NONE&&Ie(t,e),t.onBecomeStale()),t.dependenciesState=Z.STALE}))}(this),De()},e.prototype.toString=function(){return this.name},e}(),C=v(\"Atom\",S);function T(e,t,n){void 0===t&&(t=g),void 0===n&&(n=g);var r,i=new S(e);return t!==g&&tt(\"onBecomeObserved\",i,t,r),n!==g&&et(i,n),i}var j={identity:function(e,t){return e===t},structural:function(e,t){return Gt(e,t)},default:function(e,t){return Object.is(e,t)},shallow:function(e,t){return Gt(e,t,1)}},A=Symbol(\"mobx did run lazy initializers\"),M=Symbol(\"mobx pending decorators\"),P={},N={};function D(e,t){var n=t?P:N;return n[e]||(n[e]={configurable:!0,enumerable:t,get:function(){return R(this),this[e]},set:function(t){R(this),this[e]=t}})}function R(e){var t,n;if(!0!==e[A]){var r=e[M];if(r){b(e,A,!0);var i=c(Object.getOwnPropertySymbols(r),Object.keys(r));try{for(var o=a(i),s=o.next();!s.done;s=o.next()){var u=r[s.value];u.propertyCreator(e,u.prop,u.descriptor,u.decoratorTarget,u.decoratorArguments)}}catch(l){t={error:l}}finally{try{s&&!s.done&&(n=o.return)&&n.call(o)}finally{if(t)throw t.error}}}}}function I(e,t){return function(){var n,r=function(r,i,a,s){if(!0===s)return t(r,i,a,r,n),null;if(!Object.prototype.hasOwnProperty.call(r,M)){var c=r[M];b(r,M,o({},c))}return r[M][i]={prop:i,propertyCreator:t,descriptor:a,decoratorTarget:r,decoratorArguments:n},D(i,e)};return L(arguments)?(n=u,r.apply(null,arguments)):(n=Array.prototype.slice.call(arguments),r)}}function L(e){return(2===e.length||3===e.length)&&(\"string\"===typeof e[1]||\"symbol\"===typeof e[1])||4===e.length&&!0===e[3]}function B(e,t,n){return lt(e)?e:Array.isArray(e)?X.array(e,{name:n}):m(e)?X.object(e,void 0,{name:n}):x(e)?X.map(e,{name:n}):w(e)?X.set(e,{name:n}):e}function F(e){return e}function z(t){h(t);var n=I(!0,(function(e,n,r,i,o){var a=r?r.initializer?r.initializer.call(e):r.value:void 0;Ft(e).addObservableProp(n,a,t)})),r=(\"undefined\"!==typeof e&&Object({NODE_ENV:\"production\",PUBLIC_URL:\"\",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_BACKEND_BASE_URI:\"\",REACT_APP_BACKEND_PATH:\"a/p/i\"}),n);return r.enhancer=t,r}var U={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};function H(e){return null===e||void 0===e?U:\"string\"===typeof e?{name:e,deep:!0,proxy:!0}:e}Object.freeze(U);var W=z(B),Y=z((function(e,t,n){return void 0===e||null===e||Yt(e)||At(e)||Dt(e)||Lt(e)?e:Array.isArray(e)?X.array(e,{name:n,deep:!1}):m(e)?X.object(e,void 0,{name:n,deep:!1}):x(e)?X.map(e,{name:n,deep:!1}):w(e)?X.set(e,{name:n,deep:!1}):d(!1)})),V=z(F),q=z((function(e,t,n){return Gt(e,t)?t:e}));function $(e){return e.defaultDecorator?e.defaultDecorator.enhancer:!1===e.deep?F:B}var G={box:function(e,t){arguments.length>2&&K(\"box\");var n=H(t);return new we(e,$(n),n.name,!0,n.equals)},array:function(e,t){arguments.length>2&&K(\"array\");var n=H(t);return Et(e,$(n),n.name)},map:function(e,t){arguments.length>2&&K(\"map\");var n=H(t);return new Nt(e,$(n),n.name)},set:function(e,t){arguments.length>2&&K(\"set\");var n=H(t);return new It(e,$(n),n.name)},object:function(e,t,n){\"string\"===typeof arguments[1]&&K(\"object\");var r=H(n);if(!1===r.proxy)return rt({},e,t,r);var i=it(r),o=rt({},void 0,void 0,r),a=mt(o);return ot(a,e,t,i),a},ref:V,shallow:Y,deep:W,struct:q},X=function(e,t,n){if(\"string\"===typeof arguments[1]||\"symbol\"===typeof arguments[1])return W.apply(null,arguments);if(lt(e))return e;var r=m(e)?X.object(e,t,n):Array.isArray(e)?X.array(e,t):x(e)?X.map(e,t):w(e)?X.set(e,t):e;if(r!==e)return r;d(!1)};function K(e){d(\"Expected one or two arguments to observable.\"+e+\". Did you accidentally try to use observable.\"+e+\" as decorator?\")}Object.keys(G).forEach((function(e){return X[e]=G[e]}));var Z,J,Q=I(!1,(function(e,t,n,r,i){var a=n.get,s=n.set,c=i[0]||{};Ft(e).addComputedProp(e,t,o({get:a,set:s,context:e},c))})),ee=Q({equals:j.structural}),te=function(e,t,n){if(\"string\"===typeof t)return Q.apply(null,arguments);if(null!==e&&\"object\"===typeof e&&1===arguments.length)return Q.apply(null,arguments);var r=\"object\"===typeof t?t:{};return r.get=e,r.set=\"function\"===typeof t?t:r.set,r.name=r.name||e.name||\"\",new _e(r)};te.struct=ee,function(e){e[e.NOT_TRACKING=-1]=\"NOT_TRACKING\",e[e.UP_TO_DATE=0]=\"UP_TO_DATE\",e[e.POSSIBLY_STALE=1]=\"POSSIBLY_STALE\",e[e.STALE=2]=\"STALE\"}(Z||(Z={})),function(e){e[e.NONE=0]=\"NONE\",e[e.LOG=1]=\"LOG\",e[e.BREAK=2]=\"BREAK\"}(J||(J={}));var ne=function(e){this.cause=e};function re(e){return e instanceof ne}function ie(e){switch(e.dependenciesState){case Z.UP_TO_DATE:return!1;case Z.NOT_TRACKING:case Z.STALE:return!0;case Z.POSSIBLY_STALE:for(var t=fe(!0),n=ue(),r=e.observing,i=r.length,o=0;o<i;o++){var a=r[o];if(ke(a)){if(je.disableErrorBoundaries)a.get();else try{a.get()}catch(s){return le(n),de(t),!0}if(e.dependenciesState===Z.STALE)return le(n),de(t),!0}}return he(e),le(n),de(t),!1}}function oe(e){var t=e.observers.size>0;je.computationDepth>0&&t&&d(!1),je.allowStateChanges||!t&&\"strict\"!==je.enforceActions||d(!1)}function ae(e,t,n){var r=fe(!0);he(e),e.newObserving=new Array(e.observing.length+100),e.unboundDepsCount=0,e.runId=++je.runId;var i,o=je.trackingDerivation;if(je.trackingDerivation=e,!0===je.disableErrorBoundaries)i=t.call(n);else try{i=t.call(n)}catch(a){i=new ne(a)}return je.trackingDerivation=o,function(e){for(var t=e.observing,n=e.observing=e.newObserving,r=Z.UP_TO_DATE,i=0,o=e.unboundDepsCount,a=0;a<o;a++){0===(s=n[a]).diffValue&&(s.diffValue=1,i!==a&&(n[i]=s),i++),s.dependenciesState>r&&(r=s.dependenciesState)}n.length=i,e.newObserving=null,o=t.length;for(;o--;){0===(s=t[o]).diffValue&&Me(s,e),s.diffValue=0}for(;i--;){var s;1===(s=n[i]).diffValue&&(s.diffValue=0,Ae(s,e))}r!==Z.UP_TO_DATE&&(e.dependenciesState=r,e.onBecomeStale())}(e),de(r),i}function se(e){var t=e.observing;e.observing=[];for(var n=t.length;n--;)Me(t[n],e);e.dependenciesState=Z.NOT_TRACKING}function ce(e){var t=ue();try{return e()}finally{le(t)}}function ue(){var e=je.trackingDerivation;return je.trackingDerivation=null,e}function le(e){je.trackingDerivation=e}function fe(e){var t=je.allowStateReads;return je.allowStateReads=e,t}function de(e){je.allowStateReads=e}function he(e){if(e.dependenciesState!==Z.UP_TO_DATE){e.dependenciesState=Z.UP_TO_DATE;for(var t=e.observing,n=t.length;n--;)t[n].lowestObserverState=Z.UP_TO_DATE}}var pe=0,ge=1;function ye(e,t,n){var r=function(){return me(e,t,n||this,arguments)};return r.isMobxAction=!0,r}function me(e,t,n,r){var i=function(e,t,n){var r=!1,i=0;var o=ue();Ne();var a=ve(!0),s=fe(!0),c={prevDerivation:o,prevAllowStateChanges:a,prevAllowStateReads:s,notifySpy:r,startTime:i,actionId:ge++,parentActionId:pe};return pe=c.actionId,c}();try{return t.apply(n,r)}catch(o){throw i.error=o,o}finally{!function(e){pe!==e.actionId&&d(\"invalid action stack. did you forget to finish an action?\");pe=e.parentActionId,void 0!==e.error&&(je.suppressReactionErrors=!0);xe(e.prevAllowStateChanges),de(e.prevAllowStateReads),De(),le(e.prevDerivation),e.notifySpy&&!1;je.suppressReactionErrors=!1}(i)}}function be(e,t){var n,r=ve(e);try{n=t()}finally{xe(r)}return n}function ve(e){var t=je.allowStateChanges;return je.allowStateChanges=e,t}function xe(e){je.allowStateChanges=e}var we=function(e){function t(t,n,r,i,o){void 0===r&&(r=\"ObservableValue@\"+f()),void 0===i&&(i=!0),void 0===o&&(o=j.default);var a=e.call(this,r)||this;return a.enhancer=n,a.name=r,a.equals=o,a.hasUnreportedChange=!1,a.value=n(t,void 0,r),a}return function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t.prototype.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.prototype.set=function(e){this.value;if((e=this.prepareNewValue(e))!==je.UNCHANGED){false,this.setNewValue(e)}},t.prototype.prepareNewValue=function(e){if(oe(this),bt(this)){var t=xt(this,{object:this,type:\"update\",newValue:e});if(!t)return je.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.value,this.name),this.equals(this.value,e)?je.UNCHANGED:e},t.prototype.setNewValue=function(e){var t=this.value;this.value=e,this.reportChanged(),wt(this)&&kt(this,{type:\"update\",object:this,newValue:e,oldValue:t})},t.prototype.get=function(){return this.reportObserved(),this.dehanceValue(this.value)},t.prototype.intercept=function(e){return vt(this,e)},t.prototype.observe=function(e,t){return t&&e({object:this,type:\"update\",newValue:this.value,oldValue:void 0}),_t(this,e)},t.prototype.toJSON=function(){return this.get()},t.prototype.toString=function(){return this.name+\"[\"+this.value+\"]\"},t.prototype.valueOf=function(){return O(this.get())},t.prototype[Symbol.toPrimitive]=function(){return this.valueOf()},t}(S),_e=(v(\"ObservableValue\",we),function(){function e(e){this.dependenciesState=Z.NOT_TRACKING,this.observing=[],this.newObserving=null,this.isBeingObserved=!1,this.isPendingUnobservation=!1,this.observers=new Set,this.diffValue=0,this.runId=0,this.lastAccessedBy=0,this.lowestObserverState=Z.UP_TO_DATE,this.unboundDepsCount=0,this.__mapid=\"#\"+f(),this.value=new ne(null),this.isComputing=!1,this.isRunningSetter=!1,this.isTracing=J.NONE,h(e.get,\"missing option for computed: get\"),this.derivation=e.get,this.name=e.name||\"ComputedValue@\"+f(),e.set&&(this.setter=ye(this.name+\"-setter\",e.set)),this.equals=e.equals||(e.compareStructural||e.struct?j.structural:j.default),this.scope=e.context,this.requiresReaction=!!e.requiresReaction,this.keepAlive=!!e.keepAlive}return e.prototype.onBecomeStale=function(){!function(e){if(e.lowestObserverState!==Z.UP_TO_DATE)return;e.lowestObserverState=Z.POSSIBLY_STALE,e.observers.forEach((function(t){t.dependenciesState===Z.UP_TO_DATE&&(t.dependenciesState=Z.POSSIBLY_STALE,t.isTracing!==J.NONE&&Ie(t,e),t.onBecomeStale())}))}(this)},e.prototype.onBecomeObserved=function(){this.onBecomeObservedListeners&&this.onBecomeObservedListeners.forEach((function(e){return e()}))},e.prototype.onBecomeUnobserved=function(){this.onBecomeUnobservedListeners&&this.onBecomeUnobservedListeners.forEach((function(e){return e()}))},e.prototype.get=function(){this.isComputing&&d(\"Cycle detected in computation \"+this.name+\": \"+this.derivation),0!==je.inBatch||0!==this.observers.size||this.keepAlive?(Re(this),ie(this)&&this.trackAndCompute()&&function(e){if(e.lowestObserverState===Z.STALE)return;e.lowestObserverState=Z.STALE,e.observers.forEach((function(t){t.dependenciesState===Z.POSSIBLY_STALE?t.dependenciesState=Z.STALE:t.dependenciesState===Z.UP_TO_DATE&&(e.lowestObserverState=Z.UP_TO_DATE)}))}(this)):ie(this)&&(this.warnAboutUntrackedRead(),Ne(),this.value=this.computeValue(!1),De());var e=this.value;if(re(e))throw e.cause;return e},e.prototype.peek=function(){var e=this.computeValue(!1);if(re(e))throw e.cause;return e},e.prototype.set=function(e){if(this.setter){h(!this.isRunningSetter,\"The setter of computed value '\"+this.name+\"' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?\"),this.isRunningSetter=!0;try{this.setter.call(this.scope,e)}finally{this.isRunningSetter=!1}}else h(!1,!1)},e.prototype.trackAndCompute=function(){var e=this.value,t=this.dependenciesState===Z.NOT_TRACKING,n=this.computeValue(!0),r=t||re(e)||re(n)||!this.equals(e,n);return r&&(this.value=n),r},e.prototype.computeValue=function(e){var t;if(this.isComputing=!0,je.computationDepth++,e)t=ae(this,this.derivation,this.scope);else if(!0===je.disableErrorBoundaries)t=this.derivation.call(this.scope);else try{t=this.derivation.call(this.scope)}catch(n){t=new ne(n)}return je.computationDepth--,this.isComputing=!1,t},e.prototype.suspend=function(){this.keepAlive||(se(this),this.value=void 0)},e.prototype.observe=function(e,t){var n=this,r=!0,i=void 0;return Ze((function(){var o=n.get();if(!r||t){var a=ue();e({type:\"update\",object:n,newValue:o,oldValue:i}),le(a)}r=!1,i=o}))},e.prototype.warnAboutUntrackedRead=function(){},e.prototype.toJSON=function(){return this.get()},e.prototype.toString=function(){return this.name+\"[\"+this.derivation.toString()+\"]\"},e.prototype.valueOf=function(){return O(this.get())},e.prototype[Symbol.toPrimitive]=function(){return this.valueOf()},e}()),ke=v(\"ComputedValue\",_e),Oe=function(){this.version=5,this.UNCHANGED={},this.trackingDerivation=null,this.computationDepth=0,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!0,this.allowStateReads=!0,this.enforceActions=!1,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.computedConfigurable=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1},Ee={};function Se(){return\"undefined\"!==typeof window?window:\"undefined\"!==typeof r?r:\"undefined\"!==typeof self?self:Ee}var Ce=!0,Te=!1,je=function(){var e=Se();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(Ce=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==(new Oe).version&&(Ce=!1),Ce?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new Oe):(setTimeout((function(){Te||d(\"There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`\")}),1),new Oe)}();function Ae(e,t){e.observers.add(t),e.lowestObserverState>t.dependenciesState&&(e.lowestObserverState=t.dependenciesState)}function Me(e,t){e.observers.delete(t),0===e.observers.size&&Pe(e)}function Pe(e){!1===e.isPendingUnobservation&&(e.isPendingUnobservation=!0,je.pendingUnobservations.push(e))}function Ne(){je.inBatch++}function De(){if(0===--je.inBatch){ze();for(var e=je.pendingUnobservations,t=0;t<e.length;t++){var n=e[t];n.isPendingUnobservation=!1,0===n.observers.size&&(n.isBeingObserved&&(n.isBeingObserved=!1,n.onBecomeUnobserved()),n instanceof _e&&n.suspend())}je.pendingUnobservations=[]}}function Re(e){var t=je.trackingDerivation;return null!==t?(t.runId!==e.lastAccessedBy&&(e.lastAccessedBy=t.runId,t.newObserving[t.unboundDepsCount++]=e,e.isBeingObserved||(e.isBeingObserved=!0,e.onBecomeObserved())),!0):(0===e.observers.size&&je.inBatch>0&&Pe(e),!1)}function Ie(e,t){if(console.log(\"[mobx.trace] '\"+e.name+\"' is invalidated due to a change in: '\"+t.name+\"'\"),e.isTracing===J.BREAK){var n=[];Le(at(e),n,1),new Function(\"debugger;\\n/*\\nTracing '\"+e.name+\"'\\n\\nYou are entering this break point because derivation '\"+e.name+\"' is being traced and '\"+t.name+\"' is now forcing it to update.\\nJust follow the stacktrace you should now see in the devtools to see precisely what piece of your code is causing this update\\nThe stackframe you are looking for is at least ~6-8 stack-frames up.\\n\\n\"+(e instanceof _e?e.derivation.toString().replace(/[*]\\//g,\"/\"):\"\")+\"\\n\\nThe dependencies for this derivation are:\\n\\n\"+n.join(\"\\n\")+\"\\n*/\\n    \")()}}function Le(e,t,n){t.length>=1e3?t.push(\"(and many more)\"):(t.push(\"\"+new Array(n).join(\"\\t\")+e.name),e.dependencies&&e.dependencies.forEach((function(e){return Le(e,t,n+1)})))}var Be=function(){function e(e,t,n,r){void 0===e&&(e=\"Reaction@\"+f()),void 0===r&&(r=!1),this.name=e,this.onInvalidate=t,this.errorHandler=n,this.requiresObservable=r,this.observing=[],this.newObserving=[],this.dependenciesState=Z.NOT_TRACKING,this.diffValue=0,this.runId=0,this.unboundDepsCount=0,this.__mapid=\"#\"+f(),this.isDisposed=!1,this._isScheduled=!1,this._isTrackPending=!1,this._isRunning=!1,this.isTracing=J.NONE}return e.prototype.onBecomeStale=function(){this.schedule()},e.prototype.schedule=function(){this._isScheduled||(this._isScheduled=!0,je.pendingReactions.push(this),ze())},e.prototype.isScheduled=function(){return this._isScheduled},e.prototype.runReaction=function(){if(!this.isDisposed){if(Ne(),this._isScheduled=!1,ie(this)){this._isTrackPending=!0;try{this.onInvalidate(),this._isTrackPending}catch(e){this.reportExceptionInDerivation(e)}}De()}},e.prototype.track=function(e){if(!this.isDisposed){Ne();false,this._isRunning=!0;var t=ae(this,e,void 0);this._isRunning=!1,this._isTrackPending=!1,this.isDisposed&&se(this),re(t)&&this.reportExceptionInDerivation(t.cause),De()}},e.prototype.reportExceptionInDerivation=function(e){var t=this;if(this.errorHandler)this.errorHandler(e,this);else{if(je.disableErrorBoundaries)throw e;var n=\"[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '\"+this+\"'\";je.suppressReactionErrors?console.warn(\"[mobx] (error in reaction '\"+this.name+\"' suppressed, fix error of causing action below)\"):console.error(n,e),je.globalReactionErrorHandlers.forEach((function(n){return n(e,t)}))}},e.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this._isRunning||(Ne(),se(this),De()))},e.prototype.getDisposer=function(){var e=this.dispose.bind(this);return e[E]=this,e},e.prototype.toString=function(){return\"Reaction[\"+this.name+\"]\"},e.prototype.trace=function(e){void 0===e&&(e=!1),function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=!1;\"boolean\"===typeof e[e.length-1]&&(n=e.pop());var r=dt(e);if(!r)return d(!1);r.isTracing===J.NONE&&console.log(\"[mobx.trace] '\"+r.name+\"' tracing enabled\");r.isTracing=n?J.BREAK:J.LOG}(this,e)},e}();var Fe=function(e){return e()};function ze(){je.inBatch>0||je.isRunningReactions||Fe(Ue)}function Ue(){je.isRunningReactions=!0;for(var e=je.pendingReactions,t=0;e.length>0;){100===++t&&(console.error(\"Reaction doesn't converge to a stable state after 100 iterations. Probably there is a cycle in the reactive function: \"+e[0]),e.splice(0));for(var n=e.splice(0),r=0,i=n.length;r<i;r++)n[r].runReaction()}je.isRunningReactions=!1}var He=v(\"Reaction\",Be);function We(e){var t=Fe;Fe=function(n){return e((function(){return t(n)}))}}function Ye(e){return console.warn(\"[mobx.spy] Is a no-op in production builds\"),function(){}}function Ve(){d(!1)}function qe(e){return function(t,n,r){if(r){if(r.value)return{value:ye(e,r.value),enumerable:!1,configurable:!0,writable:!0};var i=r.initializer;return{enumerable:!1,configurable:!0,writable:!0,initializer:function(){return ye(e,i.call(this))}}}return $e(e).apply(this,arguments)}}function $e(e){return function(t,n,r){Object.defineProperty(t,n,{configurable:!0,enumerable:!1,get:function(){},set:function(t){b(this,n,Ge(e,t))}})}}var Ge=function(e,t,n,r){return 1===arguments.length&&\"function\"===typeof e?ye(e.name||\"<unnamed action>\",e):2===arguments.length&&\"function\"===typeof t?ye(e,t):1===arguments.length&&\"string\"===typeof e?qe(e):!0!==r?qe(t).apply(null,arguments):void b(e,t,ye(e.name||t,n.value,this))};function Xe(e,t){\"string\"===typeof e||e.name;return me(0,\"function\"===typeof e?e:t,this,void 0)}function Ke(e,t,n){b(e,t,ye(t,n.bind(e)))}function Ze(e,t){void 0===t&&(t=l);var n,r=t&&t.name||e.name||\"Autorun@\"+f();if(!t.scheduler&&!t.delay)n=new Be(r,(function(){this.track(a)}),t.onError,t.requiresObservable);else{var i=Qe(t),o=!1;n=new Be(r,(function(){o||(o=!0,i((function(){o=!1,n.isDisposed||n.track(a)})))}),t.onError,t.requiresObservable)}function a(){e(n)}return n.schedule(),n.getDisposer()}Ge.bound=function(e,t,n,r){return!0===r?(Ke(e,t,n.value),null):n?{configurable:!0,enumerable:!1,get:function(){return Ke(this,t,n.value||n.initializer.call(this)),this[t]},set:Ve}:{enumerable:!1,configurable:!0,set:function(e){Ke(this,t,e)},get:function(){}}};var Je=function(e){return e()};function Qe(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:Je}function et(e,t,n){return tt(\"onBecomeUnobserved\",e,t,n)}function tt(e,t,n,r){var i=\"function\"===typeof r?Vt(t,n):Vt(t),o=\"function\"===typeof r?r:n,a=e+\"Listeners\";return i[a]?i[a].add(o):i[a]=new Set([o]),\"function\"!==typeof i[e]?d(!1):function(){var e=i[a];e&&(e.delete(o),0===e.size&&delete i[a])}}function nt(e){var t=e.enforceActions,n=e.computedRequiresReaction,r=e.computedConfigurable,i=e.disableErrorBoundaries,o=e.reactionScheduler,a=e.reactionRequiresObservable,s=e.observableRequiresReaction;if(!0===e.isolateGlobalState&&((je.pendingReactions.length||je.inBatch||je.isRunningReactions)&&d(\"isolateGlobalState should be called before MobX is running any reactions\"),Te=!0,Ce&&(0===--Se().__mobxInstanceCount&&(Se().__mobxGlobals=void 0),je=new Oe)),void 0!==t){var c=void 0;switch(t){case!0:case\"observed\":c=!0;break;case!1:case\"never\":c=!1;break;case\"strict\":case\"always\":c=\"strict\";break;default:d(\"Invalid value for 'enforceActions': '\"+t+\"', expected 'never', 'always' or 'observed'\")}je.enforceActions=c,je.allowStateChanges=!0!==c&&\"strict\"!==c}void 0!==n&&(je.computedRequiresReaction=!!n),void 0!==a&&(je.reactionRequiresObservable=!!a),void 0!==s&&(je.observableRequiresReaction=!!s,je.allowStateReads=!je.observableRequiresReaction),void 0!==r&&(je.computedConfigurable=!!r),void 0!==i&&(!0===i&&console.warn(\"WARNING: Debug feature only. MobX will NOT recover from errors when `disableErrorBoundaries` is enabled.\"),je.disableErrorBoundaries=!!i),o&&We(o)}function rt(e,t,n,r){var i=it(r=H(r));return R(e),Ft(e,r.name,i.enhancer),t&&ot(e,t,n,i),e}function it(e){return e.defaultDecorator||(!1===e.deep?V:W)}function ot(e,t,n,r){var i,o;Ne();try{var s=_(t);try{for(var c=a(s),u=c.next();!u.done;u=c.next()){var l=u.value,f=Object.getOwnPropertyDescriptor(t,l);0;var d=(n&&l in n?n[l]:f.get?Q:r)(e,l,f,!0);d&&Object.defineProperty(e,l,d)}}catch(h){i={error:h}}finally{try{u&&!u.done&&(o=c.return)&&o.call(c)}finally{if(i)throw i.error}}}finally{De()}}function at(e,t){return st(Vt(e,t))}function st(e){var t={name:e.name};return e.observing&&e.observing.length>0&&(t.dependencies=function(e){var t=[];return e.forEach((function(e){-1===t.indexOf(e)&&t.push(e)})),t}(e.observing).map(st)),t}function ct(){this.message=\"FLOW_CANCELLED\"}function ut(e,t){return null!==e&&void 0!==e&&(void 0!==t?!!Yt(e)&&e[E].values.has(t):Yt(e)||!!e[E]||C(e)||He(e)||ke(e))}function lt(e){return 1!==arguments.length&&d(!1),ut(e)}function ft(e,t,n){if(2!==arguments.length||Lt(e))if(Yt(e)){var r=e[E],i=r.values.get(t);i?r.write(t,n):r.addObservableProp(t,n,r.defaultEnhancer)}else if(Dt(e))e.set(t,n);else if(Lt(e))e.add(t);else{if(!At(e))return d(!1);\"number\"!==typeof t&&(t=parseInt(t,10)),h(t>=0,\"Not a valid index: '\"+t+\"'\"),Ne(),t>=e.length&&(e.length=t+1),e[t]=n,De()}else{Ne();var o=t;try{for(var a in o)ft(e,a,o[a])}finally{De()}}}ct.prototype=Object.create(Error.prototype);function dt(e){switch(e.length){case 0:return je.trackingDerivation;case 1:return Vt(e[0]);case 2:return Vt(e[0],e[1])}}function ht(e,t){void 0===t&&(t=void 0),Ne();try{return e.apply(t)}finally{De()}}function pt(e){return e[E]}function gt(e){return\"string\"===typeof e||\"number\"===typeof e||\"symbol\"===typeof e}var yt={has:function(e,t){if(t===E||\"constructor\"===t||t===A)return!0;var n=pt(e);return gt(t)?n.has(t):t in e},get:function(e,t){if(t===E||\"constructor\"===t||t===A)return e[t];var n=pt(e),r=n.values.get(t);if(r instanceof S){var i=r.get();return void 0===i&&n.has(t),i}return gt(t)&&n.has(t),e[t]},set:function(e,t,n){return!!gt(t)&&(ft(e,t,n),!0)},deleteProperty:function(e,t){return!!gt(t)&&(pt(e).remove(t),!0)},ownKeys:function(e){return pt(e).keysAtom.reportObserved(),Reflect.ownKeys(e)},preventExtensions:function(e){return d(\"Dynamic observable objects cannot be frozen\"),!1}};function mt(e){var t=new Proxy(e,yt);return e[E].proxy=t,t}function bt(e){return void 0!==e.interceptors&&e.interceptors.length>0}function vt(e,t){var n=e.interceptors||(e.interceptors=[]);return n.push(t),p((function(){var e=n.indexOf(t);-1!==e&&n.splice(e,1)}))}function xt(e,t){var n=ue();try{for(var r=c(e.interceptors||[]),i=0,o=r.length;i<o&&(h(!(t=r[i](t))||t.type,\"Intercept handlers should return nothing or a change object\"),t);i++);return t}finally{le(n)}}function wt(e){return void 0!==e.changeListeners&&e.changeListeners.length>0}function _t(e,t){var n=e.changeListeners||(e.changeListeners=[]);return n.push(t),p((function(){var e=n.indexOf(t);-1!==e&&n.splice(e,1)}))}function kt(e,t){var n=ue(),r=e.changeListeners;if(r){for(var i=0,o=(r=r.slice()).length;i<o;i++)r[i](t);le(n)}}var Ot={get:function(e,t){return t===E?e[E]:\"length\"===t?e[E].getArrayLength():\"number\"===typeof t?Ct.get.call(e,t):\"string\"!==typeof t||isNaN(t)?Ct.hasOwnProperty(t)?Ct[t]:e[t]:Ct.get.call(e,parseInt(t))},set:function(e,t,n){return\"length\"===t&&e[E].setArrayLength(n),\"number\"===typeof t&&Ct.set.call(e,t,n),\"symbol\"===typeof t||isNaN(t)?e[t]=n:Ct.set.call(e,parseInt(t),n),!0},preventExtensions:function(e){return d(\"Observable arrays cannot be frozen\"),!1}};function Et(e,t,n,r){void 0===n&&(n=\"ObservableArray@\"+f()),void 0===r&&(r=!1);var i,o,a,s=new St(n,t,r);i=s.values,o=E,a=s,Object.defineProperty(i,o,{enumerable:!1,writable:!1,configurable:!0,value:a});var c=new Proxy(s.values,Ot);if(s.proxy=c,e&&e.length){var u=ve(!0);s.spliceWithArray(0,0,e),xe(u)}return c}var St=function(){function e(e,t,n){this.owned=n,this.values=[],this.proxy=void 0,this.lastKnownLength=0,this.atom=new S(e||\"ObservableArray@\"+f()),this.enhancer=function(n,r){return t(n,r,e+\"[..]\")}}return e.prototype.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},e.prototype.dehanceValues=function(e){return void 0!==this.dehancer&&e.length>0?e.map(this.dehancer):e},e.prototype.intercept=function(e){return vt(this,e)},e.prototype.observe=function(e,t){return void 0===t&&(t=!1),t&&e({object:this.proxy,type:\"splice\",index:0,added:this.values.slice(),addedCount:this.values.length,removed:[],removedCount:0}),_t(this,e)},e.prototype.getArrayLength=function(){return this.atom.reportObserved(),this.values.length},e.prototype.setArrayLength=function(e){if(\"number\"!==typeof e||e<0)throw new Error(\"[mobx.array] Out of range: \"+e);var t=this.values.length;if(e!==t)if(e>t){for(var n=new Array(e-t),r=0;r<e-t;r++)n[r]=void 0;this.spliceWithArray(t,0,n)}else this.spliceWithArray(e,t-e)},e.prototype.updateArrayLength=function(e,t){if(e!==this.lastKnownLength)throw new Error(\"[mobx] Modification exception: the internal structure of an observable array was changed.\");this.lastKnownLength+=t},e.prototype.spliceWithArray=function(e,t,n){var r=this;oe(this.atom);var i=this.values.length;if(void 0===e?e=0:e>i?e=i:e<0&&(e=Math.max(0,i+e)),t=1===arguments.length?i-e:void 0===t||null===t?0:Math.max(0,Math.min(t,i-e)),void 0===n&&(n=u),bt(this)){var o=xt(this,{object:this.proxy,type:\"splice\",index:e,removedCount:t,added:n});if(!o)return u;t=o.removedCount,n=o.added}n=0===n.length?n:n.map((function(e){return r.enhancer(e,void 0)}));var a=this.spliceItemsIntoValues(e,t,n);return 0===t&&0===n.length||this.notifyArraySplice(e,n,a),this.dehanceValues(a)},e.prototype.spliceItemsIntoValues=function(e,t,n){var r;if(n.length<1e4)return(r=this.values).splice.apply(r,c([e,t],n));var i=this.values.slice(e,e+t);return this.values=this.values.slice(0,e).concat(n,this.values.slice(e+t)),i},e.prototype.notifyArrayChildUpdate=function(e,t,n){var r=!this.owned&&!1,i=wt(this),o=i||r?{object:this.proxy,type:\"update\",index:e,newValue:t,oldValue:n}:null;this.atom.reportChanged(),i&&kt(this,o)},e.prototype.notifyArraySplice=function(e,t,n){var r=!this.owned&&!1,i=wt(this),o=i||r?{object:this.proxy,type:\"splice\",index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;this.atom.reportChanged(),i&&kt(this,o)},e}(),Ct={intercept:function(e){return this[E].intercept(e)},observe:function(e,t){return void 0===t&&(t=!1),this[E].observe(e,t)},clear:function(){return this.splice(0)},replace:function(e){var t=this[E];return t.spliceWithArray(0,t.values.length,e)},toJS:function(){return this.slice()},toJSON:function(){return this.toJS()},splice:function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i=this[E];switch(arguments.length){case 0:return[];case 1:return i.spliceWithArray(e);case 2:return i.spliceWithArray(e,t)}return i.spliceWithArray(e,t,n)},spliceWithArray:function(e,t,n){return this[E].spliceWithArray(e,t,n)},push:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=this[E];return n.spliceWithArray(n.values.length,0,e),n.values.length},pop:function(){return this.splice(Math.max(this[E].values.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=this[E];return n.spliceWithArray(0,0,e),n.values.length},reverse:function(){var e=this.slice();return e.reverse.apply(e,arguments)},sort:function(e){var t=this.slice();return t.sort.apply(t,arguments)},remove:function(e){var t=this[E],n=t.dehanceValues(t.values).indexOf(e);return n>-1&&(this.splice(n,1),!0)},get:function(e){var t=this[E];if(t){if(e<t.values.length)return t.atom.reportObserved(),t.dehanceValue(t.values[e]);console.warn(\"[mobx.array] Attempt to read an array index (\"+e+\") that is out of bounds (\"+t.values.length+\"). Please check length first. Out of bound indices will not be tracked by MobX\")}},set:function(e,t){var n=this[E],r=n.values;if(e<r.length){oe(n.atom);var i=r[e];if(bt(n)){var o=xt(n,{type:\"update\",object:n.proxy,index:e,newValue:t});if(!o)return;t=o.newValue}(t=n.enhancer(t,i))!==i&&(r[e]=t,n.notifyArrayChildUpdate(e,t,i))}else{if(e!==r.length)throw new Error(\"[mobx.array] Index out of bounds, \"+e+\" is larger than \"+r.length);n.spliceWithArray(e,0,[t])}}};[\"concat\",\"every\",\"filter\",\"forEach\",\"indexOf\",\"join\",\"lastIndexOf\",\"map\",\"reduce\",\"reduceRight\",\"slice\",\"some\",\"toString\",\"toLocaleString\"].forEach((function(e){Ct[e]=function(){var t=this[E];t.atom.reportObserved();var n=t.dehanceValues(t.values);return n[e].apply(n,arguments)}}));var Tt,jt=v(\"ObservableArrayAdministration\",St);function At(e){return y(e)&&jt(e[E])}var Mt,Pt={},Nt=function(){function e(e,t,n){if(void 0===t&&(t=B),void 0===n&&(n=\"ObservableMap@\"+f()),this.enhancer=t,this.name=n,this[Tt]=Pt,this._keysAtom=T(this.name+\".keys()\"),this[Symbol.toStringTag]=\"Map\",\"function\"!==typeof Map)throw new Error(\"mobx.map requires Map polyfill for the current browser. Check babel-polyfill or core-js/es6/map.js\");this._data=new Map,this._hasMap=new Map,this.merge(e)}return e.prototype._has=function(e){return this._data.has(e)},e.prototype.has=function(e){var t=this;if(!je.trackingDerivation)return this._has(e);var n=this._hasMap.get(e);if(!n){var r=n=new we(this._has(e),F,this.name+\".\"+k(e)+\"?\",!1);this._hasMap.set(e,r),et(r,(function(){return t._hasMap.delete(e)}))}return n.get()},e.prototype.set=function(e,t){var n=this._has(e);if(bt(this)){var r=xt(this,{type:n?\"update\":\"add\",object:this,newValue:t,name:e});if(!r)return this;t=r.newValue}return n?this._updateValue(e,t):this._addValue(e,t),this},e.prototype.delete=function(e){var t=this;if(bt(this)&&!(r=xt(this,{type:\"delete\",object:this,name:e})))return!1;if(this._has(e)){var n=wt(this),r=n?{type:\"delete\",object:this,oldValue:this._data.get(e).value,name:e}:null;return ht((function(){t._keysAtom.reportChanged(),t._updateHasMapEntry(e,!1),t._data.get(e).setNewValue(void 0),t._data.delete(e)})),n&&kt(this,r),!0}return!1},e.prototype._updateHasMapEntry=function(e,t){var n=this._hasMap.get(e);n&&n.setNewValue(t)},e.prototype._updateValue=function(e,t){var n=this._data.get(e);if((t=n.prepareNewValue(t))!==je.UNCHANGED){var r=!1,i=wt(this),o=i?{type:\"update\",object:this,oldValue:n.value,name:e,newValue:t}:null;r,n.setNewValue(t),i&&kt(this,o)}},e.prototype._addValue=function(e,t){var n=this;oe(this._keysAtom),ht((function(){var r=new we(t,n.enhancer,n.name+\".\"+k(e),!1);n._data.set(e,r),t=r.value,n._updateHasMapEntry(e,!0),n._keysAtom.reportChanged()}));var r=!1,i=wt(this),o=i?{type:\"add\",object:this,name:e,newValue:t}:null;i&&kt(this,o)},e.prototype.get=function(e){return this.has(e)?this.dehanceValue(this._data.get(e).get()):this.dehanceValue(void 0)},e.prototype.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},e.prototype.keys=function(){return this._keysAtom.reportObserved(),this._data.keys()},e.prototype.values=function(){var e=this,t=0,n=Array.from(this.keys());return Jt({next:function(){return t<n.length?{value:e.get(n[t++]),done:!1}:{done:!0}}})},e.prototype.entries=function(){var e=this,t=0,n=Array.from(this.keys());return Jt({next:function(){if(t<n.length){var r=n[t++];return{value:[r,e.get(r)],done:!1}}return{done:!0}}})},e.prototype[(Tt=E,Symbol.iterator)]=function(){return this.entries()},e.prototype.forEach=function(e,t){var n,r;try{for(var i=a(this),o=i.next();!o.done;o=i.next()){var c=s(o.value,2),u=c[0],l=c[1];e.call(t,l,u,this)}}catch(f){n={error:f}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}},e.prototype.merge=function(e){var t=this;return Dt(e)&&(e=e.toJS()),ht((function(){m(e)?_(e).forEach((function(n){return t.set(n,e[n])})):Array.isArray(e)?e.forEach((function(e){var n=s(e,2),r=n[0],i=n[1];return t.set(r,i)})):x(e)?(e.constructor!==Map&&d(\"Cannot initialize from classes that inherit from Map: \"+e.constructor.name),e.forEach((function(e,n){return t.set(n,e)}))):null!==e&&void 0!==e&&d(\"Cannot initialize map from \"+e)})),this},e.prototype.clear=function(){var e=this;ht((function(){ce((function(){var t,n;try{for(var r=a(e.keys()),i=r.next();!i.done;i=r.next()){var o=i.value;e.delete(o)}}catch(s){t={error:s}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(t)throw t.error}}}))}))},e.prototype.replace=function(e){var t=this;return ht((function(){var n,r=m(n=e)?Object.keys(n):Array.isArray(n)?n.map((function(e){return s(e,1)[0]})):x(n)||Dt(n)?Array.from(n.keys()):d(\"Cannot get keys from '\"+n+\"'\");Array.from(t.keys()).filter((function(e){return-1===r.indexOf(e)})).forEach((function(e){return t.delete(e)})),t.merge(e)})),this},Object.defineProperty(e.prototype,\"size\",{get:function(){return this._keysAtom.reportObserved(),this._data.size},enumerable:!0,configurable:!0}),e.prototype.toPOJO=function(){var e,t,n={};try{for(var r=a(this),i=r.next();!i.done;i=r.next()){var o=s(i.value,2),c=o[0],u=o[1];n[\"symbol\"===typeof c?c:k(c)]=u}}catch(l){e={error:l}}finally{try{i&&!i.done&&(t=r.return)&&t.call(r)}finally{if(e)throw e.error}}return n},e.prototype.toJS=function(){return new Map(this)},e.prototype.toJSON=function(){return this.toPOJO()},e.prototype.toString=function(){var e=this;return this.name+\"[{ \"+Array.from(this.keys()).map((function(t){return k(t)+\": \"+e.get(t)})).join(\", \")+\" }]\"},e.prototype.observe=function(e,t){return _t(this,e)},e.prototype.intercept=function(e){return vt(this,e)},e}(),Dt=v(\"ObservableMap\",Nt),Rt={},It=function(){function e(e,t,n){if(void 0===t&&(t=B),void 0===n&&(n=\"ObservableSet@\"+f()),this.name=n,this[Mt]=Rt,this._data=new Set,this._atom=T(this.name),this[Symbol.toStringTag]=\"Set\",\"function\"!==typeof Set)throw new Error(\"mobx.set requires Set polyfill for the current browser. Check babel-polyfill or core-js/es6/set.js\");this.enhancer=function(e,r){return t(e,r,n)},e&&this.replace(e)}return e.prototype.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},e.prototype.clear=function(){var e=this;ht((function(){ce((function(){var t,n;try{for(var r=a(e._data.values()),i=r.next();!i.done;i=r.next()){var o=i.value;e.delete(o)}}catch(s){t={error:s}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(t)throw t.error}}}))}))},e.prototype.forEach=function(e,t){var n,r;try{for(var i=a(this),o=i.next();!o.done;o=i.next()){var s=o.value;e.call(t,s,s,this)}}catch(c){n={error:c}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}},Object.defineProperty(e.prototype,\"size\",{get:function(){return this._atom.reportObserved(),this._data.size},enumerable:!0,configurable:!0}),e.prototype.add=function(e){var t=this;if((oe(this._atom),bt(this))&&!(i=xt(this,{type:\"add\",object:this,newValue:e})))return this;if(!this.has(e)){ht((function(){t._data.add(t.enhancer(e,void 0)),t._atom.reportChanged()}));var n=!1,r=wt(this),i=r?{type:\"add\",object:this,newValue:e}:null;n,r&&kt(this,i)}return this},e.prototype.delete=function(e){var t=this;if(bt(this)&&!(r=xt(this,{type:\"delete\",object:this,oldValue:e})))return!1;if(this.has(e)){var n=wt(this),r=n?{type:\"delete\",object:this,oldValue:e}:null;return ht((function(){t._atom.reportChanged(),t._data.delete(e)})),n&&kt(this,r),!0}return!1},e.prototype.has=function(e){return this._atom.reportObserved(),this._data.has(this.dehanceValue(e))},e.prototype.entries=function(){var e=0,t=Array.from(this.keys()),n=Array.from(this.values());return Jt({next:function(){var r=e;return e+=1,r<n.length?{value:[t[r],n[r]],done:!1}:{done:!0}}})},e.prototype.keys=function(){return this.values()},e.prototype.values=function(){this._atom.reportObserved();var e=this,t=0,n=Array.from(this._data.values());return Jt({next:function(){return t<n.length?{value:e.dehanceValue(n[t++]),done:!1}:{done:!0}}})},e.prototype.replace=function(e){var t=this;return Lt(e)&&(e=e.toJS()),ht((function(){Array.isArray(e)||w(e)?(t.clear(),e.forEach((function(e){return t.add(e)}))):null!==e&&void 0!==e&&d(\"Cannot initialize set from \"+e)})),this},e.prototype.observe=function(e,t){return _t(this,e)},e.prototype.intercept=function(e){return vt(this,e)},e.prototype.toJS=function(){return new Set(this)},e.prototype.toString=function(){return this.name+\"[ \"+Array.from(this).join(\", \")+\" ]\"},e.prototype[(Mt=E,Symbol.iterator)]=function(){return this.values()},e}(),Lt=v(\"ObservableSet\",It),Bt=function(){function e(e,t,n,r){void 0===t&&(t=new Map),this.target=e,this.values=t,this.name=n,this.defaultEnhancer=r,this.keysAtom=new S(n+\".keys\")}return e.prototype.read=function(e){return this.values.get(e).get()},e.prototype.write=function(e,t){var n=this.target,r=this.values.get(e);if(r instanceof _e)r.set(t);else{if(bt(this)){if(!(a=xt(this,{type:\"update\",object:this.proxy||n,name:e,newValue:t})))return;t=a.newValue}if((t=r.prepareNewValue(t))!==je.UNCHANGED){var i=wt(this),o=!1,a=i?{type:\"update\",object:this.proxy||n,oldValue:r.value,name:e,newValue:t}:null;o,r.setNewValue(t),i&&kt(this,a)}}},e.prototype.has=function(e){var t=this.pendingKeys||(this.pendingKeys=new Map),n=t.get(e);if(n)return n.get();var r=!!this.values.get(e);return n=new we(r,F,this.name+\".\"+k(e)+\"?\",!1),t.set(e,n),n.get()},e.prototype.addObservableProp=function(e,t,n){void 0===n&&(n=this.defaultEnhancer);var r=this.target;if(bt(this)){var i=xt(this,{object:this.proxy||r,name:e,type:\"add\",newValue:t});if(!i)return;t=i.newValue}var o=new we(t,n,this.name+\".\"+k(e),!1);this.values.set(e,o),t=o.value,Object.defineProperty(r,e,function(e){return zt[e]||(zt[e]={configurable:!0,enumerable:!0,get:function(){return this[E].read(e)},set:function(t){this[E].write(e,t)}})}(e)),this.notifyPropertyAddition(e,t)},e.prototype.addComputedProp=function(e,t,n){var r=this.target;n.name=n.name||this.name+\".\"+k(t),this.values.set(t,new _e(n)),(e===r||function(e,t){var n=Object.getOwnPropertyDescriptor(e,t);return!n||!1!==n.configurable&&!1!==n.writable}(e,t))&&Object.defineProperty(e,t,function(e){return Ut[e]||(Ut[e]={configurable:je.computedConfigurable,enumerable:!1,get:function(){return Ht(this).read(e)},set:function(t){Ht(this).write(e,t)}})}(t))},e.prototype.remove=function(e){if(this.values.has(e)){var t=this.target;if(bt(this))if(!(s=xt(this,{object:this.proxy||t,name:e,type:\"remove\"})))return;try{Ne();var n=wt(this),r=!1,i=this.values.get(e),o=i&&i.get();if(i&&i.set(void 0),this.keysAtom.reportChanged(),this.values.delete(e),this.pendingKeys){var a=this.pendingKeys.get(e);a&&a.set(!1)}delete this.target[e];var s=n?{type:\"remove\",object:this.proxy||t,oldValue:o,name:e}:null;r,n&&kt(this,s)}finally{De()}}},e.prototype.illegalAccess=function(e,t){console.warn(\"Property '\"+t+\"' of '\"+e+\"' was accessed through the prototype chain. Use 'decorate' instead to declare the prop or access it statically through it's owner\")},e.prototype.observe=function(e,t){return _t(this,e)},e.prototype.intercept=function(e){return vt(this,e)},e.prototype.notifyPropertyAddition=function(e,t){var n=wt(this),r=n?{type:\"add\",object:this.proxy||this.target,name:e,newValue:t}:null;if(n&&kt(this,r),this.pendingKeys){var i=this.pendingKeys.get(e);i&&i.set(!0)}this.keysAtom.reportChanged()},e.prototype.getKeys=function(){var e,t;this.keysAtom.reportObserved();var n=[];try{for(var r=a(this.values),i=r.next();!i.done;i=r.next()){var o=s(i.value,2),c=o[0];o[1]instanceof we&&n.push(c)}}catch(u){e={error:u}}finally{try{i&&!i.done&&(t=r.return)&&t.call(r)}finally{if(e)throw e.error}}return n},e}();function Ft(e,t,n){if(void 0===t&&(t=\"\"),void 0===n&&(n=B),Object.prototype.hasOwnProperty.call(e,E))return e[E];m(e)||(t=(e.constructor.name||\"ObservableObject\")+\"@\"+f()),t||(t=\"ObservableObject@\"+f());var r=new Bt(e,new Map,k(t),n);return b(e,E,r),r}var zt=Object.create(null),Ut=Object.create(null);function Ht(e){var t=e[E];return t||(R(e),e[E])}var Wt=v(\"ObservableObjectAdministration\",Bt);function Yt(e){return!!y(e)&&(R(e),Wt(e[E]))}function Vt(e,t){if(\"object\"===typeof e&&null!==e){if(At(e))return void 0!==t&&d(!1),e[E].atom;if(Lt(e))return e[E];if(Dt(e)){var n=e;return void 0===t?n._keysAtom:((r=n._data.get(t)||n._hasMap.get(t))||d(!1),r)}var r;if(R(e),t&&!e[E]&&e[t],Yt(e))return t?((r=e[E].values.get(t))||d(!1),r):d(!1);if(C(e)||ke(e)||He(e))return e}else if(\"function\"===typeof e&&He(e[E]))return e[E];return d(!1)}function qt(e,t){return e||d(\"Expecting some object\"),void 0!==t?qt(Vt(e,t)):C(e)||ke(e)||He(e)||Dt(e)||Lt(e)?e:(R(e),e[E]?e[E]:void d(!1))}var $t=Object.prototype.toString;function Gt(e,t,n){return void 0===n&&(n=-1),Xt(e,t,n)}function Xt(e,t,n,r,i){if(e===t)return 0!==e||1/e===1/t;if(null==e||null==t)return!1;if(e!==e)return t!==t;var o=typeof e;if(\"function\"!==o&&\"object\"!==o&&\"object\"!=typeof t)return!1;var a=$t.call(e);if(a!==$t.call(t))return!1;switch(a){case\"[object RegExp]\":case\"[object String]\":return\"\"+e===\"\"+t;case\"[object Number]\":return+e!==+e?+t!==+t:0===+e?1/+e===1/t:+e===+t;case\"[object Date]\":case\"[object Boolean]\":return+e===+t;case\"[object Symbol]\":return\"undefined\"!==typeof Symbol&&Symbol.valueOf.call(e)===Symbol.valueOf.call(t);case\"[object Map]\":case\"[object Set]\":n>=0&&n++}e=Kt(e),t=Kt(t);var s=\"[object Array]\"===a;if(!s){if(\"object\"!=typeof e||\"object\"!=typeof t)return!1;var c=e.constructor,u=t.constructor;if(c!==u&&!(\"function\"===typeof c&&c instanceof c&&\"function\"===typeof u&&u instanceof u)&&\"constructor\"in e&&\"constructor\"in t)return!1}if(0===n)return!1;n<0&&(n=-1),i=i||[];for(var l=(r=r||[]).length;l--;)if(r[l]===e)return i[l]===t;if(r.push(e),i.push(t),s){if((l=e.length)!==t.length)return!1;for(;l--;)if(!Xt(e[l],t[l],n-1,r,i))return!1}else{var f=Object.keys(e),d=void 0;if(l=f.length,Object.keys(t).length!==l)return!1;for(;l--;)if(!Zt(t,d=f[l])||!Xt(e[d],t[d],n-1,r,i))return!1}return r.pop(),i.pop(),!0}function Kt(e){return At(e)?e.slice():x(e)||Dt(e)||w(e)||Lt(e)?Array.from(e.entries()):e}function Zt(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Jt(e){return e[Symbol.iterator]=Qt,e}function Qt(){return this}if(\"undefined\"===typeof Proxy||\"undefined\"===typeof Symbol)throw new Error(\"[mobx] MobX 5+ requires Proxy and Symbol objects. If your environment doesn't support Symbol or Proxy objects, please downgrade to MobX 4. For React Native Android, consider upgrading JSCore.\");\"object\"===typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:Ye,extras:{getDebugName:function(e,t){return(void 0!==t?Vt(e,t):Yt(e)||Dt(e)||Lt(e)?qt(e):Vt(e)).name}},$mobx:E})}).call(this,n(156),n(113))},function(e,t,n){\"use strict\";function r(e,t,n,r,i){var o={};return Object.keys(r).forEach((function(e){o[e]=r[e]})),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,(\"value\"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";function r(e){var t,n,i=\"\";if(e)if(\"object\"===typeof e)if(e.push)for(t=0;t<e.length;t++)e[t]&&(n=r(e[t]))&&(i&&(i+=\" \"),i+=n);else for(t in e)e[t]&&(n=r(t))&&(i&&(i+=\" \"),i+=n);else\"boolean\"===typeof e||e.call||(i&&(i+=\" \"),i+=e);return i}t.a=function(){for(var e,t=0,n=\"\";t<arguments.length;)(e=r(arguments[t++]))&&(n&&(n+=\" \"),n+=e);return n}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(51);function i(e,t){if(null==e)return{};var n,i,o=Object(r.a)(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=n.n(o),s=(n(1),n(209)),c=n.n(s),u=n(779),l=n(747),f=n(266),d=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(n){var o=t.defaultTheme,s=t.withTheme,d=void 0!==s&&s,h=t.name,p=Object(i.a)(t,[\"defaultTheme\",\"withTheme\",\"name\"]);var g=h,y=Object(u.a)(e,Object(r.a)({defaultTheme:o,Component:n,name:h||n.displayName,classNamePrefix:g},p)),m=a.a.forwardRef((function(e,t){e.classes;var s,c=e.innerRef,u=Object(i.a)(e,[\"classes\",\"innerRef\"]),p=y(Object(r.a)({},n.defaultProps,e)),g=u;return(\"string\"===typeof h||d)&&(s=Object(f.a)()||o,h&&(g=Object(l.a)({theme:s,name:h,props:u})),d&&!g.theme&&(g.theme=s)),a.a.createElement(n,Object(r.a)({ref:c||t,classes:p},g))}));return c()(m,n),m}},h=n(101);t.a=function(e,t){return d(e,Object(r.a)({defaultTheme:h.a},t))}},function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";function r(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function i(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}n.d(t,\"a\",(function(){return i}))},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return c})),n.d(t,\"d\",(function(){return a})),n.d(t,\"c\",(function(){return s})),n.d(t,\"a\",(function(){return r})),n.d(t,\"e\",(function(){return i})),n.d(t,\"f\",(function(){return f})),n.d(t,\"g\",(function(){return d})),n.d(t,\"h\",(function(){return g})),n.d(t,\"i\",(function(){return y})),n.d(t,\"j\",(function(){return A})),n.d(t,\"w\",(function(){return P})),n.d(t,\"x\",(function(){return N})),n.d(t,\"y\",(function(){return j})),n.d(t,\"k\",(function(){return D})),n.d(t,\"l\",(function(){return R})),n.d(t,\"m\",(function(){return I})),n.d(t,\"n\",(function(){return L})),n.d(t,\"o\",(function(){return B})),n.d(t,\"p\",(function(){return u})),n.d(t,\"q\",(function(){return F})),n.d(t,\"r\",(function(){return M})),n.d(t,\"s\",(function(){return _})),n.d(t,\"t\",(function(){return z})),n.d(t,\"u\",(function(){return U})),n.d(t,\"v\",(function(){return H})),n.d(t,\"B\",(function(){return S})),n.d(t,\"z\",(function(){return C})),n.d(t,\"A\",(function(){return T})),n.d(t,\"C\",(function(){return W})),n.d(t,\"D\",(function(){return p})),n.d(t,\"E\",(function(){return V}));var r=function(e,t){return e<t?-1:e>t?1:e>=t?0:NaN},i=function(e){var t;return 1===e.length&&(t=e,e=function(e,n){return r(t(e),n)}),{left:function(t,n,r,i){for(null==r&&(r=0),null==i&&(i=t.length);r<i;){var o=r+i>>>1;e(t[o],n)<0?r=o+1:i=o}return r},right:function(t,n,r,i){for(null==r&&(r=0),null==i&&(i=t.length);r<i;){var o=r+i>>>1;e(t[o],n)>0?i=o:r=o+1}return r}}};var o=i(r),a=o.right,s=o.left,c=a,u=function(e,t){null==t&&(t=l);for(var n=0,r=e.length-1,i=e[0],o=new Array(r<0?0:r);n<r;)o[n]=t(i,i=e[++n]);return o};function l(e,t){return[e,t]}var f=function(e,t,n){var r,i,o,a,s=e.length,c=t.length,u=new Array(s*c);for(null==n&&(n=l),r=o=0;r<s;++r)for(a=e[r],i=0;i<c;++i,++o)u[o]=n(a,t[i]);return u},d=function(e,t){return t<e?-1:t>e?1:t>=e?0:NaN},h=function(e){return null===e?NaN:+e},p=function(e,t){var n,r,i=e.length,o=0,a=-1,s=0,c=0;if(null==t)for(;++a<i;)isNaN(n=h(e[a]))||(c+=(r=n-s)*(n-(s+=r/++o)));else for(;++a<i;)isNaN(n=h(t(e[a],a,e)))||(c+=(r=n-s)*(n-(s+=r/++o)));if(o>1)return c/(o-1)},g=function(e,t){var n=p(e,t);return n?Math.sqrt(n):n},y=function(e,t){var n,r,i,o=e.length,a=-1;if(null==t){for(;++a<o;)if(null!=(n=e[a])&&n>=n)for(r=i=n;++a<o;)null!=(n=e[a])&&(r>n&&(r=n),i<n&&(i=n))}else for(;++a<o;)if(null!=(n=t(e[a],a,e))&&n>=n)for(r=i=n;++a<o;)null!=(n=t(e[a],a,e))&&(r>n&&(r=n),i<n&&(i=n));return[r,i]},m=Array.prototype,b=m.slice,v=m.map,x=function(e){return function(){return e}},w=function(e){return e},_=function(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=0|Math.max(0,Math.ceil((t-e)/n)),o=new Array(i);++r<i;)o[r]=e+r*n;return o},k=Math.sqrt(50),O=Math.sqrt(10),E=Math.sqrt(2),S=function(e,t,n){var r,i,o,a,s=-1;if(n=+n,(e=+e)===(t=+t)&&n>0)return[e];if((r=t<e)&&(i=e,e=t,t=i),0===(a=C(e,t,n))||!isFinite(a))return[];if(a>0)for(e=Math.ceil(e/a),t=Math.floor(t/a),o=new Array(i=Math.ceil(t-e+1));++s<i;)o[s]=(e+s)*a;else for(e=Math.floor(e*a),t=Math.ceil(t*a),o=new Array(i=Math.ceil(e-t+1));++s<i;)o[s]=(e-s)/a;return r&&o.reverse(),o};function C(e,t,n){var r=(t-e)/Math.max(0,n),i=Math.floor(Math.log(r)/Math.LN10),o=r/Math.pow(10,i);return i>=0?(o>=k?10:o>=O?5:o>=E?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(o>=k?10:o>=O?5:o>=E?2:1)}function T(e,t,n){var r=Math.abs(t-e)/Math.max(0,n),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),o=r/i;return o>=k?i*=10:o>=O?i*=5:o>=E&&(i*=2),t<e?-i:i}var j=function(e){return Math.ceil(Math.log(e.length)/Math.LN2)+1},A=function(){var e=w,t=y,n=j;function r(r){var i,o,a=r.length,s=new Array(a);for(i=0;i<a;++i)s[i]=e(r[i],i,r);var u=t(s),l=u[0],f=u[1],d=n(s,l,f);Array.isArray(d)||(d=T(l,f,d),d=_(Math.ceil(l/d)*d,f,d));for(var h=d.length;d[0]<=l;)d.shift(),--h;for(;d[h-1]>f;)d.pop(),--h;var p,g=new Array(h+1);for(i=0;i<=h;++i)(p=g[i]=[]).x0=i>0?d[i-1]:l,p.x1=i<h?d[i]:f;for(i=0;i<a;++i)l<=(o=s[i])&&o<=f&&g[c(d,o,0,h)].push(r[i]);return g}return r.value=function(t){return arguments.length?(e=\"function\"===typeof t?t:x(t),r):e},r.domain=function(e){return arguments.length?(t=\"function\"===typeof e?e:x([e[0],e[1]]),r):t},r.thresholds=function(e){return arguments.length?(n=\"function\"===typeof e?e:Array.isArray(e)?x(b.call(e)):x(e),r):n},r},M=function(e,t,n){if(null==n&&(n=h),r=e.length){if((t=+t)<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,i=(r-1)*t,o=Math.floor(i),a=+n(e[o],o,e);return a+(+n(e[o+1],o+1,e)-a)*(i-o)}},P=function(e,t,n){return e=v.call(e,h).sort(r),Math.ceil((n-t)/(2*(M(e,.75)-M(e,.25))*Math.pow(e.length,-1/3)))},N=function(e,t,n){return Math.ceil((n-t)/(3.5*g(e)*Math.pow(e.length,-1/3)))},D=function(e,t){var n,r,i=e.length,o=-1;if(null==t){for(;++o<i;)if(null!=(n=e[o])&&n>=n)for(r=n;++o<i;)null!=(n=e[o])&&n>r&&(r=n)}else for(;++o<i;)if(null!=(n=t(e[o],o,e))&&n>=n)for(r=n;++o<i;)null!=(n=t(e[o],o,e))&&n>r&&(r=n);return r},R=function(e,t){var n,r=e.length,i=r,o=-1,a=0;if(null==t)for(;++o<r;)isNaN(n=h(e[o]))?--i:a+=n;else for(;++o<r;)isNaN(n=h(t(e[o],o,e)))?--i:a+=n;if(i)return a/i},I=function(e,t){var n,i=e.length,o=-1,a=[];if(null==t)for(;++o<i;)isNaN(n=h(e[o]))||a.push(n);else for(;++o<i;)isNaN(n=h(t(e[o],o,e)))||a.push(n);return M(a.sort(r),.5)},L=function(e){for(var t,n,r,i=e.length,o=-1,a=0;++o<i;)a+=e[o].length;for(n=new Array(a);--i>=0;)for(t=(r=e[i]).length;--t>=0;)n[--a]=r[t];return n},B=function(e,t){var n,r,i=e.length,o=-1;if(null==t){for(;++o<i;)if(null!=(n=e[o])&&n>=n)for(r=n;++o<i;)null!=(n=e[o])&&r>n&&(r=n)}else for(;++o<i;)if(null!=(n=t(e[o],o,e))&&n>=n)for(r=n;++o<i;)null!=(n=t(e[o],o,e))&&r>n&&(r=n);return r},F=function(e,t){for(var n=t.length,r=new Array(n);n--;)r[n]=e[t[n]];return r},z=function(e,t){if(n=e.length){var n,i,o=0,a=0,s=e[a];for(null==t&&(t=r);++o<n;)(t(i=e[o],s)<0||0!==t(s,s))&&(s=i,a=o);return 0===t(s,s)?a:void 0}},U=function(e,t,n){for(var r,i,o=(null==n?e.length:n)-(t=null==t?0:+t);o;)i=Math.random()*o--|0,r=e[o+t],e[o+t]=e[i+t],e[i+t]=r;return e},H=function(e,t){var n,r=e.length,i=-1,o=0;if(null==t)for(;++i<r;)(n=+e[i])&&(o+=n);else for(;++i<r;)(n=+t(e[i],i,e))&&(o+=n);return o},W=function(e){if(!(i=e.length))return[];for(var t=-1,n=B(e,Y),r=new Array(n);++t<n;)for(var i,o=-1,a=r[t]=new Array(i);++o<i;)a[o]=e[o][t];return r};function Y(e){return e.length}var V=function(){return W(arguments)}},function(e,t,n){\"use strict\";function r(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return r})),n.d(t,\"d\",(function(){return i})),n.d(t,\"e\",(function(){return o})),n.d(t,\"h\",(function(){return a})),n.d(t,\"i\",(function(){return s})),n.d(t,\"k\",(function(){return c})),n.d(t,\"l\",(function(){return u})),n.d(t,\"f\",(function(){return l})),n.d(t,\"j\",(function(){return f})),n.d(t,\"g\",(function(){return d})),n.d(t,\"m\",(function(){return h})),n.d(t,\"b\",(function(){return p})),n.d(t,\"c\",(function(){return g}));var r=Math.abs,i=Math.atan2,o=Math.cos,a=Math.max,s=Math.min,c=Math.sin,u=Math.sqrt,l=1e-12,f=Math.PI,d=f/2,h=2*f;function p(e){return e>1?0:e<-1?f:Math.acos(e)}function g(e){return e>=1?d:e<=-1?-d:Math.asin(e)}},function(e,t,n){\"use strict\";function r(e){return r=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},r(e)}function i(e){return i=\"function\"===typeof Symbol&&\"symbol\"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},i(e)}n.d(t,\"a\",(function(){return s}));var o=n(13);function a(e,t){return!t||\"object\"!==i(t)&&\"function\"!==typeof t?Object(o.a)(e):t}function s(e){var t=function(){if(\"undefined\"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=r(e);if(t){var o=r(this).constructor;n=Reflect.construct(i,arguments,o)}else n=i.apply(this,arguments);return a(this,n)}}},function(e,t,n){\"use strict\";function r(e,t){return r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},r(e,t)}function i(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&r(e,t)}n.d(t,\"a\",(function(){return i}))},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(395);function i(e){if(\"string\"!==typeof e)throw new Error(Object(r.a)(7));return e.charAt(0).toUpperCase()+e.slice(1)}},function(e,t,n){\"use strict\";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";n.d(t,\"d\",(function(){return s})),n.d(t,\"b\",(function(){return u})),n.d(t,\"c\",(function(){return l})),n.d(t,\"a\",(function(){return f})),n.d(t,\"e\",(function(){return d}));var r=n(395);function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return Math.min(Math.max(t,e),n)}function o(e){if(e.type)return e;if(\"#\"===e.charAt(0))return o(function(e){e=e.substr(1);var t=new RegExp(\".{1,\".concat(e.length>=6?2:1,\"}\"),\"g\"),n=e.match(t);return n&&1===n[0].length&&(n=n.map((function(e){return e+e}))),n?\"rgb\".concat(4===n.length?\"a\":\"\",\"(\").concat(n.map((function(e,t){return t<3?parseInt(e,16):Math.round(parseInt(e,16)/255*1e3)/1e3})).join(\", \"),\")\"):\"\"}(e));var t=e.indexOf(\"(\"),n=e.substring(0,t);if(-1===[\"rgb\",\"rgba\",\"hsl\",\"hsla\"].indexOf(n))throw new Error(Object(r.a)(3,e));var i=e.substring(t+1,e.length-1).split(\",\");return{type:n,values:i=i.map((function(e){return parseFloat(e)}))}}function a(e){var t=e.type,n=e.values;return-1!==t.indexOf(\"rgb\")?n=n.map((function(e,t){return t<3?parseInt(e,10):e})):-1!==t.indexOf(\"hsl\")&&(n[1]=\"\".concat(n[1],\"%\"),n[2]=\"\".concat(n[2],\"%\")),\"\".concat(t,\"(\").concat(n.join(\", \"),\")\")}function s(e,t){var n=c(e),r=c(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}function c(e){var t=\"hsl\"===(e=o(e)).type?o(function(e){var t=(e=o(e)).values,n=t[0],r=t[1]/100,i=t[2]/100,s=r*Math.min(i,1-i),c=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(e+n/30)%12;return i-s*Math.max(Math.min(t-3,9-t,1),-1)},u=\"rgb\",l=[Math.round(255*c(0)),Math.round(255*c(8)),Math.round(255*c(4))];return\"hsla\"===e.type&&(u+=\"a\",l.push(t[3])),a({type:u,values:l})}(e)).values:e.values;return t=t.map((function(e){return(e/=255)<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)})),Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.15;return c(e)>.5?f(e,t):d(e,t)}function l(e,t){return e=o(e),t=i(t),\"rgb\"!==e.type&&\"hsl\"!==e.type||(e.type+=\"a\"),e.values[3]=t,a(e)}function f(e,t){if(e=o(e),t=i(t),-1!==e.type.indexOf(\"hsl\"))e.values[2]*=1-t;else if(-1!==e.type.indexOf(\"rgb\"))for(var n=0;n<3;n+=1)e.values[n]*=1-t;return a(e)}function d(e,t){if(e=o(e),t=i(t),-1!==e.type.indexOf(\"hsl\"))e.values[2]+=(100-e.values[2])*t;else if(-1!==e.type.indexOf(\"rgb\"))for(var n=0;n<3;n+=1)e.values[n]+=(255-e.values[n])*t;return a(e)}},function(e,t,n){\"use strict\";(function(e){n.d(t,\"a\",(function(){return M}));var r=n(25),i=n(58),o=n(0),a=n.n(o),s=n(4),c=0;var u={};function l(e){return u[e]||(u[e]=function(e){if(\"function\"===typeof Symbol)return Symbol(e);var t=\"__$mobx-react \"+e+\" (\"+c+\")\";return c++,t}(e)),u[e]}function f(e,t){if(d(e,t))return!0;if(\"object\"!==typeof e||null===e||\"object\"!==typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var i=0;i<n.length;i++)if(!hasOwnProperty.call(t,n[i])||!d(e[n[i]],t[n[i]]))return!1;return!0}function d(e,t){return e===t?0!==e||1/e===1/t:e!==e&&t!==t}function h(e,t,n){Object.hasOwnProperty.call(e,t)?e[t]=n:Object.defineProperty(e,t,{enumerable:!1,configurable:!0,writable:!0,value:n})}var p=l(\"patchMixins\"),g=l(\"patchedDefinition\");function y(e,t){for(var n=this,r=[],i=arguments.length-2;i-- >0;)r[i]=arguments[i+2];t.locks++;try{var o;return void 0!==e&&null!==e&&(o=e.apply(this,r)),o}finally{t.locks--,0===t.locks&&t.methods.forEach((function(e){e.apply(n,r)}))}}function m(e,t){return function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];y.call.apply(y,[this,e,t].concat(n))}}function b(e,t,n){var r=function(e,t){var n=e[p]=e[p]||{},r=n[t]=n[t]||{};return r.locks=r.locks||0,r.methods=r.methods||[],r}(e,t);r.methods.indexOf(n)<0&&r.methods.push(n);var i=Object.getOwnPropertyDescriptor(e,t);if(!i||!i[g]){var o=e[t],a=v(e,t,i?i.enumerable:void 0,r,o);Object.defineProperty(e,t,a)}}function v(e,t,n,r,i){var o,a=m(i,r);return(o={})[g]=!0,o.get=function(){return a},o.set=function(i){if(this===e)a=m(i,r);else{var o=v(this,t,n,r,i);Object.defineProperty(this,t,o)}},o.configurable=!0,o.enumerable=n,o}var x=s.a||\"$mobx\",w=l(\"isUnmounted\"),_=l(\"skipRender\"),k=l(\"isForcingUpdate\");function O(e){var t=e.prototype;if(t.componentWillReact)throw new Error(\"The componentWillReact life-cycle event is no longer supported\");if(e.__proto__!==o.PureComponent)if(t.shouldComponentUpdate){if(t.shouldComponentUpdate!==S)throw new Error(\"It is not allowed to use shouldComponentUpdate in observer based components.\")}else t.shouldComponentUpdate=S;C(t,\"props\"),C(t,\"state\");var n=t.render;return t.render=function(){return E.call(this,n)},b(t,\"componentWillUnmount\",(function(){if(!0!==Object(i.b)()){if(this.render[x])this.render[x].dispose();else;this[w]=!0}})),e}function E(e){var t=this;if(!0===Object(i.b)())return e.call(this);h(this,_,!1),h(this,k,!1);var n,r=(n=this).displayName||n.name||n.constructor&&(n.constructor.displayName||n.constructor.name)||\"<component>\",a=e.bind(this),c=!1,u=new s.b(r+\".render()\",(function(){if(!c&&(c=!0,!0!==t[w])){var e=!0;try{h(t,k,!0),t[_]||o.Component.prototype.forceUpdate.call(t),e=!1}finally{h(t,k,!1),e&&u.dispose()}}}));function l(){c=!1;var e=void 0,t=void 0;if(u.track((function(){try{t=Object(s.c)(!1,a)}catch(n){e=n}})),e)throw e;return t}return u.reactComponent=this,l[x]=u,this.render=l,l.call(this)}function S(e,t){return Object(i.b)()&&console.warn(\"[mobx-react] It seems that a re-rendering of a React component is triggered while in static (server-side) mode. Please make sure components are rendered only once server-side.\"),this.state!==t||!f(this.props,e)}function C(e,t){var n=l(\"reactProp_\"+t+\"_valueHolder\"),r=l(\"reactProp_\"+t+\"_atomHolder\");function i(){return this[r]||h(this,r,Object(s.g)(\"reactive \"+t)),this[r]}Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){return i.call(this).reportObserved(),this[n]},set:function(e){this[k]||f(this[n],e)?h(this,n,e):(h(this,n,e),h(this,_,!0),i.call(this).reportChanged(),h(this,_,!1))}})}var T=\"function\"===typeof Symbol&&Symbol.for,j=T?Symbol.for(\"react.forward_ref\"):\"function\"===typeof o.forwardRef&&Object(o.forwardRef)((function(){})).$$typeof,A=T?Symbol.for(\"react.memo\"):\"function\"===typeof o.memo&&Object(o.memo)((function(){})).$$typeof;function M(e){if(!0===e.isMobxInjector&&console.warn(\"Mobx observer: You are trying to use 'observer' on a component that already has 'inject'. Please apply 'observer' before applying 'inject'\"),A&&e.$$typeof===A)throw new Error(\"Mobx observer: You are trying to use 'observer' on function component wrapped to either another observer or 'React.memo'. The observer already applies 'React.memo' for you.\");if(j&&e.$$typeof===j){var t=e.render;if(\"function\"!==typeof t)throw new Error(\"render property of ForwardRef was not a function\");return Object(o.forwardRef)((function(){var e=arguments;return a.a.createElement(i.a,null,(function(){return t.apply(void 0,e)}))}))}return\"function\"!==typeof e||e.prototype&&e.prototype.render||e.isReactClass||Object.prototype.isPrototypeOf.call(o.Component,e)?O(e):Object(i.c)(e)}a.a.createContext({});l(\"disposeOnUnmountProto\"),l(\"disposeOnUnmountInst\");function P(e){function t(t,n,r,i,o,a){for(var c=[],u=arguments.length-6;u-- >0;)c[u]=arguments[u+6];return Object(s.p)((function(){if(i=i||\"<<anonymous>>\",a=a||r,null==n[r]){if(t){var s=null===n[r]?\"null\":\"undefined\";return new Error(\"The \"+o+\" `\"+a+\"` is marked as required in `\"+i+\"`, but its value is `\"+s+\"`.\")}return null}return e.apply(void 0,[n,r,i,o,a].concat(c))}))}var n=t.bind(null,!1);return n.isRequired=t.bind(null,!0),n}function N(e){var t=typeof e;return Array.isArray(e)?\"array\":e instanceof RegExp?\"object\":function(e,t){return\"symbol\"===e||\"Symbol\"===t[\"@@toStringTag\"]||\"function\"===typeof Symbol&&t instanceof Symbol}(t,e)?\"symbol\":t}function D(e,t){return P((function(n,r,i,o,a){return Object(s.p)((function(){if(e&&N(n[r])===t.toLowerCase())return null;var o;switch(t){case\"Array\":o=s.i;break;case\"Object\":o=s.k;break;case\"Map\":o=s.j;break;default:throw new Error(\"Unexpected mobxType: \"+t)}var c=n[r];if(!o(c)){var u=function(e){var t=N(e);if(\"object\"===t){if(e instanceof Date)return\"date\";if(e instanceof RegExp)return\"regexp\"}return t}(c),l=e?\" or javascript `\"+t.toLowerCase()+\"`\":\"\";return new Error(\"Invalid prop `\"+a+\"` of type `\"+u+\"` supplied to `\"+i+\"`, expected `mobx.Observable\"+t+\"`\"+l+\".\")}return null}))}))}function R(e,t){return P((function(n,r,i,o,a){for(var c=[],u=arguments.length-5;u-- >0;)c[u]=arguments[u+5];return Object(s.p)((function(){if(\"function\"!==typeof t)return new Error(\"Property `\"+a+\"` of component `\"+i+\"` has invalid PropType notation.\");var s=D(e,\"Array\")(n,r,i);if(s instanceof Error)return s;for(var u=n[r],l=0;l<u.length;l++)if((s=t.apply(void 0,[u,l,i,o,a+\"[\"+l+\"]\"].concat(c)))instanceof Error)return s;return null}))}))}D(!1,\"Array\"),R.bind(null,!1),D(!1,\"Map\"),D(!1,\"Object\"),D(!0,\"Array\"),R.bind(null,!0),D(!0,\"Object\");if(!o.Component)throw new Error(\"mobx-react requires React to be available\");if(!s.l)throw new Error(\"mobx-react requires mobx to be available\");\"function\"===typeof r.unstable_batchedUpdates&&Object(s.f)({reactionScheduler:r.unstable_batchedUpdates})}).call(this,n(156))},function(e,t,n){\"use strict\";t.a=function(e){return function(){return e}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return o}));var r=n(0),i=n(69);function o(e,t){return r.useMemo((function(){return null==e&&null==t?null:function(n){Object(i.a)(e,n),Object(i.a)(t,n)}}),[e,t])}},function(e,t,n){(function(e){e.exports=function(){\"use strict\";var t,n;function r(){return t.apply(null,arguments)}function i(e){t=e}function o(e){return e instanceof Array||\"[object Array]\"===Object.prototype.toString.call(e)}function a(e){return null!=e&&\"[object Object]\"===Object.prototype.toString.call(e)}function s(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function c(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var t;for(t in e)if(s(e,t))return!1;return!0}function u(e){return void 0===e}function l(e){return\"number\"===typeof e||\"[object Number]\"===Object.prototype.toString.call(e)}function f(e){return e instanceof Date||\"[object Date]\"===Object.prototype.toString.call(e)}function d(e,t){var n,r=[];for(n=0;n<e.length;++n)r.push(t(e[n],n));return r}function h(e,t){for(var n in t)s(t,n)&&(e[n]=t[n]);return s(t,\"toString\")&&(e.toString=t.toString),s(t,\"valueOf\")&&(e.valueOf=t.valueOf),e}function p(e,t,n,r){return $n(e,t,n,r,!0).utc()}function g(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}}function y(e){return null==e._pf&&(e._pf=g()),e._pf}function m(e){if(null==e._isValid){var t=y(e),r=n.call(t.parsedDateParts,(function(e){return null!=e})),i=!isNaN(e._d.getTime())&&t.overflow<0&&!t.empty&&!t.invalidEra&&!t.invalidMonth&&!t.invalidWeekday&&!t.weekdayMismatch&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated&&(!t.meridiem||t.meridiem&&r);if(e._strict&&(i=i&&0===t.charsLeftOver&&0===t.unusedTokens.length&&void 0===t.bigHour),null!=Object.isFrozen&&Object.isFrozen(e))return i;e._isValid=i}return e._isValid}function b(e){var t=p(NaN);return null!=e?h(y(t),e):y(t).userInvalidated=!0,t}n=Array.prototype.some?Array.prototype.some:function(e){var t,n=Object(this),r=n.length>>>0;for(t=0;t<r;t++)if(t in n&&e.call(this,n[t],t,n))return!0;return!1};var v=r.momentProperties=[],x=!1;function w(e,t){var n,r,i;if(u(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),u(t._i)||(e._i=t._i),u(t._f)||(e._f=t._f),u(t._l)||(e._l=t._l),u(t._strict)||(e._strict=t._strict),u(t._tzm)||(e._tzm=t._tzm),u(t._isUTC)||(e._isUTC=t._isUTC),u(t._offset)||(e._offset=t._offset),u(t._pf)||(e._pf=y(t)),u(t._locale)||(e._locale=t._locale),v.length>0)for(n=0;n<v.length;n++)u(i=t[r=v[n]])||(e[r]=i);return e}function _(e){w(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===x&&(x=!0,r.updateOffset(this),x=!1)}function k(e){return e instanceof _||null!=e&&null!=e._isAMomentObject}function O(e){!1===r.suppressDeprecationWarnings&&\"undefined\"!==typeof console&&console.warn&&console.warn(\"Deprecation warning: \"+e)}function E(e,t){var n=!0;return h((function(){if(null!=r.deprecationHandler&&r.deprecationHandler(null,e),n){var i,o,a,c=[];for(o=0;o<arguments.length;o++){if(i=\"\",\"object\"===typeof arguments[o]){for(a in i+=\"\\n[\"+o+\"] \",arguments[0])s(arguments[0],a)&&(i+=a+\": \"+arguments[0][a]+\", \");i=i.slice(0,-2)}else i=arguments[o];c.push(i)}O(e+\"\\nArguments: \"+Array.prototype.slice.call(c).join(\"\")+\"\\n\"+(new Error).stack),n=!1}return t.apply(this,arguments)}),t)}var S,C={};function T(e,t){null!=r.deprecationHandler&&r.deprecationHandler(e,t),C[e]||(O(t),C[e]=!0)}function j(e){return\"undefined\"!==typeof Function&&e instanceof Function||\"[object Function]\"===Object.prototype.toString.call(e)}function A(e){var t,n;for(n in e)s(e,n)&&(j(t=e[n])?this[n]=t:this[\"_\"+n]=t);this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+\"|\"+/\\d{1,2}/.source)}function M(e,t){var n,r=h({},e);for(n in t)s(t,n)&&(a(e[n])&&a(t[n])?(r[n]={},h(r[n],e[n]),h(r[n],t[n])):null!=t[n]?r[n]=t[n]:delete r[n]);for(n in e)s(e,n)&&!s(t,n)&&a(e[n])&&(r[n]=h({},r[n]));return r}function P(e){null!=e&&this.set(e)}r.suppressDeprecationWarnings=!1,r.deprecationHandler=null,S=Object.keys?Object.keys:function(e){var t,n=[];for(t in e)s(e,t)&&n.push(t);return n};var N={sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"};function D(e,t,n){var r=this._calendar[e]||this._calendar.sameElse;return j(r)?r.call(t,n):r}function R(e,t,n){var r=\"\"+Math.abs(e),i=t-r.length;return(e>=0?n?\"+\":\"\":\"-\")+Math.pow(10,Math.max(0,i)).toString().substr(1)+r}var I=/(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,L=/(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,B={},F={};function z(e,t,n,r){var i=r;\"string\"===typeof r&&(i=function(){return this[r]()}),e&&(F[e]=i),t&&(F[t[0]]=function(){return R(i.apply(this,arguments),t[1],t[2])}),n&&(F[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function U(e){return e.match(/\\[[\\s\\S]/)?e.replace(/^\\[|\\]$/g,\"\"):e.replace(/\\\\/g,\"\")}function H(e){var t,n,r=e.match(I);for(t=0,n=r.length;t<n;t++)F[r[t]]?r[t]=F[r[t]]:r[t]=U(r[t]);return function(t){var i,o=\"\";for(i=0;i<n;i++)o+=j(r[i])?r[i].call(t,e):r[i];return o}}function W(e,t){return e.isValid()?(t=Y(t,e.localeData()),B[t]=B[t]||H(t),B[t](e)):e.localeData().invalidDate()}function Y(e,t){var n=5;function r(e){return t.longDateFormat(e)||e}for(L.lastIndex=0;n>=0&&L.test(e);)e=e.replace(L,r),L.lastIndex=0,n-=1;return e}var V={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"};function q(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.match(I).map((function(e){return\"MMMM\"===e||\"MM\"===e||\"DD\"===e||\"dddd\"===e?e.slice(1):e})).join(\"\"),this._longDateFormat[e])}var $=\"Invalid date\";function G(){return this._invalidDate}var X=\"%d\",K=/\\d{1,2}/;function Z(e){return this._ordinal.replace(\"%d\",e)}var J={future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",ss:\"%d seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",w:\"a week\",ww:\"%d weeks\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"};function Q(e,t,n,r){var i=this._relativeTime[n];return j(i)?i(e,t,n,r):i.replace(/%d/i,e)}function ee(e,t){var n=this._relativeTime[e>0?\"future\":\"past\"];return j(n)?n(t):n.replace(/%s/i,t)}var te={};function ne(e,t){var n=e.toLowerCase();te[n]=te[n+\"s\"]=te[t]=e}function re(e){return\"string\"===typeof e?te[e]||te[e.toLowerCase()]:void 0}function ie(e){var t,n,r={};for(n in e)s(e,n)&&(t=re(n))&&(r[t]=e[n]);return r}var oe={};function ae(e,t){oe[e]=t}function se(e){var t,n=[];for(t in e)s(e,t)&&n.push({unit:t,priority:oe[t]});return n.sort((function(e,t){return e.priority-t.priority})),n}function ce(e){return e%4===0&&e%100!==0||e%400===0}function ue(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function le(e){var t=+e,n=0;return 0!==t&&isFinite(t)&&(n=ue(t)),n}function fe(e,t){return function(n){return null!=n?(he(this,e,n),r.updateOffset(this,t),this):de(this,e)}}function de(e,t){return e.isValid()?e._d[\"get\"+(e._isUTC?\"UTC\":\"\")+t]():NaN}function he(e,t,n){e.isValid()&&!isNaN(n)&&(\"FullYear\"===t&&ce(e.year())&&1===e.month()&&29===e.date()?(n=le(n),e._d[\"set\"+(e._isUTC?\"UTC\":\"\")+t](n,e.month(),Qe(n,e.month()))):e._d[\"set\"+(e._isUTC?\"UTC\":\"\")+t](n))}function pe(e){return j(this[e=re(e)])?this[e]():this}function ge(e,t){if(\"object\"===typeof e){var n,r=se(e=ie(e));for(n=0;n<r.length;n++)this[r[n].unit](e[r[n].unit])}else if(j(this[e=re(e)]))return this[e](t);return this}var ye,me=/\\d/,be=/\\d\\d/,ve=/\\d{3}/,xe=/\\d{4}/,we=/[+-]?\\d{6}/,_e=/\\d\\d?/,ke=/\\d\\d\\d\\d?/,Oe=/\\d\\d\\d\\d\\d\\d?/,Ee=/\\d{1,3}/,Se=/\\d{1,4}/,Ce=/[+-]?\\d{1,6}/,Te=/\\d+/,je=/[+-]?\\d+/,Ae=/Z|[+-]\\d\\d:?\\d\\d/gi,Me=/Z|[+-]\\d\\d(?::?\\d\\d)?/gi,Pe=/[+-]?\\d+(\\.\\d{1,3})?/,Ne=/[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i;function De(e,t,n){ye[e]=j(t)?t:function(e,r){return e&&n?n:t}}function Re(e,t){return s(ye,e)?ye[e](t._strict,t._locale):new RegExp(Ie(e))}function Ie(e){return Le(e.replace(\"\\\\\",\"\").replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,(function(e,t,n,r,i){return t||n||r||i})))}function Le(e){return e.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\")}ye={};var Be={};function Fe(e,t){var n,r=t;for(\"string\"===typeof e&&(e=[e]),l(t)&&(r=function(e,n){n[t]=le(e)}),n=0;n<e.length;n++)Be[e[n]]=r}function ze(e,t){Fe(e,(function(e,n,r,i){r._w=r._w||{},t(e,r._w,r,i)}))}function Ue(e,t,n){null!=t&&s(Be,e)&&Be[e](t,n._a,n,e)}var He,We=0,Ye=1,Ve=2,qe=3,$e=4,Ge=5,Xe=6,Ke=7,Ze=8;function Je(e,t){return(e%t+t)%t}function Qe(e,t){if(isNaN(e)||isNaN(t))return NaN;var n=Je(t,12);return e+=(t-n)/12,1===n?ce(e)?29:28:31-n%7%2}He=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t<this.length;++t)if(this[t]===e)return t;return-1},z(\"M\",[\"MM\",2],\"Mo\",(function(){return this.month()+1})),z(\"MMM\",0,0,(function(e){return this.localeData().monthsShort(this,e)})),z(\"MMMM\",0,0,(function(e){return this.localeData().months(this,e)})),ne(\"month\",\"M\"),ae(\"month\",8),De(\"M\",_e),De(\"MM\",_e,be),De(\"MMM\",(function(e,t){return t.monthsShortRegex(e)})),De(\"MMMM\",(function(e,t){return t.monthsRegex(e)})),Fe([\"M\",\"MM\"],(function(e,t){t[Ye]=le(e)-1})),Fe([\"MMM\",\"MMMM\"],(function(e,t,n,r){var i=n._locale.monthsParse(e,r,n._strict);null!=i?t[Ye]=i:y(n).invalidMonth=e}));var et=\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),tt=\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),nt=/D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,rt=Ne,it=Ne;function ot(e,t){return e?o(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||nt).test(t)?\"format\":\"standalone\"][e.month()]:o(this._months)?this._months:this._months.standalone}function at(e,t){return e?o(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[nt.test(t)?\"format\":\"standalone\"][e.month()]:o(this._monthsShort)?this._monthsShort:this._monthsShort.standalone}function st(e,t,n){var r,i,o,a=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],r=0;r<12;++r)o=p([2e3,r]),this._shortMonthsParse[r]=this.monthsShort(o,\"\").toLocaleLowerCase(),this._longMonthsParse[r]=this.months(o,\"\").toLocaleLowerCase();return n?\"MMM\"===t?-1!==(i=He.call(this._shortMonthsParse,a))?i:null:-1!==(i=He.call(this._longMonthsParse,a))?i:null:\"MMM\"===t?-1!==(i=He.call(this._shortMonthsParse,a))||-1!==(i=He.call(this._longMonthsParse,a))?i:null:-1!==(i=He.call(this._longMonthsParse,a))||-1!==(i=He.call(this._shortMonthsParse,a))?i:null}function ct(e,t,n){var r,i,o;if(this._monthsParseExact)return st.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),r=0;r<12;r++){if(i=p([2e3,r]),n&&!this._longMonthsParse[r]&&(this._longMonthsParse[r]=new RegExp(\"^\"+this.months(i,\"\").replace(\".\",\"\")+\"$\",\"i\"),this._shortMonthsParse[r]=new RegExp(\"^\"+this.monthsShort(i,\"\").replace(\".\",\"\")+\"$\",\"i\")),n||this._monthsParse[r]||(o=\"^\"+this.months(i,\"\")+\"|^\"+this.monthsShort(i,\"\"),this._monthsParse[r]=new RegExp(o.replace(\".\",\"\"),\"i\")),n&&\"MMMM\"===t&&this._longMonthsParse[r].test(e))return r;if(n&&\"MMM\"===t&&this._shortMonthsParse[r].test(e))return r;if(!n&&this._monthsParse[r].test(e))return r}}function ut(e,t){var n;if(!e.isValid())return e;if(\"string\"===typeof t)if(/^\\d+$/.test(t))t=le(t);else if(!l(t=e.localeData().monthsParse(t)))return e;return n=Math.min(e.date(),Qe(e.year(),t)),e._d[\"set\"+(e._isUTC?\"UTC\":\"\")+\"Month\"](t,n),e}function lt(e){return null!=e?(ut(this,e),r.updateOffset(this,!0),this):de(this,\"Month\")}function ft(){return Qe(this.year(),this.month())}function dt(e){return this._monthsParseExact?(s(this,\"_monthsRegex\")||pt.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(s(this,\"_monthsShortRegex\")||(this._monthsShortRegex=rt),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)}function ht(e){return this._monthsParseExact?(s(this,\"_monthsRegex\")||pt.call(this),e?this._monthsStrictRegex:this._monthsRegex):(s(this,\"_monthsRegex\")||(this._monthsRegex=it),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)}function pt(){function e(e,t){return t.length-e.length}var t,n,r=[],i=[],o=[];for(t=0;t<12;t++)n=p([2e3,t]),r.push(this.monthsShort(n,\"\")),i.push(this.months(n,\"\")),o.push(this.months(n,\"\")),o.push(this.monthsShort(n,\"\"));for(r.sort(e),i.sort(e),o.sort(e),t=0;t<12;t++)r[t]=Le(r[t]),i[t]=Le(i[t]);for(t=0;t<24;t++)o[t]=Le(o[t]);this._monthsRegex=new RegExp(\"^(\"+o.join(\"|\")+\")\",\"i\"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp(\"^(\"+i.join(\"|\")+\")\",\"i\"),this._monthsShortStrictRegex=new RegExp(\"^(\"+r.join(\"|\")+\")\",\"i\")}function gt(e){return ce(e)?366:365}z(\"Y\",0,0,(function(){var e=this.year();return e<=9999?R(e,4):\"+\"+e})),z(0,[\"YY\",2],0,(function(){return this.year()%100})),z(0,[\"YYYY\",4],0,\"year\"),z(0,[\"YYYYY\",5],0,\"year\"),z(0,[\"YYYYYY\",6,!0],0,\"year\"),ne(\"year\",\"y\"),ae(\"year\",1),De(\"Y\",je),De(\"YY\",_e,be),De(\"YYYY\",Se,xe),De(\"YYYYY\",Ce,we),De(\"YYYYYY\",Ce,we),Fe([\"YYYYY\",\"YYYYYY\"],We),Fe(\"YYYY\",(function(e,t){t[We]=2===e.length?r.parseTwoDigitYear(e):le(e)})),Fe(\"YY\",(function(e,t){t[We]=r.parseTwoDigitYear(e)})),Fe(\"Y\",(function(e,t){t[We]=parseInt(e,10)})),r.parseTwoDigitYear=function(e){return le(e)+(le(e)>68?1900:2e3)};var yt=fe(\"FullYear\",!0);function mt(){return ce(this.year())}function bt(e,t,n,r,i,o,a){var s;return e<100&&e>=0?(s=new Date(e+400,t,n,r,i,o,a),isFinite(s.getFullYear())&&s.setFullYear(e)):s=new Date(e,t,n,r,i,o,a),s}function vt(e){var t,n;return e<100&&e>=0?((n=Array.prototype.slice.call(arguments))[0]=e+400,t=new Date(Date.UTC.apply(null,n)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function xt(e,t,n){var r=7+t-n;return-(7+vt(e,0,r).getUTCDay()-t)%7+r-1}function wt(e,t,n,r,i){var o,a,s=1+7*(t-1)+(7+n-r)%7+xt(e,r,i);return s<=0?a=gt(o=e-1)+s:s>gt(e)?(o=e+1,a=s-gt(e)):(o=e,a=s),{year:o,dayOfYear:a}}function _t(e,t,n){var r,i,o=xt(e.year(),t,n),a=Math.floor((e.dayOfYear()-o-1)/7)+1;return a<1?r=a+kt(i=e.year()-1,t,n):a>kt(e.year(),t,n)?(r=a-kt(e.year(),t,n),i=e.year()+1):(i=e.year(),r=a),{week:r,year:i}}function kt(e,t,n){var r=xt(e,t,n),i=xt(e+1,t,n);return(gt(e)-r+i)/7}function Ot(e){return _t(e,this._week.dow,this._week.doy).week}z(\"w\",[\"ww\",2],\"wo\",\"week\"),z(\"W\",[\"WW\",2],\"Wo\",\"isoWeek\"),ne(\"week\",\"w\"),ne(\"isoWeek\",\"W\"),ae(\"week\",5),ae(\"isoWeek\",5),De(\"w\",_e),De(\"ww\",_e,be),De(\"W\",_e),De(\"WW\",_e,be),ze([\"w\",\"ww\",\"W\",\"WW\"],(function(e,t,n,r){t[r.substr(0,1)]=le(e)}));var Et={dow:0,doy:6};function St(){return this._week.dow}function Ct(){return this._week.doy}function Tt(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),\"d\")}function jt(e){var t=_t(this,1,4).week;return null==e?t:this.add(7*(e-t),\"d\")}function At(e,t){return\"string\"!==typeof e?e:isNaN(e)?\"number\"===typeof(e=t.weekdaysParse(e))?e:null:parseInt(e,10)}function Mt(e,t){return\"string\"===typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function Pt(e,t){return e.slice(t,7).concat(e.slice(0,t))}z(\"d\",0,\"do\",\"day\"),z(\"dd\",0,0,(function(e){return this.localeData().weekdaysMin(this,e)})),z(\"ddd\",0,0,(function(e){return this.localeData().weekdaysShort(this,e)})),z(\"dddd\",0,0,(function(e){return this.localeData().weekdays(this,e)})),z(\"e\",0,0,\"weekday\"),z(\"E\",0,0,\"isoWeekday\"),ne(\"day\",\"d\"),ne(\"weekday\",\"e\"),ne(\"isoWeekday\",\"E\"),ae(\"day\",11),ae(\"weekday\",11),ae(\"isoWeekday\",11),De(\"d\",_e),De(\"e\",_e),De(\"E\",_e),De(\"dd\",(function(e,t){return t.weekdaysMinRegex(e)})),De(\"ddd\",(function(e,t){return t.weekdaysShortRegex(e)})),De(\"dddd\",(function(e,t){return t.weekdaysRegex(e)})),ze([\"dd\",\"ddd\",\"dddd\"],(function(e,t,n,r){var i=n._locale.weekdaysParse(e,r,n._strict);null!=i?t.d=i:y(n).invalidWeekday=e})),ze([\"d\",\"e\",\"E\"],(function(e,t,n,r){t[r]=le(e)}));var Nt=\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),Dt=\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),Rt=\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),It=Ne,Lt=Ne,Bt=Ne;function Ft(e,t){var n=o(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?\"format\":\"standalone\"];return!0===e?Pt(n,this._week.dow):e?n[e.day()]:n}function zt(e){return!0===e?Pt(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort}function Ut(e){return!0===e?Pt(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin}function Ht(e,t,n){var r,i,o,a=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)o=p([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(o,\"\").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(o,\"\").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(o,\"\").toLocaleLowerCase();return n?\"dddd\"===t?-1!==(i=He.call(this._weekdaysParse,a))?i:null:\"ddd\"===t?-1!==(i=He.call(this._shortWeekdaysParse,a))?i:null:-1!==(i=He.call(this._minWeekdaysParse,a))?i:null:\"dddd\"===t?-1!==(i=He.call(this._weekdaysParse,a))||-1!==(i=He.call(this._shortWeekdaysParse,a))||-1!==(i=He.call(this._minWeekdaysParse,a))?i:null:\"ddd\"===t?-1!==(i=He.call(this._shortWeekdaysParse,a))||-1!==(i=He.call(this._weekdaysParse,a))||-1!==(i=He.call(this._minWeekdaysParse,a))?i:null:-1!==(i=He.call(this._minWeekdaysParse,a))||-1!==(i=He.call(this._weekdaysParse,a))||-1!==(i=He.call(this._shortWeekdaysParse,a))?i:null}function Wt(e,t,n){var r,i,o;if(this._weekdaysParseExact)return Ht.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(i=p([2e3,1]).day(r),n&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp(\"^\"+this.weekdays(i,\"\").replace(\".\",\"\\\\.?\")+\"$\",\"i\"),this._shortWeekdaysParse[r]=new RegExp(\"^\"+this.weekdaysShort(i,\"\").replace(\".\",\"\\\\.?\")+\"$\",\"i\"),this._minWeekdaysParse[r]=new RegExp(\"^\"+this.weekdaysMin(i,\"\").replace(\".\",\"\\\\.?\")+\"$\",\"i\")),this._weekdaysParse[r]||(o=\"^\"+this.weekdays(i,\"\")+\"|^\"+this.weekdaysShort(i,\"\")+\"|^\"+this.weekdaysMin(i,\"\"),this._weekdaysParse[r]=new RegExp(o.replace(\".\",\"\"),\"i\")),n&&\"dddd\"===t&&this._fullWeekdaysParse[r].test(e))return r;if(n&&\"ddd\"===t&&this._shortWeekdaysParse[r].test(e))return r;if(n&&\"dd\"===t&&this._minWeekdaysParse[r].test(e))return r;if(!n&&this._weekdaysParse[r].test(e))return r}}function Yt(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=At(e,this.localeData()),this.add(e-t,\"d\")):t}function Vt(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,\"d\")}function qt(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=Mt(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7}function $t(e){return this._weekdaysParseExact?(s(this,\"_weekdaysRegex\")||Kt.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(s(this,\"_weekdaysRegex\")||(this._weekdaysRegex=It),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)}function Gt(e){return this._weekdaysParseExact?(s(this,\"_weekdaysRegex\")||Kt.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(s(this,\"_weekdaysShortRegex\")||(this._weekdaysShortRegex=Lt),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Xt(e){return this._weekdaysParseExact?(s(this,\"_weekdaysRegex\")||Kt.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(s(this,\"_weekdaysMinRegex\")||(this._weekdaysMinRegex=Bt),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Kt(){function e(e,t){return t.length-e.length}var t,n,r,i,o,a=[],s=[],c=[],u=[];for(t=0;t<7;t++)n=p([2e3,1]).day(t),r=Le(this.weekdaysMin(n,\"\")),i=Le(this.weekdaysShort(n,\"\")),o=Le(this.weekdays(n,\"\")),a.push(r),s.push(i),c.push(o),u.push(r),u.push(i),u.push(o);a.sort(e),s.sort(e),c.sort(e),u.sort(e),this._weekdaysRegex=new RegExp(\"^(\"+u.join(\"|\")+\")\",\"i\"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp(\"^(\"+c.join(\"|\")+\")\",\"i\"),this._weekdaysShortStrictRegex=new RegExp(\"^(\"+s.join(\"|\")+\")\",\"i\"),this._weekdaysMinStrictRegex=new RegExp(\"^(\"+a.join(\"|\")+\")\",\"i\")}function Zt(){return this.hours()%12||12}function Jt(){return this.hours()||24}function Qt(e,t){z(e,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)}))}function en(e,t){return t._meridiemParse}function tn(e){return\"p\"===(e+\"\").toLowerCase().charAt(0)}z(\"H\",[\"HH\",2],0,\"hour\"),z(\"h\",[\"hh\",2],0,Zt),z(\"k\",[\"kk\",2],0,Jt),z(\"hmm\",0,0,(function(){return\"\"+Zt.apply(this)+R(this.minutes(),2)})),z(\"hmmss\",0,0,(function(){return\"\"+Zt.apply(this)+R(this.minutes(),2)+R(this.seconds(),2)})),z(\"Hmm\",0,0,(function(){return\"\"+this.hours()+R(this.minutes(),2)})),z(\"Hmmss\",0,0,(function(){return\"\"+this.hours()+R(this.minutes(),2)+R(this.seconds(),2)})),Qt(\"a\",!0),Qt(\"A\",!1),ne(\"hour\",\"h\"),ae(\"hour\",13),De(\"a\",en),De(\"A\",en),De(\"H\",_e),De(\"h\",_e),De(\"k\",_e),De(\"HH\",_e,be),De(\"hh\",_e,be),De(\"kk\",_e,be),De(\"hmm\",ke),De(\"hmmss\",Oe),De(\"Hmm\",ke),De(\"Hmmss\",Oe),Fe([\"H\",\"HH\"],qe),Fe([\"k\",\"kk\"],(function(e,t,n){var r=le(e);t[qe]=24===r?0:r})),Fe([\"a\",\"A\"],(function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e})),Fe([\"h\",\"hh\"],(function(e,t,n){t[qe]=le(e),y(n).bigHour=!0})),Fe(\"hmm\",(function(e,t,n){var r=e.length-2;t[qe]=le(e.substr(0,r)),t[$e]=le(e.substr(r)),y(n).bigHour=!0})),Fe(\"hmmss\",(function(e,t,n){var r=e.length-4,i=e.length-2;t[qe]=le(e.substr(0,r)),t[$e]=le(e.substr(r,2)),t[Ge]=le(e.substr(i)),y(n).bigHour=!0})),Fe(\"Hmm\",(function(e,t,n){var r=e.length-2;t[qe]=le(e.substr(0,r)),t[$e]=le(e.substr(r))})),Fe(\"Hmmss\",(function(e,t,n){var r=e.length-4,i=e.length-2;t[qe]=le(e.substr(0,r)),t[$e]=le(e.substr(r,2)),t[Ge]=le(e.substr(i))}));var nn=/[ap]\\.?m?\\.?/i,rn=fe(\"Hours\",!0);function on(e,t,n){return e>11?n?\"pm\":\"PM\":n?\"am\":\"AM\"}var an,sn={calendar:N,longDateFormat:V,invalidDate:$,ordinal:X,dayOfMonthOrdinalParse:K,relativeTime:J,months:et,monthsShort:tt,week:Et,weekdays:Nt,weekdaysMin:Rt,weekdaysShort:Dt,meridiemParse:nn},cn={},un={};function ln(e,t){var n,r=Math.min(e.length,t.length);for(n=0;n<r;n+=1)if(e[n]!==t[n])return n;return r}function fn(e){return e?e.toLowerCase().replace(\"_\",\"-\"):e}function dn(e){for(var t,n,r,i,o=0;o<e.length;){for(t=(i=fn(e[o]).split(\"-\")).length,n=(n=fn(e[o+1]))?n.split(\"-\"):null;t>0;){if(r=hn(i.slice(0,t).join(\"-\")))return r;if(n&&n.length>=t&&ln(i,n)>=t-1)break;t--}o++}return an}function hn(t){var n=null;if(void 0===cn[t]&&\"undefined\"!==typeof e&&e&&e.exports)try{n=an._abbr,function(){var e=new Error(\"Cannot find module 'undefined'\");throw e.code=\"MODULE_NOT_FOUND\",e}(),pn(n)}catch(r){cn[t]=null}return cn[t]}function pn(e,t){var n;return e&&((n=u(t)?mn(e):gn(e,t))?an=n:\"undefined\"!==typeof console&&console.warn&&console.warn(\"Locale \"+e+\" not found. Did you forget to load it?\")),an._abbr}function gn(e,t){if(null!==t){var n,r=sn;if(t.abbr=e,null!=cn[e])T(\"defineLocaleOverride\",\"use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info.\"),r=cn[e]._config;else if(null!=t.parentLocale)if(null!=cn[t.parentLocale])r=cn[t.parentLocale]._config;else{if(null==(n=hn(t.parentLocale)))return un[t.parentLocale]||(un[t.parentLocale]=[]),un[t.parentLocale].push({name:e,config:t}),null;r=n._config}return cn[e]=new P(M(r,t)),un[e]&&un[e].forEach((function(e){gn(e.name,e.config)})),pn(e),cn[e]}return delete cn[e],null}function yn(e,t){if(null!=t){var n,r,i=sn;null!=cn[e]&&null!=cn[e].parentLocale?cn[e].set(M(cn[e]._config,t)):(null!=(r=hn(e))&&(i=r._config),t=M(i,t),null==r&&(t.abbr=e),(n=new P(t)).parentLocale=cn[e],cn[e]=n),pn(e)}else null!=cn[e]&&(null!=cn[e].parentLocale?(cn[e]=cn[e].parentLocale,e===pn()&&pn(e)):null!=cn[e]&&delete cn[e]);return cn[e]}function mn(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return an;if(!o(e)){if(t=hn(e))return t;e=[e]}return dn(e)}function bn(){return S(cn)}function vn(e){var t,n=e._a;return n&&-2===y(e).overflow&&(t=n[Ye]<0||n[Ye]>11?Ye:n[Ve]<1||n[Ve]>Qe(n[We],n[Ye])?Ve:n[qe]<0||n[qe]>24||24===n[qe]&&(0!==n[$e]||0!==n[Ge]||0!==n[Xe])?qe:n[$e]<0||n[$e]>59?$e:n[Ge]<0||n[Ge]>59?Ge:n[Xe]<0||n[Xe]>999?Xe:-1,y(e)._overflowDayOfYear&&(t<We||t>Ve)&&(t=Ve),y(e)._overflowWeeks&&-1===t&&(t=Ke),y(e)._overflowWeekday&&-1===t&&(t=Ze),y(e).overflow=t),e}var xn=/^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,wn=/^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,_n=/Z|[+-]\\d\\d(?::?\\d\\d)?/,kn=[[\"YYYYYY-MM-DD\",/[+-]\\d{6}-\\d\\d-\\d\\d/],[\"YYYY-MM-DD\",/\\d{4}-\\d\\d-\\d\\d/],[\"GGGG-[W]WW-E\",/\\d{4}-W\\d\\d-\\d/],[\"GGGG-[W]WW\",/\\d{4}-W\\d\\d/,!1],[\"YYYY-DDD\",/\\d{4}-\\d{3}/],[\"YYYY-MM\",/\\d{4}-\\d\\d/,!1],[\"YYYYYYMMDD\",/[+-]\\d{10}/],[\"YYYYMMDD\",/\\d{8}/],[\"GGGG[W]WWE\",/\\d{4}W\\d{3}/],[\"GGGG[W]WW\",/\\d{4}W\\d{2}/,!1],[\"YYYYDDD\",/\\d{7}/],[\"YYYYMM\",/\\d{6}/,!1],[\"YYYY\",/\\d{4}/,!1]],On=[[\"HH:mm:ss.SSSS\",/\\d\\d:\\d\\d:\\d\\d\\.\\d+/],[\"HH:mm:ss,SSSS\",/\\d\\d:\\d\\d:\\d\\d,\\d+/],[\"HH:mm:ss\",/\\d\\d:\\d\\d:\\d\\d/],[\"HH:mm\",/\\d\\d:\\d\\d/],[\"HHmmss.SSSS\",/\\d\\d\\d\\d\\d\\d\\.\\d+/],[\"HHmmss,SSSS\",/\\d\\d\\d\\d\\d\\d,\\d+/],[\"HHmmss\",/\\d\\d\\d\\d\\d\\d/],[\"HHmm\",/\\d\\d\\d\\d/],[\"HH\",/\\d\\d/]],En=/^\\/?Date\\((-?\\d+)/i,Sn=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,Cn={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Tn(e){var t,n,r,i,o,a,s=e._i,c=xn.exec(s)||wn.exec(s);if(c){for(y(e).iso=!0,t=0,n=kn.length;t<n;t++)if(kn[t][1].exec(c[1])){i=kn[t][0],r=!1!==kn[t][2];break}if(null==i)return void(e._isValid=!1);if(c[3]){for(t=0,n=On.length;t<n;t++)if(On[t][1].exec(c[3])){o=(c[2]||\" \")+On[t][0];break}if(null==o)return void(e._isValid=!1)}if(!r&&null!=o)return void(e._isValid=!1);if(c[4]){if(!_n.exec(c[4]))return void(e._isValid=!1);a=\"Z\"}e._f=i+(o||\"\")+(a||\"\"),zn(e)}else e._isValid=!1}function jn(e,t,n,r,i,o){var a=[An(e),tt.indexOf(t),parseInt(n,10),parseInt(r,10),parseInt(i,10)];return o&&a.push(parseInt(o,10)),a}function An(e){var t=parseInt(e,10);return t<=49?2e3+t:t<=999?1900+t:t}function Mn(e){return e.replace(/\\([^)]*\\)|[\\n\\t]/g,\" \").replace(/(\\s\\s+)/g,\" \").replace(/^\\s\\s*/,\"\").replace(/\\s\\s*$/,\"\")}function Pn(e,t,n){return!e||Dt.indexOf(e)===new Date(t[0],t[1],t[2]).getDay()||(y(n).weekdayMismatch=!0,n._isValid=!1,!1)}function Nn(e,t,n){if(e)return Cn[e];if(t)return 0;var r=parseInt(n,10),i=r%100;return(r-i)/100*60+i}function Dn(e){var t,n=Sn.exec(Mn(e._i));if(n){if(t=jn(n[4],n[3],n[2],n[5],n[6],n[7]),!Pn(n[1],t,e))return;e._a=t,e._tzm=Nn(n[8],n[9],n[10]),e._d=vt.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),y(e).rfc2822=!0}else e._isValid=!1}function Rn(e){var t=En.exec(e._i);null===t?(Tn(e),!1===e._isValid&&(delete e._isValid,Dn(e),!1===e._isValid&&(delete e._isValid,e._strict?e._isValid=!1:r.createFromInputFallback(e)))):e._d=new Date(+t[1])}function In(e,t,n){return null!=e?e:null!=t?t:n}function Ln(e){var t=new Date(r.now());return e._useUTC?[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()]:[t.getFullYear(),t.getMonth(),t.getDate()]}function Bn(e){var t,n,r,i,o,a=[];if(!e._d){for(r=Ln(e),e._w&&null==e._a[Ve]&&null==e._a[Ye]&&Fn(e),null!=e._dayOfYear&&(o=In(e._a[We],r[We]),(e._dayOfYear>gt(o)||0===e._dayOfYear)&&(y(e)._overflowDayOfYear=!0),n=vt(o,0,e._dayOfYear),e._a[Ye]=n.getUTCMonth(),e._a[Ve]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=a[t]=r[t];for(;t<7;t++)e._a[t]=a[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[qe]&&0===e._a[$e]&&0===e._a[Ge]&&0===e._a[Xe]&&(e._nextDay=!0,e._a[qe]=0),e._d=(e._useUTC?vt:bt).apply(null,a),i=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[qe]=24),e._w&&\"undefined\"!==typeof e._w.d&&e._w.d!==i&&(y(e).weekdayMismatch=!0)}}function Fn(e){var t,n,r,i,o,a,s,c,u;null!=(t=e._w).GG||null!=t.W||null!=t.E?(o=1,a=4,n=In(t.GG,e._a[We],_t(Gn(),1,4).year),r=In(t.W,1),((i=In(t.E,1))<1||i>7)&&(c=!0)):(o=e._locale._week.dow,a=e._locale._week.doy,u=_t(Gn(),o,a),n=In(t.gg,e._a[We],u.year),r=In(t.w,u.week),null!=t.d?((i=t.d)<0||i>6)&&(c=!0):null!=t.e?(i=t.e+o,(t.e<0||t.e>6)&&(c=!0)):i=o),r<1||r>kt(n,o,a)?y(e)._overflowWeeks=!0:null!=c?y(e)._overflowWeekday=!0:(s=wt(n,r,i,o,a),e._a[We]=s.year,e._dayOfYear=s.dayOfYear)}function zn(e){if(e._f!==r.ISO_8601)if(e._f!==r.RFC_2822){e._a=[],y(e).empty=!0;var t,n,i,o,a,s,c=\"\"+e._i,u=c.length,l=0;for(i=Y(e._f,e._locale).match(I)||[],t=0;t<i.length;t++)o=i[t],(n=(c.match(Re(o,e))||[])[0])&&((a=c.substr(0,c.indexOf(n))).length>0&&y(e).unusedInput.push(a),c=c.slice(c.indexOf(n)+n.length),l+=n.length),F[o]?(n?y(e).empty=!1:y(e).unusedTokens.push(o),Ue(o,n,e)):e._strict&&!n&&y(e).unusedTokens.push(o);y(e).charsLeftOver=u-l,c.length>0&&y(e).unusedInput.push(c),e._a[qe]<=12&&!0===y(e).bigHour&&e._a[qe]>0&&(y(e).bigHour=void 0),y(e).parsedDateParts=e._a.slice(0),y(e).meridiem=e._meridiem,e._a[qe]=Un(e._locale,e._a[qe],e._meridiem),null!==(s=y(e).era)&&(e._a[We]=e._locale.erasConvertYear(s,e._a[We])),Bn(e),vn(e)}else Dn(e);else Tn(e)}function Un(e,t,n){var r;return null==n?t:null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?((r=e.isPM(n))&&t<12&&(t+=12),r||12!==t||(t=0),t):t}function Hn(e){var t,n,r,i,o,a,s=!1;if(0===e._f.length)return y(e).invalidFormat=!0,void(e._d=new Date(NaN));for(i=0;i<e._f.length;i++)o=0,a=!1,t=w({},e),null!=e._useUTC&&(t._useUTC=e._useUTC),t._f=e._f[i],zn(t),m(t)&&(a=!0),o+=y(t).charsLeftOver,o+=10*y(t).unusedTokens.length,y(t).score=o,s?o<r&&(r=o,n=t):(null==r||o<r||a)&&(r=o,n=t,a&&(s=!0));h(e,n||t)}function Wn(e){if(!e._d){var t=ie(e._i),n=void 0===t.day?t.date:t.day;e._a=d([t.year,t.month,n,t.hour,t.minute,t.second,t.millisecond],(function(e){return e&&parseInt(e,10)})),Bn(e)}}function Yn(e){var t=new _(vn(Vn(e)));return t._nextDay&&(t.add(1,\"d\"),t._nextDay=void 0),t}function Vn(e){var t=e._i,n=e._f;return e._locale=e._locale||mn(e._l),null===t||void 0===n&&\"\"===t?b({nullInput:!0}):(\"string\"===typeof t&&(e._i=t=e._locale.preparse(t)),k(t)?new _(vn(t)):(f(t)?e._d=t:o(n)?Hn(e):n?zn(e):qn(e),m(e)||(e._d=null),e))}function qn(e){var t=e._i;u(t)?e._d=new Date(r.now()):f(t)?e._d=new Date(t.valueOf()):\"string\"===typeof t?Rn(e):o(t)?(e._a=d(t.slice(0),(function(e){return parseInt(e,10)})),Bn(e)):a(t)?Wn(e):l(t)?e._d=new Date(t):r.createFromInputFallback(e)}function $n(e,t,n,r,i){var s={};return!0!==t&&!1!==t||(r=t,t=void 0),!0!==n&&!1!==n||(r=n,n=void 0),(a(e)&&c(e)||o(e)&&0===e.length)&&(e=void 0),s._isAMomentObject=!0,s._useUTC=s._isUTC=i,s._l=n,s._i=e,s._f=t,s._strict=r,Yn(s)}function Gn(e,t,n,r){return $n(e,t,n,r,!1)}r.createFromInputFallback=E(\"value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.\",(function(e){e._d=new Date(e._i+(e._useUTC?\" UTC\":\"\"))})),r.ISO_8601=function(){},r.RFC_2822=function(){};var Xn=E(\"moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/\",(function(){var e=Gn.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:b()})),Kn=E(\"moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/\",(function(){var e=Gn.apply(null,arguments);return this.isValid()&&e.isValid()?e>this?this:e:b()}));function Zn(e,t){var n,r;if(1===t.length&&o(t[0])&&(t=t[0]),!t.length)return Gn();for(n=t[0],r=1;r<t.length;++r)t[r].isValid()&&!t[r][e](n)||(n=t[r]);return n}function Jn(){return Zn(\"isBefore\",[].slice.call(arguments,0))}function Qn(){return Zn(\"isAfter\",[].slice.call(arguments,0))}var er=function(){return Date.now?Date.now():+new Date},tr=[\"year\",\"quarter\",\"month\",\"week\",\"day\",\"hour\",\"minute\",\"second\",\"millisecond\"];function nr(e){var t,n,r=!1;for(t in e)if(s(e,t)&&(-1===He.call(tr,t)||null!=e[t]&&isNaN(e[t])))return!1;for(n=0;n<tr.length;++n)if(e[tr[n]]){if(r)return!1;parseFloat(e[tr[n]])!==le(e[tr[n]])&&(r=!0)}return!0}function rr(){return this._isValid}function ir(){return Cr(NaN)}function or(e){var t=ie(e),n=t.year||0,r=t.quarter||0,i=t.month||0,o=t.week||t.isoWeek||0,a=t.day||0,s=t.hour||0,c=t.minute||0,u=t.second||0,l=t.millisecond||0;this._isValid=nr(t),this._milliseconds=+l+1e3*u+6e4*c+1e3*s*60*60,this._days=+a+7*o,this._months=+i+3*r+12*n,this._data={},this._locale=mn(),this._bubble()}function ar(e){return e instanceof or}function sr(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function cr(e,t,n){var r,i=Math.min(e.length,t.length),o=Math.abs(e.length-t.length),a=0;for(r=0;r<i;r++)(n&&e[r]!==t[r]||!n&&le(e[r])!==le(t[r]))&&a++;return a+o}function ur(e,t){z(e,0,0,(function(){var e=this.utcOffset(),n=\"+\";return e<0&&(e=-e,n=\"-\"),n+R(~~(e/60),2)+t+R(~~e%60,2)}))}ur(\"Z\",\":\"),ur(\"ZZ\",\"\"),De(\"Z\",Me),De(\"ZZ\",Me),Fe([\"Z\",\"ZZ\"],(function(e,t,n){n._useUTC=!0,n._tzm=fr(Me,e)}));var lr=/([\\+\\-]|\\d\\d)/gi;function fr(e,t){var n,r,i=(t||\"\").match(e);return null===i?null:0===(r=60*(n=((i[i.length-1]||[])+\"\").match(lr)||[\"-\",0,0])[1]+le(n[2]))?0:\"+\"===n[0]?r:-r}function dr(e,t){var n,i;return t._isUTC?(n=t.clone(),i=(k(e)||f(e)?e.valueOf():Gn(e).valueOf())-n.valueOf(),n._d.setTime(n._d.valueOf()+i),r.updateOffset(n,!1),n):Gn(e).local()}function hr(e){return-Math.round(e._d.getTimezoneOffset())}function pr(e,t,n){var i,o=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null!=e){if(\"string\"===typeof e){if(null===(e=fr(Me,e)))return this}else Math.abs(e)<16&&!n&&(e*=60);return!this._isUTC&&t&&(i=hr(this)),this._offset=e,this._isUTC=!0,null!=i&&this.add(i,\"m\"),o!==e&&(!t||this._changeInProgress?Pr(this,Cr(e-o,\"m\"),1,!1):this._changeInProgress||(this._changeInProgress=!0,r.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?o:hr(this)}function gr(e,t){return null!=e?(\"string\"!==typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}function yr(e){return this.utcOffset(0,e)}function mr(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(hr(this),\"m\")),this}function br(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if(\"string\"===typeof this._i){var e=fr(Ae,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this}function vr(e){return!!this.isValid()&&(e=e?Gn(e).utcOffset():0,(this.utcOffset()-e)%60===0)}function xr(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function wr(){if(!u(this._isDSTShifted))return this._isDSTShifted;var e,t={};return w(t,this),(t=Vn(t))._a?(e=t._isUTC?p(t._a):Gn(t._a),this._isDSTShifted=this.isValid()&&cr(t._a,e.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function _r(){return!!this.isValid()&&!this._isUTC}function kr(){return!!this.isValid()&&this._isUTC}function Or(){return!!this.isValid()&&this._isUTC&&0===this._offset}r.updateOffset=function(){};var Er=/^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,Sr=/^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Cr(e,t){var n,r,i,o=e,a=null;return ar(e)?o={ms:e._milliseconds,d:e._days,M:e._months}:l(e)||!isNaN(+e)?(o={},t?o[t]=+e:o.milliseconds=+e):(a=Er.exec(e))?(n=\"-\"===a[1]?-1:1,o={y:0,d:le(a[Ve])*n,h:le(a[qe])*n,m:le(a[$e])*n,s:le(a[Ge])*n,ms:le(sr(1e3*a[Xe]))*n}):(a=Sr.exec(e))?(n=\"-\"===a[1]?-1:1,o={y:Tr(a[2],n),M:Tr(a[3],n),w:Tr(a[4],n),d:Tr(a[5],n),h:Tr(a[6],n),m:Tr(a[7],n),s:Tr(a[8],n)}):null==o?o={}:\"object\"===typeof o&&(\"from\"in o||\"to\"in o)&&(i=Ar(Gn(o.from),Gn(o.to)),(o={}).ms=i.milliseconds,o.M=i.months),r=new or(o),ar(e)&&s(e,\"_locale\")&&(r._locale=e._locale),ar(e)&&s(e,\"_isValid\")&&(r._isValid=e._isValid),r}function Tr(e,t){var n=e&&parseFloat(e.replace(\",\",\".\"));return(isNaN(n)?0:n)*t}function jr(e,t){var n={};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,\"M\").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,\"M\"),n}function Ar(e,t){var n;return e.isValid()&&t.isValid()?(t=dr(t,e),e.isBefore(t)?n=jr(e,t):((n=jr(t,e)).milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function Mr(e,t){return function(n,r){var i;return null===r||isNaN(+r)||(T(t,\"moment().\"+t+\"(period, number) is deprecated. Please use moment().\"+t+\"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.\"),i=n,n=r,r=i),Pr(this,Cr(n,r),e),this}}function Pr(e,t,n,i){var o=t._milliseconds,a=sr(t._days),s=sr(t._months);e.isValid()&&(i=null==i||i,s&&ut(e,de(e,\"Month\")+s*n),a&&he(e,\"Date\",de(e,\"Date\")+a*n),o&&e._d.setTime(e._d.valueOf()+o*n),i&&r.updateOffset(e,a||s))}Cr.fn=or.prototype,Cr.invalid=ir;var Nr=Mr(1,\"add\"),Dr=Mr(-1,\"subtract\");function Rr(e){return\"string\"===typeof e||e instanceof String}function Ir(e){return k(e)||f(e)||Rr(e)||l(e)||Br(e)||Lr(e)||null===e||void 0===e}function Lr(e){var t,n,r=a(e)&&!c(e),i=!1,o=[\"years\",\"year\",\"y\",\"months\",\"month\",\"M\",\"days\",\"day\",\"d\",\"dates\",\"date\",\"D\",\"hours\",\"hour\",\"h\",\"minutes\",\"minute\",\"m\",\"seconds\",\"second\",\"s\",\"milliseconds\",\"millisecond\",\"ms\"];for(t=0;t<o.length;t+=1)n=o[t],i=i||s(e,n);return r&&i}function Br(e){var t=o(e),n=!1;return t&&(n=0===e.filter((function(t){return!l(t)&&Rr(e)})).length),t&&n}function Fr(e){var t,n,r=a(e)&&!c(e),i=!1,o=[\"sameDay\",\"nextDay\",\"lastDay\",\"nextWeek\",\"lastWeek\",\"sameElse\"];for(t=0;t<o.length;t+=1)n=o[t],i=i||s(e,n);return r&&i}function zr(e,t){var n=e.diff(t,\"days\",!0);return n<-6?\"sameElse\":n<-1?\"lastWeek\":n<0?\"lastDay\":n<1?\"sameDay\":n<2?\"nextDay\":n<7?\"nextWeek\":\"sameElse\"}function Ur(e,t){1===arguments.length&&(Ir(arguments[0])?(e=arguments[0],t=void 0):Fr(arguments[0])&&(t=arguments[0],e=void 0));var n=e||Gn(),i=dr(n,this).startOf(\"day\"),o=r.calendarFormat(this,i)||\"sameElse\",a=t&&(j(t[o])?t[o].call(this,n):t[o]);return this.format(a||this.localeData().calendar(o,this,Gn(n)))}function Hr(){return new _(this)}function Wr(e,t){var n=k(e)?e:Gn(e);return!(!this.isValid()||!n.isValid())&&(\"millisecond\"===(t=re(t)||\"millisecond\")?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(t).valueOf())}function Yr(e,t){var n=k(e)?e:Gn(e);return!(!this.isValid()||!n.isValid())&&(\"millisecond\"===(t=re(t)||\"millisecond\")?this.valueOf()<n.valueOf():this.clone().endOf(t).valueOf()<n.valueOf())}function Vr(e,t,n,r){var i=k(e)?e:Gn(e),o=k(t)?t:Gn(t);return!!(this.isValid()&&i.isValid()&&o.isValid())&&(\"(\"===(r=r||\"()\")[0]?this.isAfter(i,n):!this.isBefore(i,n))&&(\")\"===r[1]?this.isBefore(o,n):!this.isAfter(o,n))}function qr(e,t){var n,r=k(e)?e:Gn(e);return!(!this.isValid()||!r.isValid())&&(\"millisecond\"===(t=re(t)||\"millisecond\")?this.valueOf()===r.valueOf():(n=r.valueOf(),this.clone().startOf(t).valueOf()<=n&&n<=this.clone().endOf(t).valueOf()))}function $r(e,t){return this.isSame(e,t)||this.isAfter(e,t)}function Gr(e,t){return this.isSame(e,t)||this.isBefore(e,t)}function Xr(e,t,n){var r,i,o;if(!this.isValid())return NaN;if(!(r=dr(e,this)).isValid())return NaN;switch(i=6e4*(r.utcOffset()-this.utcOffset()),t=re(t)){case\"year\":o=Kr(this,r)/12;break;case\"month\":o=Kr(this,r);break;case\"quarter\":o=Kr(this,r)/3;break;case\"second\":o=(this-r)/1e3;break;case\"minute\":o=(this-r)/6e4;break;case\"hour\":o=(this-r)/36e5;break;case\"day\":o=(this-r-i)/864e5;break;case\"week\":o=(this-r-i)/6048e5;break;default:o=this-r}return n?o:ue(o)}function Kr(e,t){if(e.date()<t.date())return-Kr(t,e);var n=12*(t.year()-e.year())+(t.month()-e.month()),r=e.clone().add(n,\"months\");return-(n+(t-r<0?(t-r)/(r-e.clone().add(n-1,\"months\")):(t-r)/(e.clone().add(n+1,\"months\")-r)))||0}function Zr(){return this.clone().locale(\"en\").format(\"ddd MMM DD YYYY HH:mm:ss [GMT]ZZ\")}function Jr(e){if(!this.isValid())return null;var t=!0!==e,n=t?this.clone().utc():this;return n.year()<0||n.year()>9999?W(n,t?\"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]\":\"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ\"):j(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace(\"Z\",W(n,\"Z\")):W(n,t?\"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]\":\"YYYY-MM-DD[T]HH:mm:ss.SSSZ\")}function Qr(){if(!this.isValid())return\"moment.invalid(/* \"+this._i+\" */)\";var e,t,n,r,i=\"moment\",o=\"\";return this.isLocal()||(i=0===this.utcOffset()?\"moment.utc\":\"moment.parseZone\",o=\"Z\"),e=\"[\"+i+'(\"]',t=0<=this.year()&&this.year()<=9999?\"YYYY\":\"YYYYYY\",n=\"-MM-DD[T]HH:mm:ss.SSS\",r=o+'[\")]',this.format(e+t+n+r)}function ei(e){e||(e=this.isUtc()?r.defaultFormatUtc:r.defaultFormat);var t=W(this,e);return this.localeData().postformat(t)}function ti(e,t){return this.isValid()&&(k(e)&&e.isValid()||Gn(e).isValid())?Cr({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function ni(e){return this.from(Gn(),e)}function ri(e,t){return this.isValid()&&(k(e)&&e.isValid()||Gn(e).isValid())?Cr({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function ii(e){return this.to(Gn(),e)}function oi(e){var t;return void 0===e?this._locale._abbr:(null!=(t=mn(e))&&(this._locale=t),this)}r.defaultFormat=\"YYYY-MM-DDTHH:mm:ssZ\",r.defaultFormatUtc=\"YYYY-MM-DDTHH:mm:ss[Z]\";var ai=E(\"moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.\",(function(e){return void 0===e?this.localeData():this.locale(e)}));function si(){return this._locale}var ci=1e3,ui=60*ci,li=60*ui,fi=3506328*li;function di(e,t){return(e%t+t)%t}function hi(e,t,n){return e<100&&e>=0?new Date(e+400,t,n)-fi:new Date(e,t,n).valueOf()}function pi(e,t,n){return e<100&&e>=0?Date.UTC(e+400,t,n)-fi:Date.UTC(e,t,n)}function gi(e){var t,n;if(void 0===(e=re(e))||\"millisecond\"===e||!this.isValid())return this;switch(n=this._isUTC?pi:hi,e){case\"year\":t=n(this.year(),0,1);break;case\"quarter\":t=n(this.year(),this.month()-this.month()%3,1);break;case\"month\":t=n(this.year(),this.month(),1);break;case\"week\":t=n(this.year(),this.month(),this.date()-this.weekday());break;case\"isoWeek\":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case\"day\":case\"date\":t=n(this.year(),this.month(),this.date());break;case\"hour\":t=this._d.valueOf(),t-=di(t+(this._isUTC?0:this.utcOffset()*ui),li);break;case\"minute\":t=this._d.valueOf(),t-=di(t,ui);break;case\"second\":t=this._d.valueOf(),t-=di(t,ci)}return this._d.setTime(t),r.updateOffset(this,!0),this}function yi(e){var t,n;if(void 0===(e=re(e))||\"millisecond\"===e||!this.isValid())return this;switch(n=this._isUTC?pi:hi,e){case\"year\":t=n(this.year()+1,0,1)-1;break;case\"quarter\":t=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case\"month\":t=n(this.year(),this.month()+1,1)-1;break;case\"week\":t=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case\"isoWeek\":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case\"day\":case\"date\":t=n(this.year(),this.month(),this.date()+1)-1;break;case\"hour\":t=this._d.valueOf(),t+=li-di(t+(this._isUTC?0:this.utcOffset()*ui),li)-1;break;case\"minute\":t=this._d.valueOf(),t+=ui-di(t,ui)-1;break;case\"second\":t=this._d.valueOf(),t+=ci-di(t,ci)-1}return this._d.setTime(t),r.updateOffset(this,!0),this}function mi(){return this._d.valueOf()-6e4*(this._offset||0)}function bi(){return Math.floor(this.valueOf()/1e3)}function vi(){return new Date(this.valueOf())}function xi(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]}function wi(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}}function _i(){return this.isValid()?this.toISOString():null}function ki(){return m(this)}function Oi(){return h({},y(this))}function Ei(){return y(this).overflow}function Si(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Ci(e,t){var n,i,o,a=this._eras||mn(\"en\")._eras;for(n=0,i=a.length;n<i;++n)switch(\"string\"===typeof a[n].since&&(o=r(a[n].since).startOf(\"day\"),a[n].since=o.valueOf()),typeof a[n].until){case\"undefined\":a[n].until=1/0;break;case\"string\":o=r(a[n].until).startOf(\"day\").valueOf(),a[n].until=o.valueOf()}return a}function Ti(e,t,n){var r,i,o,a,s,c=this.eras();for(e=e.toUpperCase(),r=0,i=c.length;r<i;++r)if(o=c[r].name.toUpperCase(),a=c[r].abbr.toUpperCase(),s=c[r].narrow.toUpperCase(),n)switch(t){case\"N\":case\"NN\":case\"NNN\":if(a===e)return c[r];break;case\"NNNN\":if(o===e)return c[r];break;case\"NNNNN\":if(s===e)return c[r]}else if([o,a,s].indexOf(e)>=0)return c[r]}function ji(e,t){var n=e.since<=e.until?1:-1;return void 0===t?r(e.since).year():r(e.since).year()+(t-e.offset)*n}function Ai(){var e,t,n,r=this.localeData().eras();for(e=0,t=r.length;e<t;++e){if(n=this.startOf(\"day\").valueOf(),r[e].since<=n&&n<=r[e].until)return r[e].name;if(r[e].until<=n&&n<=r[e].since)return r[e].name}return\"\"}function Mi(){var e,t,n,r=this.localeData().eras();for(e=0,t=r.length;e<t;++e){if(n=this.startOf(\"day\").valueOf(),r[e].since<=n&&n<=r[e].until)return r[e].narrow;if(r[e].until<=n&&n<=r[e].since)return r[e].narrow}return\"\"}function Pi(){var e,t,n,r=this.localeData().eras();for(e=0,t=r.length;e<t;++e){if(n=this.startOf(\"day\").valueOf(),r[e].since<=n&&n<=r[e].until)return r[e].abbr;if(r[e].until<=n&&n<=r[e].since)return r[e].abbr}return\"\"}function Ni(){var e,t,n,i,o=this.localeData().eras();for(e=0,t=o.length;e<t;++e)if(n=o[e].since<=o[e].until?1:-1,i=this.startOf(\"day\").valueOf(),o[e].since<=i&&i<=o[e].until||o[e].until<=i&&i<=o[e].since)return(this.year()-r(o[e].since).year())*n+o[e].offset;return this.year()}function Di(e){return s(this,\"_erasNameRegex\")||Ui.call(this),e?this._erasNameRegex:this._erasRegex}function Ri(e){return s(this,\"_erasAbbrRegex\")||Ui.call(this),e?this._erasAbbrRegex:this._erasRegex}function Ii(e){return s(this,\"_erasNarrowRegex\")||Ui.call(this),e?this._erasNarrowRegex:this._erasRegex}function Li(e,t){return t.erasAbbrRegex(e)}function Bi(e,t){return t.erasNameRegex(e)}function Fi(e,t){return t.erasNarrowRegex(e)}function zi(e,t){return t._eraYearOrdinalRegex||Te}function Ui(){var e,t,n=[],r=[],i=[],o=[],a=this.eras();for(e=0,t=a.length;e<t;++e)r.push(Le(a[e].name)),n.push(Le(a[e].abbr)),i.push(Le(a[e].narrow)),o.push(Le(a[e].name)),o.push(Le(a[e].abbr)),o.push(Le(a[e].narrow));this._erasRegex=new RegExp(\"^(\"+o.join(\"|\")+\")\",\"i\"),this._erasNameRegex=new RegExp(\"^(\"+r.join(\"|\")+\")\",\"i\"),this._erasAbbrRegex=new RegExp(\"^(\"+n.join(\"|\")+\")\",\"i\"),this._erasNarrowRegex=new RegExp(\"^(\"+i.join(\"|\")+\")\",\"i\")}function Hi(e,t){z(0,[e,e.length],0,t)}function Wi(e){return Xi.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Yi(e){return Xi.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)}function Vi(){return kt(this.year(),1,4)}function qi(){return kt(this.isoWeekYear(),1,4)}function $i(){var e=this.localeData()._week;return kt(this.year(),e.dow,e.doy)}function Gi(){var e=this.localeData()._week;return kt(this.weekYear(),e.dow,e.doy)}function Xi(e,t,n,r,i){var o;return null==e?_t(this,r,i).year:(t>(o=kt(e,r,i))&&(t=o),Ki.call(this,e,t,n,r,i))}function Ki(e,t,n,r,i){var o=wt(e,t,n,r,i),a=vt(o.year,0,o.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}function Zi(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)}z(\"N\",0,0,\"eraAbbr\"),z(\"NN\",0,0,\"eraAbbr\"),z(\"NNN\",0,0,\"eraAbbr\"),z(\"NNNN\",0,0,\"eraName\"),z(\"NNNNN\",0,0,\"eraNarrow\"),z(\"y\",[\"y\",1],\"yo\",\"eraYear\"),z(\"y\",[\"yy\",2],0,\"eraYear\"),z(\"y\",[\"yyy\",3],0,\"eraYear\"),z(\"y\",[\"yyyy\",4],0,\"eraYear\"),De(\"N\",Li),De(\"NN\",Li),De(\"NNN\",Li),De(\"NNNN\",Bi),De(\"NNNNN\",Fi),Fe([\"N\",\"NN\",\"NNN\",\"NNNN\",\"NNNNN\"],(function(e,t,n,r){var i=n._locale.erasParse(e,r,n._strict);i?y(n).era=i:y(n).invalidEra=e})),De(\"y\",Te),De(\"yy\",Te),De(\"yyy\",Te),De(\"yyyy\",Te),De(\"yo\",zi),Fe([\"y\",\"yy\",\"yyy\",\"yyyy\"],We),Fe([\"yo\"],(function(e,t,n,r){var i;n._locale._eraYearOrdinalRegex&&(i=e.match(n._locale._eraYearOrdinalRegex)),n._locale.eraYearOrdinalParse?t[We]=n._locale.eraYearOrdinalParse(e,i):t[We]=parseInt(e,10)})),z(0,[\"gg\",2],0,(function(){return this.weekYear()%100})),z(0,[\"GG\",2],0,(function(){return this.isoWeekYear()%100})),Hi(\"gggg\",\"weekYear\"),Hi(\"ggggg\",\"weekYear\"),Hi(\"GGGG\",\"isoWeekYear\"),Hi(\"GGGGG\",\"isoWeekYear\"),ne(\"weekYear\",\"gg\"),ne(\"isoWeekYear\",\"GG\"),ae(\"weekYear\",1),ae(\"isoWeekYear\",1),De(\"G\",je),De(\"g\",je),De(\"GG\",_e,be),De(\"gg\",_e,be),De(\"GGGG\",Se,xe),De(\"gggg\",Se,xe),De(\"GGGGG\",Ce,we),De(\"ggggg\",Ce,we),ze([\"gggg\",\"ggggg\",\"GGGG\",\"GGGGG\"],(function(e,t,n,r){t[r.substr(0,2)]=le(e)})),ze([\"gg\",\"GG\"],(function(e,t,n,i){t[i]=r.parseTwoDigitYear(e)})),z(\"Q\",0,\"Qo\",\"quarter\"),ne(\"quarter\",\"Q\"),ae(\"quarter\",7),De(\"Q\",me),Fe(\"Q\",(function(e,t){t[Ye]=3*(le(e)-1)})),z(\"D\",[\"DD\",2],\"Do\",\"date\"),ne(\"date\",\"D\"),ae(\"date\",9),De(\"D\",_e),De(\"DD\",_e,be),De(\"Do\",(function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient})),Fe([\"D\",\"DD\"],Ve),Fe(\"Do\",(function(e,t){t[Ve]=le(e.match(_e)[0])}));var Ji=fe(\"Date\",!0);function Qi(e){var t=Math.round((this.clone().startOf(\"day\")-this.clone().startOf(\"year\"))/864e5)+1;return null==e?t:this.add(e-t,\"d\")}z(\"DDD\",[\"DDDD\",3],\"DDDo\",\"dayOfYear\"),ne(\"dayOfYear\",\"DDD\"),ae(\"dayOfYear\",4),De(\"DDD\",Ee),De(\"DDDD\",ve),Fe([\"DDD\",\"DDDD\"],(function(e,t,n){n._dayOfYear=le(e)})),z(\"m\",[\"mm\",2],0,\"minute\"),ne(\"minute\",\"m\"),ae(\"minute\",14),De(\"m\",_e),De(\"mm\",_e,be),Fe([\"m\",\"mm\"],$e);var eo=fe(\"Minutes\",!1);z(\"s\",[\"ss\",2],0,\"second\"),ne(\"second\",\"s\"),ae(\"second\",15),De(\"s\",_e),De(\"ss\",_e,be),Fe([\"s\",\"ss\"],Ge);var to,no,ro=fe(\"Seconds\",!1);for(z(\"S\",0,0,(function(){return~~(this.millisecond()/100)})),z(0,[\"SS\",2],0,(function(){return~~(this.millisecond()/10)})),z(0,[\"SSS\",3],0,\"millisecond\"),z(0,[\"SSSS\",4],0,(function(){return 10*this.millisecond()})),z(0,[\"SSSSS\",5],0,(function(){return 100*this.millisecond()})),z(0,[\"SSSSSS\",6],0,(function(){return 1e3*this.millisecond()})),z(0,[\"SSSSSSS\",7],0,(function(){return 1e4*this.millisecond()})),z(0,[\"SSSSSSSS\",8],0,(function(){return 1e5*this.millisecond()})),z(0,[\"SSSSSSSSS\",9],0,(function(){return 1e6*this.millisecond()})),ne(\"millisecond\",\"ms\"),ae(\"millisecond\",16),De(\"S\",Ee,me),De(\"SS\",Ee,be),De(\"SSS\",Ee,ve),to=\"SSSS\";to.length<=9;to+=\"S\")De(to,Te);function io(e,t){t[Xe]=le(1e3*(\"0.\"+e))}for(to=\"S\";to.length<=9;to+=\"S\")Fe(to,io);function oo(){return this._isUTC?\"UTC\":\"\"}function ao(){return this._isUTC?\"Coordinated Universal Time\":\"\"}no=fe(\"Milliseconds\",!1),z(\"z\",0,0,\"zoneAbbr\"),z(\"zz\",0,0,\"zoneName\");var so=_.prototype;function co(e){return Gn(1e3*e)}function uo(){return Gn.apply(null,arguments).parseZone()}function lo(e){return e}so.add=Nr,so.calendar=Ur,so.clone=Hr,so.diff=Xr,so.endOf=yi,so.format=ei,so.from=ti,so.fromNow=ni,so.to=ri,so.toNow=ii,so.get=pe,so.invalidAt=Ei,so.isAfter=Wr,so.isBefore=Yr,so.isBetween=Vr,so.isSame=qr,so.isSameOrAfter=$r,so.isSameOrBefore=Gr,so.isValid=ki,so.lang=ai,so.locale=oi,so.localeData=si,so.max=Kn,so.min=Xn,so.parsingFlags=Oi,so.set=ge,so.startOf=gi,so.subtract=Dr,so.toArray=xi,so.toObject=wi,so.toDate=vi,so.toISOString=Jr,so.inspect=Qr,\"undefined\"!==typeof Symbol&&null!=Symbol.for&&(so[Symbol.for(\"nodejs.util.inspect.custom\")]=function(){return\"Moment<\"+this.format()+\">\"}),so.toJSON=_i,so.toString=Zr,so.unix=bi,so.valueOf=mi,so.creationData=Si,so.eraName=Ai,so.eraNarrow=Mi,so.eraAbbr=Pi,so.eraYear=Ni,so.year=yt,so.isLeapYear=mt,so.weekYear=Wi,so.isoWeekYear=Yi,so.quarter=so.quarters=Zi,so.month=lt,so.daysInMonth=ft,so.week=so.weeks=Tt,so.isoWeek=so.isoWeeks=jt,so.weeksInYear=$i,so.weeksInWeekYear=Gi,so.isoWeeksInYear=Vi,so.isoWeeksInISOWeekYear=qi,so.date=Ji,so.day=so.days=Yt,so.weekday=Vt,so.isoWeekday=qt,so.dayOfYear=Qi,so.hour=so.hours=rn,so.minute=so.minutes=eo,so.second=so.seconds=ro,so.millisecond=so.milliseconds=no,so.utcOffset=pr,so.utc=yr,so.local=mr,so.parseZone=br,so.hasAlignedHourOffset=vr,so.isDST=xr,so.isLocal=_r,so.isUtcOffset=kr,so.isUtc=Or,so.isUTC=Or,so.zoneAbbr=oo,so.zoneName=ao,so.dates=E(\"dates accessor is deprecated. Use date instead.\",Ji),so.months=E(\"months accessor is deprecated. Use month instead\",lt),so.years=E(\"years accessor is deprecated. Use year instead\",yt),so.zone=E(\"moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/\",gr),so.isDSTShifted=E(\"isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information\",wr);var fo=P.prototype;function ho(e,t,n,r){var i=mn(),o=p().set(r,t);return i[n](o,e)}function po(e,t,n){if(l(e)&&(t=e,e=void 0),e=e||\"\",null!=t)return ho(e,t,n,\"month\");var r,i=[];for(r=0;r<12;r++)i[r]=ho(e,r,n,\"month\");return i}function go(e,t,n,r){\"boolean\"===typeof e?(l(t)&&(n=t,t=void 0),t=t||\"\"):(n=t=e,e=!1,l(t)&&(n=t,t=void 0),t=t||\"\");var i,o=mn(),a=e?o._week.dow:0,s=[];if(null!=n)return ho(t,(n+a)%7,r,\"day\");for(i=0;i<7;i++)s[i]=ho(t,(i+a)%7,r,\"day\");return s}function yo(e,t){return po(e,t,\"months\")}function mo(e,t){return po(e,t,\"monthsShort\")}function bo(e,t,n){return go(e,t,n,\"weekdays\")}function vo(e,t,n){return go(e,t,n,\"weekdaysShort\")}function xo(e,t,n){return go(e,t,n,\"weekdaysMin\")}fo.calendar=D,fo.longDateFormat=q,fo.invalidDate=G,fo.ordinal=Z,fo.preparse=lo,fo.postformat=lo,fo.relativeTime=Q,fo.pastFuture=ee,fo.set=A,fo.eras=Ci,fo.erasParse=Ti,fo.erasConvertYear=ji,fo.erasAbbrRegex=Ri,fo.erasNameRegex=Di,fo.erasNarrowRegex=Ii,fo.months=ot,fo.monthsShort=at,fo.monthsParse=ct,fo.monthsRegex=ht,fo.monthsShortRegex=dt,fo.week=Ot,fo.firstDayOfYear=Ct,fo.firstDayOfWeek=St,fo.weekdays=Ft,fo.weekdaysMin=Ut,fo.weekdaysShort=zt,fo.weekdaysParse=Wt,fo.weekdaysRegex=$t,fo.weekdaysShortRegex=Gt,fo.weekdaysMinRegex=Xt,fo.isPM=tn,fo.meridiem=on,pn(\"en\",{eras:[{since:\"0001-01-01\",until:1/0,offset:1,name:\"Anno Domini\",narrow:\"AD\",abbr:\"AD\"},{since:\"0000-12-31\",until:-1/0,offset:1,name:\"Before Christ\",narrow:\"BC\",abbr:\"BC\"}],dayOfMonthOrdinalParse:/\\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===le(e%100/10)?\"th\":1===t?\"st\":2===t?\"nd\":3===t?\"rd\":\"th\")}}),r.lang=E(\"moment.lang is deprecated. Use moment.locale instead.\",pn),r.langData=E(\"moment.langData is deprecated. Use moment.localeData instead.\",mn);var wo=Math.abs;function _o(){var e=this._data;return this._milliseconds=wo(this._milliseconds),this._days=wo(this._days),this._months=wo(this._months),e.milliseconds=wo(e.milliseconds),e.seconds=wo(e.seconds),e.minutes=wo(e.minutes),e.hours=wo(e.hours),e.months=wo(e.months),e.years=wo(e.years),this}function ko(e,t,n,r){var i=Cr(t,n);return e._milliseconds+=r*i._milliseconds,e._days+=r*i._days,e._months+=r*i._months,e._bubble()}function Oo(e,t){return ko(this,e,t,1)}function Eo(e,t){return ko(this,e,t,-1)}function So(e){return e<0?Math.floor(e):Math.ceil(e)}function Co(){var e,t,n,r,i,o=this._milliseconds,a=this._days,s=this._months,c=this._data;return o>=0&&a>=0&&s>=0||o<=0&&a<=0&&s<=0||(o+=864e5*So(jo(s)+a),a=0,s=0),c.milliseconds=o%1e3,e=ue(o/1e3),c.seconds=e%60,t=ue(e/60),c.minutes=t%60,n=ue(t/60),c.hours=n%24,a+=ue(n/24),s+=i=ue(To(a)),a-=So(jo(i)),r=ue(s/12),s%=12,c.days=a,c.months=s,c.years=r,this}function To(e){return 4800*e/146097}function jo(e){return 146097*e/4800}function Ao(e){if(!this.isValid())return NaN;var t,n,r=this._milliseconds;if(\"month\"===(e=re(e))||\"quarter\"===e||\"year\"===e)switch(t=this._days+r/864e5,n=this._months+To(t),e){case\"month\":return n;case\"quarter\":return n/3;case\"year\":return n/12}else switch(t=this._days+Math.round(jo(this._months)),e){case\"week\":return t/7+r/6048e5;case\"day\":return t+r/864e5;case\"hour\":return 24*t+r/36e5;case\"minute\":return 1440*t+r/6e4;case\"second\":return 86400*t+r/1e3;case\"millisecond\":return Math.floor(864e5*t)+r;default:throw new Error(\"Unknown unit \"+e)}}function Mo(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*le(this._months/12):NaN}function Po(e){return function(){return this.as(e)}}var No=Po(\"ms\"),Do=Po(\"s\"),Ro=Po(\"m\"),Io=Po(\"h\"),Lo=Po(\"d\"),Bo=Po(\"w\"),Fo=Po(\"M\"),zo=Po(\"Q\"),Uo=Po(\"y\");function Ho(){return Cr(this)}function Wo(e){return e=re(e),this.isValid()?this[e+\"s\"]():NaN}function Yo(e){return function(){return this.isValid()?this._data[e]:NaN}}var Vo=Yo(\"milliseconds\"),qo=Yo(\"seconds\"),$o=Yo(\"minutes\"),Go=Yo(\"hours\"),Xo=Yo(\"days\"),Ko=Yo(\"months\"),Zo=Yo(\"years\");function Jo(){return ue(this.days()/7)}var Qo=Math.round,ea={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function ta(e,t,n,r,i){return i.relativeTime(t||1,!!n,e,r)}function na(e,t,n,r){var i=Cr(e).abs(),o=Qo(i.as(\"s\")),a=Qo(i.as(\"m\")),s=Qo(i.as(\"h\")),c=Qo(i.as(\"d\")),u=Qo(i.as(\"M\")),l=Qo(i.as(\"w\")),f=Qo(i.as(\"y\")),d=o<=n.ss&&[\"s\",o]||o<n.s&&[\"ss\",o]||a<=1&&[\"m\"]||a<n.m&&[\"mm\",a]||s<=1&&[\"h\"]||s<n.h&&[\"hh\",s]||c<=1&&[\"d\"]||c<n.d&&[\"dd\",c];return null!=n.w&&(d=d||l<=1&&[\"w\"]||l<n.w&&[\"ww\",l]),(d=d||u<=1&&[\"M\"]||u<n.M&&[\"MM\",u]||f<=1&&[\"y\"]||[\"yy\",f])[2]=t,d[3]=+e>0,d[4]=r,ta.apply(null,d)}function ra(e){return void 0===e?Qo:\"function\"===typeof e&&(Qo=e,!0)}function ia(e,t){return void 0!==ea[e]&&(void 0===t?ea[e]:(ea[e]=t,\"s\"===e&&(ea.ss=t-1),!0))}function oa(e,t){if(!this.isValid())return this.localeData().invalidDate();var n,r,i=!1,o=ea;return\"object\"===typeof e&&(t=e,e=!1),\"boolean\"===typeof e&&(i=e),\"object\"===typeof t&&(o=Object.assign({},ea,t),null!=t.s&&null==t.ss&&(o.ss=t.s-1)),r=na(this,!i,o,n=this.localeData()),i&&(r=n.pastFuture(+this,r)),n.postformat(r)}var aa=Math.abs;function sa(e){return(e>0)-(e<0)||+e}function ca(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n,r,i,o,a,s,c=aa(this._milliseconds)/1e3,u=aa(this._days),l=aa(this._months),f=this.asSeconds();return f?(e=ue(c/60),t=ue(e/60),c%=60,e%=60,n=ue(l/12),l%=12,r=c?c.toFixed(3).replace(/\\.?0+$/,\"\"):\"\",i=f<0?\"-\":\"\",o=sa(this._months)!==sa(f)?\"-\":\"\",a=sa(this._days)!==sa(f)?\"-\":\"\",s=sa(this._milliseconds)!==sa(f)?\"-\":\"\",i+\"P\"+(n?o+n+\"Y\":\"\")+(l?o+l+\"M\":\"\")+(u?a+u+\"D\":\"\")+(t||e||c?\"T\":\"\")+(t?s+t+\"H\":\"\")+(e?s+e+\"M\":\"\")+(c?s+r+\"S\":\"\")):\"P0D\"}var ua=or.prototype;return ua.isValid=rr,ua.abs=_o,ua.add=Oo,ua.subtract=Eo,ua.as=Ao,ua.asMilliseconds=No,ua.asSeconds=Do,ua.asMinutes=Ro,ua.asHours=Io,ua.asDays=Lo,ua.asWeeks=Bo,ua.asMonths=Fo,ua.asQuarters=zo,ua.asYears=Uo,ua.valueOf=Mo,ua._bubble=Co,ua.clone=Ho,ua.get=Wo,ua.milliseconds=Vo,ua.seconds=qo,ua.minutes=$o,ua.hours=Go,ua.days=Xo,ua.weeks=Jo,ua.months=Ko,ua.years=Zo,ua.humanize=oa,ua.toISOString=ca,ua.toString=ca,ua.toJSON=ca,ua.locale=oi,ua.localeData=si,ua.toIsoString=E(\"toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)\",ca),ua.lang=ai,z(\"X\",0,0,\"unix\"),z(\"x\",0,0,\"valueOf\"),De(\"x\",je),De(\"X\",Pe),Fe(\"X\",(function(e,t,n){n._d=new Date(1e3*parseFloat(e))})),Fe(\"x\",(function(e,t,n){n._d=new Date(le(e))})),r.version=\"2.27.0\",i(Gn),r.fn=so,r.min=Jn,r.max=Qn,r.now=er,r.utc=p,r.unix=co,r.months=yo,r.isDate=f,r.locale=pn,r.invalid=b,r.duration=Cr,r.isMoment=k,r.weekdays=bo,r.parseZone=uo,r.localeData=mn,r.isDuration=ar,r.monthsShort=mo,r.weekdaysMin=xo,r.defineLocale=gn,r.updateLocale=yn,r.locales=bn,r.weekdaysShort=vo,r.normalizeUnits=re,r.relativeTimeRounding=ra,r.relativeTimeThreshold=ia,r.calendarFormat=zr,r.prototype=so,r.HTML5_FMT={DATETIME_LOCAL:\"YYYY-MM-DDTHH:mm\",DATETIME_LOCAL_SECONDS:\"YYYY-MM-DDTHH:mm:ss\",DATETIME_LOCAL_MS:\"YYYY-MM-DDTHH:mm:ss.SSS\",DATE:\"YYYY-MM-DD\",TIME:\"HH:mm\",TIME_SECONDS:\"HH:mm:ss\",TIME_MS:\"HH:mm:ss.SSS\",WEEK:\"GGGG-[W]WW\",MONTH:\"YYYY-MM\"},r}()}).call(this,n(157)(e))},,function(e,t,n){\"use strict\";!function e(){if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&\"function\"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(420)},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return o}));var r=new Date,i=new Date;function o(e,t,n,a){function s(t){return e(t=0===arguments.length?new Date:new Date(+t)),t}return s.floor=function(t){return e(t=new Date(+t)),t},s.ceil=function(n){return e(n=new Date(n-1)),t(n,1),e(n),n},s.round=function(e){var t=s(e),n=s.ceil(e);return e-t<n-e?t:n},s.offset=function(e,n){return t(e=new Date(+e),null==n?1:Math.floor(n)),e},s.range=function(n,r,i){var o,a=[];if(n=s.ceil(n),i=null==i?1:Math.floor(i),!(n<r)||!(i>0))return a;do{a.push(o=new Date(+n)),t(n,i),e(n)}while(o<n&&n<r);return a},s.filter=function(n){return o((function(t){if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)}),(function(e,r){if(e>=e)if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););}))},n&&(s.count=function(t,o){return r.setTime(+t),i.setTime(+o),e(r),e(i),Math.floor(n(r,i))},s.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?s.filter(a?function(t){return a(t)%e===0}:function(t){return s.count(0,t)%e===0}):s:null}),s}},function(e,t,n){\"use strict\";function r(){}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";n.d(t,\"d\",(function(){return r})),n.d(t,\"c\",(function(){return i})),n.d(t,\"b\",(function(){return o})),n.d(t,\"a\",(function(){return a})),n.d(t,\"e\",(function(){return s}));var r=1e3,i=6e4,o=36e5,a=864e5,s=6048e5},function(e,t,n){\"use strict\";n.d(t,\"c\",(function(){return o})),n.d(t,\"b\",(function(){return a})),n.d(t,\"a\",(function(){return s}));var r=n(149);function i(e,t){return function(n){return e+n*t}}function o(e,t){var n=t-e;return n?i(e,n>180||n<-180?n-360*Math.round(n/360):n):Object(r.a)(isNaN(e)?t:e)}function a(e){return 1===(e=+e)?s:function(t,n){return n-t?function(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}(t,n,e):Object(r.a)(isNaN(t)?n:t)}}function s(e,t){var n=t-e;return n?i(e,n):Object(r.a)(isNaN(e)?t:e)}},function(e,t,n){\"use strict\";n.d(t,\"g\",(function(){return a})),n.d(t,\"c\",(function(){return s})),n.d(t,\"k\",(function(){return c})),n.d(t,\"m\",(function(){return u})),n.d(t,\"i\",(function(){return l})),n.d(t,\"a\",(function(){return f})),n.d(t,\"e\",(function(){return d})),n.d(t,\"h\",(function(){return h})),n.d(t,\"d\",(function(){return p})),n.d(t,\"l\",(function(){return g})),n.d(t,\"n\",(function(){return y})),n.d(t,\"j\",(function(){return m})),n.d(t,\"b\",(function(){return b})),n.d(t,\"f\",(function(){return v}));var r=n(26),i=n(28);function o(e){return Object(r.a)((function(t){t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)}),(function(e,t){e.setDate(e.getDate()+7*t)}),(function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*i.c)/i.e}))}var a=o(0),s=o(1),c=o(2),u=o(3),l=o(4),f=o(5),d=o(6),h=a.range,p=s.range,g=c.range,y=u.range,m=l.range,b=f.range,v=d.range},function(e,t,n){\"use strict\";n.d(t,\"g\",(function(){return a})),n.d(t,\"c\",(function(){return s})),n.d(t,\"k\",(function(){return c})),n.d(t,\"m\",(function(){return u})),n.d(t,\"i\",(function(){return l})),n.d(t,\"a\",(function(){return f})),n.d(t,\"e\",(function(){return d})),n.d(t,\"h\",(function(){return h})),n.d(t,\"d\",(function(){return p})),n.d(t,\"l\",(function(){return g})),n.d(t,\"n\",(function(){return y})),n.d(t,\"j\",(function(){return m})),n.d(t,\"b\",(function(){return b})),n.d(t,\"f\",(function(){return v}));var r=n(26),i=n(28);function o(e){return Object(r.a)((function(t){t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+7*t)}),(function(e,t){return(t-e)/i.e}))}var a=o(0),s=o(1),c=o(2),u=o(3),l=o(4),f=o(5),d=o(6),h=a.range,p=s.range,g=c.range,y=u.range,m=l.range,b=f.range,v=d.range},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return o}));var r=n(382);var i=n(383);function o(e,t){return Object(r.a)(e)||function(e,t){if(Symbol.iterator in Object(e)||\"[object Arguments]\"===Object.prototype.toString.call(e)){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(c){i=!0,o=c}finally{try{r||null==s.return||s.return()}finally{if(i)throw o}}return n}}(e,t)||Object(i.a)()}},function(e,t,n){var r;try{r={cloneDeep:n(548),constant:n(244),defaults:n(335),each:n(245),filter:n(310),find:n(549),flatten:n(337),forEach:n(308),forIn:n(556),has:n(250),isUndefined:n(321),last:n(557),map:n(322),mapValues:n(558),max:n(559),merge:n(561),min:n(566),minBy:n(567),now:n(568),pick:n(342),range:n(343),reduce:n(324),sortBy:n(575),uniqueId:n(344),values:n(329),zipObject:n(580)}}catch(i){}r||(r=window._),e.exports=r},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(218);function i(e,t){var n;if(\"undefined\"===typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=Object(r.a)(e))||t&&e&&\"number\"===typeof e.length){n&&(e=n);var i=0,o=function(){};return{s:o,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:o}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var a,s=!0,c=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return s=e.done,e},e:function(e){c=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(c)throw a}}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i})),n.d(t,\"d\",(function(){return o})),n.d(t,\"c\",(function(){return a})),n.d(t,\"e\",(function(){return x})),n.d(t,\"h\",(function(){return k})),n.d(t,\"g\",(function(){return O})),n.d(t,\"b\",(function(){return E})),n.d(t,\"f\",(function(){return M}));var r=n(56);function i(){}var o=.7,a=1/o,s=\"\\\\s*([+-]?\\\\d+)\\\\s*\",c=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",u=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",l=/^#([0-9a-f]{3,8})$/,f=new RegExp(\"^rgb\\\\(\"+[s,s,s]+\"\\\\)$\"),d=new RegExp(\"^rgb\\\\(\"+[u,u,u]+\"\\\\)$\"),h=new RegExp(\"^rgba\\\\(\"+[s,s,s,c]+\"\\\\)$\"),p=new RegExp(\"^rgba\\\\(\"+[u,u,u,c]+\"\\\\)$\"),g=new RegExp(\"^hsl\\\\(\"+[c,u,u]+\"\\\\)$\"),y=new RegExp(\"^hsla\\\\(\"+[c,u,u,c]+\"\\\\)$\"),m={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function b(){return this.rgb().formatHex()}function v(){return this.rgb().formatRgb()}function x(e){var t,n;return e=(e+\"\").trim().toLowerCase(),(t=l.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?w(t):3===n?new E(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?_(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?_(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=f.exec(e))?new E(t[1],t[2],t[3],1):(t=d.exec(e))?new E(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=h.exec(e))?_(t[1],t[2],t[3],t[4]):(t=p.exec(e))?_(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=g.exec(e))?j(t[1],t[2]/100,t[3]/100,1):(t=y.exec(e))?j(t[1],t[2]/100,t[3]/100,t[4]):m.hasOwnProperty(e)?w(m[e]):\"transparent\"===e?new E(NaN,NaN,NaN,0):null}function w(e){return new E(e>>16&255,e>>8&255,255&e,1)}function _(e,t,n,r){return r<=0&&(e=t=n=NaN),new E(e,t,n,r)}function k(e){return e instanceof i||(e=x(e)),e?new E((e=e.rgb()).r,e.g,e.b,e.opacity):new E}function O(e,t,n,r){return 1===arguments.length?k(e):new E(e,t,n,null==r?1:r)}function E(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function S(){return\"#\"+T(this.r)+T(this.g)+T(this.b)}function C(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?\"rgb(\":\"rgba(\")+Math.max(0,Math.min(255,Math.round(this.r)||0))+\", \"+Math.max(0,Math.min(255,Math.round(this.g)||0))+\", \"+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===e?\")\":\", \"+e+\")\")}function T(e){return((e=Math.max(0,Math.min(255,Math.round(e)||0)))<16?\"0\":\"\")+e.toString(16)}function j(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new P(e,t,n,r)}function A(e){if(e instanceof P)return new P(e.h,e.s,e.l,e.opacity);if(e instanceof i||(e=x(e)),!e)return new P;if(e instanceof P)return e;var t=(e=e.rgb()).r/255,n=e.g/255,r=e.b/255,o=Math.min(t,n,r),a=Math.max(t,n,r),s=NaN,c=a-o,u=(a+o)/2;return c?(s=t===a?(n-r)/c+6*(n<r):n===a?(r-t)/c+2:(t-n)/c+4,c/=u<.5?a+o:2-a-o,s*=60):c=u>0&&u<1?0:s,new P(s,c,u,e.opacity)}function M(e,t,n,r){return 1===arguments.length?A(e):new P(e,t,n,null==r?1:r)}function P(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function N(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}Object(r.a)(i,x,{copy:function(e){return Object.assign(new this.constructor,this,e)},displayable:function(){return this.rgb().displayable()},hex:b,formatHex:b,formatHsl:function(){return A(this).formatHsl()},formatRgb:v,toString:v}),Object(r.a)(E,O,Object(r.b)(i,{brighter:function(e){return e=null==e?a:Math.pow(a,e),new E(this.r*e,this.g*e,this.b*e,this.opacity)},darker:function(e){return e=null==e?o:Math.pow(o,e),new E(this.r*e,this.g*e,this.b*e,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:S,formatHex:S,formatRgb:C,toString:C})),Object(r.a)(P,M,Object(r.b)(i,{brighter:function(e){return e=null==e?a:Math.pow(a,e),new P(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?o:Math.pow(o,e),new P(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new E(N(e>=240?e-240:e+120,i,r),N(e,i,r),N(e<120?e+240:e-120,i,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?\"hsl(\":\"hsla(\")+(this.h||0)+\", \"+100*(this.s||0)+\"%, \"+100*(this.l||0)+\"%\"+(1===e?\")\":\", \"+e+\")\")}}))},,function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return s}));var r=n(3),i=n(0),o=n.n(i),a=n(147);function s(e,t){var n=function(t,n){return o.a.createElement(a.a,Object(r.a)({ref:n},t),e)};return n.muiName=a.a.muiName,o.a.memo(o.a.forwardRef(n))}},function(e,t,n){\"use strict\"},function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){\"use strict\";function r(e){return e&&e.ownerDocument||document}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";var r=n(35);n.d(t,\"a\",(function(){return r.e})),n.d(t,\"h\",(function(){return r.g})),n.d(t,\"e\",(function(){return r.f}));var i=n(158);n.d(t,\"f\",(function(){return i.a})),n.d(t,\"d\",(function(){return i.c})),n.d(t,\"g\",(function(){return i.d})),n.d(t,\"c\",(function(){return i.b}));var o=n(219);n.d(t,\"b\",(function(){return o.a}))},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return o}));var r=n(0),i=\"undefined\"!==typeof window?r.useLayoutEffect:r.useEffect;function o(e){var t=r.useRef(e);return i((function(){t.current=e})),r.useCallback((function(){return t.current.apply(void 0,arguments)}),[])}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return o})),n.d(t,\"b\",(function(){return a}));var r=n(0),i=(n(1),Object(r.createContext)(null)),o=function(e){var t=e.utils,n=e.children,o=e.locale,a=e.libInstance,s=Object(r.useMemo)((function(){return new t({locale:o,instance:a})}),[t,a,o]);return Object(r.createElement)(i.Provider,{value:s,children:n})};function a(){var e=Object(r.useContext)(i);return function(e){if(!e)throw new Error(\"Can not find utils in context. You either a) forgot to wrap your component tree in MuiPickersUtilsProvider; or b) mixed named and direct file imports.  Recommendation: use named imports from the module index.\")}(e),e}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return r.a})),n.d(t,\"b\",(function(){return i.a})),n.d(t,\"c\",(function(){return o.b})),n.d(t,\"d\",(function(){return a.a})),n.d(t,\"g\",(function(){return s.a})),n.d(t,\"h\",(function(){return c})),n.d(t,\"m\",(function(){return l})),n.d(t,\"o\",(function(){return f.a})),n.d(t,\"p\",(function(){return d.a})),n.d(t,\"q\",(function(){return h.a})),n.d(t,\"u\",(function(){return p.a})),n.d(t,\"v\",(function(){return g.a})),n.d(t,\"w\",(function(){return y.a})),n.d(t,\"x\",(function(){return y.b})),n.d(t,\"y\",(function(){return m.a})),n.d(t,\"r\",(function(){return b.a})),n.d(t,\"s\",(function(){return b.b})),n.d(t,\"t\",(function(){return b.c})),n.d(t,\"k\",(function(){return w})),n.d(t,\"l\",(function(){return _})),n.d(t,\"n\",(function(){return O})),n.d(t,\"i\",(function(){return S})),n.d(t,\"j\",(function(){return C})),n.d(t,\"e\",(function(){return T.b})),n.d(t,\"f\",(function(){return T.a})),n.d(t,\"z\",(function(){return j})),n.d(t,\"A\",(function(){return A}));var r=n(139),i=n(199),o=n(138),a=n(196),s=n(198),c=function(e){var t=e.length;return function(n){return e[Math.max(0,Math.min(t-1,Math.floor(n*t)))]}},u=n(29),l=function(e,t){var n=Object(u.c)(+e,+t);return function(e){var t=n(e);return t-360*Math.floor(t/360)}},f=n(55),d=n(103),h=n(200),p=n(286),g=n(197),y=n(264),m=n(287),b=n(120),v=n(35);function x(e){return function(t,n){var r=e((t=Object(v.f)(t)).h,(n=Object(v.f)(n)).h),i=Object(u.a)(t.s,n.s),o=Object(u.a)(t.l,n.l),a=Object(u.a)(t.opacity,n.opacity);return function(e){return t.h=r(e),t.s=i(e),t.l=o(e),t.opacity=a(e),t+\"\"}}}var w=x(u.c),_=x(u.a),k=n(158);function O(e,t){var n=Object(u.a)((e=Object(k.a)(e)).l,(t=Object(k.a)(t)).l),r=Object(u.a)(e.a,t.a),i=Object(u.a)(e.b,t.b),o=Object(u.a)(e.opacity,t.opacity);return function(t){return e.l=n(t),e.a=r(t),e.b=i(t),e.opacity=o(t),e+\"\"}}function E(e){return function(t,n){var r=e((t=Object(k.c)(t)).h,(n=Object(k.c)(n)).h),i=Object(u.a)(t.c,n.c),o=Object(u.a)(t.l,n.l),a=Object(u.a)(t.opacity,n.opacity);return function(e){return t.h=r(e),t.c=i(e),t.l=o(e),t.opacity=a(e),t+\"\"}}}var S=E(u.c),C=E(u.a),T=n(226);function j(e,t){for(var n=0,r=t.length-1,i=t[0],o=new Array(r<0?0:r);n<r;)o[n]=e(i,i=t[++n]);return function(e){var t=Math.max(0,Math.min(r-1,Math.floor(e*=r)));return o[t](e-t)}}var A=function(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e(r/(t-1));return n}},function(e,t,n){\"use strict\";function r(e,t){e&&o.hasOwnProperty(e.type)&&o[e.type](e,t)}var i={Feature:function(e,t){r(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,i=-1,o=n.length;++i<o;)r(n[i].geometry,t)}},o={Sphere:function(e,t){t.sphere()},Point:function(e,t){e=e.coordinates,t.point(e[0],e[1],e[2])},MultiPoint:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)e=n[r],t.point(e[0],e[1],e[2])},LineString:function(e,t){a(e.coordinates,t,0)},MultiLineString:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)a(n[r],t,0)},Polygon:function(e,t){s(e.coordinates,t)},MultiPolygon:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)s(n[r],t)},GeometryCollection:function(e,t){for(var n=e.geometries,i=-1,o=n.length;++i<o;)r(n[i],t)}};function a(e,t,n){var r,i=-1,o=e.length-n;for(t.lineStart();++i<o;)r=e[i],t.point(r[0],r[1],r[2]);t.lineEnd()}function s(e,t){var n=-1,r=e.length;for(t.polygonStart();++n<r;)a(e[n],t,1);t.polygonEnd()}t.a=function(e,t){e&&i.hasOwnProperty(e.type)?i[e.type](e,t):r(e,t)}},function(e,t,n){\"use strict\";n.d(t,\"d\",(function(){return s})),n.d(t,\"e\",(function(){return g})),n.d(t,\"c\",(function(){return a})),n.d(t,\"b\",(function(){return y})),n.d(t,\"f\",(function(){return m})),n.d(t,\"a\",(function(){return b}));var r=\"$\";function i(){}function o(e,t){var n=new i;if(e instanceof i)e.each((function(e,t){n.set(t,e)}));else if(Array.isArray(e)){var r,o=-1,a=e.length;if(null==t)for(;++o<a;)n.set(o,e[o]);else for(;++o<a;)n.set(t(r=e[o],o,e),r)}else if(e)for(var s in e)n.set(s,e[s]);return n}i.prototype=o.prototype={constructor:i,has:function(e){return r+e in this},get:function(e){return this[r+e]},set:function(e,t){return this[r+e]=t,this},remove:function(e){var t=r+e;return t in this&&delete this[t]},clear:function(){for(var e in this)e[0]===r&&delete this[e]},keys:function(){var e=[];for(var t in this)t[0]===r&&e.push(t.slice(1));return e},values:function(){var e=[];for(var t in this)t[0]===r&&e.push(this[t]);return e},entries:function(){var e=[];for(var t in this)t[0]===r&&e.push({key:t.slice(1),value:this[t]});return e},size:function(){var e=0;for(var t in this)t[0]===r&&++e;return e},empty:function(){for(var e in this)if(e[0]===r)return!1;return!0},each:function(e){for(var t in this)t[0]===r&&e(this[t],t.slice(1),this)}};var a=o,s=function(){var e,t,n,r=[],i=[];function o(n,i,s,c){if(i>=r.length)return null!=e&&n.sort(e),null!=t?t(n):n;for(var u,l,f,d=-1,h=n.length,p=r[i++],g=a(),y=s();++d<h;)(f=g.get(u=p(l=n[d])+\"\"))?f.push(l):g.set(u,[l]);return g.each((function(e,t){c(y,t,o(e,i,s,c))})),y}function s(e,n){if(++n>r.length)return e;var o,a=i[n-1];return null!=t&&n>=r.length?o=e.entries():(o=[],e.each((function(e,t){o.push({key:t,values:s(e,n)})}))),null!=a?o.sort((function(e,t){return a(e.key,t.key)})):o}return n={object:function(e){return o(e,0,c,u)},map:function(e){return o(e,0,l,f)},entries:function(e){return s(o(e,0,l,f),0)},key:function(e){return r.push(e),n},sortKeys:function(e){return i[r.length-1]=e,n},sortValues:function(t){return e=t,n},rollup:function(e){return t=e,n}}};function c(){return{}}function u(e,t,n){e[t]=n}function l(){return a()}function f(e,t,n){e.set(t,n)}function d(){}var h=a.prototype;function p(e,t){var n=new d;if(e instanceof d)e.each((function(e){n.add(e)}));else if(e){var r=-1,i=e.length;if(null==t)for(;++r<i;)n.add(e[r]);else for(;++r<i;)n.add(t(e[r],r,e))}return n}d.prototype=p.prototype={constructor:d,has:h.has,add:function(e){return this[r+(e+=\"\")]=e,this},remove:h.remove,clear:h.clear,values:h.keys,size:h.size,empty:h.empty,each:h.each};var g=p,y=function(e){var t=[];for(var n in e)t.push(n);return t},m=function(e){var t=[];for(var n in e)t.push(e[n]);return t},b=function(e){var t=[];for(var n in e)t.push({key:n,value:e[n]});return t}},function(e,t,n){\"use strict\";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";function r(){return 0}n.d(t,\"a\",(function(){return r})),t.b=function(e){return function(){return e}}},function(e,t,n){\"use strict\";var r=n(33),i=n(71).Graph;function o(e,t,n,i){var o;do{o=r.uniqueId(i)}while(e.hasNode(o));return n.dummy=t,e.setNode(o,n),o}function a(e){return r.max(r.map(e.nodes(),(function(t){var n=e.node(t).rank;if(!r.isUndefined(n))return n})))}e.exports={addDummyNode:o,simplify:function(e){var t=(new i).setGraph(e.graph());return r.forEach(e.nodes(),(function(n){t.setNode(n,e.node(n))})),r.forEach(e.edges(),(function(n){var r=t.edge(n.v,n.w)||{weight:0,minlen:1},i=e.edge(n);t.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})})),t},asNonCompoundGraph:function(e){var t=new i({multigraph:e.isMultigraph()}).setGraph(e.graph());return r.forEach(e.nodes(),(function(n){e.children(n).length||t.setNode(n,e.node(n))})),r.forEach(e.edges(),(function(n){t.setEdge(n,e.edge(n))})),t},successorWeights:function(e){var t=r.map(e.nodes(),(function(t){var n={};return r.forEach(e.outEdges(t),(function(t){n[t.w]=(n[t.w]||0)+e.edge(t).weight})),n}));return r.zipObject(e.nodes(),t)},predecessorWeights:function(e){var t=r.map(e.nodes(),(function(t){var n={};return r.forEach(e.inEdges(t),(function(t){n[t.v]=(n[t.v]||0)+e.edge(t).weight})),n}));return r.zipObject(e.nodes(),t)},intersectRect:function(e,t){var n,r,i=e.x,o=e.y,a=t.x-i,s=t.y-o,c=e.width/2,u=e.height/2;if(!a&&!s)throw new Error(\"Not possible to find intersection inside of the rectangle\");Math.abs(s)*c>Math.abs(a)*u?(s<0&&(u=-u),n=u*a/s,r=u):(a<0&&(c=-c),n=c,r=c*s/a);return{x:i+n,y:o+r}},buildLayerMatrix:function(e){var t=r.map(r.range(a(e)+1),(function(){return[]}));return r.forEach(e.nodes(),(function(n){var i=e.node(n),o=i.rank;r.isUndefined(o)||(t[o][i.order]=n)})),t},normalizeRanks:function(e){var t=r.min(r.map(e.nodes(),(function(t){return e.node(t).rank})));r.forEach(e.nodes(),(function(n){var i=e.node(n);r.has(i,\"rank\")&&(i.rank-=t)}))},removeEmptyRanks:function(e){var t=r.min(r.map(e.nodes(),(function(t){return e.node(t).rank}))),n=[];r.forEach(e.nodes(),(function(r){var i=e.node(r).rank-t;n[i]||(n[i]=[]),n[i].push(r)}));var i=0,o=e.graph().nodeRankFactor;r.forEach(n,(function(t,n){r.isUndefined(t)&&n%o!==0?--i:i&&r.forEach(t,(function(t){e.node(t).rank+=i}))}))},addBorderNode:function(e,t,n,r){var i={width:0,height:0};arguments.length>=4&&(i.rank=n,i.order=r);return o(e,\"border\",i,t)},maxRank:a,partition:function(e,t){var n={lhs:[],rhs:[]};return r.forEach(e,(function(e){t(e)?n.lhs.push(e):n.rhs.push(e)})),n},time:function(e,t){var n=r.now();try{return t()}finally{console.log(e+\" time: \"+(r.now()-n)+\"ms\")}},notime:function(e,t){return t()}}},function(e,t,n){\"use strict\";n.r(t),n.d(t,\"arc\",(function(){return r.a})),n.d(t,\"area\",(function(){return i.a})),n.d(t,\"line\",(function(){return o.a})),n.d(t,\"pie\",(function(){return a.a})),n.d(t,\"areaRadial\",(function(){return h})),n.d(t,\"radialArea\",(function(){return h})),n.d(t,\"lineRadial\",(function(){return d})),n.d(t,\"radialLine\",(function(){return d})),n.d(t,\"pointRadial\",(function(){return p.a})),n.d(t,\"linkHorizontal\",(function(){return g.a})),n.d(t,\"linkVertical\",(function(){return g.c})),n.d(t,\"linkRadial\",(function(){return g.b})),n.d(t,\"symbol\",(function(){return L})),n.d(t,\"symbols\",(function(){return I})),n.d(t,\"symbolCircle\",(function(){return b})),n.d(t,\"symbolCross\",(function(){return v})),n.d(t,\"symbolDiamond\",(function(){return _})),n.d(t,\"symbolSquare\",(function(){return C})),n.d(t,\"symbolStar\",(function(){return S})),n.d(t,\"symbolTriangle\",(function(){return j})),n.d(t,\"symbolWye\",(function(){return D})),n.d(t,\"curveBasisClosed\",(function(){return W})),n.d(t,\"curveBasisOpen\",(function(){return V})),n.d(t,\"curveBasis\",(function(){return U})),n.d(t,\"curveBundle\",(function(){return $})),n.d(t,\"curveCardinalClosed\",(function(){return J})),n.d(t,\"curveCardinalOpen\",(function(){return ee})),n.d(t,\"curveCardinal\",(function(){return K})),n.d(t,\"curveCatmullRomClosed\",(function(){return oe})),n.d(t,\"curveCatmullRomOpen\",(function(){return se})),n.d(t,\"curveCatmullRom\",(function(){return re})),n.d(t,\"curveLinearClosed\",(function(){return ue})),n.d(t,\"curveLinear\",(function(){return s.a})),n.d(t,\"curveMonotoneX\",(function(){return me})),n.d(t,\"curveMonotoneY\",(function(){return be})),n.d(t,\"curveNatural\",(function(){return we})),n.d(t,\"curveStep\",(function(){return ke})),n.d(t,\"curveStepAfter\",(function(){return Ee})),n.d(t,\"curveStepBefore\",(function(){return Oe})),n.d(t,\"stack\",(function(){return Ae})),n.d(t,\"stackOffsetExpand\",(function(){return Me})),n.d(t,\"stackOffsetDiverging\",(function(){return Pe})),n.d(t,\"stackOffsetNone\",(function(){return Ce})),n.d(t,\"stackOffsetSilhouette\",(function(){return Ne})),n.d(t,\"stackOffsetWiggle\",(function(){return De})),n.d(t,\"stackOrderAppearance\",(function(){return Re})),n.d(t,\"stackOrderAscending\",(function(){return Le})),n.d(t,\"stackOrderDescending\",(function(){return Fe})),n.d(t,\"stackOrderInsideOut\",(function(){return ze})),n.d(t,\"stackOrderNone\",(function(){return Te})),n.d(t,\"stackOrderReverse\",(function(){return Ue}));var r=n(288),i=n(203),o=n(141),a=n(380),s=n(99),c=l(s.a);function u(e){this._curve=e}function l(e){function t(t){return new u(e(t))}return t._curve=e,t}function f(e){var t=e.curve;return e.angle=e.x,delete e.x,e.radius=e.y,delete e.y,e.curve=function(e){return arguments.length?t(l(e)):t()._curve},e}u.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(e,t){this._curve.point(t*Math.sin(e),t*-Math.cos(e))}};var d=function(){return f(Object(o.a)().curve(c))},h=function(){var e=Object(i.a)().curve(c),t=e.curve,n=e.lineX0,r=e.lineX1,o=e.lineY0,a=e.lineY1;return e.angle=e.x,delete e.x,e.startAngle=e.x0,delete e.x0,e.endAngle=e.x1,delete e.x1,e.radius=e.y,delete e.y,e.innerRadius=e.y0,delete e.y0,e.outerRadius=e.y1,delete e.y1,e.lineStartAngle=function(){return f(n())},delete e.lineX0,e.lineEndAngle=function(){return f(r())},delete e.lineX1,e.lineInnerRadius=function(){return f(o())},delete e.lineY0,e.lineOuterRadius=function(){return f(a())},delete e.lineY1,e.curve=function(e){return arguments.length?t(l(e)):t()._curve},e},p=n(124),g=n(173),y=n(150),m=n(14),b={draw:function(e,t){var n=Math.sqrt(t/m.j);e.moveTo(n,0),e.arc(0,0,n,0,m.m)}},v={draw:function(e,t){var n=Math.sqrt(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},x=Math.sqrt(1/3),w=2*x,_={draw:function(e,t){var n=Math.sqrt(t/w),r=n*x;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},k=Math.sin(m.j/10)/Math.sin(7*m.j/10),O=Math.sin(m.m/10)*k,E=-Math.cos(m.m/10)*k,S={draw:function(e,t){var n=Math.sqrt(.8908130915292852*t),r=O*n,i=E*n;e.moveTo(0,-n),e.lineTo(r,i);for(var o=1;o<5;++o){var a=m.m*o/5,s=Math.cos(a),c=Math.sin(a);e.lineTo(c*n,-s*n),e.lineTo(s*r-c*i,c*r+s*i)}e.closePath()}},C={draw:function(e,t){var n=Math.sqrt(t),r=-n/2;e.rect(r,r,n,n)}},T=Math.sqrt(3),j={draw:function(e,t){var n=-Math.sqrt(t/(3*T));e.moveTo(0,2*n),e.lineTo(-T*n,-n),e.lineTo(T*n,-n),e.closePath()}},A=-.5,M=Math.sqrt(3)/2,P=1/Math.sqrt(12),N=3*(P/2+1),D={draw:function(e,t){var n=Math.sqrt(t/N),r=n/2,i=n*P,o=r,a=n*P+n,s=-o,c=a;e.moveTo(r,i),e.lineTo(o,a),e.lineTo(s,c),e.lineTo(A*r-M*i,M*r+A*i),e.lineTo(A*o-M*a,M*o+A*a),e.lineTo(A*s-M*c,M*s+A*c),e.lineTo(A*r+M*i,A*i-M*r),e.lineTo(A*o+M*a,A*a-M*o),e.lineTo(A*s+M*c,A*c-M*s),e.closePath()}},R=n(21),I=[b,v,_,C,S,j,D],L=function(){var e=Object(R.a)(b),t=Object(R.a)(64),n=null;function r(){var r;if(n||(n=r=Object(y.a)()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),r)return n=null,r+\"\"||null}return r.type=function(t){return arguments.length?(e=\"function\"===typeof t?t:Object(R.a)(t),r):e},r.size=function(e){return arguments.length?(t=\"function\"===typeof e?e:Object(R.a)(+e),r):t},r.context=function(e){return arguments.length?(n=null==e?null:e,r):n},r},B=function(){};function F(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function z(e){this._context=e}z.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:F(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:F(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};var U=function(e){return new z(e)};function H(e){this._context=e}H.prototype={areaStart:B,areaEnd:B,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:F(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};var W=function(e){return new H(e)};function Y(e){this._context=e}Y.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:F(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};var V=function(e){return new Y(e)};function q(e,t){this._basis=new z(e),this._beta=t}q.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var e=this._x,t=this._y,n=e.length-1;if(n>0)for(var r,i=e[0],o=t[0],a=e[n]-i,s=t[n]-o,c=-1;++c<=n;)r=c/n,this._basis.point(this._beta*e[c]+(1-this._beta)*(i+r*a),this._beta*t[c]+(1-this._beta)*(o+r*s));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};var $=function e(t){function n(e){return 1===t?new z(e):new q(e,t)}return n.beta=function(t){return e(+t)},n}(.85);function G(e,t,n){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-n),e._x2,e._y2)}function X(e,t){this._context=e,this._k=(1-t)/6}X.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:G(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:G(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var K=function e(t){function n(e){return new X(e,t)}return n.tension=function(t){return e(+t)},n}(0);function Z(e,t){this._context=e,this._k=(1-t)/6}Z.prototype={areaStart:B,areaEnd:B,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:G(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var J=function e(t){function n(e){return new Z(e,t)}return n.tension=function(t){return e(+t)},n}(0);function Q(e,t){this._context=e,this._k=(1-t)/6}Q.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:G(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var ee=function e(t){function n(e){return new Q(e,t)}return n.tension=function(t){return e(+t)},n}(0);function te(e,t,n){var r=e._x1,i=e._y1,o=e._x2,a=e._y2;if(e._l01_a>m.f){var s=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,c=3*e._l01_a*(e._l01_a+e._l12_a);r=(r*s-e._x0*e._l12_2a+e._x2*e._l01_2a)/c,i=(i*s-e._y0*e._l12_2a+e._y2*e._l01_2a)/c}if(e._l23_a>m.f){var u=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,l=3*e._l23_a*(e._l23_a+e._l12_a);o=(o*u+e._x1*e._l23_2a-t*e._l12_2a)/l,a=(a*u+e._y1*e._l23_2a-n*e._l12_2a)/l}e._context.bezierCurveTo(r,i,o,a,e._x2,e._y2)}function ne(e,t){this._context=e,this._alpha=t}ne.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:te(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var re=function e(t){function n(e){return t?new ne(e,t):new X(e,0)}return n.alpha=function(t){return e(+t)},n}(.5);function ie(e,t){this._context=e,this._alpha=t}ie.prototype={areaStart:B,areaEnd:B,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:te(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var oe=function e(t){function n(e){return t?new ie(e,t):new Z(e,0)}return n.alpha=function(t){return e(+t)},n}(.5);function ae(e,t){this._context=e,this._alpha=t}ae.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:te(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var se=function e(t){function n(e){return t?new ae(e,t):new Q(e,0)}return n.alpha=function(t){return e(+t)},n}(.5);function ce(e){this._context=e}ce.prototype={areaStart:B,areaEnd:B,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};var ue=function(e){return new ce(e)};function le(e){return e<0?-1:1}function fe(e,t,n){var r=e._x1-e._x0,i=t-e._x1,o=(e._y1-e._y0)/(r||i<0&&-0),a=(n-e._y1)/(i||r<0&&-0),s=(o*i+a*r)/(r+i);return(le(o)+le(a))*Math.min(Math.abs(o),Math.abs(a),.5*Math.abs(s))||0}function de(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function he(e,t,n){var r=e._x0,i=e._y0,o=e._x1,a=e._y1,s=(o-r)/3;e._context.bezierCurveTo(r+s,i+s*t,o-s,a-s*n,o,a)}function pe(e){this._context=e}function ge(e){this._context=new ye(e)}function ye(e){this._context=e}function me(e){return new pe(e)}function be(e){return new ge(e)}function ve(e){this._context=e}function xe(e){var t,n,r=e.length-1,i=new Array(r),o=new Array(r),a=new Array(r);for(i[0]=0,o[0]=2,a[0]=e[0]+2*e[1],t=1;t<r-1;++t)i[t]=1,o[t]=4,a[t]=4*e[t]+2*e[t+1];for(i[r-1]=2,o[r-1]=7,a[r-1]=8*e[r-1]+e[r],t=1;t<r;++t)n=i[t]/o[t-1],o[t]-=n,a[t]-=n*a[t-1];for(i[r-1]=a[r-1]/o[r-1],t=r-2;t>=0;--t)i[t]=(a[t]-i[t+1])/o[t];for(o[r-1]=(e[r]+i[r-1])/2,t=0;t<r-1;++t)o[t]=2*e[t+1]-i[t+1];return[i,o]}pe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:he(this,this._t0,de(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(t=+t,(e=+e)!==this._x1||t!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,he(this,de(this,n=fe(this,e,t)),n);break;default:he(this,this._t0,n=fe(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}},(ge.prototype=Object.create(pe.prototype)).point=function(e,t){pe.prototype.point.call(this,t,e)},ye.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,i,o){this._context.bezierCurveTo(t,e,r,n,o,i)}},ve.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),2===n)this._context.lineTo(e[1],t[1]);else for(var r=xe(e),i=xe(t),o=0,a=1;a<n;++o,++a)this._context.bezierCurveTo(r[0][o],i[0][o],r[1][o],i[1][o],e[a],t[a]);(this._line||0!==this._line&&1===n)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}};var we=function(e){return new ve(e)};function _e(e,t){this._context=e,this._t=t}_e.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};var ke=function(e){return new _e(e,.5)};function Oe(e){return new _e(e,0)}function Ee(e){return new _e(e,1)}var Se=n(171),Ce=function(e,t){if((i=e.length)>1)for(var n,r,i,o=1,a=e[t[0]],s=a.length;o<i;++o)for(r=a,a=e[t[o]],n=0;n<s;++n)a[n][1]+=a[n][0]=isNaN(r[n][1])?r[n][0]:r[n][1]},Te=function(e){for(var t=e.length,n=new Array(t);--t>=0;)n[t]=t;return n};function je(e,t){return e[t]}var Ae=function(){var e=Object(R.a)([]),t=Te,n=Ce,r=je;function i(i){var o,a,s=e.apply(this,arguments),c=i.length,u=s.length,l=new Array(u);for(o=0;o<u;++o){for(var f,d=s[o],h=l[o]=new Array(c),p=0;p<c;++p)h[p]=f=[0,+r(i[p],d,p,i)],f.data=i[p];h.key=d}for(o=0,a=t(l);o<u;++o)l[a[o]].index=o;return n(l,a),l}return i.keys=function(t){return arguments.length?(e=\"function\"===typeof t?t:Object(R.a)(Se.a.call(t)),i):e},i.value=function(e){return arguments.length?(r=\"function\"===typeof e?e:Object(R.a)(+e),i):r},i.order=function(e){return arguments.length?(t=null==e?Te:\"function\"===typeof e?e:Object(R.a)(Se.a.call(e)),i):t},i.offset=function(e){return arguments.length?(n=null==e?Ce:e,i):n},i},Me=function(e,t){if((r=e.length)>0){for(var n,r,i,o=0,a=e[0].length;o<a;++o){for(i=n=0;n<r;++n)i+=e[n][o][1]||0;if(i)for(n=0;n<r;++n)e[n][o][1]/=i}Ce(e,t)}},Pe=function(e,t){if((s=e.length)>0)for(var n,r,i,o,a,s,c=0,u=e[t[0]].length;c<u;++c)for(o=a=0,n=0;n<s;++n)(i=(r=e[t[n]][c])[1]-r[0])>0?(r[0]=o,r[1]=o+=i):i<0?(r[1]=a,r[0]=a+=i):(r[0]=0,r[1]=i)},Ne=function(e,t){if((n=e.length)>0){for(var n,r=0,i=e[t[0]],o=i.length;r<o;++r){for(var a=0,s=0;a<n;++a)s+=e[a][r][1]||0;i[r][1]+=i[r][0]=-s/2}Ce(e,t)}},De=function(e,t){if((i=e.length)>0&&(r=(n=e[t[0]]).length)>0){for(var n,r,i,o=0,a=1;a<r;++a){for(var s=0,c=0,u=0;s<i;++s){for(var l=e[t[s]],f=l[a][1]||0,d=(f-(l[a-1][1]||0))/2,h=0;h<s;++h){var p=e[t[h]];d+=(p[a][1]||0)-(p[a-1][1]||0)}c+=f,u+=d*f}n[a-1][1]+=n[a-1][0]=o,c&&(o-=u/c)}n[a-1][1]+=n[a-1][0]=o,Ce(e,t)}},Re=function(e){var t=e.map(Ie);return Te(e).sort((function(e,n){return t[e]-t[n]}))};function Ie(e){for(var t,n=-1,r=0,i=e.length,o=-1/0;++n<i;)(t=+e[n][1])>o&&(o=t,r=n);return r}var Le=function(e){var t=e.map(Be);return Te(e).sort((function(e,n){return t[e]-t[n]}))};function Be(e){for(var t,n=0,r=-1,i=e.length;++r<i;)(t=+e[r][1])&&(n+=t);return n}var Fe=function(e){return Le(e).reverse()},ze=function(e){var t,n,r=e.length,i=e.map(Be),o=Re(e),a=0,s=0,c=[],u=[];for(t=0;t<r;++t)n=o[t],a<s?(a+=i[n],c.push(n)):(s+=i[n],u.push(n));return u.reverse().concat(c)},Ue=function(e){return Te(e).reverse()}},function(e,t,n){\"use strict\";function r(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return o}));var r=n(266),i=(n(0),n(101));function o(){return Object(r.a)()||i.a}},function(e,t,n){var r;\"undefined\"!==typeof self&&self,r=function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=\"./src/mermaid.js\")}({\"./node_modules/node-libs-browser/mock/empty.js\":function(e,t){},\"./node_modules/path-browserify/index.js\":function(e,t,n){(function(e){function n(e,t){for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];\".\"===i?e.splice(r,1):\"..\"===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift(\"..\");return e}function r(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r<e.length;r++)t(e[r],r,e)&&n.push(e[r]);return n}t.resolve=function(){for(var t=\"\",i=!1,o=arguments.length-1;o>=-1&&!i;o--){var a=o>=0?arguments[o]:e.cwd();if(\"string\"!==typeof a)throw new TypeError(\"Arguments to path.resolve must be strings\");a&&(t=a+\"/\"+t,i=\"/\"===a.charAt(0))}return(i?\"/\":\"\")+(t=n(r(t.split(\"/\"),(function(e){return!!e})),!i).join(\"/\"))||\".\"},t.normalize=function(e){var o=t.isAbsolute(e),a=\"/\"===i(e,-1);return(e=n(r(e.split(\"/\"),(function(e){return!!e})),!o).join(\"/\"))||o||(e=\".\"),e&&a&&(e+=\"/\"),(o?\"/\":\"\")+e},t.isAbsolute=function(e){return\"/\"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(r(e,(function(e,t){if(\"string\"!==typeof e)throw new TypeError(\"Arguments to path.join must be strings\");return e})).join(\"/\"))},t.relative=function(e,n){function r(e){for(var t=0;t<e.length&&\"\"===e[t];t++);for(var n=e.length-1;n>=0&&\"\"===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=t.resolve(e).substr(1),n=t.resolve(n).substr(1);for(var i=r(e.split(\"/\")),o=r(n.split(\"/\")),a=Math.min(i.length,o.length),s=a,c=0;c<a;c++)if(i[c]!==o[c]){s=c;break}var u=[];for(c=s;c<i.length;c++)u.push(\"..\");return(u=u.concat(o.slice(s))).join(\"/\")},t.sep=\"/\",t.delimiter=\":\",t.dirname=function(e){if(\"string\"!==typeof e&&(e+=\"\"),0===e.length)return\".\";for(var t=e.charCodeAt(0),n=47===t,r=-1,i=!0,o=e.length-1;o>=1;--o)if(47===(t=e.charCodeAt(o))){if(!i){r=o;break}}else i=!1;return-1===r?n?\"/\":\".\":n&&1===r?\"/\":e.slice(0,r)},t.basename=function(e,t){var n=function(e){\"string\"!==typeof e&&(e+=\"\");var t,n=0,r=-1,i=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!i){n=t+1;break}}else-1===r&&(i=!1,r=t+1);return-1===r?\"\":e.slice(n,r)}(e);return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},t.extname=function(e){\"string\"!==typeof e&&(e+=\"\");for(var t=-1,n=0,r=-1,i=!0,o=0,a=e.length-1;a>=0;--a){var s=e.charCodeAt(a);if(47!==s)-1===r&&(i=!1,r=a+1),46===s?-1===t?t=a:1!==o&&(o=1):-1!==t&&(o=-1);else if(!i){n=a+1;break}}return-1===t||-1===r||0===o||1===o&&t===r-1&&t===n+1?\"\":e.slice(t,r)};var i=\"b\"===\"ab\".substr(-1)?function(e,t,n){return e.substr(t,n)}:function(e,t,n){return t<0&&(t=e.length+t),e.substr(t,n)}}).call(this,n(\"./node_modules/process/browser.js\"))},\"./node_modules/process/browser.js\":function(e,t){var n,r,i=e.exports={};function o(){throw new Error(\"setTimeout has not been defined\")}function a(){throw new Error(\"clearTimeout has not been defined\")}function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n=\"function\"===typeof setTimeout?setTimeout:o}catch(e){n=o}try{r=\"function\"===typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var c,u=[],l=!1,f=-1;function d(){l&&c&&(l=!1,c.length?u=c.concat(u):f=-1,u.length&&h())}function h(){if(!l){var e=s(d);l=!0;for(var t=u.length;t;){for(c=u,u=[];++f<t;)c&&c[f].run();f=-1,t=u.length}c=null,l=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===a||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function g(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];u.push(new p(e,t)),1!==u.length||l||s(h)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title=\"browser\",i.browser=!0,i.env={},i.argv=[],i.version=\"\",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.prependListener=g,i.prependOnceListener=g,i.listeners=function(e){return[]},i.binding=function(e){throw new Error(\"process.binding is not supported\")},i.cwd=function(){return\"/\"},i.chdir=function(e){throw new Error(\"process.chdir is not supported\")},i.umask=function(){return 0}},\"./node_modules/webpack/buildin/module.js\":function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,\"loaded\",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,\"id\",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},\"./package.json\":function(e){e.exports=JSON.parse('{\"name\":\"mermaid\",\"version\":\"8.8.2\",\"description\":\"Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.\",\"main\":\"dist/mermaid.core.js\",\"keywords\":[\"diagram\",\"markdown\",\"flowchart\",\"sequence diagram\",\"gantt\",\"class diagram\",\"git graph\"],\"scripts\":{\"build:development\":\"webpack --progress --colors\",\"build:production\":\"yarn build:development -p --config webpack.config.prod.babel.js\",\"build\":\"yarn build:development && yarn build:production\",\"postbuild\":\"documentation build src/mermaidAPI.js src/config.js --shallow -f md --markdown-toc false | sed \\'1i---\\\\\\\\nsort: 3\\\\\\\\ntitle: Configurations\\\\\\\\n---\\\\\\\\n\\' > docs/getting-started/Setup.md\",\"build:watch\":\"yarn build --watch\",\"minify\":\"minify ./dist/mermaid.js > ./dist/mermaid.min.js\",\"release\":\"yarn build\",\"lint\":\"eslint src\",\"e2e:depr\":\"yarn lint && jest e2e --config e2e/jest.config.js\",\"cypress\":\"percy exec -- cypress run\",\"e2e\":\"start-server-and-test dev http://localhost:9000/ cypress\",\"e2e-upd\":\"yarn lint && jest e2e -u --config e2e/jest.config.js\",\"dev\":\"webpack-dev-server --config webpack.config.e2e.js\",\"test\":\"yarn lint && jest src/.*\",\"test:watch\":\"jest --watch src\",\"prepublishOnly\":\"yarn build && yarn test\",\"prepare\":\"yarn build\"},\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/knsv/mermaid\"},\"author\":\"Knut Sveidqvist\",\"license\":\"MIT\",\"standard\":{\"ignore\":[\"**/parser/*.js\",\"dist/**/*.js\",\"cypress/**/*.js\"],\"globals\":[\"page\"]},\"dependencies\":{\"@braintree/sanitize-url\":\"^3.1.0\",\"babel-eslint\":\"^10.1.0\",\"d3\":\"^5.7.0\",\"dagre\":\"^0.8.4\",\"dagre-d3\":\"^0.6.4\",\"entity-decode\":\"^2.0.2\",\"graphlib\":\"^2.1.7\",\"he\":\"^1.2.0\",\"khroma\":\"^1.1.0\",\"minify\":\"^4.1.1\",\"moment-mini\":\"^2.22.1\",\"stylis\":\"^3.5.2\"},\"devDependencies\":{\"@babel/core\":\"^7.2.2\",\"@babel/preset-env\":\"^7.8.4\",\"@babel/register\":\"^7.0.0\",\"@percy/cypress\":\"*\",\"babel-core\":\"7.0.0-bridge.0\",\"babel-jest\":\"^24.9.0\",\"babel-loader\":\"^8.0.4\",\"coveralls\":\"^3.0.2\",\"css-loader\":\"^2.0.1\",\"css-to-string-loader\":\"^0.1.3\",\"cypress\":\"4.0.1\",\"documentation\":\"^12.0.1\",\"eslint\":\"^6.3.0\",\"eslint-config-prettier\":\"^6.3.0\",\"eslint-plugin-prettier\":\"^3.1.0\",\"husky\":\"^1.2.1\",\"identity-obj-proxy\":\"^3.0.0\",\"jest\":\"^24.9.0\",\"jison\":\"^0.4.18\",\"moment\":\"^2.23.0\",\"node-sass\":\"^4.12.0\",\"prettier\":\"^1.18.2\",\"puppeteer\":\"^1.17.0\",\"sass-loader\":\"^7.1.0\",\"start-server-and-test\":\"^1.10.6\",\"terser-webpack-plugin\":\"^2.2.2\",\"webpack\":\"^4.41.2\",\"webpack-bundle-analyzer\":\"^3.7.0\",\"webpack-cli\":\"^3.1.2\",\"webpack-dev-server\":\"^3.4.1\",\"webpack-node-externals\":\"^1.7.2\",\"yarn-upgrade-all\":\"^0.5.0\"},\"files\":[\"dist\"],\"yarn-upgrade-all\":{\"ignore\":[\"babel-core\"]},\"sideEffects\":[\"**/*.css\",\"**/*.scss\"],\"husky\":{\"hooks\":{\"pre-push\":\"yarn test\"}}}')},\"./src/config.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"defaultConfig\",(function(){return c})),n.d(t,\"updateCurrentConfig\",(function(){return d})),n.d(t,\"setSiteConfig\",(function(){return h})),n.d(t,\"setSiteConfigDelta\",(function(){return p})),n.d(t,\"updateSiteConfig\",(function(){return g})),n.d(t,\"getSiteConfig\",(function(){return y})),n.d(t,\"setConfig\",(function(){return m})),n.d(t,\"getConfig\",(function(){return b})),n.d(t,\"sanitize\",(function(){return v})),n.d(t,\"addDirective\",(function(){return x})),n.d(t,\"reset\",(function(){return w}));var r,i=n(\"./src/utils.js\"),o=n(\"./src/logger.js\"),a=n(\"./src/themes/index.js\"),s=n(\"./src/defaultConfig.js\"),c=Object.freeze(s.default),u=Object(i.assignWithDepth)({},c),l=[],f=Object(i.assignWithDepth)({},c),d=function(e,t){for(var n=Object(i.assignWithDepth)({},e),o={},s=0;s<t.length;s++){var c=t[s];v(c),o=Object(i.assignWithDepth)(o,c)}if(n=Object(i.assignWithDepth)(n,o),o.theme){var u=Object(i.assignWithDepth)(r.themeVariables||{},o.themeVariables);n.themeVariables=a.default[n.theme].getThemeVariables(u)}return f=n,n},h=function(e){return u=Object(i.assignWithDepth)({},c),u=Object(i.assignWithDepth)(u,e),e.theme&&(u.themeVariables=a.default[e.theme].getThemeVariables(e.themeVariables)),f=d(u,l),u},p=function(e){r=Object(i.assignWithDepth)({},e)},g=function(e){return u=Object(i.assignWithDepth)(u,e),d(u,l),u},y=function(){return Object(i.assignWithDepth)({},u)},m=function(e){return Object(i.assignWithDepth)(f,e),b()},b=function(){return Object(i.assignWithDepth)({},f)},v=function(e){Object.keys(u.secure).forEach((function(t){\"undefined\"!==typeof e[u.secure[t]]&&(o.logger.debug(\"Denied attempt to modify a secure key \".concat(u.secure[t]),e[u.secure[t]]),delete e[u.secure[t]])}))},x=function(e){e.fontFamily&&(e.themeVariables&&e.themeVariables.fontFamily||(e.themeVariables={fontFamily:e.fontFamily})),l.push(e),d(u,l)},w=function(){d(u,l=[])}},\"./src/dagre-wrapper/clusters.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"insertCluster\",(function(){return l})),n.d(t,\"getClusterTitleWidth\",(function(){return f})),n.d(t,\"clear\",(function(){return d})),n.d(t,\"positionCluster\",(function(){return h}));var r=n(\"./src/dagre-wrapper/intersect/intersect-rect.js\"),i=n(\"./src/logger.js\"),o=n(\"./src/dagre-wrapper/createLabel.js\"),a=n(\"d3\"),s=n(\"./src/config.js\"),c={rect:function(e,t){i.logger.trace(\"Creating subgraph rect for \",t.id,t);var n=e.insert(\"g\").attr(\"class\",\"cluster\").attr(\"id\",t.id),c=n.insert(\"rect\",\":first-child\"),u=n.insert(\"g\").attr(\"class\",\"cluster-label\"),l=u.node().appendChild(Object(o.default)(t.labelText,t.labelStyle,void 0,!0)),f=l.getBBox();if(Object(s.getConfig)().flowchart.htmlLabels){var d=l.children[0],h=Object(a.select)(l);f=d.getBoundingClientRect(),h.attr(\"width\",f.width),h.attr(\"height\",f.height)}var p=0*t.padding,g=p/2;i.logger.trace(\"Data \",t,JSON.stringify(t)),c.attr(\"rx\",t.rx).attr(\"ry\",t.ry).attr(\"x\",t.x-t.width/2-g).attr(\"y\",t.y-t.height/2-g).attr(\"width\",t.width+p).attr(\"height\",t.height+p),u.attr(\"transform\",\"translate(\"+(t.x-f.width/2)+\", \"+(t.y-t.height/2-t.padding/3+3)+\")\");var y=c.node().getBBox();return t.width=y.width,t.height=y.height,t.intersect=function(e){return Object(r.default)(t,e)},n},roundedWithTitle:function(e,t){var n=e.insert(\"g\").attr(\"class\",t.classes).attr(\"id\",t.id),i=n.insert(\"rect\",\":first-child\"),c=n.insert(\"g\").attr(\"class\",\"cluster-label\"),u=n.append(\"rect\"),l=c.node().appendChild(Object(o.default)(t.labelText,t.labelStyle,void 0,!0)),f=l.getBBox();if(Object(s.getConfig)().flowchart.htmlLabels){var d=l.children[0],h=Object(a.select)(l);f=d.getBoundingClientRect(),h.attr(\"width\",f.width),h.attr(\"height\",f.height)}f=l.getBBox();var p=0*t.padding,g=p/2;i.attr(\"class\",\"outer\").attr(\"x\",t.x-t.width/2-g).attr(\"y\",t.y-t.height/2-g).attr(\"width\",t.width+p).attr(\"height\",t.height+p),u.attr(\"class\",\"inner\").attr(\"x\",t.x-t.width/2-g).attr(\"y\",t.y-t.height/2-g+f.height-1).attr(\"width\",t.width+p).attr(\"height\",t.height+p-f.height-3),c.attr(\"transform\",\"translate(\"+(t.x-f.width/2)+\", \"+(t.y-t.height/2-t.padding/3+(Object(s.getConfig)().flowchart.htmlLabels?5:3))+\")\");var y=i.node().getBBox();return t.width=y.width,t.height=y.height,t.intersect=function(e){return Object(r.default)(t,e)},n},noteGroup:function(e,t){var n=e.insert(\"g\").attr(\"class\",\"note-cluster\").attr(\"id\",t.id),i=n.insert(\"rect\",\":first-child\"),o=0*t.padding,a=o/2;i.attr(\"rx\",t.rx).attr(\"ry\",t.ry).attr(\"x\",t.x-t.width/2-a).attr(\"y\",t.y-t.height/2-a).attr(\"width\",t.width+o).attr(\"height\",t.height+o).attr(\"fill\",\"none\");var s=i.node().getBBox();return t.width=s.width,t.height=s.height,t.intersect=function(e){return Object(r.default)(t,e)},n},divider:function(e,t){var n=e.insert(\"g\").attr(\"class\",t.classes).attr(\"id\",t.id),i=n.insert(\"rect\",\":first-child\"),o=0*t.padding,a=o/2;i.attr(\"class\",\"divider\").attr(\"x\",t.x-t.width/2-a).attr(\"y\",t.y-t.height/2).attr(\"width\",t.width+o).attr(\"height\",t.height+o);var s=i.node().getBBox();return t.width=s.width,t.height=s.height,t.intersect=function(e){return Object(r.default)(t,e)},n}},u={},l=function(e,t){i.logger.trace(\"Inserting cluster\");var n=t.shape||\"rect\";u[t.id]=c[n](e,t)},f=function(e,t){var n=Object(o.default)(t.labelText,t.labelStyle,void 0,!0);e.node().appendChild(n);var r=n.getBBox().width;return e.node().removeChild(n),r},d=function(){u={}},h=function(e){i.logger.info(\"Position cluster\"),u[e.id].attr(\"transform\",\"translate(\"+e.x+\", \"+e.y+\")\")}},\"./src/dagre-wrapper/createLabel.js\":function(e,t,n){\"use strict\";n.r(t);var r=n(\"d3\"),i=n(\"./src/logger.js\"),o=n(\"./src/config.js\");t.default=function(e,t,n,a){var s=e||\"\";if(Object(o.getConfig)().flowchart.htmlLabels){s=s.replace(/\\\\n|\\n/g,\"<br />\"),i.logger.info(\"vertexText\"+s);var c=function(e){var t,n,i=Object(r.select)(document.createElementNS(\"http://www.w3.org/2000/svg\",\"foreignObject\")),o=i.append(\"xhtml:div\"),a=e.label,s=e.isNode?\"nodeLabel\":\"edgeLabel\";return o.html('<span class=\"'+s+'\">'+a+\"</span>\"),t=o,(n=e.labelStyle)&&t.attr(\"style\",n),o.style(\"display\",\"inline-block\"),o.style(\"white-space\",\"nowrap\"),o.attr(\"xmlns\",\"http://www.w3.org/1999/xhtml\"),i.node()}({isNode:a,label:s.replace(/fa[lrsb]?:fa-[\\w-]+/g,(function(e){return\"<i class='\".concat(e.replace(\":\",\" \"),\"'></i>\")}))});return c}var u=document.createElementNS(\"http://www.w3.org/2000/svg\",\"text\");u.setAttribute(\"style\",t.replace(\"color:\",\"fill:\"));var l=[];l=\"string\"===typeof s?s.split(/\\\\n|\\n|<br\\s*\\/?>/gi):Array.isArray(s)?s:[];for(var f=0;f<l.length;f++){var d=document.createElementNS(\"http://www.w3.org/2000/svg\",\"tspan\");d.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\",\"xml:space\",\"preserve\"),d.setAttribute(\"dy\",\"1em\"),d.setAttribute(\"x\",\"0\"),n?d.setAttribute(\"class\",\"title-row\"):d.setAttribute(\"class\",\"row\"),d.textContent=l[f].trim(),u.appendChild(d)}return u}},\"./src/dagre-wrapper/edges.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"clear\",(function(){return l})),n.d(t,\"insertEdgeLabel\",(function(){return f})),n.d(t,\"positionEdgeLabel\",(function(){return d})),n.d(t,\"intersection\",(function(){return p})),n.d(t,\"insertEdge\",(function(){return g}));var r=n(\"./src/logger.js\"),i=n(\"./src/dagre-wrapper/createLabel.js\"),o=n(\"d3\"),a=n(\"./src/config.js\"),s=n(\"./src/utils.js\"),c={},u={},l=function(){c={},u={}},f=function(e,t){var n=Object(i.default)(t.label,t.labelStyle),r=e.insert(\"g\").attr(\"class\",\"edgeLabel\"),s=r.insert(\"g\").attr(\"class\",\"label\");s.node().appendChild(n);var l=n.getBBox();if(Object(a.getConfig)().flowchart.htmlLabels){var f=n.children[0],d=Object(o.select)(n);l=f.getBoundingClientRect(),d.attr(\"width\",l.width),d.attr(\"height\",l.height)}if(s.attr(\"transform\",\"translate(\"+-l.width/2+\", \"+-l.height/2+\")\"),c[t.id]=r,t.width=l.width,t.height=l.height,t.startLabelLeft){var h=Object(i.default)(t.startLabelLeft,t.labelStyle),p=e.insert(\"g\").attr(\"class\",\"edgeTerminals\"),g=p.insert(\"g\").attr(\"class\",\"inner\");g.node().appendChild(h);var y=h.getBBox();g.attr(\"transform\",\"translate(\"+-y.width/2+\", \"+-y.height/2+\")\"),u[t.id]||(u[t.id]={}),u[t.id].startLeft=p}if(t.startLabelRight){var m=Object(i.default)(t.startLabelRight,t.labelStyle),b=e.insert(\"g\").attr(\"class\",\"edgeTerminals\"),v=b.insert(\"g\").attr(\"class\",\"inner\");b.node().appendChild(m),v.node().appendChild(m);var x=m.getBBox();v.attr(\"transform\",\"translate(\"+-x.width/2+\", \"+-x.height/2+\")\"),u[t.id]||(u[t.id]={}),u[t.id].startRight=b}if(t.endLabelLeft){var w=Object(i.default)(t.endLabelLeft,t.labelStyle),_=e.insert(\"g\").attr(\"class\",\"edgeTerminals\"),k=_.insert(\"g\").attr(\"class\",\"inner\");k.node().appendChild(w);var O=w.getBBox();k.attr(\"transform\",\"translate(\"+-O.width/2+\", \"+-O.height/2+\")\"),_.node().appendChild(w),u[t.id]||(u[t.id]={}),u[t.id].endLeft=_}if(t.endLabelRight){var E=Object(i.default)(t.endLabelRight,t.labelStyle),S=e.insert(\"g\").attr(\"class\",\"edgeTerminals\"),C=S.insert(\"g\").attr(\"class\",\"inner\");C.node().appendChild(E);var T=E.getBBox();C.attr(\"transform\",\"translate(\"+-T.width/2+\", \"+-T.height/2+\")\"),S.node().appendChild(E),u[t.id]||(u[t.id]={}),u[t.id].endRight=S}},d=function(e,t){r.logger.info(\"Moving label\",e.id,e.label,c[e.id]);var n=t.updatedPath?t.updatedPath:t.originalPath;if(e.label){var i=c[e.id],o=e.x,a=e.y;if(n){var l=s.default.calcLabelPosition(n);r.logger.info(\"Moving label from (\",o,\",\",a,\") to (\",l.x,\",\",l.y,\")\")}i.attr(\"transform\",\"translate(\"+o+\", \"+a+\")\")}if(e.startLabelLeft){var f=u[e.id].startLeft,d=e.x,h=e.y;if(n){var p=s.default.calcTerminalLabelPosition(0,\"start_left\",n);d=p.x,h=p.y}f.attr(\"transform\",\"translate(\"+d+\", \"+h+\")\")}if(e.startLabelRight){var g=u[e.id].startRight,y=e.x,m=e.y;if(n){var b=s.default.calcTerminalLabelPosition(0,\"start_right\",n);y=b.x,m=b.y}g.attr(\"transform\",\"translate(\"+y+\", \"+m+\")\")}if(e.endLabelLeft){var v=u[e.id].endLeft,x=e.x,w=e.y;if(n){var _=s.default.calcTerminalLabelPosition(0,\"end_left\",n);x=_.x,w=_.y}v.attr(\"transform\",\"translate(\"+x+\", \"+w+\")\")}if(e.endLabelRight){var k=u[e.id].endRight,O=e.x,E=e.y;if(n){var S=s.default.calcTerminalLabelPosition(0,\"end_right\",n);O=S.x,E=S.y}k.attr(\"transform\",\"translate(\"+O+\", \"+E+\")\")}},h=function(e,t){var n=e.x,r=e.y,i=Math.abs(t.x-n),o=Math.abs(t.y-r),a=e.width/2,s=e.height/2;return i>=a||o>=s},p=function(e,t,n){r.logger.warn(\"intersection calc o:\",t,\" i:\",n,e);var i=e.x,o=e.y,a=Math.abs(i-n.x),s=e.width/2,c=n.x<t.x?s-a:s+a,u=e.height/2,l=i-s,f=i+s,d=o-u,h=o+u;if(t.x===l||t.x===f||t.y===d||t.y===h)return r.logger.warn(\"calc equals on edge\"),t;var p=Math.abs(t.y-n.y),g=Math.abs(t.x-n.x);if(Math.abs(o-t.y)*s>Math.abs(i-t.x)*u){var y=n.y<t.y?t.y-u-o:o-u-t.y;c=g*y/p;var m={x:n.x<t.x?n.x+g-c:n.x-c,y:t.y+y};return r.logger.warn(\"topp/bott calc, Q \".concat(p,\", q \").concat(y,\", R \").concat(g,\", r \").concat(c),m),m}var b=b=p*(c=n.x<t.x?t.x-s-i:i-s-t.x)/g;return r.logger.warn(\"sides calc, Q \".concat(p,\", q \").concat(b,\", R \").concat(g,\", r \").concat(c),{x:n.x<t.x?n.x+g-c:n.x+a-s,y:n.y<t.y?n.y+b:n.y-b}),{x:n.x<t.x?n.x+g-c:n.x+a-s,y:n.y<t.y?n.y+b:n.y-b}},g=function(e,t,n,i,s,c){var u=n.points,l=!1,f=c.node(t.v),d=c.node(t.w);if(d.intersect&&f.intersect&&((u=u.slice(1,n.points.length-1)).unshift(f.intersect(u[0])),r.logger.info(\"Last point\",u[u.length-1],d,d.intersect(u[u.length-1])),u.push(d.intersect(u[u.length-1]))),n.toCluster){var g;r.logger.trace(\"edge\",n),r.logger.trace(\"to cluster\",i[n.toCluster]),u=[];var y=!1;n.points.forEach((function(e){var t=i[n.toCluster].node;if(h(t,e)||y)y||u.push(e);else{r.logger.trace(\"inside\",n.toCluster,e,g);var o=p(t,g,e),a=!1;u.forEach((function(e){a=a||e.x===o.x&&e.y===o.y})),u.find((function(e){return e.x===o.x&&e.y===o.y}))?r.logger.warn(\"no intersect\",o,u):u.push(o),y=!0}g=e})),l=!0}if(n.fromCluster){r.logger.trace(\"edge\",n),r.logger.warn(\"from cluster\",i[n.fromCluster]);for(var m,b=[],v=!1,x=u.length-1;x>=0;x--){var w=u[x],_=i[n.fromCluster].node;if(h(_,w)||v)r.logger.trace(\"Outside point\",w),v||b.unshift(w);else{r.logger.warn(\"inside\",n.fromCluster,w,_);var k=p(_,m,w);b.unshift(k),v=!0}m=w}u=b,l=!0}var O,E=u.filter((function(e){return!Number.isNaN(e.y)})),S=Object(o.line)().x((function(e){return e.x})).y((function(e){return e.y})).curve(o.curveBasis);switch(n.thickness){case\"normal\":O=\"edge-thickness-normal\";break;case\"thick\":O=\"edge-thickness-thick\";break;default:O=\"\"}switch(n.pattern){case\"solid\":O+=\" edge-pattern-solid\";break;case\"dotted\":O+=\" edge-pattern-dotted\";break;case\"dashed\":O+=\" edge-pattern-dashed\"}var C=e.append(\"path\").attr(\"d\",S(E)).attr(\"id\",n.id).attr(\"class\",\" \"+O+(n.classes?\" \"+n.classes:\"\")),T=\"\";switch(Object(a.getConfig)().state.arrowMarkerAbsolute&&(T=(T=(T=window.location.protocol+\"//\"+window.location.host+window.location.pathname+window.location.search).replace(/\\(/g,\"\\\\(\")).replace(/\\)/g,\"\\\\)\")),r.logger.info(\"arrowTypeStart\",n.arrowTypeStart),r.logger.info(\"arrowTypeEnd\",n.arrowTypeEnd),n.arrowTypeStart){case\"arrow_cross\":C.attr(\"marker-start\",\"url(\"+T+\"#\"+s+\"-crossStart)\");break;case\"arrow_point\":C.attr(\"marker-start\",\"url(\"+T+\"#\"+s+\"-pointStart)\");break;case\"arrow_barb\":C.attr(\"marker-start\",\"url(\"+T+\"#\"+s+\"-barbStart)\");break;case\"arrow_circle\":C.attr(\"marker-start\",\"url(\"+T+\"#\"+s+\"-circleStart)\");break;case\"aggregation\":C.attr(\"marker-start\",\"url(\"+T+\"#\"+s+\"-aggregationStart)\");break;case\"extension\":C.attr(\"marker-start\",\"url(\"+T+\"#\"+s+\"-extensionStart)\");break;case\"composition\":C.attr(\"marker-start\",\"url(\"+T+\"#\"+s+\"-compositionStart)\");break;case\"dependency\":C.attr(\"marker-start\",\"url(\"+T+\"#\"+s+\"-dependencyStart)\")}switch(n.arrowTypeEnd){case\"arrow_cross\":C.attr(\"marker-end\",\"url(\"+T+\"#\"+s+\"-crossEnd)\");break;case\"arrow_point\":C.attr(\"marker-end\",\"url(\"+T+\"#\"+s+\"-pointEnd)\");break;case\"arrow_barb\":C.attr(\"marker-end\",\"url(\"+T+\"#\"+s+\"-barbEnd)\");break;case\"arrow_circle\":C.attr(\"marker-end\",\"url(\"+T+\"#\"+s+\"-circleEnd)\");break;case\"aggregation\":C.attr(\"marker-end\",\"url(\"+T+\"#\"+s+\"-aggregationEnd)\");break;case\"extension\":C.attr(\"marker-end\",\"url(\"+T+\"#\"+s+\"-extensionEnd)\");break;case\"composition\":C.attr(\"marker-end\",\"url(\"+T+\"#\"+s+\"-compositionEnd)\");break;case\"dependency\":C.attr(\"marker-end\",\"url(\"+T+\"#\"+s+\"-dependencyEnd)\")}var j={};return l&&(j.updatedPath=u),j.originalPath=n.points,j}},\"./src/dagre-wrapper/index.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"render\",(function(){return g}));var r=n(\"dagre\"),i=n.n(r),o=n(\"graphlib\"),a=n.n(o),s=n(\"./src/dagre-wrapper/markers.js\"),c=n(\"./src/dagre-wrapper/shapes/util.js\"),u=n(\"./src/dagre-wrapper/mermaid-graphlib.js\"),l=n(\"./src/dagre-wrapper/nodes.js\"),f=n(\"./src/dagre-wrapper/clusters.js\"),d=n(\"./src/dagre-wrapper/edges.js\"),h=n(\"./src/logger.js\"),p=function e(t,n,r,o){h.logger.info(\"Graph in recursive render: XXX\",a.a.json.write(n),o);var s=n.graph().rankdir;h.logger.warn(\"Dir in recursive render - dir:\",s);var p=t.insert(\"g\").attr(\"class\",\"root\");n.nodes()?h.logger.info(\"Recursive render XXX\",n.nodes()):h.logger.info(\"No nodes found for\",n),n.edges().length>0&&h.logger.info(\"Recursive edges\",n.edge(n.edges()[0]));var g=p.insert(\"g\").attr(\"class\",\"clusters\"),y=p.insert(\"g\").attr(\"class\",\"edgePaths\"),m=p.insert(\"g\").attr(\"class\",\"edgeLabels\"),b=p.insert(\"g\").attr(\"class\",\"nodes\");return n.nodes().forEach((function(t){var i=n.node(t);if(\"undefined\"!==typeof o){var a=JSON.parse(JSON.stringify(o.clusterData));h.logger.info(\"Setting data for cluster XXX (\",t,\") \",a,o),n.setNode(o.id,a),n.parent(t)||(h.logger.warn(\"Setting parent\",t,o.id),n.setParent(t,o.id,a))}if(h.logger.info(\"(Insert) Node XXX\"+t+\": \"+JSON.stringify(n.node(t))),i&&i.clusterNode){h.logger.info(\"Cluster identified\",t,i,n.node(t));var f=e(b,i.graph,r,n.node(t));Object(c.updateNodeBounds)(i,f),Object(l.setNodeElem)(f,i),h.logger.warn(\"Recursive render complete\",f,i)}else n.children(t).length>0?(h.logger.info(\"Cluster - the non recursive path XXX\",t,i.id,i,n),h.logger.info(Object(u.findNonClusterChild)(i.id,n)),u.clusterDb[i.id]={id:Object(u.findNonClusterChild)(i.id,n),node:i}):(h.logger.info(\"Node - the non recursive path\",t,i.id,i),Object(l.insertNode)(b,n.node(t),s))})),n.edges().forEach((function(e){var t=n.edge(e.v,e.w,e.name);h.logger.info(\"Edge \"+e.v+\" -> \"+e.w+\": \"+JSON.stringify(e)),h.logger.info(\"Edge \"+e.v+\" -> \"+e.w+\": \",e,\" \",JSON.stringify(n.edge(e))),h.logger.info(\"Fix\",u.clusterDb,\"ids:\",e.v,e.w,\"Translateing: \",u.clusterDb[e.v],u.clusterDb[e.w]),Object(d.insertEdgeLabel)(m,t)})),n.edges().forEach((function(e){h.logger.info(\"Edge \"+e.v+\" -> \"+e.w+\": \"+JSON.stringify(e))})),h.logger.info(\"#############################################\"),h.logger.info(\"###                Layout                 ###\"),h.logger.info(\"#############################################\"),h.logger.info(n),i.a.layout(n),h.logger.info(\"Graph after layout:\",a.a.json.write(n)),Object(u.sortNodesByHierarchy)(n).forEach((function(e){var t=n.node(e);h.logger.info(\"Position \"+e+\": \"+JSON.stringify(n.node(e))),h.logger.info(\"Position \"+e+\": (\"+t.x,\",\"+t.y,\") width: \",t.width,\" height: \",t.height),t&&t.clusterNode?Object(l.positionNode)(t):n.children(e).length>0?(Object(f.insertCluster)(g,t),u.clusterDb[t.id].node=t):Object(l.positionNode)(t)})),n.edges().forEach((function(e){var t=n.edge(e);h.logger.info(\"Edge \"+e.v+\" -> \"+e.w+\": \"+JSON.stringify(t),t);var i=Object(d.insertEdge)(y,e,t,u.clusterDb,r,n);Object(d.positionEdgeLabel)(t,i)})),p},g=function(e,t,n,r,i){Object(s.default)(e,n,r,i),Object(l.clear)(),Object(d.clear)(),Object(f.clear)(),Object(u.clear)(),h.logger.warn(\"Graph at first:\",a.a.json.write(t)),Object(u.adjustClustersAndEdges)(t),h.logger.warn(\"Graph after:\",a.a.json.write(t)),p(e,t,r)}},\"./src/dagre-wrapper/intersect/index.js\":function(e,t,n){\"use strict\";n.r(t);var r=n(\"./src/dagre-wrapper/intersect/intersect-node.js\"),i=n.n(r),o=n(\"./src/dagre-wrapper/intersect/intersect-circle.js\"),a=n(\"./src/dagre-wrapper/intersect/intersect-ellipse.js\"),s=n(\"./src/dagre-wrapper/intersect/intersect-polygon.js\"),c=n(\"./src/dagre-wrapper/intersect/intersect-rect.js\");t.default={node:i.a,circle:o.default,ellipse:a.default,polygon:s.default,rect:c.default}},\"./src/dagre-wrapper/intersect/intersect-circle.js\":function(e,t,n){\"use strict\";n.r(t);var r=n(\"./src/dagre-wrapper/intersect/intersect-ellipse.js\");t.default=function(e,t,n){return Object(r.default)(e,t,t,n)}},\"./src/dagre-wrapper/intersect/intersect-ellipse.js\":function(e,t,n){\"use strict\";n.r(t),t.default=function(e,t,n,r){var i=e.x,o=e.y,a=i-r.x,s=o-r.y,c=Math.sqrt(t*t*s*s+n*n*a*a),u=Math.abs(t*n*a/c);r.x<i&&(u=-u);var l=Math.abs(t*n*s/c);return r.y<o&&(l=-l),{x:i+u,y:o+l}}},\"./src/dagre-wrapper/intersect/intersect-line.js\":function(e,t,n){\"use strict\";function r(e,t){return e*t>0}n.r(t),t.default=function(e,t,n,i){var o,a,s,c,u,l,f,d,h,p,g,y,m;if(o=t.y-e.y,s=e.x-t.x,u=t.x*e.y-e.x*t.y,h=o*n.x+s*n.y+u,p=o*i.x+s*i.y+u,(0===h||0===p||!r(h,p))&&(a=i.y-n.y,c=n.x-i.x,l=i.x*n.y-n.x*i.y,f=a*e.x+c*e.y+l,d=a*t.x+c*t.y+l,(0===f||0===d||!r(f,d))&&0!==(g=o*c-a*s)))return y=Math.abs(g/2),{x:(m=s*l-c*u)<0?(m-y)/g:(m+y)/g,y:(m=a*u-o*l)<0?(m-y)/g:(m+y)/g}}},\"./src/dagre-wrapper/intersect/intersect-node.js\":function(e,t){e.exports=function(e,t){return e.intersect(t)}},\"./src/dagre-wrapper/intersect/intersect-polygon.js\":function(e,t,n){\"use strict\";n.r(t);var r=n(\"./src/dagre-wrapper/intersect/intersect-line.js\");t.default=function(e,t,n){var i=e.x,o=e.y,a=[],s=Number.POSITIVE_INFINITY,c=Number.POSITIVE_INFINITY;\"function\"===typeof t.forEach?t.forEach((function(e){s=Math.min(s,e.x),c=Math.min(c,e.y)})):(s=Math.min(s,t.x),c=Math.min(c,t.y));for(var u=i-e.width/2-s,l=o-e.height/2-c,f=0;f<t.length;f++){var d=t[f],h=t[f<t.length-1?f+1:0],p=Object(r.default)(e,n,{x:u+d.x,y:l+d.y},{x:u+h.x,y:l+h.y});p&&a.push(p)}return a.length?(a.length>1&&a.sort((function(e,t){var r=e.x-n.x,i=e.y-n.y,o=Math.sqrt(r*r+i*i),a=t.x-n.x,s=t.y-n.y,c=Math.sqrt(a*a+s*s);return o<c?-1:o===c?0:1})),a[0]):e}},\"./src/dagre-wrapper/intersect/intersect-rect.js\":function(e,t,n){\"use strict\";n.r(t),t.default=function(e,t){var n,r,i=e.x,o=e.y,a=t.x-i,s=t.y-o,c=e.width/2,u=e.height/2;return Math.abs(s)*c>Math.abs(a)*u?(s<0&&(u=-u),n=0===s?0:u*a/s,r=u):(a<0&&(c=-c),n=c,r=0===a?0:c*s/a),{x:i+n,y:o+r}}},\"./src/dagre-wrapper/markers.js\":function(e,t,n){\"use strict\";n.r(t);var r=n(\"./src/logger.js\"),i={extension:function(e,t,n){r.logger.trace(\"Making markers for \",n),e.append(\"defs\").append(\"marker\").attr(\"id\",t+\"-extensionStart\").attr(\"class\",\"marker extension \"+t).attr(\"refX\",0).attr(\"refY\",7).attr(\"markerWidth\",190).attr(\"markerHeight\",240).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 1,7 L18,13 V 1 Z\"),e.append(\"defs\").append(\"marker\").attr(\"id\",t+\"-extensionEnd\").attr(\"class\",\"marker extension \"+t).attr(\"refX\",19).attr(\"refY\",7).attr(\"markerWidth\",20).attr(\"markerHeight\",28).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 1,1 V 13 L18,7 Z\")},composition:function(e,t){e.append(\"defs\").append(\"marker\").attr(\"id\",t+\"-compositionStart\").attr(\"class\",\"marker composition \"+t).attr(\"refX\",0).attr(\"refY\",7).attr(\"markerWidth\",190).attr(\"markerHeight\",240).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 18,7 L9,13 L1,7 L9,1 Z\"),e.append(\"defs\").append(\"marker\").attr(\"id\",t+\"-compositionEnd\").attr(\"class\",\"marker composition \"+t).attr(\"refX\",19).attr(\"refY\",7).attr(\"markerWidth\",20).attr(\"markerHeight\",28).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 18,7 L9,13 L1,7 L9,1 Z\")},aggregation:function(e,t){e.append(\"defs\").append(\"marker\").attr(\"id\",t+\"-aggregationStart\").attr(\"class\",\"marker aggregation \"+t).attr(\"refX\",0).attr(\"refY\",7).attr(\"markerWidth\",190).attr(\"markerHeight\",240).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 18,7 L9,13 L1,7 L9,1 Z\"),e.append(\"defs\").append(\"marker\").attr(\"id\",t+\"-aggregationEnd\").attr(\"class\",\"marker aggregation \"+t).attr(\"refX\",19).attr(\"refY\",7).attr(\"markerWidth\",20).attr(\"markerHeight\",28).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 18,7 L9,13 L1,7 L9,1 Z\")},dependency:function(e,t){e.append(\"defs\").append(\"marker\").attr(\"id\",t+\"-dependencyStart\").attr(\"class\",\"marker dependency \"+t).attr(\"refX\",0).attr(\"refY\",7).attr(\"markerWidth\",190).attr(\"markerHeight\",240).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 5,7 L9,13 L1,7 L9,1 Z\"),e.append(\"defs\").append(\"marker\").attr(\"id\",t+\"-dependencyEnd\").attr(\"class\",\"marker dependency \"+t).attr(\"refX\",19).attr(\"refY\",7).attr(\"markerWidth\",20).attr(\"markerHeight\",28).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 18,7 L9,13 L14,7 L9,1 Z\")},point:function(e,t){e.append(\"marker\").attr(\"id\",t+\"-pointEnd\").attr(\"class\",\"marker \"+t).attr(\"viewBox\",\"0 0 10 10\").attr(\"refX\",9).attr(\"refY\",5).attr(\"markerUnits\",\"userSpaceOnUse\").attr(\"markerWidth\",12).attr(\"markerHeight\",12).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 0 0 L 10 5 L 0 10 z\").attr(\"class\",\"arrowMarkerPath\").style(\"stroke-width\",1).style(\"stroke-dasharray\",\"1,0\"),e.append(\"marker\").attr(\"id\",t+\"-pointStart\").attr(\"class\",\"marker \"+t).attr(\"viewBox\",\"0 0 10 10\").attr(\"refX\",0).attr(\"refY\",5).attr(\"markerUnits\",\"userSpaceOnUse\").attr(\"markerWidth\",12).attr(\"markerHeight\",12).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 0 5 L 10 10 L 10 0 z\").attr(\"class\",\"arrowMarkerPath\").style(\"stroke-width\",1).style(\"stroke-dasharray\",\"1,0\")},circle:function(e,t){e.append(\"marker\").attr(\"id\",t+\"-circleEnd\").attr(\"class\",\"marker \"+t).attr(\"viewBox\",\"0 0 10 10\").attr(\"refX\",11).attr(\"refY\",5).attr(\"markerUnits\",\"userSpaceOnUse\").attr(\"markerWidth\",11).attr(\"markerHeight\",11).attr(\"orient\",\"auto\").append(\"circle\").attr(\"cx\",\"5\").attr(\"cy\",\"5\").attr(\"r\",\"5\").attr(\"class\",\"arrowMarkerPath\").style(\"stroke-width\",1).style(\"stroke-dasharray\",\"1,0\"),e.append(\"marker\").attr(\"id\",t+\"-circleStart\").attr(\"class\",\"marker \"+t).attr(\"viewBox\",\"0 0 10 10\").attr(\"refX\",-1).attr(\"refY\",5).attr(\"markerUnits\",\"userSpaceOnUse\").attr(\"markerWidth\",11).attr(\"markerHeight\",11).attr(\"orient\",\"auto\").append(\"circle\").attr(\"cx\",\"5\").attr(\"cy\",\"5\").attr(\"r\",\"5\").attr(\"class\",\"arrowMarkerPath\").style(\"stroke-width\",1).style(\"stroke-dasharray\",\"1,0\")},cross:function(e,t){e.append(\"marker\").attr(\"id\",t+\"-crossEnd\").attr(\"class\",\"marker cross \"+t).attr(\"viewBox\",\"0 0 11 11\").attr(\"refX\",12).attr(\"refY\",5.2).attr(\"markerUnits\",\"userSpaceOnUse\").attr(\"markerWidth\",11).attr(\"markerHeight\",11).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 1,1 l 9,9 M 10,1 l -9,9\").attr(\"class\",\"arrowMarkerPath\").style(\"stroke-width\",2).style(\"stroke-dasharray\",\"1,0\"),e.append(\"marker\").attr(\"id\",t+\"-crossStart\").attr(\"class\",\"marker cross \"+t).attr(\"viewBox\",\"0 0 11 11\").attr(\"refX\",-1).attr(\"refY\",5.2).attr(\"markerUnits\",\"userSpaceOnUse\").attr(\"markerWidth\",11).attr(\"markerHeight\",11).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 1,1 l 9,9 M 10,1 l -9,9\").attr(\"class\",\"arrowMarkerPath\").style(\"stroke-width\",2).style(\"stroke-dasharray\",\"1,0\")},barb:function(e,t){e.append(\"defs\").append(\"marker\").attr(\"id\",t+\"-barbEnd\").attr(\"refX\",19).attr(\"refY\",7).attr(\"markerWidth\",20).attr(\"markerHeight\",14).attr(\"markerUnits\",\"strokeWidth\").attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 19,7 L9,13 L14,7 L9,1 Z\")}};t.default=function(e,t,n,r){t.forEach((function(t){i[t](e,n,r)}))}},\"./src/dagre-wrapper/mermaid-graphlib.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"clusterDb\",(function(){return a})),n.d(t,\"clear\",(function(){return u})),n.d(t,\"extractDecendants\",(function(){return d})),n.d(t,\"validate\",(function(){return h})),n.d(t,\"findNonClusterChild\",(function(){return p})),n.d(t,\"adjustClustersAndEdges\",(function(){return y})),n.d(t,\"extractor\",(function(){return m})),n.d(t,\"sortNodesByHierarchy\",(function(){return v}));var r=n(\"./src/logger.js\"),i=n(\"graphlib\"),o=n.n(i),a={},s={},c={},u=function(){s={},c={},a={}},l=function(e,t){return r.logger.debug(\"In isDecendant\",t,\" \",e,\" = \",s[t].indexOf(e)>=0),s[t].indexOf(e)>=0},f=function e(t,n,i,o){r.logger.warn(\"Copying children of \",t,\"root\",o,\"data\",n.node(t),o);var a=n.children(t)||[];t!==o&&a.push(t),r.logger.warn(\"Copying (nodes) clusterId\",t,\"nodes\",a),a.forEach((function(a){if(n.children(a).length>0)e(a,n,i,o);else{var c=n.node(a);r.logger.info(\"cp \",a,\" to \",o,\" with parent \",t),i.setNode(a,c),o!==n.parent(a)&&(r.logger.warn(\"Setting parent\",a,n.parent(a)),i.setParent(a,n.parent(a))),t!==o&&a!==t?(r.logger.debug(\"Setting parent\",a,t),i.setParent(a,t)):(r.logger.info(\"In copy \",t,\"root\",o,\"data\",n.node(t),o),r.logger.debug(\"Not Setting parent for node=\",a,\"cluster!==rootId\",t!==o,\"node!==clusterId\",a!==t));var u=n.edges(a);r.logger.debug(\"Copying Edges\",u),u.forEach((function(e){r.logger.info(\"Edge\",e);var a=n.edge(e.v,e.w,e.name);r.logger.info(\"Edge data\",a,o);try{!function(e,t){return r.logger.info(\"Decendants of \",t,\" is \",s[t]),r.logger.info(\"Edge is \",e),e.v!==t&&e.w!==t&&(s[t]?(r.logger.info(\"Here \"),s[t].indexOf(e.v)>=0||!!l(e.v,t)||!!l(e.w,t)||s[t].indexOf(e.w)>=0):(r.logger.debug(\"Tilt, \",t,\",not in decendants\"),!1))}(e,o)?r.logger.info(\"Skipping copy of edge \",e.v,\"--\\x3e\",e.w,\" rootId: \",o,\" clusterId:\",t):(r.logger.info(\"Copying as \",e.v,e.w,a,e.name),i.setEdge(e.v,e.w,a,e.name),r.logger.info(\"newGraph edges \",i.edges(),i.edge(i.edges()[0])))}catch(c){r.logger.error(c)}}))}r.logger.debug(\"Removing node\",a),n.removeNode(a)}))},d=function e(t,n){for(var r=n.children(t),i=[].concat(r),o=0;o<r.length;o++)c[r[o]]=t,i=i.concat(e(r[o],n));return i},h=function(e){var t=e.edges();r.logger.trace(\"Edges: \",t);for(var n=0;n<t.length;n++){if(e.children(t[n].v).length>0)return r.logger.trace(\"The node \",t[n].v,\" is part of and edge even though it has children\"),!1;if(e.children(t[n].w).length>0)return r.logger.trace(\"The node \",t[n].w,\" is part of and edge even though it has children\"),!1}return!0},p=function e(t,n){r.logger.trace(\"Searching\",t);var i=n.children(t);if(r.logger.trace(\"Searching children of id \",t,i),i.length<1)return r.logger.trace(\"This is a valid node\",t),t;for(var o=0;o<i.length;o++){var a=e(i[o],n);if(a)return r.logger.trace(\"Found replacement for\",t,\" => \",a),a}},g=function(e){return a[e]&&a[e].externalConnections&&a[e]?a[e].id:e},y=function(e,t){!e||t>10?r.logger.debug(\"Opting out, no graph \"):(r.logger.debug(\"Opting in, graph \"),e.nodes().forEach((function(t){e.children(t).length>0&&(r.logger.warn(\"Cluster identified\",t,\" Replacement id in edges: \",p(t,e)),s[t]=d(t,e),a[t]={id:p(t,e),clusterData:e.node(t)})})),e.nodes().forEach((function(t){var n=e.children(t),i=e.edges();n.length>0?(r.logger.debug(\"Cluster identified\",t,s),i.forEach((function(e){e.v!==t&&e.w!==t&&l(e.v,t)^l(e.w,t)&&(r.logger.warn(\"Edge: \",e,\" leaves cluster \",t),r.logger.warn(\"Decendants of XXX \",t,\": \",s[t]),a[t].externalConnections=!0)}))):r.logger.debug(\"Not a cluster \",t,s)})),e.edges().forEach((function(t){var n=e.edge(t);r.logger.warn(\"Edge \"+t.v+\" -> \"+t.w+\": \"+JSON.stringify(t)),r.logger.warn(\"Edge \"+t.v+\" -> \"+t.w+\": \"+JSON.stringify(e.edge(t)));var i=t.v,o=t.w;r.logger.warn(\"Fix XXX\",a,\"ids:\",t.v,t.w,\"Translateing: \",a[t.v],\" --- \",a[t.w]),(a[t.v]||a[t.w])&&(r.logger.warn(\"Fixing and trixing - removing XXX\",t.v,t.w,t.name),i=g(t.v),o=g(t.w),e.removeEdge(t.v,t.w,t.name),i!==t.v&&(n.fromCluster=t.v),o!==t.w&&(n.toCluster=t.w),r.logger.warn(\"Fix Replacing with XXX\",i,o,t.name),e.setEdge(i,o,n,t.name))})),r.logger.warn(\"Adjusted Graph\",o.a.json.write(e)),m(e,0),r.logger.trace(a))},m=function e(t,n){if(r.logger.warn(\"extractor - \",n,o.a.json.write(t),t.children(\"D\")),n>10)r.logger.error(\"Bailing out\");else{for(var i=t.nodes(),s=!1,c=0;c<i.length;c++){var u=i[c],l=t.children(u);s=s||l.length>0}if(s){r.logger.debug(\"Nodes = \",i,n);for(var d=0;d<i.length;d++){var h=i[d];if(r.logger.debug(\"Extracting node\",h,a,a[h]&&!a[h].externalConnections,!t.parent(h),t.node(h),t.children(\"D\"),\" Depth \",n),a[h])if(!a[h].externalConnections&&t.children(h)&&t.children(h).length>0){r.logger.warn(\"Cluster without external connections, without a parent and with children\",h,n);var p=t.graph(),g=new o.a.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:\"TB\"===p.rankdir?\"LR\":\"TB\",nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}}));r.logger.warn(\"Old graph before copy\",o.a.json.write(t)),f(h,t,g,h),t.setNode(h,{clusterNode:!0,id:h,clusterData:a[h].clusterData,labelText:a[h].labelText,graph:g}),r.logger.warn(\"New graph after copy node: (\",h,\")\",o.a.json.write(g)),r.logger.debug(\"Old graph after copy\",o.a.json.write(t))}else r.logger.warn(\"Cluster ** \",h,\" **not meeting the criteria !externalConnections:\",!a[h].externalConnections,\" no parent: \",!t.parent(h),\" children \",t.children(h)&&t.children(h).length>0,t.children(\"D\"),n),r.logger.debug(a);else r.logger.debug(\"Not a cluster\",h,n)}i=t.nodes(),r.logger.warn(\"New list of nodes\",i);for(var y=0;y<i.length;y++){var m=i[y],b=t.node(m);r.logger.warn(\" Now next level\",m,b),b.clusterNode&&e(b.graph,n+1)}}else r.logger.debug(\"Done, no node has children\",t.nodes())}},b=function e(t,n){if(0===n.length)return[];var r=Object.assign(n);return n.forEach((function(n){var i=t.children(n),o=e(t,i);r=r.concat(o)})),r},v=function(e){return b(e,e.children())}},\"./src/dagre-wrapper/nodes.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"insertNode\",(function(){return p})),n.d(t,\"setNodeElem\",(function(){return g})),n.d(t,\"clear\",(function(){return y})),n.d(t,\"positionNode\",(function(){return m}));var r=n(\"d3\"),i=n(\"./src/logger.js\"),o=n(\"./src/dagre-wrapper/shapes/util.js\"),a=n(\"./src/config.js\"),s=n(\"./src/dagre-wrapper/intersect/index.js\"),c=n(\"./src/dagre-wrapper/createLabel.js\"),u=n(\"./src/dagre-wrapper/shapes/note.js\"),l=n(\"./src/diagrams/class/svgDraw.js\"),f=function(e,t,n){var r=e.insert(\"g\").attr(\"class\",\"node default\").attr(\"id\",t.domId||t.id),i=70,a=10;\"LR\"===n&&(i=10,a=70);var c=r.append(\"rect\").style(\"stroke\",\"black\").style(\"fill\",\"black\").attr(\"x\",-1*i/2).attr(\"y\",-1*a/2).attr(\"width\",i).attr(\"height\",a).attr(\"class\",\"fork-join\");return Object(o.updateNodeBounds)(t,c),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(e){return s.default.rect(t,e)},r},d={question:function(e,t){var n=Object(o.labelHelper)(e,t,void 0,!0),r=n.shapeSvg,a=n.bbox,c=a.width+t.padding+(a.height+t.padding),u=[{x:c/2,y:0},{x:c,y:-c/2},{x:c/2,y:-c},{x:0,y:-c/2}];i.logger.info(\"Question main (Circle)\");var l=Object(o.insertPolygonShape)(r,c,c,u);return Object(o.updateNodeBounds)(t,l),t.intersect=function(e){return i.logger.warn(\"Intersect called\"),s.default.polygon(t,u,e)},r},rect:function(e,t){var n=Object(o.labelHelper)(e,t,\"node \"+t.classes,!0),r=n.shapeSvg,a=n.bbox,c=n.halfPadding;i.logger.trace(\"Classes = \",t.classes);var u=r.insert(\"rect\",\":first-child\");return u.attr(\"class\",\"basic label-container\").attr(\"style\",t.style).attr(\"rx\",t.rx).attr(\"ry\",t.ry).attr(\"x\",-a.width/2-c).attr(\"y\",-a.height/2-c).attr(\"width\",a.width+t.padding).attr(\"height\",a.height+t.padding),Object(o.updateNodeBounds)(t,u),t.intersect=function(e){return s.default.rect(t,e)},r},rectWithTitle:function(e,t){var n;n=t.classes?\"node \"+t.classes:\"node default\";var u=e.insert(\"g\").attr(\"class\",n).attr(\"id\",t.domId||t.id),l=u.insert(\"rect\",\":first-child\"),f=u.insert(\"line\"),d=u.insert(\"g\").attr(\"class\",\"label\"),h=t.labelText.flat();i.logger.info(\"Label text\",h[0]);var p,g=d.node().appendChild(Object(c.default)(h[0],t.labelStyle,!0,!0));if(Object(a.getConfig)().flowchart.htmlLabels){var y=g.children[0],m=Object(r.select)(g);p=y.getBoundingClientRect(),m.attr(\"width\",p.width),m.attr(\"height\",p.height)}i.logger.info(\"Text 2\",h);var b=h.slice(1,h.length),v=g.getBBox(),x=d.node().appendChild(Object(c.default)(b.join(\"<br/>\"),t.labelStyle,!0,!0));if(Object(a.getConfig)().flowchart.htmlLabels){var w=x.children[0],_=Object(r.select)(x);p=w.getBoundingClientRect(),_.attr(\"width\",p.width),_.attr(\"height\",p.height)}var k=t.padding/2;return Object(r.select)(x).attr(\"transform\",\"translate( \"+(p.width>v.width?0:(v.width-p.width)/2)+\", \"+(v.height+k+5)+\")\"),Object(r.select)(g).attr(\"transform\",\"translate( \"+(p.width<v.width?0:-(v.width-p.width)/2)+\", 0)\"),p=d.node().getBBox(),d.attr(\"transform\",\"translate(\"+-p.width/2+\", \"+(-p.height/2-k+3)+\")\"),l.attr(\"class\",\"outer title-state\").attr(\"x\",-p.width/2-k).attr(\"y\",-p.height/2-k).attr(\"width\",p.width+t.padding).attr(\"height\",p.height+t.padding),f.attr(\"class\",\"divider\").attr(\"x1\",-p.width/2-k).attr(\"x2\",p.width/2+k).attr(\"y1\",-p.height/2-k+v.height+k).attr(\"y2\",-p.height/2-k+v.height+k),Object(o.updateNodeBounds)(t,l),t.intersect=function(e){return s.default.rect(t,e)},u},circle:function(e,t){var n=Object(o.labelHelper)(e,t,void 0,!0),r=n.shapeSvg,a=n.bbox,c=n.halfPadding,u=r.insert(\"circle\",\":first-child\");return u.attr(\"rx\",t.rx).attr(\"ry\",t.ry).attr(\"r\",a.width/2+c).attr(\"width\",a.width+t.padding).attr(\"height\",a.height+t.padding),i.logger.info(\"Circle main\"),Object(o.updateNodeBounds)(t,u),t.intersect=function(e){return i.logger.info(\"Circle intersect\",t,a.width/2+c,e),s.default.circle(t,a.width/2+c,e)},r},stadium:function(e,t){var n=Object(o.labelHelper)(e,t,void 0,!0),r=n.shapeSvg,i=n.bbox,a=i.height+t.padding,c=i.width+a/4+t.padding,u=r.insert(\"rect\",\":first-child\").attr(\"rx\",a/2).attr(\"ry\",a/2).attr(\"x\",-c/2).attr(\"y\",-a/2).attr(\"width\",c).attr(\"height\",a);return Object(o.updateNodeBounds)(t,u),t.intersect=function(e){return s.default.rect(t,e)},r},hexagon:function(e,t){var n=Object(o.labelHelper)(e,t,void 0,!0),r=n.shapeSvg,i=n.bbox,a=i.height+t.padding,c=a/4,u=i.width+2*c+t.padding,l=[{x:c,y:0},{x:u-c,y:0},{x:u,y:-a/2},{x:u-c,y:-a},{x:c,y:-a},{x:0,y:-a/2}],f=Object(o.insertPolygonShape)(r,u,a,l);return Object(o.updateNodeBounds)(t,f),t.intersect=function(e){return s.default.polygon(t,e)},r},rect_left_inv_arrow:function(e,t){var n=Object(o.labelHelper)(e,t,void 0,!0),r=n.shapeSvg,i=n.bbox,a=i.width+t.padding,c=i.height+t.padding,u=[{x:-c/2,y:0},{x:a,y:0},{x:a,y:-c},{x:-c/2,y:-c},{x:0,y:-c/2}],l=Object(o.insertPolygonShape)(r,a,c,u);return Object(o.updateNodeBounds)(t,l),t.intersect=function(e){return s.default.polygon(t,e)},r},lean_right:function(e,t){var n=Object(o.labelHelper)(e,t,void 0,!0),r=n.shapeSvg,i=n.bbox,a=i.width+t.padding,c=i.height+t.padding,u=[{x:-2*c/6,y:0},{x:a-c/6,y:0},{x:a+2*c/6,y:-c},{x:c/6,y:-c}],l=Object(o.insertPolygonShape)(r,a,c,u);return Object(o.updateNodeBounds)(t,l),t.intersect=function(e){return s.default.polygon(t,e)},r},lean_left:function(e,t){var n=Object(o.labelHelper)(e,t,void 0,!0),r=n.shapeSvg,i=n.bbox,a=i.width+t.padding,c=i.height+t.padding,u=[{x:2*c/6,y:0},{x:a+c/6,y:0},{x:a-2*c/6,y:-c},{x:-c/6,y:-c}],l=Object(o.insertPolygonShape)(r,a,c,u);return Object(o.updateNodeBounds)(t,l),t.intersect=function(e){return s.default.polygon(t,e)},r},trapezoid:function(e,t){var n=Object(o.labelHelper)(e,t,void 0,!0),r=n.shapeSvg,i=n.bbox,a=i.width+t.padding,c=i.height+t.padding,u=[{x:-2*c/6,y:0},{x:a+2*c/6,y:0},{x:a-c/6,y:-c},{x:c/6,y:-c}],l=Object(o.insertPolygonShape)(r,a,c,u);return Object(o.updateNodeBounds)(t,l),t.intersect=function(e){return s.default.polygon(t,e)},r},inv_trapezoid:function(e,t){var n=Object(o.labelHelper)(e,t,void 0,!0),r=n.shapeSvg,i=n.bbox,a=i.width+t.padding,c=i.height+t.padding,u=[{x:c/6,y:0},{x:a-c/6,y:0},{x:a+2*c/6,y:-c},{x:-2*c/6,y:-c}],l=Object(o.insertPolygonShape)(r,a,c,u);return Object(o.updateNodeBounds)(t,l),t.intersect=function(e){return s.default.polygon(t,e)},r},rect_right_inv_arrow:function(e,t){var n=Object(o.labelHelper)(e,t,void 0,!0),r=n.shapeSvg,i=n.bbox,a=i.width+t.padding,c=i.height+t.padding,u=[{x:0,y:0},{x:a+c/2,y:0},{x:a,y:-c/2},{x:a+c/2,y:-c},{x:0,y:-c}],l=Object(o.insertPolygonShape)(r,a,c,u);return Object(o.updateNodeBounds)(t,l),t.intersect=function(e){return s.default.polygon(t,e)},r},cylinder:function(e,t){var n=Object(o.labelHelper)(e,t,void 0,!0),r=n.shapeSvg,i=n.bbox,a=i.width+t.padding,c=a/2,u=c/(2.5+a/50),l=i.height+u+t.padding,f=\"M 0,\"+u+\" a \"+c+\",\"+u+\" 0,0,0 \"+a+\" 0 a \"+c+\",\"+u+\" 0,0,0 \"+-a+\" 0 l 0,\"+l+\" a \"+c+\",\"+u+\" 0,0,0 \"+a+\" 0 l 0,\"+-l,d=r.attr(\"label-offset-y\",u).insert(\"path\",\":first-child\").attr(\"d\",f).attr(\"transform\",\"translate(\"+-a/2+\",\"+-(l/2+u)+\")\");return Object(o.updateNodeBounds)(t,d),t.intersect=function(e){var n=s.default.rect(t,e),r=n.x-t.x;if(0!=c&&(Math.abs(r)<t.width/2||Math.abs(r)==t.width/2&&Math.abs(n.y-t.y)>t.height/2-u)){var i=u*u*(1-r*r/(c*c));0!=i&&(i=Math.sqrt(i)),i=u-i,e.y-t.y>0&&(i=-i),n.y+=i}return n},r},start:function(e,t){var n=e.insert(\"g\").attr(\"class\",\"node default\").attr(\"id\",t.domId||t.id),r=n.insert(\"circle\",\":first-child\");return r.attr(\"class\",\"state-start\").attr(\"r\",7).attr(\"width\",14).attr(\"height\",14),Object(o.updateNodeBounds)(t,r),t.intersect=function(e){return s.default.circle(t,7,e)},n},end:function(e,t){var n=e.insert(\"g\").attr(\"class\",\"node default\").attr(\"id\",t.domId||t.id),r=n.insert(\"circle\",\":first-child\"),i=n.insert(\"circle\",\":first-child\");return i.attr(\"class\",\"state-start\").attr(\"r\",7).attr(\"width\",14).attr(\"height\",14),r.attr(\"class\",\"state-end\").attr(\"r\",5).attr(\"width\",10).attr(\"height\",10),Object(o.updateNodeBounds)(t,i),t.intersect=function(e){return s.default.circle(t,7,e)},n},note:u.default,subroutine:function(e,t){var n=Object(o.labelHelper)(e,t,void 0,!0),r=n.shapeSvg,i=n.bbox,a=i.width+t.padding,c=i.height+t.padding,u=[{x:0,y:0},{x:a,y:0},{x:a,y:-c},{x:0,y:-c},{x:0,y:0},{x:-8,y:0},{x:a+8,y:0},{x:a+8,y:-c},{x:-8,y:-c},{x:-8,y:0}],l=Object(o.insertPolygonShape)(r,a,c,u);return Object(o.updateNodeBounds)(t,l),t.intersect=function(e){return s.default.polygon(t,e)},r},fork:f,join:f,class_box:function(e,t){var n,i=t.padding/2;n=t.classes?\"node \"+t.classes:\"node default\";var u=e.insert(\"g\").attr(\"class\",n).attr(\"id\",t.domId||t.id),f=u.insert(\"rect\",\":first-child\"),d=u.insert(\"line\"),h=u.insert(\"line\"),p=0,g=4,y=u.insert(\"g\").attr(\"class\",\"label\"),m=0,b=t.classData.annotations&&t.classData.annotations[0],v=t.classData.annotations[0]?\"\\xab\"+t.classData.annotations[0]+\"\\xbb\":\"\",x=y.node().appendChild(Object(c.default)(v,t.labelStyle,!0,!0)),w=x.getBBox();if(Object(a.getConfig)().flowchart.htmlLabels){var _=x.children[0],k=Object(r.select)(x);w=_.getBoundingClientRect(),k.attr(\"width\",w.width),k.attr(\"height\",w.height)}t.classData.annotations[0]&&(g+=w.height+4,p+=w.width);var O=t.classData.id;void 0!==t.classData.type&&\"\"!==t.classData.type&&(O+=\"<\"+t.classData.type+\">\");var E=y.node().appendChild(Object(c.default)(O,t.labelStyle,!0,!0));Object(r.select)(E).attr(\"class\",\"classTitle\");var S=E.getBBox();if(Object(a.getConfig)().flowchart.htmlLabels){var C=E.children[0],T=Object(r.select)(E);S=C.getBoundingClientRect(),T.attr(\"width\",S.width),T.attr(\"height\",S.height)}g+=S.height+4,S.width>p&&(p=S.width);var j=[];t.classData.members.forEach((function(e){var n=Object(l.parseMember)(e).displayText,i=y.node().appendChild(Object(c.default)(n,t.labelStyle,!0,!0)),o=i.getBBox();if(Object(a.getConfig)().flowchart.htmlLabels){var s=i.children[0],u=Object(r.select)(i);o=s.getBoundingClientRect(),u.attr(\"width\",o.width),u.attr(\"height\",o.height)}o.width>p&&(p=o.width),g+=o.height+4,j.push(i)})),g+=8;var A=[];if(t.classData.methods.forEach((function(e){var n=Object(l.parseMember)(e).displayText,i=y.node().appendChild(Object(c.default)(n,t.labelStyle,!0,!0)),o=i.getBBox();if(Object(a.getConfig)().flowchart.htmlLabels){var s=i.children[0],u=Object(r.select)(i);o=s.getBoundingClientRect(),u.attr(\"width\",o.width),u.attr(\"height\",o.height)}o.width>p&&(p=o.width),g+=o.height+4,A.push(i)})),g+=8,b){var M=(p-w.width)/2;Object(r.select)(x).attr(\"transform\",\"translate( \"+(-1*p/2+M)+\", \"+-1*g/2+\")\"),m=w.height+4}var P=(p-S.width)/2;return Object(r.select)(E).attr(\"transform\",\"translate( \"+(-1*p/2+P)+\", \"+(-1*g/2+m)+\")\"),m+=S.height+4,d.attr(\"class\",\"divider\").attr(\"x1\",-p/2-i).attr(\"x2\",p/2+i).attr(\"y1\",-g/2-i+8+m).attr(\"y2\",-g/2-i+8+m),m+=8,j.forEach((function(e){Object(r.select)(e).attr(\"transform\",\"translate( \"+-p/2+\", \"+(-1*g/2+m+4)+\")\"),m+=S.height+4})),m+=8,h.attr(\"class\",\"divider\").attr(\"x1\",-p/2-i).attr(\"x2\",p/2+i).attr(\"y1\",-g/2-i+8+m).attr(\"y2\",-g/2-i+8+m),m+=8,A.forEach((function(e){Object(r.select)(e).attr(\"transform\",\"translate( \"+-p/2+\", \"+(-1*g/2+m)+\")\"),m+=S.height+4})),f.attr(\"class\",\"outer title-state\").attr(\"x\",-p/2-i).attr(\"y\",-g/2-i).attr(\"width\",p+t.padding).attr(\"height\",g+t.padding),Object(o.updateNodeBounds)(t,f),t.intersect=function(e){return s.default.rect(t,e)},u}},h={},p=function(e,t,n){var r,i;t.link?(r=e.insert(\"svg:a\").attr(\"xlink:href\",t.link).attr(\"target\",t.linkTarget||\"_blank\"),i=d[t.shape](r,t,n)):r=i=d[t.shape](e,t,n),t.tooltip&&i.attr(\"title\",t.tooltip),t.class&&i.attr(\"class\",\"node default \"+t.class),h[t.id]=r,t.haveCallback&&h[t.id].attr(\"class\",h[t.id].attr(\"class\")+\" clickable\")},g=function(e,t){h[t.id]=e},y=function(){h={}},m=function(e){var t=h[e.id];i.logger.trace(\"Transforming node\",e,\"translate(\"+(e.x-e.width/2-5)+\", \"+(e.y-e.height/2-5)+\")\"),e.clusterNode?t.attr(\"transform\",\"translate(\"+(e.x-e.width/2-8)+\", \"+(e.y-e.height/2-8)+\")\"):t.attr(\"transform\",\"translate(\"+e.x+\", \"+e.y+\")\")}},\"./src/dagre-wrapper/shapes/note.js\":function(e,t,n){\"use strict\";n.r(t);var r=n(\"./src/dagre-wrapper/shapes/util.js\"),i=n(\"./src/logger.js\"),o=n(\"./src/dagre-wrapper/intersect/index.js\");t.default=function(e,t){var n=Object(r.labelHelper)(e,t,\"node \"+t.classes,!0),a=n.shapeSvg,s=n.bbox,c=n.halfPadding;i.logger.info(\"Classes = \",t.classes);var u=a.insert(\"rect\",\":first-child\");return u.attr(\"rx\",t.rx).attr(\"ry\",t.ry).attr(\"x\",-s.width/2-c).attr(\"y\",-s.height/2-c).attr(\"width\",s.width+t.padding).attr(\"height\",s.height+t.padding),Object(r.updateNodeBounds)(t,u),t.intersect=function(e){return o.default.rect(t,e)},a}},\"./src/dagre-wrapper/shapes/util.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"labelHelper\",(function(){return a})),n.d(t,\"updateNodeBounds\",(function(){return s})),n.d(t,\"insertPolygonShape\",(function(){return c}));var r=n(\"./src/dagre-wrapper/createLabel.js\"),i=n(\"./src/config.js\"),o=n(\"d3\"),a=function(e,t,n,a){var s;s=n||\"node default\";var c=e.insert(\"g\").attr(\"class\",s).attr(\"id\",t.domId||t.id),u=c.insert(\"g\").attr(\"class\",\"label\").attr(\"style\",t.labelStyle),l=u.node().appendChild(Object(r.default)(t.labelText,t.labelStyle,!1,a)),f=l.getBBox();if(Object(i.getConfig)().flowchart.htmlLabels){var d=l.children[0],h=Object(o.select)(l);f=d.getBoundingClientRect(),h.attr(\"width\",f.width),h.attr(\"height\",f.height)}var p=t.padding/2;return u.attr(\"transform\",\"translate(\"+-f.width/2+\", \"+-f.height/2+\")\"),{shapeSvg:c,bbox:f,halfPadding:p,label:u}},s=function(e,t){var n=t.node().getBBox();e.width=n.width,e.height=n.height};function c(e,t,n,r){return e.insert(\"polygon\",\":first-child\").attr(\"points\",r.map((function(e){return e.x+\",\"+e.y})).join(\" \")).attr(\"class\",\"label-container\").attr(\"transform\",\"translate(\"+-t/2+\",\"+n/2+\")\")}},\"./src/defaultConfig.js\":function(e,t,n){\"use strict\";n.r(t);var r={theme:\"default\",themeVariables:n(\"./src/themes/index.js\").default.default.getThemeVariables(),themeCSS:void 0,maxTextSize:5e4,fontFamily:'\"trebuchet ms\", verdana, arial;',logLevel:5,securityLevel:\"strict\",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:[\"secure\",\"securityLevel\",\"startOnLoad\",\"maxTextSize\"],flowchart:{diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:\"linear\",padding:15,useMaxWidth:!0},sequence:{activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:\"center\",mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'\"Open-Sans\", \"sans-serif\"',actorFontWeight:400,noteFontSize:14,noteFontFamily:'\"trebuchet ms\", verdana, arial',noteFontWeight:400,noteAlign:\"center\",messageFontSize:16,messageFontFamily:'\"trebuchet ms\", verdana, arial',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20,messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},noteFont:function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},actorFont:function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'\"Open-Sans\", \"sans-serif\"',numberSectionStyles:4,axisFormat:\"%Y-%m-%d\",useMaxWidth:!0,useWidth:void 0},journey:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:\"center\",bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1},class:{arrowMarkerAbsolute:!1,useMaxWidth:!0},git:{arrowMarkerAbsolute:!1,useWidth:void 0,useMaxWidth:!0},state:{dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:\"20\",compositTitleSize:35,radius:5,useMaxWidth:!0},er:{diagramPadding:20,layoutDirection:\"TB\",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:\"gray\",fill:\"honeydew\",fontSize:12,useMaxWidth:!0},pie:{useWidth:void 0,useMaxWidth:!0}};r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute,r.git.arrowMarkerAbsolute=r.arrowMarkerAbsolute,t.default=r},\"./src/diagrams/class/classDb.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"parseDirective\",(function(){return p})),n.d(t,\"addClass\",(function(){return y})),n.d(t,\"lookUpDomId\",(function(){return m})),n.d(t,\"clear\",(function(){return b})),n.d(t,\"getClass\",(function(){return v})),n.d(t,\"getClasses\",(function(){return x})),n.d(t,\"getRelations\",(function(){return w})),n.d(t,\"addRelation\",(function(){return _})),n.d(t,\"addAnnotation\",(function(){return k})),n.d(t,\"addMember\",(function(){return O})),n.d(t,\"addMembers\",(function(){return E})),n.d(t,\"cleanupLabel\",(function(){return S})),n.d(t,\"setCssClass\",(function(){return C})),n.d(t,\"setLink\",(function(){return T})),n.d(t,\"setClickEvent\",(function(){return j})),n.d(t,\"bindFunctions\",(function(){return M})),n.d(t,\"lineType\",(function(){return P})),n.d(t,\"relationType\",(function(){return N}));var r=n(\"d3\"),i=n(\"./src/logger.js\"),o=n(\"./src/config.js\"),a=n(\"./src/diagrams/common/common.js\"),s=n(\"./src/utils.js\"),c=n(\"./src/mermaidAPI.js\"),u=\"classid-\",l=[],f={},d=0,h=[],p=function(e,t,n){c.default.parseDirective(this,e,t,n)},g=function(e){var t=\"\",n=e;if(e.indexOf(\"~\")>0){var r=e.split(\"~\");n=r[0],t=r[1]}return{className:n,type:t}},y=function(e){var t=g(e);\"undefined\"===typeof f[t.className]&&(f[t.className]={id:t.className,type:t.type,cssClasses:[],methods:[],members:[],annotations:[],domId:u+t.className+\"-\"+d},d++)},m=function(e){for(var t=Object.keys(f),n=0;n<t.length;n++)if(f[t[n]].id===e)return f[t[n]].domId},b=function(){l=[],f={},(h=[]).push(D)},v=function(e){return f[e]},x=function(){return f},w=function(){return l},_=function(e){i.logger.debug(\"Adding relation: \"+JSON.stringify(e)),y(e.id1),y(e.id2),e.id1=g(e.id1).className,e.id2=g(e.id2).className,l.push(e)},k=function(e,t){var n=g(e).className;f[n].annotations.push(t)},O=function(e,t){var n=g(e).className,r=f[n];if(\"string\"===typeof t){var i=t.trim();i.startsWith(\"<<\")&&i.endsWith(\">>\")?r.annotations.push(i.substring(2,i.length-2)):i.indexOf(\")\")>0?r.methods.push(i):i&&r.members.push(i)}},E=function(e,t){Array.isArray(t)&&(t.reverse(),t.forEach((function(t){return O(e,t)})))},S=function(e){return\":\"===e.substring(0,1)?e.substr(1).trim():e.trim()},C=function(e,t){e.split(\",\").forEach((function(e){var n=e;e[0].match(/\\d/)&&(n=u+n),\"undefined\"!==typeof f[n]&&f[n].cssClasses.push(t)}))},T=function(e,t,n){var r=o.getConfig();e.split(\",\").forEach((function(e){var i=e;e[0].match(/\\d/)&&(i=u+i),\"undefined\"!==typeof f[i]&&(f[i].link=s.default.formatUrl(t,r),n&&(f[i].tooltip=a.default.sanitizeText(n,r)))})),C(e,\"clickable\")},j=function(e,t,n){e.split(\",\").forEach((function(e){A(e,t,n),f[e].haveCallback=!0})),C(e,\"clickable\")},A=function(e,t,n){var r=o.getConfig(),i=e,c=m(i);\"loose\"===r.securityLevel&&\"undefined\"!==typeof t&&\"undefined\"!==typeof f[i]&&(n&&(f[i].tooltip=a.default.sanitizeText(n,r)),h.push((function(){var e=document.querySelector('[id=\"'.concat(c,'\"]'));null!==e&&e.addEventListener(\"click\",(function(){s.default.runFunc(t,c)}),!1)})))},M=function(e){h.forEach((function(t){t(e)}))},P={LINE:0,DOTTED_LINE:1},N={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},D=function(e){var t=Object(r.select)(\".mermaidTooltip\");null===(t._groups||t)[0][0]&&(t=Object(r.select)(\"body\").append(\"div\").attr(\"class\",\"mermaidTooltip\").style(\"opacity\",0)),Object(r.select)(e).select(\"svg\").selectAll(\"g.node\").on(\"mouseover\",(function(){var e=Object(r.select)(this);if(null!==e.attr(\"title\")){var n=this.getBoundingClientRect();t.transition().duration(200).style(\"opacity\",\".9\"),t.html(e.attr(\"title\")).style(\"left\",window.scrollX+n.left+(n.right-n.left)/2+\"px\").style(\"top\",window.scrollY+n.top-14+document.body.scrollTop+\"px\"),e.classed(\"hover\",!0)}})).on(\"mouseout\",(function(){t.transition().duration(500).style(\"opacity\",0),Object(r.select)(this).classed(\"hover\",!1)}))};h.push(D),t.default={parseDirective:p,getConfig:function(){return o.getConfig().class},addClass:y,bindFunctions:M,clear:b,getClass:v,getClasses:x,addAnnotation:k,getRelations:w,addRelation:_,addMember:O,addMembers:E,cleanupLabel:S,lineType:P,relationType:N,setClickEvent:j,setCssClass:C,setLink:T,lookUpDomId:m}},\"./src/diagrams/class/classRenderer-v2.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"addClasses\",(function(){return b})),n.d(t,\"addRelations\",(function(){return v})),n.d(t,\"setConf\",(function(){return w})),n.d(t,\"drawOld\",(function(){return _})),n.d(t,\"draw\",(function(){return k}));var r=n(\"d3\"),i=n(\"dagre\"),o=n.n(i),a=n(\"graphlib\"),s=n.n(a),c=n(\"./src/logger.js\"),u=n(\"./src/diagrams/class/classDb.js\"),l=n(\"./src/diagrams/class/parser/classDiagram.jison\"),f=n(\"./src/diagrams/class/svgDraw.js\"),d=n(\"./src/config.js\"),h=n(\"./src/dagre-wrapper/index.js\"),p=n(\"./src/utils.js\"),g=n(\"./src/diagrams/common/common.js\");l.parser.yy=u.default;var y={},m={dividerMargin:10,padding:5,textHeight:10},b=function(e,t){var n=Object.keys(e);c.logger.info(\"keys:\",n),c.logger.info(e),n.forEach((function(n){var r=e[n],i=\"\";r.cssClasses.length>0&&(i=i+\" \"+r.cssClasses.join(\" \"));var o={labelStyle:\"\"},a=void 0!==r.text?r.text:r.id,s=\"\";r.type,s=\"class_box\",t.setNode(r.id,{labelStyle:o.labelStyle,shape:s,labelText:a,classData:r,rx:0,ry:0,class:i,style:o.style,id:r.id,domId:r.domId,haveCallback:r.haveCallback,link:r.link,width:\"group\"===r.type?500:void 0,type:r.type,padding:Object(d.getConfig)().flowchart.padding}),c.logger.info(\"setNode\",{labelStyle:o.labelStyle,shape:s,labelText:a,rx:0,ry:0,class:i,style:o.style,id:r.id,width:\"group\"===r.type?500:void 0,type:r.type,padding:Object(d.getConfig)().flowchart.padding})}))},v=function(e,t){var n=0;e.forEach((function(i){n++;var o={classes:\"relation\"};o.pattern=1==i.relation.lineType?\"dashed\":\"solid\",o.id=\"id\"+n,\"arrow_open\"===i.type?o.arrowhead=\"none\":o.arrowhead=\"normal\",c.logger.info(o,i),o.startLabelRight=\"none\"===i.relationTitle1?\"\":i.relationTitle1,o.endLabelLeft=\"none\"===i.relationTitle2?\"\":i.relationTitle2,o.arrowTypeStart=O(i.relation.type1),o.arrowTypeEnd=O(i.relation.type2);var a=\"\",s=\"\";if(\"undefined\"!==typeof i.style){var u=Object(p.getStylesFromArray)(i.style);a=u.style,s=u.labelStyle}else a=\"fill:none\";o.style=a,o.labelStyle=s,\"undefined\"!==typeof i.interpolate?o.curve=Object(p.interpolateToCurve)(i.interpolate,r.curveLinear):\"undefined\"!==typeof e.defaultInterpolate?o.curve=Object(p.interpolateToCurve)(e.defaultInterpolate,r.curveLinear):o.curve=Object(p.interpolateToCurve)(m.curve,r.curveLinear),i.text=i.title,\"undefined\"===typeof i.text?\"undefined\"!==typeof i.style&&(o.arrowheadStyle=\"fill: #333\"):(o.arrowheadStyle=\"fill: #333\",o.labelpos=\"c\",Object(d.getConfig)().flowchart.htmlLabels,o.labelType=\"text\",o.label=i.text.replace(g.default.lineBreakRegex,\"\\n\"),\"undefined\"===typeof i.style&&(o.style=o.style||\"stroke: #333; stroke-width: 1.5px;fill:none\"),o.labelStyle=o.labelStyle.replace(\"color:\",\"fill:\")),t.setEdge(i.id1,i.id2,o,n)}))},x=function(e){for(var t=Object.keys(y),n=0;n<t.length;n++)if(y[t[n]].label===e)return t[n]},w=function(e){Object.keys(e).forEach((function(t){m[t]=e[t]}))},_=function(e,t){y={},l.parser.yy.clear(),l.parser.parse(e),c.logger.info(\"Rendering diagram \"+e);var n=Object(r.select)(\"[id='\".concat(t,\"']\")),i=new s.a.Graph({multigraph:!0});i.setGraph({isMultiGraph:!0}),i.setDefaultEdgeLabel((function(){return{}}));var a=u.default.getClasses();c.logger.info(\"classes:\"),c.logger.info(a);for(var d=Object.keys(a),h=0;h<d.length;h++){var g=a[d[h]],b=f.default.drawClass(n,g,m);y[b.id]=b,i.setNode(b.id,b),c.logger.info(\"Org height: \"+b.height)}var v=u.default.getRelations();c.logger.info(\"relations:\",v),v.forEach((function(e){c.logger.info(\"tjoho\"+x(e.id1)+x(e.id2)+JSON.stringify(e)),i.setEdge(x(e.id1),x(e.id2),{relation:e},e.title||\"DEFAULT\")})),o.a.layout(i),i.nodes().forEach((function(e){\"undefined\"!==typeof e&&\"undefined\"!==typeof i.node(e)&&(c.logger.debug(\"Node \"+e+\": \"+JSON.stringify(i.node(e))),Object(r.select)(\"#\"+Object(u.lookUpDomId)(e)).attr(\"transform\",\"translate(\"+(i.node(e).x-i.node(e).width/2)+\",\"+(i.node(e).y-i.node(e).height/2)+\" )\"))})),i.edges().forEach((function(e){\"undefined\"!==typeof e&&\"undefined\"!==typeof i.edge(e)&&(c.logger.debug(\"Edge \"+e.v+\" -> \"+e.w+\": \"+JSON.stringify(i.edge(e))),f.default.drawEdge(n,i.edge(e),i.edge(e).relation,m))}));var w=n.node().getBBox(),_=w.width+40,k=w.height+40;Object(p.configureSvgSize)(n,k,_,m.useMaxWidth);var O=\"\".concat(w.x-20,\" \").concat(w.y-20,\" \").concat(_,\" \").concat(k);c.logger.debug(\"viewBox \".concat(O)),n.attr(\"viewBox\",O)},k=function(e,t){c.logger.info(\"Drawing class\"),u.default.clear(),l.parser.parse(e);var n=Object(d.getConfig)().flowchart;c.logger.info(\"config:\",n);var i=n.nodeSpacing||50,o=n.rankSpacing||50,a=new s.a.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:\"TD\",nodesep:i,ranksep:o,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}})),f=u.default.getClasses(),g=u.default.getRelations();c.logger.info(g),b(f,a,t),v(g,a);var y=Object(r.select)('[id=\"'.concat(t,'\"]'));y.attr(\"xmlns:xlink\",\"http://www.w3.org/1999/xlink\");var m=Object(r.select)(\"#\"+t+\" g\");Object(h.render)(m,a,[\"aggregation\",\"extension\",\"composition\",\"dependency\"],\"classDiagram\",t);var x=y.node().getBBox(),w=x.width+16,_=x.height+16;if(c.logger.debug(\"new ViewBox 0 0 \".concat(w,\" \").concat(_),\"translate(\".concat(8-a._label.marginx,\", \").concat(8-a._label.marginy,\")\")),Object(p.configureSvgSize)(y,_,w,n.useMaxWidth),y.attr(\"viewBox\",\"0 0 \".concat(w,\" \").concat(_)),y.select(\"g\").attr(\"transform\",\"translate(\".concat(8-a._label.marginx,\", \").concat(8-x.y,\")\")),!n.htmlLabels)for(var k=document.querySelectorAll('[id=\"'+t+'\"] .edgeLabel .label'),O=0;O<k.length;O++){var E=k[O],S=E.getBBox(),C=document.createElementNS(\"http://www.w3.org/2000/svg\",\"rect\");C.setAttribute(\"rx\",0),C.setAttribute(\"ry\",0),C.setAttribute(\"width\",S.width),C.setAttribute(\"height\",S.height),C.setAttribute(\"style\",\"fill:#e8e8e8;\"),E.insertBefore(C,E.firstChild)}};function O(e){var t;switch(e){case 0:t=\"aggregation\";break;case 1:t=\"extension\";break;case 2:t=\"composition\";break;case 3:t=\"dependency\";break;default:t=\"none\"}return t}t.default={setConf:w,draw:k}},\"./src/diagrams/class/classRenderer.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"setConf\",(function(){return y})),n.d(t,\"draw\",(function(){return m}));var r=n(\"d3\"),i=n(\"dagre\"),o=n.n(i),a=n(\"graphlib\"),s=n.n(a),c=n(\"./src/logger.js\"),u=n(\"./src/diagrams/class/classDb.js\"),l=n(\"./src/diagrams/class/parser/classDiagram.jison\"),f=n(\"./src/diagrams/class/svgDraw.js\"),d=n(\"./src/utils.js\");l.parser.yy=u.default;var h={},p={dividerMargin:10,padding:5,textHeight:10},g=function(e){for(var t=Object.keys(h),n=0;n<t.length;n++)if(h[t[n]].label===e)return t[n]},y=function(e){Object.keys(e).forEach((function(t){p[t]=e[t]}))},m=function(e,t){h={},l.parser.yy.clear(),l.parser.parse(e),c.logger.info(\"Rendering diagram \"+e);var n,i=Object(r.select)(\"[id='\".concat(t,\"']\"));i.attr(\"xmlns:xlink\",\"http://www.w3.org/1999/xlink\"),(n=i).append(\"defs\").append(\"marker\").attr(\"id\",\"extensionStart\").attr(\"class\",\"extension\").attr(\"refX\",0).attr(\"refY\",7).attr(\"markerWidth\",190).attr(\"markerHeight\",240).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 1,7 L18,13 V 1 Z\"),n.append(\"defs\").append(\"marker\").attr(\"id\",\"extensionEnd\").attr(\"refX\",19).attr(\"refY\",7).attr(\"markerWidth\",20).attr(\"markerHeight\",28).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 1,1 V 13 L18,7 Z\"),n.append(\"defs\").append(\"marker\").attr(\"id\",\"compositionStart\").attr(\"class\",\"extension\").attr(\"refX\",0).attr(\"refY\",7).attr(\"markerWidth\",190).attr(\"markerHeight\",240).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 18,7 L9,13 L1,7 L9,1 Z\"),n.append(\"defs\").append(\"marker\").attr(\"id\",\"compositionEnd\").attr(\"refX\",19).attr(\"refY\",7).attr(\"markerWidth\",20).attr(\"markerHeight\",28).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 18,7 L9,13 L1,7 L9,1 Z\"),n.append(\"defs\").append(\"marker\").attr(\"id\",\"aggregationStart\").attr(\"class\",\"extension\").attr(\"refX\",0).attr(\"refY\",7).attr(\"markerWidth\",190).attr(\"markerHeight\",240).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 18,7 L9,13 L1,7 L9,1 Z\"),n.append(\"defs\").append(\"marker\").attr(\"id\",\"aggregationEnd\").attr(\"refX\",19).attr(\"refY\",7).attr(\"markerWidth\",20).attr(\"markerHeight\",28).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 18,7 L9,13 L1,7 L9,1 Z\"),n.append(\"defs\").append(\"marker\").attr(\"id\",\"dependencyStart\").attr(\"class\",\"extension\").attr(\"refX\",0).attr(\"refY\",7).attr(\"markerWidth\",190).attr(\"markerHeight\",240).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 5,7 L9,13 L1,7 L9,1 Z\"),n.append(\"defs\").append(\"marker\").attr(\"id\",\"dependencyEnd\").attr(\"refX\",19).attr(\"refY\",7).attr(\"markerWidth\",20).attr(\"markerHeight\",28).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 18,7 L9,13 L14,7 L9,1 Z\");var a=new s.a.Graph({multigraph:!0});a.setGraph({isMultiGraph:!0}),a.setDefaultEdgeLabel((function(){return{}}));for(var y=u.default.getClasses(),m=Object.keys(y),b=0;b<m.length;b++){var v=y[m[b]],x=f.default.drawClass(i,v,p);h[x.id]=x,a.setNode(x.id,x),c.logger.info(\"Org height: \"+x.height)}u.default.getRelations().forEach((function(e){c.logger.info(\"tjoho\"+g(e.id1)+g(e.id2)+JSON.stringify(e)),a.setEdge(g(e.id1),g(e.id2),{relation:e},e.title||\"DEFAULT\")})),o.a.layout(a),a.nodes().forEach((function(e){\"undefined\"!==typeof e&&\"undefined\"!==typeof a.node(e)&&(c.logger.debug(\"Node \"+e+\": \"+JSON.stringify(a.node(e))),Object(r.select)(\"#\"+Object(u.lookUpDomId)(e)).attr(\"transform\",\"translate(\"+(a.node(e).x-a.node(e).width/2)+\",\"+(a.node(e).y-a.node(e).height/2)+\" )\"))})),a.edges().forEach((function(e){\"undefined\"!==typeof e&&\"undefined\"!==typeof a.edge(e)&&(c.logger.debug(\"Edge \"+e.v+\" -> \"+e.w+\": \"+JSON.stringify(a.edge(e))),f.default.drawEdge(i,a.edge(e),a.edge(e).relation,p))}));var w=i.node().getBBox(),_=w.width+40,k=w.height+40;Object(d.configureSvgSize)(i,k,_,p.useMaxWidth);var O=\"\".concat(w.x-20,\" \").concat(w.y-20,\" \").concat(_,\" \").concat(k);c.logger.debug(\"viewBox \".concat(O)),i.attr(\"viewBox\",O)};t.default={setConf:y,draw:m}},\"./src/diagrams/class/parser/classDiagram.jison\":function(e,t,n){(function(e,r){var i=function(){var e=function(e,t,n,r){for(n=n||{},r=e.length;r--;n[e[r]]=t);return n},t=[1,7],n=[1,6],r=[1,14],i=[1,25],o=[1,28],a=[1,26],s=[1,27],c=[1,29],u=[1,30],l=[1,31],f=[1,33],d=[1,34],h=[1,35],p=[10,19],g=[1,47],y=[1,48],m=[1,49],b=[1,50],v=[1,51],x=[1,52],w=[10,19,25,32,33,41,44,45,46,47,48,49],_=[10,19,23,25,32,33,37,41,44,45,46,47,48,49,66,67,68],k=[10,13,17,19],O=[41,66,67,68],E=[41,48,49,66,67,68],S=[41,44,45,46,47,66,67,68],C=[10,19,25],T=[1,81],j={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,directive:5,graphConfig:6,openDirective:7,typeDirective:8,closeDirective:9,NEWLINE:10,\":\":11,argDirective:12,open_directive:13,type_directive:14,arg_directive:15,close_directive:16,CLASS_DIAGRAM:17,statements:18,EOF:19,statement:20,className:21,alphaNumToken:22,GENERICTYPE:23,relationStatement:24,LABEL:25,classStatement:26,methodStatement:27,annotationStatement:28,clickStatement:29,cssClassStatement:30,CLASS:31,STYLE_SEPARATOR:32,STRUCT_START:33,members:34,STRUCT_STOP:35,ANNOTATION_START:36,ANNOTATION_END:37,MEMBER:38,SEPARATOR:39,relation:40,STR:41,relationType:42,lineType:43,AGGREGATION:44,EXTENSION:45,COMPOSITION:46,DEPENDENCY:47,LINE:48,DOTTED_LINE:49,CALLBACK:50,LINK:51,CSSCLASS:52,commentToken:53,textToken:54,graphCodeTokens:55,textNoTagsToken:56,TAGSTART:57,TAGEND:58,\"==\":59,\"--\":60,PCT:61,DEFAULT:62,SPACE:63,MINUS:64,keywords:65,UNICODE_TEXT:66,NUM:67,ALPHA:68,$accept:0,$end:1},terminals_:{2:\"error\",10:\"NEWLINE\",11:\":\",13:\"open_directive\",14:\"type_directive\",15:\"arg_directive\",16:\"close_directive\",17:\"CLASS_DIAGRAM\",19:\"EOF\",23:\"GENERICTYPE\",25:\"LABEL\",31:\"CLASS\",32:\"STYLE_SEPARATOR\",33:\"STRUCT_START\",35:\"STRUCT_STOP\",36:\"ANNOTATION_START\",37:\"ANNOTATION_END\",38:\"MEMBER\",39:\"SEPARATOR\",41:\"STR\",44:\"AGGREGATION\",45:\"EXTENSION\",46:\"COMPOSITION\",47:\"DEPENDENCY\",48:\"LINE\",49:\"DOTTED_LINE\",50:\"CALLBACK\",51:\"LINK\",52:\"CSSCLASS\",55:\"graphCodeTokens\",57:\"TAGSTART\",58:\"TAGEND\",59:\"==\",60:\"--\",61:\"PCT\",62:\"DEFAULT\",63:\"SPACE\",64:\"MINUS\",65:\"keywords\",66:\"UNICODE_TEXT\",67:\"NUM\",68:\"ALPHA\"},productions_:[0,[3,1],[3,2],[4,1],[5,4],[5,6],[7,1],[8,1],[12,1],[9,1],[6,4],[18,1],[18,2],[18,3],[21,1],[21,2],[21,3],[21,2],[20,1],[20,2],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[26,2],[26,4],[26,5],[26,7],[28,4],[34,1],[34,2],[27,1],[27,2],[27,1],[27,1],[24,3],[24,4],[24,4],[24,5],[40,3],[40,2],[40,2],[40,1],[42,1],[42,1],[42,1],[42,1],[43,1],[43,1],[29,3],[29,4],[29,3],[29,4],[30,3],[53,1],[53,1],[54,1],[54,1],[54,1],[54,1],[54,1],[54,1],[54,1],[56,1],[56,1],[56,1],[56,1],[22,1],[22,1],[22,1]],performAction:function(e,t,n,r,i,o,a){var s=o.length-1;switch(i){case 6:r.parseDirective(\"%%{\",\"open_directive\");break;case 7:r.parseDirective(o[s],\"type_directive\");break;case 8:o[s]=o[s].trim().replace(/'/g,'\"'),r.parseDirective(o[s],\"arg_directive\");break;case 9:r.parseDirective(\"}%%\",\"close_directive\",\"class\");break;case 14:this.$=o[s];break;case 15:this.$=o[s-1]+o[s];break;case 16:this.$=o[s-2]+\"~\"+o[s-1]+o[s];break;case 17:this.$=o[s-1]+\"~\"+o[s];break;case 18:r.addRelation(o[s]);break;case 19:o[s-1].title=r.cleanupLabel(o[s]),r.addRelation(o[s-1]);break;case 26:r.addClass(o[s]);break;case 27:r.addClass(o[s-2]),r.setCssClass(o[s-2],o[s]);break;case 28:r.addClass(o[s-3]),r.addMembers(o[s-3],o[s-1]);break;case 29:r.addClass(o[s-5]),r.setCssClass(o[s-5],o[s-3]),r.addMembers(o[s-5],o[s-1]);break;case 30:r.addAnnotation(o[s],o[s-2]);break;case 31:this.$=[o[s]];break;case 32:o[s].push(o[s-1]),this.$=o[s];break;case 33:case 35:case 36:break;case 34:r.addMember(o[s-1],r.cleanupLabel(o[s]));break;case 37:this.$={id1:o[s-2],id2:o[s],relation:o[s-1],relationTitle1:\"none\",relationTitle2:\"none\"};break;case 38:this.$={id1:o[s-3],id2:o[s],relation:o[s-1],relationTitle1:o[s-2],relationTitle2:\"none\"};break;case 39:this.$={id1:o[s-3],id2:o[s],relation:o[s-2],relationTitle1:\"none\",relationTitle2:o[s-1]};break;case 40:this.$={id1:o[s-4],id2:o[s],relation:o[s-2],relationTitle1:o[s-3],relationTitle2:o[s-1]};break;case 41:this.$={type1:o[s-2],type2:o[s],lineType:o[s-1]};break;case 42:this.$={type1:\"none\",type2:o[s],lineType:o[s-1]};break;case 43:this.$={type1:o[s-1],type2:\"none\",lineType:o[s]};break;case 44:this.$={type1:\"none\",type2:\"none\",lineType:o[s]};break;case 45:this.$=r.relationType.AGGREGATION;break;case 46:this.$=r.relationType.EXTENSION;break;case 47:this.$=r.relationType.COMPOSITION;break;case 48:this.$=r.relationType.DEPENDENCY;break;case 49:this.$=r.lineType.LINE;break;case 50:this.$=r.lineType.DOTTED_LINE;break;case 51:this.$=o[s-2],r.setClickEvent(o[s-1],o[s],void 0);break;case 52:this.$=o[s-3],r.setClickEvent(o[s-2],o[s-1],o[s]);break;case 53:this.$=o[s-2],r.setLink(o[s-1],o[s],void 0);break;case 54:this.$=o[s-3],r.setLink(o[s-2],o[s-1],o[s]);break;case 55:r.setCssClass(o[s-1],o[s])}},table:[{3:1,4:2,5:3,6:4,7:5,13:t,17:n},{1:[3]},{1:[2,1]},{3:8,4:2,5:3,6:4,7:5,13:t,17:n},{1:[2,3]},{8:9,14:[1,10]},{10:[1,11]},{14:[2,6]},{1:[2,2]},{9:12,11:[1,13],16:r},e([11,16],[2,7]),{5:23,7:5,13:t,18:15,20:16,21:24,22:32,24:17,26:18,27:19,28:20,29:21,30:22,31:i,36:o,38:a,39:s,50:c,51:u,52:l,66:f,67:d,68:h},{10:[1,36]},{12:37,15:[1,38]},{10:[2,9]},{19:[1,39]},{10:[1,40],19:[2,11]},e(p,[2,18],{25:[1,41]}),e(p,[2,20]),e(p,[2,21]),e(p,[2,22]),e(p,[2,23]),e(p,[2,24]),e(p,[2,25]),e(p,[2,33],{40:42,42:45,43:46,25:[1,44],41:[1,43],44:g,45:y,46:m,47:b,48:v,49:x}),{21:53,22:32,66:f,67:d,68:h},e(p,[2,35]),e(p,[2,36]),{22:54,66:f,67:d,68:h},{21:55,22:32,66:f,67:d,68:h},{21:56,22:32,66:f,67:d,68:h},{41:[1,57]},e(w,[2,14],{22:32,21:58,23:[1,59],66:f,67:d,68:h}),e(_,[2,69]),e(_,[2,70]),e(_,[2,71]),e(k,[2,4]),{9:60,16:r},{16:[2,8]},{1:[2,10]},{5:23,7:5,13:t,18:61,19:[2,12],20:16,21:24,22:32,24:17,26:18,27:19,28:20,29:21,30:22,31:i,36:o,38:a,39:s,50:c,51:u,52:l,66:f,67:d,68:h},e(p,[2,19]),{21:62,22:32,41:[1,63],66:f,67:d,68:h},{40:64,42:45,43:46,44:g,45:y,46:m,47:b,48:v,49:x},e(p,[2,34]),{43:65,48:v,49:x},e(O,[2,44],{42:66,44:g,45:y,46:m,47:b}),e(E,[2,45]),e(E,[2,46]),e(E,[2,47]),e(E,[2,48]),e(S,[2,49]),e(S,[2,50]),e(p,[2,26],{32:[1,67],33:[1,68]}),{37:[1,69]},{41:[1,70]},{41:[1,71]},{22:72,66:f,67:d,68:h},e(w,[2,15]),e(w,[2,17],{22:32,21:73,66:f,67:d,68:h}),{10:[1,74]},{19:[2,13]},e(C,[2,37]),{21:75,22:32,66:f,67:d,68:h},{21:76,22:32,41:[1,77],66:f,67:d,68:h},e(O,[2,43],{42:78,44:g,45:y,46:m,47:b}),e(O,[2,42]),{22:79,66:f,67:d,68:h},{34:80,38:T},{21:82,22:32,66:f,67:d,68:h},e(p,[2,51],{41:[1,83]}),e(p,[2,53],{41:[1,84]}),e(p,[2,55]),e(w,[2,16]),e(k,[2,5]),e(C,[2,39]),e(C,[2,38]),{21:85,22:32,66:f,67:d,68:h},e(O,[2,41]),e(p,[2,27],{33:[1,86]}),{35:[1,87]},{34:88,35:[2,31],38:T},e(p,[2,30]),e(p,[2,52]),e(p,[2,54]),e(C,[2,40]),{34:89,38:T},e(p,[2,28]),{35:[2,32]},{35:[1,90]},e(p,[2,29])],defaultActions:{2:[2,1],4:[2,3],7:[2,6],8:[2,2],14:[2,9],38:[2,8],39:[2,10],61:[2,13],88:[2,32]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],r=[],i=[null],o=[],a=this.table,s=\"\",c=0,u=0,l=0,f=2,d=1,h=o.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(e,g.yy),g.yy.lexer=p,g.yy.parser=this,\"undefined\"==typeof p.yylloc&&(p.yylloc={});var m=p.yylloc;o.push(m);var b=p.options&&p.options.ranges;function v(){var e;return\"number\"!==typeof(e=r.pop()||p.lex()||d)&&(e instanceof Array&&(e=(r=e).pop()),e=t.symbols_[e]||e),e}\"function\"===typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,w,_,k,O,E,S,C,T,j={};;){if(_=n[n.length-1],this.defaultActions[_]?k=this.defaultActions[_]:(null!==x&&\"undefined\"!=typeof x||(x=v()),k=a[_]&&a[_][x]),\"undefined\"===typeof k||!k.length||!k[0]){var A=\"\";for(E in T=[],a[_])this.terminals_[E]&&E>f&&T.push(\"'\"+this.terminals_[E]+\"'\");A=p.showPosition?\"Parse error on line \"+(c+1)+\":\\n\"+p.showPosition()+\"\\nExpecting \"+T.join(\", \")+\", got '\"+(this.terminals_[x]||x)+\"'\":\"Parse error on line \"+(c+1)+\": Unexpected \"+(x==d?\"end of input\":\"'\"+(this.terminals_[x]||x)+\"'\"),this.parseError(A,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:T})}if(k[0]instanceof Array&&k.length>1)throw new Error(\"Parse Error: multiple actions possible at state: \"+_+\", token: \"+x);switch(k[0]){case 1:n.push(x),i.push(p.yytext),o.push(p.yylloc),n.push(k[1]),x=null,w?(x=w,w=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,m=p.yylloc,l>0&&l--);break;case 2:if(S=this.productions_[k[1]][1],j.$=i[i.length-S],j._$={first_line:o[o.length-(S||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(S||1)].first_column,last_column:o[o.length-1].last_column},b&&(j._$.range=[o[o.length-(S||1)].range[0],o[o.length-1].range[1]]),\"undefined\"!==typeof(O=this.performAction.apply(j,[s,u,c,g.yy,k[1],i,o].concat(h))))return O;S&&(n=n.slice(0,-1*S*2),i=i.slice(0,-1*S),o=o.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),i.push(j.$),o.push(j._$),C=a[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0}},A={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\"\",this.conditionStack=[\"INITIAL\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\\r\\n?|\\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\\r\\n?|\\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\\r\\n?|\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?\"...\":\"\")+e.substr(-20).replace(/\\n/g,\"\")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?\"...\":\"\")).replace(/\\n/g,\"\")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join(\"-\");return e+this.upcomingInput()+\"\\n\"+t+\"^\"},test_match:function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=e[0].match(/(?:\\r\\n?|\\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\\r?\\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var o in i)this[o]=i[o];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,r;this._input||(this.done=!0),this._more||(this.yytext=\"\",this.match=\"\");for(var i=this._currentRules(),o=0;o<i.length;o++)if((n=this._input.match(this.rules[i[o]]))&&(!t||n[0].length>t[0].length)){if(t=n,r=o,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,i[o])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,i[r]))&&e:\"\"===this._input?this.EOF:this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". Unrecognized text.\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:\"INITIAL\"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,n,r){switch(n){case 0:return this.begin(\"open_directive\"),13;case 1:return this.begin(\"type_directive\"),14;case 2:return this.popState(),this.begin(\"arg_directive\"),11;case 3:return this.popState(),this.popState(),16;case 4:return 15;case 5:case 6:case 8:case 15:break;case 7:return 10;case 9:case 10:return 17;case 11:return this.begin(\"struct\"),33;case 12:return\"EOF_IN_STRUCT\";case 13:return\"OPEN_IN_STRUCT\";case 14:return this.popState(),35;case 16:return\"MEMBER\";case 17:return 31;case 18:return 52;case 19:return 50;case 20:return 51;case 21:return 36;case 22:return 37;case 23:this.begin(\"generic\");break;case 24:case 27:this.popState();break;case 25:return\"GENERICTYPE\";case 26:this.begin(\"string\");break;case 28:return\"STR\";case 29:case 30:return 45;case 31:case 32:return 47;case 33:return 46;case 34:return 44;case 35:return 48;case 36:return 49;case 37:return 25;case 38:return 32;case 39:return 64;case 40:return\"DOT\";case 41:return\"PLUS\";case 42:return 61;case 43:case 44:return\"EQUALS\";case 45:return 68;case 46:return\"PUNCTUATION\";case 47:return 67;case 48:return 66;case 49:return 63;case 50:return 19}},rules:[/^(?:%%\\{)/,/^(?:((?:(?!\\}%%)[^:.])*))/,/^(?::)/,/^(?:\\}%%)/,/^(?:((?:(?!\\}%%).|\\n)*))/,/^(?:%%(?!\\{)*[^\\n]*(\\r?\\n?)+)/,/^(?:%%[^\\n]*(\\r?\\n)*)/,/^(?:(\\r?\\n)+)/,/^(?:\\s+)/,/^(?:classDiagram-v2\\b)/,/^(?:classDiagram\\b)/,/^(?:[{])/,/^(?:$)/,/^(?:[{])/,/^(?:[}])/,/^(?:[\\n])/,/^(?:[^{}\\n]*)/,/^(?:class\\b)/,/^(?:cssClass\\b)/,/^(?:callback\\b)/,/^(?:link\\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:[~])/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:[\"])/,/^(?:[\"])/,/^(?:[^\"]*)/,/^(?:\\s*<\\|)/,/^(?:\\s*\\|>)/,/^(?:\\s*>)/,/^(?:\\s*<)/,/^(?:\\s*\\*)/,/^(?:\\s*o\\b)/,/^(?:--)/,/^(?:\\.\\.)/,/^(?::{1}[^:\\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\\.)/,/^(?:\\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\\w+)/,/^(?:[!\"#$%&'*+,-.`?\\\\/])/,/^(?:[0-9]+)/,/^(?:[\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6]|[\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377]|[\\u037A-\\u037D\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5]|[\\u03F7-\\u0481\\u048A-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA]|[\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE]|[\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA]|[\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0]|[\\u08A2-\\u08AC\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0977]|[\\u0979-\\u097F\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2]|[\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A]|[\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39]|[\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8]|[\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C]|[\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C]|[\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99]|[\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0]|[\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C33\\u0C35-\\u0C39\\u0C3D]|[\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3]|[\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10]|[\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1]|[\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81]|[\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3]|[\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6]|[\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A]|[\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081]|[\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D]|[\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0]|[\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310]|[\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C]|[\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u1700-\\u170C\\u170E-\\u1711]|[\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7]|[\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191C]|[\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16]|[\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF]|[\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC]|[\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D]|[\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D]|[\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3]|[\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F]|[\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128]|[\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184]|[\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3]|[\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6]|[\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE]|[\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C]|[\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D]|[\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC]|[\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B]|[\\uA640-\\uA66E\\uA67F-\\uA697\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788]|[\\uA78B-\\uA78E\\uA790-\\uA793\\uA7A0-\\uA7AA\\uA7F8-\\uA801\\uA803-\\uA805]|[\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB]|[\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uAA00-\\uAA28]|[\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA80-\\uAAAF\\uAAB1\\uAAB5]|[\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4]|[\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E]|[\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D]|[\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36]|[\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D]|[\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC]|[\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF]|[\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC])/,/^(?:\\s)/,/^(?:$)/],conditions:{string:{rules:[27,28],inclusive:!1},generic:{rules:[24,25],inclusive:!1},struct:{rules:[12,13,14,15,16],inclusive:!1},open_directive:{rules:[1],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,11,17,18,19,20,21,22,23,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50],inclusive:!0}}};function M(){this.yy={}}return j.lexer=A,M.prototype=j,j.Parser=M,new M}();t.parser=i,t.Parser=i.Parser,t.parse=function(){return i.parse.apply(i,arguments)},t.main=function(r){r[1]||(console.log(\"Usage: \"+r[0]+\" FILE\"),e.exit(1));var i=n(\"./node_modules/node-libs-browser/mock/empty.js\").readFileSync(n(\"./node_modules/path-browserify/index.js\").normalize(r[1]),\"utf8\");return t.parser.parse(i)},n.c[n.s]===r&&t.main(e.argv.slice(1))}).call(this,n(\"./node_modules/process/browser.js\"),n(\"./node_modules/webpack/buildin/module.js\")(e))},\"./src/diagrams/class/styles.js\":function(e,t,n){\"use strict\";n.r(t),t.default=function(e){return\"g.classGroup text {\\n  fill: \".concat(e.nodeBorder,\";\\n  fill: \").concat(e.classText,\";\\n  stroke: none;\\n  font-family: \").concat(e.fontFamily,\";\\n  font-size: 10px;\\n\\n  .title {\\n    font-weight: bolder;\\n  }\\n\\n}\\n\\n.classTitle {\\n  font-weight: bolder;\\n}\\n.node rect,\\n  .node circle,\\n  .node ellipse,\\n  .node polygon,\\n  .node path {\\n    fill: \").concat(e.mainBkg,\";\\n    stroke: \").concat(e.nodeBorder,\";\\n    stroke-width: 1px;\\n  }\\n\\n\\n.divider {\\n  stroke: \").concat(e.nodeBorder,\";\\n  stroke: 1;\\n}\\n\\ng.clickable {\\n  cursor: pointer;\\n}\\n\\ng.classGroup rect {\\n  fill: \").concat(e.mainBkg,\";\\n  stroke: \").concat(e.nodeBorder,\";\\n}\\n\\ng.classGroup line {\\n  stroke: \").concat(e.nodeBorder,\";\\n  stroke-width: 1;\\n}\\n\\n.classLabel .box {\\n  stroke: none;\\n  stroke-width: 0;\\n  fill: \").concat(e.mainBkg,\";\\n  opacity: 0.5;\\n}\\n\\n.classLabel .label {\\n  fill: \").concat(e.nodeBorder,\";\\n  font-size: 10px;\\n}\\n\\n.relation {\\n  stroke: \").concat(e.lineColor,\";\\n  stroke-width: 1;\\n  fill: none;\\n}\\n\\n.dashed-line{\\n  stroke-dasharray: 3;\\n}\\n\\n#compositionStart, .composition {\\n  fill: \").concat(e.lineColor,\" !important;\\n  stroke: \").concat(e.lineColor,\" !important;\\n  stroke-width: 1;\\n}\\n\\n#compositionEnd, .composition {\\n  fill: \").concat(e.lineColor,\" !important;\\n  stroke: \").concat(e.lineColor,\" !important;\\n  stroke-width: 1;\\n}\\n\\n#dependencyStart, .dependency {\\n  fill: \").concat(e.lineColor,\" !important;\\n  stroke: \").concat(e.lineColor,\" !important;\\n  stroke-width: 1;\\n}\\n\\n#dependencyStart, .dependency {\\n  fill: \").concat(e.lineColor,\" !important;\\n  stroke: \").concat(e.lineColor,\" !important;\\n  stroke-width: 1;\\n}\\n\\n#extensionStart, .extension {\\n  fill: \").concat(e.lineColor,\" !important;\\n  stroke: \").concat(e.lineColor,\" !important;\\n  stroke-width: 1;\\n}\\n\\n#extensionEnd, .extension {\\n  fill: \").concat(e.lineColor,\" !important;\\n  stroke: \").concat(e.lineColor,\" !important;\\n  stroke-width: 1;\\n}\\n\\n#aggregationStart, .aggregation {\\n  fill: \").concat(e.mainBkg,\" !important;\\n  stroke: \").concat(e.lineColor,\" !important;\\n  stroke-width: 1;\\n}\\n\\n#aggregationEnd, .aggregation {\\n  fill: \").concat(e.mainBkg,\" !important;\\n  stroke: \").concat(e.lineColor,\" !important;\\n  stroke-width: 1;\\n}\\n\\n.edgeTerminals {\\n  font-size: 11px;\\n}\\n\\n\")}},\"./src/diagrams/class/svgDraw.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"drawEdge\",(function(){return c})),n.d(t,\"drawClass\",(function(){return u})),n.d(t,\"parseMember\",(function(){return l}));var r=n(\"d3\"),i=n(\"./src/diagrams/class/classDb.js\"),o=n(\"./src/utils.js\"),a=n(\"./src/logger.js\"),s=0,c=function(e,t,n,c){var u=function(e){switch(e){case i.relationType.AGGREGATION:return\"aggregation\";case i.relationType.EXTENSION:return\"extension\";case i.relationType.COMPOSITION:return\"composition\";case i.relationType.DEPENDENCY:return\"dependency\"}};t.points=t.points.filter((function(e){return!Number.isNaN(e.y)}));var l,f,d=t.points,h=Object(r.line)().x((function(e){return e.x})).y((function(e){return e.y})).curve(r.curveBasis),p=e.append(\"path\").attr(\"d\",h(d)).attr(\"id\",\"edge\"+s).attr(\"class\",\"relation\"),g=\"\";c.arrowMarkerAbsolute&&(g=(g=(g=window.location.protocol+\"//\"+window.location.host+window.location.pathname+window.location.search).replace(/\\(/g,\"\\\\(\")).replace(/\\)/g,\"\\\\)\")),1==n.relation.lineType&&p.attr(\"class\",\"relation dashed-line\"),\"none\"!==n.relation.type1&&p.attr(\"marker-start\",\"url(\"+g+\"#\"+u(n.relation.type1)+\"Start)\"),\"none\"!==n.relation.type2&&p.attr(\"marker-end\",\"url(\"+g+\"#\"+u(n.relation.type2)+\"End)\");var y,m,b,v,x=t.points.length,w=o.default.calcLabelPosition(t.points);if(l=w.x,f=w.y,x%2!==0&&x>1){var _=o.default.calcCardinalityPosition(\"none\"!==n.relation.type1,t.points,t.points[0]),k=o.default.calcCardinalityPosition(\"none\"!==n.relation.type2,t.points,t.points[x-1]);a.logger.debug(\"cardinality_1_point \"+JSON.stringify(_)),a.logger.debug(\"cardinality_2_point \"+JSON.stringify(k)),y=_.x,m=_.y,b=k.x,v=k.y}if(\"undefined\"!==typeof n.title){var O=e.append(\"g\").attr(\"class\",\"classLabel\"),E=O.append(\"text\").attr(\"class\",\"label\").attr(\"x\",l).attr(\"y\",f).attr(\"fill\",\"red\").attr(\"text-anchor\",\"middle\").text(n.title);window.label=E;var S=E.node().getBBox();O.insert(\"rect\",\":first-child\").attr(\"class\",\"box\").attr(\"x\",S.x-c.padding/2).attr(\"y\",S.y-c.padding/2).attr(\"width\",S.width+c.padding).attr(\"height\",S.height+c.padding)}a.logger.info(\"Rendering relation \"+JSON.stringify(n)),\"undefined\"!==typeof n.relationTitle1&&\"none\"!==n.relationTitle1&&e.append(\"g\").attr(\"class\",\"cardinality\").append(\"text\").attr(\"class\",\"type1\").attr(\"x\",y).attr(\"y\",m).attr(\"fill\",\"black\").attr(\"font-size\",\"6\").text(n.relationTitle1),\"undefined\"!==typeof n.relationTitle2&&\"none\"!==n.relationTitle2&&e.append(\"g\").attr(\"class\",\"cardinality\").append(\"text\").attr(\"class\",\"type2\").attr(\"x\",b).attr(\"y\",v).attr(\"fill\",\"black\").attr(\"font-size\",\"6\").text(n.relationTitle2),s++},u=function(e,t,n){a.logger.info(\"Rendering class \"+t);var r,o=t.id,s={id:o,label:t.id,width:0,height:0},c=e.append(\"g\").attr(\"id\",Object(i.lookUpDomId)(o)).attr(\"class\",\"classGroup\");r=t.link?c.append(\"svg:a\").attr(\"xlink:href\",t.link).attr(\"target\",\"_blank\").append(\"text\").attr(\"y\",n.textHeight+n.padding).attr(\"x\",0):c.append(\"text\").attr(\"y\",n.textHeight+n.padding).attr(\"x\",0);var u=!0;t.annotations.forEach((function(e){var t=r.append(\"tspan\").text(\"\\xab\"+e+\"\\xbb\");u||t.attr(\"dy\",n.textHeight),u=!1}));var l=t.id;void 0!==t.type&&\"\"!==t.type&&(l+=\"<\"+t.type+\">\");var f=r.append(\"tspan\").text(l).attr(\"class\",\"title\");u||f.attr(\"dy\",n.textHeight);var d=r.node().getBBox().height,h=c.append(\"line\").attr(\"x1\",0).attr(\"y1\",n.padding+d+n.dividerMargin/2).attr(\"y2\",n.padding+d+n.dividerMargin/2),g=c.append(\"text\").attr(\"x\",n.padding).attr(\"y\",d+n.dividerMargin+n.textHeight).attr(\"fill\",\"white\").attr(\"class\",\"classText\");u=!0,t.members.forEach((function(e){p(g,e,u,n),u=!1}));var y=g.node().getBBox(),m=c.append(\"line\").attr(\"x1\",0).attr(\"y1\",n.padding+d+n.dividerMargin+y.height).attr(\"y2\",n.padding+d+n.dividerMargin+y.height),b=c.append(\"text\").attr(\"x\",n.padding).attr(\"y\",d+2*n.dividerMargin+y.height+n.textHeight).attr(\"fill\",\"white\").attr(\"class\",\"classText\");u=!0,t.methods.forEach((function(e){p(b,e,u,n),u=!1}));var v=c.node().getBBox(),x=\" \";t.cssClasses.length>0&&(x+=t.cssClasses.join(\" \"));var w=c.insert(\"rect\",\":first-child\").attr(\"x\",0).attr(\"y\",0).attr(\"width\",v.width+2*n.padding).attr(\"height\",v.height+n.padding+.5*n.dividerMargin).attr(\"class\",x).node().getBBox().width;return r.node().childNodes.forEach((function(e){e.setAttribute(\"x\",(w-e.getBBox().width)/2)})),t.tooltip&&r.insert(\"title\").text(t.tooltip),h.attr(\"x2\",w),m.attr(\"x2\",w),s.width=w,s.height=v.height+n.padding+.5*n.dividerMargin,s},l=function(e){var t=e.match(/(\\+|-|~|#)?(\\w+)(~\\w+~|\\[\\])?\\s+(\\w+)/),n=e.match(/^([+|\\-|~|#])?(\\w+) *\\( *(.*)\\) *(\\*|\\$)? *(\\w*[~|[\\]]*\\s*\\w*~?)$/);return t&&!n?f(t):n?d(n):h(e)},f=function(e){var t=\"\";try{t=(e[1]?e[1].trim():\"\")+(e[2]?e[2].trim():\"\")+(e[3]?g(e[3].trim()):\"\")+\" \"+(e[4]?e[4].trim():\"\")}catch(n){t=e}return{displayText:t,cssStyle:\"\"}},d=function(e){var t=\"\",n=\"\";try{var r=e[1]?e[1].trim():\"\",i=e[2]?e[2].trim():\"\",o=e[3]?g(e[3].trim()):\"\",a=e[4]?e[4].trim():\"\";n=r+i+\"(\"+o+\")\"+(e[5]?\" : \"+g(e[5]).trim():\"\"),t=y(a)}catch(s){n=e}return{displayText:n,cssStyle:t}},h=function(e){var t=\"\",n=\"\",r=\"\",i=e.indexOf(\"(\"),o=e.indexOf(\")\");if(i>1&&o>i&&o<=e.length){var a=\"\",s=\"\",c=e.substring(0,1);c.match(/\\w/)?s=e.substring(0,i).trim():(c.match(/\\+|-|~|#/)&&(a=c),s=e.substring(1,i).trim());var u=e.substring(i+1,o),l=e.substring(o+1,1);n=y(l),t=a+s+\"(\"+g(u.trim())+\")\",o<\"\".length&&\"\"!==(r=e.substring(o+2).trim())&&(r=\" : \"+g(r))}else t=g(e);return{displayText:t,cssStyle:n}},p=function(e,t,n,r){var i=l(t),o=e.append(\"tspan\").attr(\"x\",r.padding).text(i.displayText);\"\"!==i.cssStyle&&o.attr(\"style\",i.cssStyle),n||o.attr(\"dy\",r.textHeight)},g=function e(t){var n=t;return-1!=t.indexOf(\"~\")?e(n=(n=n.replace(\"~\",\"<\")).replace(\"~\",\">\")):n},y=function(e){switch(e){case\"*\":return\"font-style:italic;\";case\"$\":return\"text-decoration:underline;\";default:return\"\"}};t.default={drawClass:u,drawEdge:c,parseMember:l}},\"./src/diagrams/common/common.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"getRows\",(function(){return r})),n.d(t,\"removeScript\",(function(){return i})),n.d(t,\"sanitizeText\",(function(){return o})),n.d(t,\"lineBreakRegex\",(function(){return a})),n.d(t,\"hasBreaks\",(function(){return s})),n.d(t,\"splitBreaks\",(function(){return c}));var r=function(e){if(!e)return 1;var t=u(e);return(t=t.replace(/\\\\n/g,\"#br#\")).split(\"#br#\")},i=function(e){for(var t=\"\",n=0;n>=0;){if(!((n=e.indexOf(\"<script\"))>=0)){t+=e,n=-1;break}t+=e.substr(0,n),(n=(e=e.substr(n+1)).indexOf(\"<\\/script>\"))>=0&&(n+=9,e=e.substr(n))}return t},o=function(e,t){var n=e,r=!0;if(!t.flowchart||!1!==t.flowchart.htmlLabels&&\"false\"!==t.flowchart.htmlLabels||(r=!1),r){var o=t.securityLevel;\"antiscript\"===o?n=i(n):\"loose\"!==o&&(n=(n=(n=u(n)).replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\")).replace(/=/g,\"&equals;\"),n=l(n))}return n},a=/<br\\s*\\/?>/gi,s=function(e){return/<br\\s*[/]?>/gi.test(e)},c=function(e){return e.split(/<br\\s*[/]?>/gi)},u=function(e){return e.replace(a,\"#br#\")},l=function(e){return e.replace(/#br#/g,\"<br/>\")};t.default={getRows:r,sanitizeText:o,hasBreaks:s,splitBreaks:c,lineBreakRegex:a,removeScript:i}},\"./src/diagrams/er/erDb.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"parseDirective\",(function(){return u}));var r=n(\"./src/logger.js\"),i=n(\"./src/mermaidAPI.js\"),o=n(\"./src/config.js\"),a={},s=[],c=\"\",u=function(e,t,n){i.default.parseDirective(this,e,t,n)};t.default={Cardinality:{ZERO_OR_ONE:\"ZERO_OR_ONE\",ZERO_OR_MORE:\"ZERO_OR_MORE\",ONE_OR_MORE:\"ONE_OR_MORE\",ONLY_ONE:\"ONLY_ONE\"},Identification:{NON_IDENTIFYING:\"NON_IDENTIFYING\",IDENTIFYING:\"IDENTIFYING\"},parseDirective:u,getConfig:function(){return o.getConfig().er},addEntity:function(e){\"undefined\"===typeof a[e]&&(a[e]=e,r.logger.debug(\"Added new entity :\",e))},getEntities:function(){return a},addRelationship:function(e,t,n,i){var o={entityA:e,roleA:t,entityB:n,relSpec:i};s.push(o),r.logger.debug(\"Added new relationship :\",o)},getRelationships:function(){return s},clear:function(){a={},s=[],c=\"\"},setTitle:function(e){c=e},getTitle:function(){return c}}},\"./src/diagrams/er/erMarkers.js\":function(e,t,n){\"use strict\";n.r(t);var r={ONLY_ONE_START:\"ONLY_ONE_START\",ONLY_ONE_END:\"ONLY_ONE_END\",ZERO_OR_ONE_START:\"ZERO_OR_ONE_START\",ZERO_OR_ONE_END:\"ZERO_OR_ONE_END\",ONE_OR_MORE_START:\"ONE_OR_MORE_START\",ONE_OR_MORE_END:\"ONE_OR_MORE_END\",ZERO_OR_MORE_START:\"ZERO_OR_MORE_START\",ZERO_OR_MORE_END:\"ZERO_OR_MORE_END\"};t.default={ERMarkers:r,insertMarkers:function(e,t){var n;e.append(\"defs\").append(\"marker\").attr(\"id\",r.ONLY_ONE_START).attr(\"refX\",0).attr(\"refY\",9).attr(\"markerWidth\",18).attr(\"markerHeight\",18).attr(\"orient\",\"auto\").append(\"path\").attr(\"stroke\",t.stroke).attr(\"fill\",\"none\").attr(\"d\",\"M9,0 L9,18 M15,0 L15,18\"),e.append(\"defs\").append(\"marker\").attr(\"id\",r.ONLY_ONE_END).attr(\"refX\",18).attr(\"refY\",9).attr(\"markerWidth\",18).attr(\"markerHeight\",18).attr(\"orient\",\"auto\").append(\"path\").attr(\"stroke\",t.stroke).attr(\"fill\",\"none\").attr(\"d\",\"M3,0 L3,18 M9,0 L9,18\"),(n=e.append(\"defs\").append(\"marker\").attr(\"id\",r.ZERO_OR_ONE_START).attr(\"refX\",0).attr(\"refY\",9).attr(\"markerWidth\",30).attr(\"markerHeight\",18).attr(\"orient\",\"auto\")).append(\"circle\").attr(\"stroke\",t.stroke).attr(\"fill\",\"white\").attr(\"cx\",21).attr(\"cy\",9).attr(\"r\",6),n.append(\"path\").attr(\"stroke\",t.stroke).attr(\"fill\",\"none\").attr(\"d\",\"M9,0 L9,18\"),(n=e.append(\"defs\").append(\"marker\").attr(\"id\",r.ZERO_OR_ONE_END).attr(\"refX\",30).attr(\"refY\",9).attr(\"markerWidth\",30).attr(\"markerHeight\",18).attr(\"orient\",\"auto\")).append(\"circle\").attr(\"stroke\",t.stroke).attr(\"fill\",\"white\").attr(\"cx\",9).attr(\"cy\",9).attr(\"r\",6),n.append(\"path\").attr(\"stroke\",t.stroke).attr(\"fill\",\"none\").attr(\"d\",\"M21,0 L21,18\"),e.append(\"defs\").append(\"marker\").attr(\"id\",r.ONE_OR_MORE_START).attr(\"refX\",18).attr(\"refY\",18).attr(\"markerWidth\",45).attr(\"markerHeight\",36).attr(\"orient\",\"auto\").append(\"path\").attr(\"stroke\",t.stroke).attr(\"fill\",\"none\").attr(\"d\",\"M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27\"),e.append(\"defs\").append(\"marker\").attr(\"id\",r.ONE_OR_MORE_END).attr(\"refX\",27).attr(\"refY\",18).attr(\"markerWidth\",45).attr(\"markerHeight\",36).attr(\"orient\",\"auto\").append(\"path\").attr(\"stroke\",t.stroke).attr(\"fill\",\"none\").attr(\"d\",\"M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18\"),(n=e.append(\"defs\").append(\"marker\").attr(\"id\",r.ZERO_OR_MORE_START).attr(\"refX\",18).attr(\"refY\",18).attr(\"markerWidth\",57).attr(\"markerHeight\",36).attr(\"orient\",\"auto\")).append(\"circle\").attr(\"stroke\",t.stroke).attr(\"fill\",\"white\").attr(\"cx\",48).attr(\"cy\",18).attr(\"r\",6),n.append(\"path\").attr(\"stroke\",t.stroke).attr(\"fill\",\"none\").attr(\"d\",\"M0,18 Q18,0 36,18 Q18,36 0,18\"),(n=e.append(\"defs\").append(\"marker\").attr(\"id\",r.ZERO_OR_MORE_END).attr(\"refX\",39).attr(\"refY\",18).attr(\"markerWidth\",57).attr(\"markerHeight\",36).attr(\"orient\",\"auto\")).append(\"circle\").attr(\"stroke\",t.stroke).attr(\"fill\",\"white\").attr(\"cx\",9).attr(\"cy\",18).attr(\"r\",6),n.append(\"path\").attr(\"stroke\",t.stroke).attr(\"fill\",\"none\").attr(\"d\",\"M21,18 Q39,0 57,18 Q39,36 21,18\")}}},\"./src/diagrams/er/erRenderer.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"setConf\",(function(){return y})),n.d(t,\"draw\",(function(){return v}));var r=n(\"graphlib\"),i=n.n(r),o=n(\"d3\"),a=n(\"./src/diagrams/er/erDb.js\"),s=n(\"./src/diagrams/er/parser/erDiagram.jison\"),c=n.n(s),u=n(\"dagre\"),l=n.n(u),f=n(\"./src/config.js\"),d=n(\"./src/logger.js\"),h=n(\"./src/diagrams/er/erMarkers.js\"),p=n(\"./src/utils.js\"),g={},y=function(e){for(var t=Object.keys(e),n=0;n<t.length;n++)g[t[n]]=e[t[n]]},m=function(e){return(e.entityA+e.roleA+e.entityB).replace(/\\s/g,\"\")},b=0,v=function(e,t){d.logger.info(\"Drawing ER diagram\"),a.default.clear();var n=c.a.parser;n.yy=a.default;try{n.parse(e)}catch(E){d.logger.debug(\"Parsing failed\")}var r,s=Object(o.select)(\"[id='\".concat(t,\"']\"));h.default.insertMarkers(s,g),r=new i.a.Graph({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:g.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel((function(){return{}}));var u,y,v=function(e,t,n){var r;return Object.keys(t).forEach((function(t){var i=e.append(\"g\").attr(\"id\",t);r=void 0===r?t:r;var o=\"entity-\"+t,a=i.append(\"text\").attr(\"class\",\"er entityLabel\").attr(\"id\",o).attr(\"x\",0).attr(\"y\",0).attr(\"dominant-baseline\",\"middle\").attr(\"text-anchor\",\"middle\").attr(\"style\",\"font-family: \"+Object(f.getConfig)().fontFamily+\"; font-size: \"+g.fontSize+\"px\").text(t),s=a.node().getBBox(),c=Math.max(g.minEntityWidth,s.width+2*g.entityPadding),u=Math.max(g.minEntityHeight,s.height+2*g.entityPadding);a.attr(\"transform\",\"translate(\"+c/2+\",\"+u/2+\")\");var l=i.insert(\"rect\",\"#\"+o).attr(\"class\",\"er entityBox\").attr(\"fill\",g.fill).attr(\"fill-opacity\",\"100%\").attr(\"stroke\",g.stroke).attr(\"x\",0).attr(\"y\",0).attr(\"width\",c).attr(\"height\",u).node().getBBox();n.setNode(t,{width:l.width,height:l.height,shape:\"rect\",id:t})})),r}(s,a.default.getEntities(),r),x=function(e,t){return e.forEach((function(e){t.setEdge(e.entityA,e.entityB,{relationship:e},m(e))})),e}(a.default.getRelationships(),r);l.a.layout(r),u=s,(y=r).nodes().forEach((function(e){\"undefined\"!==typeof e&&\"undefined\"!==typeof y.node(e)&&u.select(\"#\"+e).attr(\"transform\",\"translate(\"+(y.node(e).x-y.node(e).width/2)+\",\"+(y.node(e).y-y.node(e).height/2)+\" )\")})),x.forEach((function(e){!function(e,t,n,r){b++;var i=n.edge(t.entityA,t.entityB,m(t)),s=Object(o.line)().x((function(e){return e.x})).y((function(e){return e.y})).curve(o.curveBasis),c=e.insert(\"path\",\"#\"+r).attr(\"class\",\"er relationshipLine\").attr(\"d\",s(i.points)).attr(\"stroke\",g.stroke).attr(\"fill\",\"none\");t.relSpec.relType===a.default.Identification.NON_IDENTIFYING&&c.attr(\"stroke-dasharray\",\"8,8\");var u=\"\";switch(g.arrowMarkerAbsolute&&(u=(u=(u=window.location.protocol+\"//\"+window.location.host+window.location.pathname+window.location.search).replace(/\\(/g,\"\\\\(\")).replace(/\\)/g,\"\\\\)\")),t.relSpec.cardA){case a.default.Cardinality.ZERO_OR_ONE:c.attr(\"marker-end\",\"url(\"+u+\"#\"+h.default.ERMarkers.ZERO_OR_ONE_END+\")\");break;case a.default.Cardinality.ZERO_OR_MORE:c.attr(\"marker-end\",\"url(\"+u+\"#\"+h.default.ERMarkers.ZERO_OR_MORE_END+\")\");break;case a.default.Cardinality.ONE_OR_MORE:c.attr(\"marker-end\",\"url(\"+u+\"#\"+h.default.ERMarkers.ONE_OR_MORE_END+\")\");break;case a.default.Cardinality.ONLY_ONE:c.attr(\"marker-end\",\"url(\"+u+\"#\"+h.default.ERMarkers.ONLY_ONE_END+\")\")}switch(t.relSpec.cardB){case a.default.Cardinality.ZERO_OR_ONE:c.attr(\"marker-start\",\"url(\"+u+\"#\"+h.default.ERMarkers.ZERO_OR_ONE_START+\")\");break;case a.default.Cardinality.ZERO_OR_MORE:c.attr(\"marker-start\",\"url(\"+u+\"#\"+h.default.ERMarkers.ZERO_OR_MORE_START+\")\");break;case a.default.Cardinality.ONE_OR_MORE:c.attr(\"marker-start\",\"url(\"+u+\"#\"+h.default.ERMarkers.ONE_OR_MORE_START+\")\");break;case a.default.Cardinality.ONLY_ONE:c.attr(\"marker-start\",\"url(\"+u+\"#\"+h.default.ERMarkers.ONLY_ONE_START+\")\")}var l=c.node().getTotalLength(),d=c.node().getPointAtLength(.5*l),p=\"rel\"+b,y=e.append(\"text\").attr(\"class\",\"er relationshipLabel\").attr(\"id\",p).attr(\"x\",d.x).attr(\"y\",d.y).attr(\"text-anchor\",\"middle\").attr(\"dominant-baseline\",\"middle\").attr(\"style\",\"font-family: \"+Object(f.getConfig)().fontFamily+\"; font-size: \"+g.fontSize+\"px\").text(t.roleA).node().getBBox();e.insert(\"rect\",\"#\"+p).attr(\"class\",\"er relationshipLabelBox\").attr(\"x\",d.x-y.width/2).attr(\"y\",d.y-y.height/2).attr(\"width\",y.width).attr(\"height\",y.height).attr(\"fill\",\"white\").attr(\"fill-opacity\",\"85%\")}(s,e,r,v)}));var w=g.diagramPadding,_=s.node().getBBox(),k=_.width+2*w,O=_.height+2*w;Object(p.configureSvgSize)(s,O,k,g.useMaxWidth),s.attr(\"viewBox\",\"\".concat(_.x-w,\" \").concat(_.y-w,\" \").concat(k,\" \").concat(O))};t.default={setConf:y,draw:v}},\"./src/diagrams/er/parser/erDiagram.jison\":function(e,t,n){(function(e,r){var i=function(){var e=function(e,t,n,r){for(n=n||{},r=e.length;r--;n[e[r]]=t);return n},t=[1,2],n=[1,5],r=[6,9,11,20,30],i=[1,17],o=[1,20],a=[1,24],s=[1,25],c=[1,26],u=[1,27],l=[20,27,28],f=[4,6,9,11,20,30],d=[23,24,25,26],h={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,\":\":15,argDirective:16,entityName:17,relSpec:18,role:19,ALPHANUM:20,cardinality:21,relType:22,ZERO_OR_ONE:23,ZERO_OR_MORE:24,ONE_OR_MORE:25,ONLY_ONE:26,NON_IDENTIFYING:27,IDENTIFYING:28,WORD:29,open_directive:30,type_directive:31,arg_directive:32,close_directive:33,$accept:0,$end:1},terminals_:{2:\"error\",4:\"ER_DIAGRAM\",6:\"EOF\",9:\"SPACE\",11:\"NEWLINE\",15:\":\",20:\"ALPHANUM\",23:\"ZERO_OR_ONE\",24:\"ZERO_OR_MORE\",25:\"ONE_OR_MORE\",26:\"ONLY_ONE\",27:\"NON_IDENTIFYING\",28:\"IDENTIFYING\",29:\"WORD\",30:\"open_directive\",31:\"type_directive\",32:\"arg_directive\",33:\"close_directive\"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,5],[17,1],[18,3],[21,1],[21,1],[21,1],[21,1],[22,1],[22,1],[19,1],[19,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(e,t,n,r,i,o,a){var s=o.length-1;switch(i){case 1:break;case 3:case 7:case 8:this.$=[];break;case 4:o[s-1].push(o[s]),this.$=o[s-1];break;case 5:case 6:case 13:case 22:this.$=o[s];break;case 12:r.addEntity(o[s-4]),r.addEntity(o[s-2]),r.addRelationship(o[s-4],o[s],o[s-2],o[s-3]);break;case 14:this.$={cardA:o[s],relType:o[s-1],cardB:o[s-2]};break;case 15:this.$=r.Cardinality.ZERO_OR_ONE;break;case 16:this.$=r.Cardinality.ZERO_OR_MORE;break;case 17:this.$=r.Cardinality.ONE_OR_MORE;break;case 18:this.$=r.Cardinality.ONLY_ONE;break;case 19:this.$=r.Identification.NON_IDENTIFYING;break;case 20:this.$=r.Identification.IDENTIFYING;break;case 21:this.$=o[s].replace(/\"/g,\"\");break;case 23:r.parseDirective(\"%%{\",\"open_directive\");break;case 24:r.parseDirective(o[s],\"type_directive\");break;case 25:o[s]=o[s].trim().replace(/'/g,'\"'),r.parseDirective(o[s],\"arg_directive\");break;case 26:r.parseDirective(\"}%%\",\"close_directive\",\"er\")}},table:[{3:1,4:t,7:3,12:4,30:n},{1:[3]},e(r,[2,3],{5:6}),{3:7,4:t,7:3,12:4,30:n},{13:8,31:[1,9]},{31:[2,23]},{6:[1,10],7:15,8:11,9:[1,12],10:13,11:[1,14],12:4,17:16,20:i,30:n},{1:[2,2]},{14:18,15:[1,19],33:o},e([15,33],[2,24]),e(r,[2,8],{1:[2,1]}),e(r,[2,4]),{7:15,10:21,12:4,17:16,20:i,30:n},e(r,[2,6]),e(r,[2,7]),e(r,[2,11]),{18:22,21:23,23:a,24:s,25:c,26:u},e([15,23,24,25,26],[2,13]),{11:[1,28]},{16:29,32:[1,30]},{11:[2,26]},e(r,[2,5]),{17:31,20:i},{22:32,27:[1,33],28:[1,34]},e(l,[2,15]),e(l,[2,16]),e(l,[2,17]),e(l,[2,18]),e(f,[2,9]),{14:35,33:o},{33:[2,25]},{15:[1,36]},{21:37,23:a,24:s,25:c,26:u},e(d,[2,19]),e(d,[2,20]),{11:[1,38]},{19:39,20:[1,41],29:[1,40]},{20:[2,14]},e(f,[2,10]),e(r,[2,12]),e(r,[2,21]),e(r,[2,22])],defaultActions:{5:[2,23],7:[2,2],20:[2,26],30:[2,25],37:[2,14]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],r=[],i=[null],o=[],a=this.table,s=\"\",c=0,u=0,l=0,f=2,d=1,h=o.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(e,g.yy),g.yy.lexer=p,g.yy.parser=this,\"undefined\"==typeof p.yylloc&&(p.yylloc={});var m=p.yylloc;o.push(m);var b=p.options&&p.options.ranges;function v(){var e;return\"number\"!==typeof(e=r.pop()||p.lex()||d)&&(e instanceof Array&&(e=(r=e).pop()),e=t.symbols_[e]||e),e}\"function\"===typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,w,_,k,O,E,S,C,T,j={};;){if(_=n[n.length-1],this.defaultActions[_]?k=this.defaultActions[_]:(null!==x&&\"undefined\"!=typeof x||(x=v()),k=a[_]&&a[_][x]),\"undefined\"===typeof k||!k.length||!k[0]){var A=\"\";for(E in T=[],a[_])this.terminals_[E]&&E>f&&T.push(\"'\"+this.terminals_[E]+\"'\");A=p.showPosition?\"Parse error on line \"+(c+1)+\":\\n\"+p.showPosition()+\"\\nExpecting \"+T.join(\", \")+\", got '\"+(this.terminals_[x]||x)+\"'\":\"Parse error on line \"+(c+1)+\": Unexpected \"+(x==d?\"end of input\":\"'\"+(this.terminals_[x]||x)+\"'\"),this.parseError(A,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:T})}if(k[0]instanceof Array&&k.length>1)throw new Error(\"Parse Error: multiple actions possible at state: \"+_+\", token: \"+x);switch(k[0]){case 1:n.push(x),i.push(p.yytext),o.push(p.yylloc),n.push(k[1]),x=null,w?(x=w,w=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,m=p.yylloc,l>0&&l--);break;case 2:if(S=this.productions_[k[1]][1],j.$=i[i.length-S],j._$={first_line:o[o.length-(S||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(S||1)].first_column,last_column:o[o.length-1].last_column},b&&(j._$.range=[o[o.length-(S||1)].range[0],o[o.length-1].range[1]]),\"undefined\"!==typeof(O=this.performAction.apply(j,[s,u,c,g.yy,k[1],i,o].concat(h))))return O;S&&(n=n.slice(0,-1*S*2),i=i.slice(0,-1*S),o=o.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),i.push(j.$),o.push(j._$),C=a[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0}},p={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\"\",this.conditionStack=[\"INITIAL\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\\r\\n?|\\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\\r\\n?|\\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\\r\\n?|\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?\"...\":\"\")+e.substr(-20).replace(/\\n/g,\"\")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?\"...\":\"\")).replace(/\\n/g,\"\")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join(\"-\");return e+this.upcomingInput()+\"\\n\"+t+\"^\"},test_match:function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=e[0].match(/(?:\\r\\n?|\\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\\r?\\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var o in i)this[o]=i[o];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,r;this._input||(this.done=!0),this._more||(this.yytext=\"\",this.match=\"\");for(var i=this._currentRules(),o=0;o<i.length;o++)if((n=this._input.match(this.rules[i[o]]))&&(!t||n[0].length>t[0].length)){if(t=n,r=o,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,i[o])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,i[r]))&&e:\"\"===this._input?this.EOF:this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". Unrecognized text.\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:\"INITIAL\"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{\"case-insensitive\":!0},performAction:function(e,t,n,r){switch(n){case 0:return this.begin(\"open_directive\"),30;case 1:return this.begin(\"type_directive\"),31;case 2:return this.popState(),this.begin(\"arg_directive\"),15;case 3:return this.popState(),this.popState(),33;case 4:return 32;case 5:case 6:case 8:break;case 7:return 11;case 9:return 9;case 10:return 29;case 11:return 4;case 12:case 16:return 23;case 13:case 17:return 24;case 14:case 18:return 25;case 15:return 26;case 19:case 21:case 22:return 27;case 20:return 28;case 23:return 20;case 24:return t.yytext[0];case 25:return 6}},rules:[/^(?:%%\\{)/i,/^(?:((?:(?!\\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\\}%%)/i,/^(?:((?:(?!\\}%%).|\\n)*))/i,/^(?:%(?!\\{)[^\\n]*)/i,/^(?:[^\\}]%%[^\\n]*)/i,/^(?:[\\n]+)/i,/^(?:\\s+)/i,/^(?:[\\s]+)/i,/^(?:\"[^\"]*\")/i,/^(?:erDiagram\\b)/i,/^(?:\\|o\\b)/i,/^(?:\\}o\\b)/i,/^(?:\\}\\|)/i,/^(?:\\|\\|)/i,/^(?:o\\|)/i,/^(?:o\\{)/i,/^(?:\\|\\{)/i,/^(?:\\.\\.)/i,/^(?:--)/i,/^(?:\\.-)/i,/^(?:-\\.)/i,/^(?:[A-Za-z][A-Za-z0-9\\-]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{open_directive:{rules:[1],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}};function g(){this.yy={}}return h.lexer=p,g.prototype=h,h.Parser=g,new g}();t.parser=i,t.Parser=i.Parser,t.parse=function(){return i.parse.apply(i,arguments)},t.main=function(r){r[1]||(console.log(\"Usage: \"+r[0]+\" FILE\"),e.exit(1));var i=n(\"./node_modules/node-libs-browser/mock/empty.js\").readFileSync(n(\"./node_modules/path-browserify/index.js\").normalize(r[1]),\"utf8\");return t.parser.parse(i)},n.c[n.s]===r&&t.main(e.argv.slice(1))}).call(this,n(\"./node_modules/process/browser.js\"),n(\"./node_modules/webpack/buildin/module.js\")(e))},\"./src/diagrams/er/styles.js\":function(e,t,n){\"use strict\";n.r(t),t.default=function(e){return\"\\n  .entityBox {\\n    fill: \".concat(e.mainBkg,\";\\n    stroke: \").concat(e.nodeBorder,\";\\n  }\\n\\n  .relationshipLabelBox {\\n    fill: \").concat(e.tertiaryColor,\";\\n    opacity: 0.7;\\n    background-color: \").concat(e.tertiaryColor,\";\\n      rect {\\n        opacity: 0.5;\\n      }\\n  }\\n\\n    .relationshipLine {\\n      stroke: \").concat(e.lineColor,\";\\n    }\\n\")}},\"./src/diagrams/flowchart/flowChartShapes.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"addToRender\",(function(){return y})),n.d(t,\"addToRenderV2\",(function(){return m}));var r=n(\"dagre-d3\"),i=n.n(r);function o(e,t,n){var r=.9*(t.width+t.height),o=[{x:r/2,y:0},{x:r,y:-r/2},{x:r/2,y:-r},{x:0,y:-r/2}],a=b(e,r,r,o);return n.intersect=function(e){return i.a.intersect.polygon(n,o,e)},a}function a(e,t,n){var r=t.height,o=r/4,a=t.width+2*o,s=[{x:o,y:0},{x:a-o,y:0},{x:a,y:-r/2},{x:a-o,y:-r},{x:o,y:-r},{x:0,y:-r/2}],c=b(e,a,r,s);return n.intersect=function(e){return i.a.intersect.polygon(n,s,e)},c}function s(e,t,n){var r=t.width,o=t.height,a=[{x:-o/2,y:0},{x:r,y:0},{x:r,y:-o},{x:-o/2,y:-o},{x:0,y:-o/2}],s=b(e,r,o,a);return n.intersect=function(e){return i.a.intersect.polygon(n,a,e)},s}function c(e,t,n){var r=t.width,o=t.height,a=[{x:-2*o/6,y:0},{x:r-o/6,y:0},{x:r+2*o/6,y:-o},{x:o/6,y:-o}],s=b(e,r,o,a);return n.intersect=function(e){return i.a.intersect.polygon(n,a,e)},s}function u(e,t,n){var r=t.width,o=t.height,a=[{x:2*o/6,y:0},{x:r+o/6,y:0},{x:r-2*o/6,y:-o},{x:-o/6,y:-o}],s=b(e,r,o,a);return n.intersect=function(e){return i.a.intersect.polygon(n,a,e)},s}function l(e,t,n){var r=t.width,o=t.height,a=[{x:-2*o/6,y:0},{x:r+2*o/6,y:0},{x:r-o/6,y:-o},{x:o/6,y:-o}],s=b(e,r,o,a);return n.intersect=function(e){return i.a.intersect.polygon(n,a,e)},s}function f(e,t,n){var r=t.width,o=t.height,a=[{x:o/6,y:0},{x:r-o/6,y:0},{x:r+2*o/6,y:-o},{x:-2*o/6,y:-o}],s=b(e,r,o,a);return n.intersect=function(e){return i.a.intersect.polygon(n,a,e)},s}function d(e,t,n){var r=t.width,o=t.height,a=[{x:0,y:0},{x:r+o/2,y:0},{x:r,y:-o/2},{x:r+o/2,y:-o},{x:0,y:-o}],s=b(e,r,o,a);return n.intersect=function(e){return i.a.intersect.polygon(n,a,e)},s}function h(e,t,n){var r=t.height,o=t.width+r/4,a=e.insert(\"rect\",\":first-child\").attr(\"rx\",r/2).attr(\"ry\",r/2).attr(\"x\",-o/2).attr(\"y\",-r/2).attr(\"width\",o).attr(\"height\",r);return n.intersect=function(e){return i.a.intersect.rect(n,e)},a}function p(e,t,n){var r=t.width,o=t.height,a=[{x:0,y:0},{x:r,y:0},{x:r,y:-o},{x:0,y:-o},{x:0,y:0},{x:-8,y:0},{x:r+8,y:0},{x:r+8,y:-o},{x:-8,y:-o},{x:-8,y:0}],s=b(e,r,o,a);return n.intersect=function(e){return i.a.intersect.polygon(n,a,e)},s}function g(e,t,n){var r=t.width,o=r/2,a=o/(2.5+r/50),s=t.height+a,c=\"M 0,\"+a+\" a \"+o+\",\"+a+\" 0,0,0 \"+r+\" 0 a \"+o+\",\"+a+\" 0,0,0 \"+-r+\" 0 l 0,\"+s+\" a \"+o+\",\"+a+\" 0,0,0 \"+r+\" 0 l 0,\"+-s,u=e.attr(\"label-offset-y\",a).insert(\"path\",\":first-child\").attr(\"d\",c).attr(\"transform\",\"translate(\"+-r/2+\",\"+-(s/2+a)+\")\");return n.intersect=function(e){var t=i.a.intersect.rect(n,e),r=t.x-n.x;if(0!=o&&(Math.abs(r)<n.width/2||Math.abs(r)==n.width/2&&Math.abs(t.y-n.y)>n.height/2-a)){var s=a*a*(1-r*r/(o*o));0!=s&&(s=Math.sqrt(s)),s=a-s,e.y-n.y>0&&(s=-s),t.y+=s}return t},u}function y(e){e.shapes().question=o,e.shapes().hexagon=a,e.shapes().stadium=h,e.shapes().subroutine=p,e.shapes().cylinder=g,e.shapes().rect_left_inv_arrow=s,e.shapes().lean_right=c,e.shapes().lean_left=u,e.shapes().trapezoid=l,e.shapes().inv_trapezoid=f,e.shapes().rect_right_inv_arrow=d}function m(e){e({question:o}),e({hexagon:a}),e({stadium:h}),e({subroutine:p}),e({cylinder:g}),e({rect_left_inv_arrow:s}),e({lean_right:c}),e({lean_left:u}),e({trapezoid:l}),e({inv_trapezoid:f}),e({rect_right_inv_arrow:d})}function b(e,t,n,r){return e.insert(\"polygon\",\":first-child\").attr(\"points\",r.map((function(e){return e.x+\",\"+e.y})).join(\" \")).attr(\"transform\",\"translate(\"+-t/2+\",\"+n/2+\")\")}t.default={addToRender:y,addToRenderV2:m}},\"./src/diagrams/flowchart/flowDb.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"parseDirective\",(function(){return k})),n.d(t,\"lookUpDomId\",(function(){return O})),n.d(t,\"addVertex\",(function(){return E})),n.d(t,\"addSingleLink\",(function(){return S})),n.d(t,\"addLink\",(function(){return C})),n.d(t,\"updateLinkInterpolate\",(function(){return T})),n.d(t,\"updateLink\",(function(){return j})),n.d(t,\"addClass\",(function(){return A})),n.d(t,\"setDirection\",(function(){return M})),n.d(t,\"setClass\",(function(){return P})),n.d(t,\"setLink\",(function(){return D})),n.d(t,\"getTooltip\",(function(){return R})),n.d(t,\"setClickEvent\",(function(){return I})),n.d(t,\"bindFunctions\",(function(){return L})),n.d(t,\"getDirection\",(function(){return B})),n.d(t,\"getVertices\",(function(){return F})),n.d(t,\"getEdges\",(function(){return z})),n.d(t,\"getClasses\",(function(){return U})),n.d(t,\"clear\",(function(){return W})),n.d(t,\"setGen\",(function(){return Y})),n.d(t,\"defaultStyle\",(function(){return V})),n.d(t,\"addSubGraph\",(function(){return q})),n.d(t,\"getDepthFirstPos\",(function(){return Z})),n.d(t,\"indexNodes\",(function(){return J})),n.d(t,\"getSubGraphs\",(function(){return Q})),n.d(t,\"firstGraph\",(function(){return ee}));var r=n(\"d3\"),i=n(\"./src/utils.js\"),o=n(\"./src/config.js\"),a=n(\"./src/diagrams/common/common.js\"),s=n(\"./src/mermaidAPI.js\"),c=n(\"./src/logger.js\");function u(e){return u=\"function\"===typeof Symbol&&\"symbol\"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},u(e)}var l,f,d=0,h=o.getConfig(),p={},g=[],y=[],m=[],b={},v={},x=0,w=!0,_=[],k=function(e,t,n){s.default.parseDirective(this,e,t,n)},O=function(e){for(var t=Object.keys(p),n=0;n<t.length;n++)if(p[t[n]].id===e)return p[t[n]].domId;return e},E=function(e,t,n,r,i){var s,c=e;\"undefined\"!==typeof c&&0!==c.trim().length&&(\"undefined\"===typeof p[c]&&(p[c]={id:c,domId:\"flowchart-\"+c+\"-\"+d,styles:[],classes:[]}),d++,\"undefined\"!==typeof t?(h=o.getConfig(),'\"'===(s=a.default.sanitizeText(t.trim(),h))[0]&&'\"'===s[s.length-1]&&(s=s.substring(1,s.length-1)),p[c].text=s):\"undefined\"===typeof p[c].text&&(p[c].text=e),\"undefined\"!==typeof n&&(p[c].type=n),\"undefined\"!==typeof r&&null!==r&&r.forEach((function(e){p[c].styles.push(e)})),\"undefined\"!==typeof i&&null!==i&&i.forEach((function(e){p[c].classes.push(e)})))},S=function(e,t,n,r){var i={start:e,end:t,type:void 0,text:\"\"};\"undefined\"!==typeof(r=n.text)&&(i.text=a.default.sanitizeText(r.trim(),h),'\"'===i.text[0]&&'\"'===i.text[i.text.length-1]&&(i.text=i.text.substring(1,i.text.length-1))),\"undefined\"!==typeof n&&(i.type=n.type,i.stroke=n.stroke,i.length=n.length),g.push(i)},C=function(e,t,n,r){var i,o;for(i=0;i<e.length;i++)for(o=0;o<t.length;o++)S(e[i],t[o],n,r)},T=function(e,t){e.forEach((function(e){\"default\"===e?g.defaultInterpolate=t:g[e].interpolate=t}))},j=function(e,t){e.forEach((function(e){\"default\"===e?g.defaultStyle=t:(-1===i.default.isSubstringInArray(\"fill\",t)&&t.push(\"fill:none\"),g[e].style=t)}))},A=function(e,t){\"undefined\"===typeof y[e]&&(y[e]={id:e,styles:[],textStyles:[]}),\"undefined\"!==typeof t&&null!==t&&t.forEach((function(t){if(t.match(\"color\")){var n=t.replace(\"fill\",\"bgFill\").replace(\"color\",\"fill\");y[e].textStyles.push(n)}y[e].styles.push(t)}))},M=function(e){(l=e).match(/.*</)&&(l=\"RL\"),l.match(/.*\\^/)&&(l=\"BT\"),l.match(/.*>/)&&(l=\"LR\"),l.match(/.*v/)&&(l=\"TB\")},P=function(e,t){e.split(\",\").forEach((function(e){var n=e;\"undefined\"!==typeof p[n]&&p[n].classes.push(t),\"undefined\"!==typeof b[n]&&b[n].classes.push(t)}))},N=function(e,t){e.split(\",\").forEach((function(e){\"undefined\"!==typeof t&&(v[\"gen-1\"===f?O(e):e]=a.default.sanitizeText(t,h))}))},D=function(e,t,n,r){e.split(\",\").forEach((function(e){\"undefined\"!==typeof p[e]&&(p[e].link=i.default.formatUrl(t,h),p[e].linkTarget=r)})),N(e,n),P(e,\"clickable\")},R=function(e){return v[e]},I=function(e,t,n){e.split(\",\").forEach((function(e){!function(e,t){var n=O(e);\"loose\"===o.getConfig().securityLevel&&\"undefined\"!==typeof t&&\"undefined\"!==typeof p[e]&&(p[e].haveCallback=!0,_.push((function(){var r=document.querySelector('[id=\"'.concat(n,'\"]'));null!==r&&r.addEventListener(\"click\",(function(){i.default.runFunc(t,e)}),!1)})))}(e,t)})),N(e,n),P(e,\"clickable\")},L=function(e){_.forEach((function(t){t(e)}))},B=function(){return l.trim()},F=function(){return p},z=function(){return g},U=function(){return y},H=function(e){var t=Object(r.select)(\".mermaidTooltip\");null===(t._groups||t)[0][0]&&(t=Object(r.select)(\"body\").append(\"div\").attr(\"class\",\"mermaidTooltip\").style(\"opacity\",0)),Object(r.select)(e).select(\"svg\").selectAll(\"g.node\").on(\"mouseover\",(function(){var e=Object(r.select)(this);if(null!==e.attr(\"title\")){var n=this.getBoundingClientRect();t.transition().duration(200).style(\"opacity\",\".9\"),t.html(e.attr(\"title\")).style(\"left\",window.scrollX+n.left+(n.right-n.left)/2+\"px\").style(\"top\",window.scrollY+n.top-14+document.body.scrollTop+\"px\"),e.classed(\"hover\",!0)}})).on(\"mouseout\",(function(){t.transition().duration(500).style(\"opacity\",0),Object(r.select)(this).classed(\"hover\",!1)}))};_.push(H);var W=function(e){p={},y={},g=[],(_=[]).push(H),m=[],b={},x=0,v=[],w=!0,f=e||\"gen-1\"},Y=function(e){f=e||\"gen-1\"},V=function(){return\"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;\"},q=function(e,t,n){var r=e.trim(),i=n;e===n&&n.match(/\\s/)&&(r=void 0);var o=[];if(o=function(e){var t={boolean:{},number:{},string:{}},n=[];return e.filter((function(e){var r=u(e);return\"\"!==e.trim()&&(r in t?!t[r].hasOwnProperty(e)&&(t[r][e]=!0):!(n.indexOf(e)>=0)&&n.push(e))}))}(o.concat.apply(o,t)),\"gen-1\"===f){c.logger.warn(\"LOOKING UP\");for(var s=0;s<o.length;s++)o[s]=O(o[s])}r=r||\"subGraph\"+x,i=i||\"\",i=a.default.sanitizeText(i,h),x+=1;var l={id:r,nodes:o,title:i.trim(),classes:[]};return console.log(\"Adding\",l.id,l.nodes),l.nodes=ne(l,m).nodes,m.push(l),b[r]=l,r},$=function(e){for(var t=0;t<m.length;t++)if(m[t].id===e)return t;return-1},G=-1,X=[],K=function e(t,n){var r=m[n].nodes;if(!((G+=1)>2e3)){if(X[G]=n,m[n].id===t)return{result:!0,count:0};for(var i=0,o=1;i<r.length;){var a=$(r[i]);if(a>=0){var s=e(t,a);if(s.result)return{result:!0,count:o+s.count};o+=s.count}i+=1}return{result:!1,count:o}}},Z=function(e){return X[e]},J=function(){G=-1,m.length>0&&K(\"none\",m.length-1)},Q=function(){return m},ee=function(){return!!w&&(w=!1,!0)},te=function(e,t){var n=!1;return e.forEach((function(e){e.nodes.indexOf(t)>=0&&(n=!0)})),n},ne=function(e,t){var n=[];return e.nodes.forEach((function(r,i){te(t,r)||n.push(e.nodes[i])})),{nodes:n}};t.default={parseDirective:k,defaultConfig:function(){return o.defaultConfig.flowchart},addVertex:E,lookUpDomId:O,addLink:C,updateLinkInterpolate:T,updateLink:j,addClass:A,setDirection:M,setClass:P,getTooltip:R,setClickEvent:I,setLink:D,bindFunctions:L,getDirection:B,getVertices:F,getEdges:z,getClasses:U,clear:W,setGen:Y,defaultStyle:V,addSubGraph:q,getDepthFirstPos:Z,indexNodes:J,getSubGraphs:Q,destructLink:function(e,t){var n,r=function(e){var t=e.trim(),n=t.slice(0,-1),r=\"arrow_open\";switch(t.slice(-1)){case\"x\":r=\"arrow_cross\",\"x\"===t[0]&&(r=\"double_\"+r,n=n.slice(1));break;case\">\":r=\"arrow_point\",\"<\"===t[0]&&(r=\"double_\"+r,n=n.slice(1));break;case\"o\":r=\"arrow_circle\",\"o\"===t[0]&&(r=\"double_\"+r,n=n.slice(1))}var i=\"normal\",o=n.length-1;\"=\"===n[0]&&(i=\"thick\");var a=function(e,t){for(var n=t.length,r=0,i=0;i<n;++i)t[i]===e&&++r;return r}(\".\",n);return a&&(i=\"dotted\",o=a),{type:r,stroke:i,length:o}}(e);if(t){if(n=function(e){var t=e.trim(),n=\"arrow_open\";switch(t[0]){case\"<\":n=\"arrow_point\",t=t.slice(1);break;case\"x\":n=\"arrow_cross\",t=t.slice(1);break;case\"o\":n=\"arrow_circle\",t=t.slice(1)}var r=\"normal\";return-1!==t.indexOf(\"=\")&&(r=\"thick\"),-1!==t.indexOf(\".\")&&(r=\"dotted\"),{type:n,stroke:r}}(t),n.stroke!==r.stroke)return{type:\"INVALID\",stroke:\"INVALID\"};if(\"arrow_open\"===n.type)n.type=r.type;else{if(n.type!==r.type)return{type:\"INVALID\",stroke:\"INVALID\"};n.type=\"double_\"+n.type}return\"double_arrow\"===n.type&&(n.type=\"double_arrow_point\"),n.length=r.length,n}return r},lex:{firstGraph:ee},exists:te,makeUniq:ne}},\"./src/diagrams/flowchart/flowRenderer-v2.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"setConf\",(function(){return m})),n.d(t,\"addVertices\",(function(){return b})),n.d(t,\"addEdges\",(function(){return v})),n.d(t,\"getClasses\",(function(){return x})),n.d(t,\"draw\",(function(){return w}));var r=n(\"graphlib\"),i=n.n(r),o=n(\"d3\"),a=n(\"./src/diagrams/flowchart/flowDb.js\"),s=n(\"./src/diagrams/flowchart/parser/flow.jison\"),c=n.n(s),u=n(\"./src/config.js\"),l=n(\"./src/dagre-wrapper/index.js\"),f=n(\"dagre-d3/lib/label/add-html-label.js\"),d=n.n(f),h=n(\"./src/logger.js\"),p=n(\"./src/diagrams/common/common.js\"),g=n(\"./src/utils.js\"),y={},m=function(e){for(var t=Object.keys(e),n=0;n<t.length;n++)y[t[n]]=e[t[n]]},b=function(e,t,n){var r=Object(o.select)('[id=\"'.concat(n,'\"]'));Object.keys(e).forEach((function(n){var i=e[n],o=\"default\";i.classes.length>0&&(o=i.classes.join(\" \"));var s,c=Object(g.getStylesFromArray)(i.styles),l=void 0!==i.text?i.text:i.id;if(Object(u.getConfig)().flowchart.htmlLabels){var f={label:l.replace(/fa[lrsb]?:fa-[\\w-]+/g,(function(e){return\"<i class='\".concat(e.replace(\":\",\" \"),\"'></i>\")}))};(s=d()(r,f).node()).parentNode.removeChild(s)}else{var y=document.createElementNS(\"http://www.w3.org/2000/svg\",\"text\");y.setAttribute(\"style\",c.labelStyle.replace(\"color:\",\"fill:\"));for(var m=l.split(p.default.lineBreakRegex),b=0;b<m.length;b++){var v=document.createElementNS(\"http://www.w3.org/2000/svg\",\"tspan\");v.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\",\"xml:space\",\"preserve\"),v.setAttribute(\"dy\",\"1em\"),v.setAttribute(\"x\",\"1\"),v.textContent=m[b],y.appendChild(v)}s=y}var x=0,w=\"\";switch(i.type){case\"round\":x=5,w=\"rect\";break;default:w=\"rect\";break;case\"diamond\":w=\"question\";break;case\"hexagon\":w=\"hexagon\";break;case\"odd\":case\"odd_right\":w=\"rect_left_inv_arrow\";break;case\"lean_right\":w=\"lean_right\";break;case\"lean_left\":w=\"lean_left\";break;case\"trapezoid\":w=\"trapezoid\";break;case\"inv_trapezoid\":w=\"inv_trapezoid\";break;case\"circle\":w=\"circle\";break;case\"ellipse\":w=\"ellipse\";break;case\"stadium\":w=\"stadium\";break;case\"subroutine\":w=\"subroutine\";break;case\"cylinder\":w=\"cylinder\"}t.setNode(i.id,{labelStyle:c.labelStyle,shape:w,labelText:l,rx:x,ry:x,class:o,style:c.style,id:i.id,link:i.link,linkTarget:i.linkTarget,tooltip:a.default.getTooltip(i.id)||\"\",domId:a.default.lookUpDomId(i.id),haveCallback:i.haveCallback,width:\"group\"===i.type?500:void 0,type:i.type,padding:Object(u.getConfig)().flowchart.padding}),h.logger.info(\"setNode\",{labelStyle:c.labelStyle,shape:w,labelText:l,rx:x,ry:x,class:o,style:c.style,id:i.id,domId:a.default.lookUpDomId(i.id),width:\"group\"===i.type?500:void 0,type:i.type,padding:Object(u.getConfig)().flowchart.padding})}))},v=function(e,t){var n,r,i=0;if(\"undefined\"!==typeof e.defaultStyle){var a=Object(g.getStylesFromArray)(e.defaultStyle);n=a.style,r=a.labelStyle}e.forEach((function(a){i++;var s=\"L-\"+a.start+\"-\"+a.end,c=\"LS-\"+a.start,l=\"LE-\"+a.end,f={};switch(f.minlen=a.length||1,\"arrow_open\"===a.type?f.arrowhead=\"none\":f.arrowhead=\"normal\",f.arrowTypeStart=\"arrow_open\",f.arrowTypeEnd=\"arrow_open\",a.type){case\"double_arrow_cross\":f.arrowTypeStart=\"arrow_cross\";case\"arrow_cross\":f.arrowTypeEnd=\"arrow_cross\";break;case\"double_arrow_point\":f.arrowTypeStart=\"arrow_point\";case\"arrow_point\":f.arrowTypeEnd=\"arrow_point\";break;case\"double_arrow_circle\":f.arrowTypeStart=\"arrow_circle\";case\"arrow_circle\":f.arrowTypeEnd=\"arrow_circle\"}var d=\"\",h=\"\";if(\"undefined\"!==typeof a.style){var m=Object(g.getStylesFromArray)(a.style);d=m.style,h=m.labelStyle}else switch(a.stroke){case\"normal\":d=\"fill:none\",\"undefined\"!==typeof n&&(d=n),\"undefined\"!==typeof r&&(h=r),f.thickness=\"normal\",f.pattern=\"solid\";break;case\"dotted\":f.thickness=\"normal\",f.pattern=\"dotted\";break;case\"thick\":f.thickness=\"thick\",f.pattern=\"solid\"}f.style=d,f.labelStyle=h,\"undefined\"!==typeof a.interpolate?f.curve=Object(g.interpolateToCurve)(a.interpolate,o.curveLinear):\"undefined\"!==typeof e.defaultInterpolate?f.curve=Object(g.interpolateToCurve)(e.defaultInterpolate,o.curveLinear):f.curve=Object(g.interpolateToCurve)(y.curve,o.curveLinear),\"undefined\"===typeof a.text?\"undefined\"!==typeof a.style&&(f.arrowheadStyle=\"fill: #333\"):(f.arrowheadStyle=\"fill: #333\",f.labelpos=\"c\",Object(u.getConfig)().flowchart.htmlLabels,f.labelType=\"text\",f.label=a.text.replace(p.default.lineBreakRegex,\"\\n\"),\"undefined\"===typeof a.style&&(f.style=f.style||\"stroke: #333; stroke-width: 1.5px;fill:none\"),f.labelStyle=f.labelStyle.replace(\"color:\",\"fill:\")),f.id=s,f.classes=\"flowchart-link \"+c+\" \"+l,t.setEdge(a.start,a.end,f,i)}))},x=function(e){h.logger.info(\"Extracting classes\"),a.default.clear();var t=c.a.parser;t.yy=a.default;try{t.parse(e)}catch(n){return}return a.default.getClasses()},w=function(e,t){h.logger.info(\"Drawing flowchart\"),a.default.clear(),a.default.setGen(\"gen-2\");var n=c.a.parser;n.yy=a.default,n.parse(e);var r=a.default.getDirection();\"undefined\"===typeof r&&(r=\"TD\");var s,f=Object(u.getConfig)().flowchart,d=f.nodeSpacing||50,p=f.rankSpacing||50,y=new i.a.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:r,nodesep:d,ranksep:p,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}})),m=a.default.getSubGraphs();h.logger.info(\"Subgraphs - \",m);for(var x=m.length-1;x>=0;x--)s=m[x],h.logger.info(\"Subgraph - \",s),a.default.addVertex(s.id,s.title,\"group\",void 0,s.classes);var w=a.default.getVertices(),_=a.default.getEdges();h.logger.info(_);var k=0;for(k=m.length-1;k>=0;k--){s=m[k],Object(o.selectAll)(\"cluster\").append(\"text\");for(var O=0;O<s.nodes.length;O++)h.logger.info(\"Setting up subgraphs\",s.nodes[O],s.id),y.setParent(s.nodes[O],s.id)}b(w,y,t),v(_,y);var E=Object(o.select)('[id=\"'.concat(t,'\"]'));E.attr(\"xmlns:xlink\",\"http://www.w3.org/1999/xlink\");var S=Object(o.select)(\"#\"+t+\" g\");Object(l.render)(S,y,[\"point\",\"circle\",\"cross\"],\"flowchart\",t);var C=f.diagramPadding,T=E.node().getBBox(),j=T.width+2*C,A=T.height+2*C;if(h.logger.debug(\"new ViewBox 0 0 \".concat(j,\" \").concat(A),\"translate(\".concat(C-y._label.marginx,\", \").concat(C-y._label.marginy,\")\")),Object(g.configureSvgSize)(E,A,j,f.useMaxWidth),E.attr(\"viewBox\",\"0 0 \".concat(j,\" \").concat(A)),E.select(\"g\").attr(\"transform\",\"translate(\".concat(C-y._label.marginx,\", \").concat(C-T.y,\")\")),a.default.indexNodes(\"subGraph\"+k),!f.htmlLabels)for(var M=document.querySelectorAll('[id=\"'+t+'\"] .edgeLabel .label'),P=0;P<M.length;P++){var N=M[P],D=N.getBBox(),R=document.createElementNS(\"http://www.w3.org/2000/svg\",\"rect\");R.setAttribute(\"rx\",0),R.setAttribute(\"ry\",0),R.setAttribute(\"width\",D.width),R.setAttribute(\"height\",D.height),N.insertBefore(R,N.firstChild)}Object.keys(w).forEach((function(e){var n=w[e];if(n.link){var r=Object(o.select)(\"#\"+t+' [id=\"'+e+'\"]');if(r){var i=document.createElementNS(\"http://www.w3.org/2000/svg\",\"a\");i.setAttributeNS(\"http://www.w3.org/2000/svg\",\"class\",n.classes.join(\" \")),i.setAttributeNS(\"http://www.w3.org/2000/svg\",\"href\",n.link),i.setAttributeNS(\"http://www.w3.org/2000/svg\",\"rel\",\"noopener\"),n.linkTarget&&i.setAttributeNS(\"http://www.w3.org/2000/svg\",\"target\",n.linkTarget);var a=r.insert((function(){return i}),\":first-child\"),s=r.select(\".label-container\");s&&a.append((function(){return s.node()}));var c=r.select(\".label\");c&&a.append((function(){return c.node()}))}}}))};t.default={setConf:m,addVertices:b,addEdges:v,getClasses:x,draw:w}},\"./src/diagrams/flowchart/flowRenderer.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"setConf\",(function(){return v})),n.d(t,\"addVertices\",(function(){return x})),n.d(t,\"addEdges\",(function(){return w})),n.d(t,\"getClasses\",(function(){return _})),n.d(t,\"draw\",(function(){return k}));var r=n(\"graphlib\"),i=n.n(r),o=n(\"d3\"),a=n(\"./src/diagrams/flowchart/flowDb.js\"),s=n(\"./src/diagrams/flowchart/parser/flow.jison\"),c=n.n(s),u=n(\"./src/config.js\"),l=n(\"dagre-d3\"),f=n.n(l),d=n(\"dagre-d3/lib/label/add-html-label.js\"),h=n.n(d),p=n(\"./src/logger.js\"),g=n(\"./src/diagrams/common/common.js\"),y=n(\"./src/utils.js\"),m=n(\"./src/diagrams/flowchart/flowChartShapes.js\"),b={},v=function(e){for(var t=Object.keys(e),n=0;n<t.length;n++)b[t[n]]=e[t[n]]},x=function(e,t,n){var r=Object(o.select)('[id=\"'.concat(n,'\"]'));Object.keys(e).forEach((function(n){var i=e[n],o=\"default\";i.classes.length>0&&(o=i.classes.join(\" \"));var s,c=Object(y.getStylesFromArray)(i.styles),l=void 0!==i.text?i.text:i.id;if(Object(u.getConfig)().flowchart.htmlLabels){var f={label:l.replace(/fa[lrsb]?:fa-[\\w-]+/g,(function(e){return\"<i class='\".concat(e.replace(\":\",\" \"),\"'></i>\")}))};(s=h()(r,f).node()).parentNode.removeChild(s)}else{var d=document.createElementNS(\"http://www.w3.org/2000/svg\",\"text\");d.setAttribute(\"style\",c.labelStyle.replace(\"color:\",\"fill:\"));for(var m=l.split(g.default.lineBreakRegex),b=0;b<m.length;b++){var v=document.createElementNS(\"http://www.w3.org/2000/svg\",\"tspan\");v.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\",\"xml:space\",\"preserve\"),v.setAttribute(\"dy\",\"1em\"),v.setAttribute(\"x\",\"1\"),v.textContent=m[b],d.appendChild(v)}s=d}var x=0,w=\"\";switch(i.type){case\"round\":x=5,w=\"rect\";break;default:w=\"rect\";break;case\"diamond\":w=\"question\";break;case\"hexagon\":w=\"hexagon\";break;case\"odd\":case\"odd_right\":w=\"rect_left_inv_arrow\";break;case\"lean_right\":w=\"lean_right\";break;case\"lean_left\":w=\"lean_left\";break;case\"trapezoid\":w=\"trapezoid\";break;case\"inv_trapezoid\":w=\"inv_trapezoid\";break;case\"circle\":w=\"circle\";break;case\"ellipse\":w=\"ellipse\";break;case\"stadium\":w=\"stadium\";break;case\"subroutine\":w=\"subroutine\";break;case\"cylinder\":w=\"cylinder\"}p.logger.warn(\"Adding node\",i.id,i.domId),t.setNode(a.default.lookUpDomId(i.id),{labelType:\"svg\",labelStyle:c.labelStyle,shape:w,label:s,rx:x,ry:x,class:o,style:c.style,id:a.default.lookUpDomId(i.id)})}))},w=function(e,t){var n,r,i=0;if(\"undefined\"!==typeof e.defaultStyle){var s=Object(y.getStylesFromArray)(e.defaultStyle);n=s.style,r=s.labelStyle}e.forEach((function(s){i++;var c=\"L-\"+s.start+\"-\"+s.end,l=\"LS-\"+s.start,f=\"LE-\"+s.end,d={};\"arrow_open\"===s.type?d.arrowhead=\"none\":d.arrowhead=\"normal\";var h=\"\",p=\"\";if(\"undefined\"!==typeof s.style){var m=Object(y.getStylesFromArray)(s.style);h=m.style,p=m.labelStyle}else switch(s.stroke){case\"normal\":h=\"fill:none\",\"undefined\"!==typeof n&&(h=n),\"undefined\"!==typeof r&&(p=r);break;case\"dotted\":h=\"fill:none;stroke-width:2px;stroke-dasharray:3;\";break;case\"thick\":h=\" stroke-width: 3.5px;fill:none\"}d.style=h,d.labelStyle=p,\"undefined\"!==typeof s.interpolate?d.curve=Object(y.interpolateToCurve)(s.interpolate,o.curveLinear):\"undefined\"!==typeof e.defaultInterpolate?d.curve=Object(y.interpolateToCurve)(e.defaultInterpolate,o.curveLinear):d.curve=Object(y.interpolateToCurve)(b.curve,o.curveLinear),\"undefined\"===typeof s.text?\"undefined\"!==typeof s.style&&(d.arrowheadStyle=\"fill: #333\"):(d.arrowheadStyle=\"fill: #333\",d.labelpos=\"c\",Object(u.getConfig)().flowchart.htmlLabels?(d.labelType=\"html\",d.label='<span id=\"L-'.concat(c,'\" class=\"edgeLabel L-').concat(l,\"' L-\").concat(f,'\">').concat(s.text,\"</span>\")):(d.labelType=\"text\",d.label=s.text.replace(g.default.lineBreakRegex,\"\\n\"),\"undefined\"===typeof s.style&&(d.style=d.style||\"stroke: #333; stroke-width: 1.5px;fill:none\"),d.labelStyle=d.labelStyle.replace(\"color:\",\"fill:\"))),d.id=c,d.class=l+\" \"+f,d.minlen=s.length||1,t.setEdge(a.default.lookUpDomId(s.start),a.default.lookUpDomId(s.end),d,i)}))},_=function(e){p.logger.info(\"Extracting classes\"),a.default.clear();try{var t=c.a.parser;return t.yy=a.default,t.parse(e),a.default.getClasses()}catch(n){return}},k=function(e,t){p.logger.info(\"Drawing flowchart\"),a.default.clear(),a.default.setGen(\"gen-1\");var n=c.a.parser;n.yy=a.default,n.parse(e);var r=a.default.getDirection();\"undefined\"===typeof r&&(r=\"TD\");for(var s,l=Object(u.getConfig)().flowchart,d=l.nodeSpacing||50,h=l.rankSpacing||50,g=new i.a.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:r,nodesep:d,ranksep:h,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}})),b=a.default.getSubGraphs(),v=b.length-1;v>=0;v--)s=b[v],a.default.addVertex(s.id,s.title,\"group\",void 0,s.classes);var _=a.default.getVertices();p.logger.warn(\"Get vertices\",_);var k=a.default.getEdges(),O=0;for(O=b.length-1;O>=0;O--){s=b[O],Object(o.selectAll)(\"cluster\").append(\"text\");for(var E=0;E<s.nodes.length;E++)p.logger.warn(\"Setting subgraph\",s.nodes[E],a.default.lookUpDomId(s.nodes[E]),a.default.lookUpDomId(s.id)),g.setParent(a.default.lookUpDomId(s.nodes[E]),a.default.lookUpDomId(s.id))}x(_,g,t),w(k,g);var S=new(0,f.a.render);m.default.addToRender(S),S.arrows().none=function(e,t,n,r){var i=e.append(\"marker\").attr(\"id\",t).attr(\"viewBox\",\"0 0 10 10\").attr(\"refX\",9).attr(\"refY\",5).attr(\"markerUnits\",\"strokeWidth\").attr(\"markerWidth\",8).attr(\"markerHeight\",6).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 0 0 L 0 0 L 0 0 z\");f.a.util.applyStyle(i,n[r+\"Style\"])},S.arrows().normal=function(e,t){e.append(\"marker\").attr(\"id\",t).attr(\"viewBox\",\"0 0 10 10\").attr(\"refX\",9).attr(\"refY\",5).attr(\"markerUnits\",\"strokeWidth\").attr(\"markerWidth\",8).attr(\"markerHeight\",6).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 0 0 L 10 5 L 0 10 z\").attr(\"class\",\"arrowheadPath\").style(\"stroke-width\",1).style(\"stroke-dasharray\",\"1,0\")};var C=Object(o.select)('[id=\"'.concat(t,'\"]'));C.attr(\"xmlns:xlink\",\"http://www.w3.org/1999/xlink\"),p.logger.warn(g);var T=Object(o.select)(\"#\"+t+\" g\");S(T,g),T.selectAll(\"g.node\").attr(\"title\",(function(){return a.default.getTooltip(this.id)}));var j=l.diagramPadding,A=C.node().getBBox(),M=A.width+2*j,P=A.height+2*j;Object(y.configureSvgSize)(C,P,M,l.useMaxWidth);var N=\"\".concat(A.x-j,\" \").concat(A.y-j,\" \").concat(M,\" \").concat(P);for(p.logger.debug(\"viewBox \".concat(N)),C.attr(\"viewBox\",N),a.default.indexNodes(\"subGraph\"+O),O=0;O<b.length;O++)if(\"undefined\"!==(s=b[O]).title){var D=document.querySelectorAll(\"#\"+t+' [id=\"'+a.default.lookUpDomId(s.id)+'\"] rect'),R=document.querySelectorAll(\"#\"+t+' [id=\"'+a.default.lookUpDomId(s.id)+'\"]'),I=D[0].x.baseVal.value,L=D[0].y.baseVal.value,B=D[0].width.baseVal.value,F=Object(o.select)(R[0]).select(\".label\");F.attr(\"transform\",\"translate(\".concat(I+B/2,\", \").concat(L+14,\")\")),F.attr(\"id\",t+\"Text\");for(var z=0;z<s.classes.length;z++)R[0].classList.add(s.classes[z])}l.htmlLabels;for(var U=document.querySelectorAll('[id=\"'+t+'\"] .edgeLabel .label'),H=0;H<U.length;H++){var W=U[H],Y=W.getBBox(),V=document.createElementNS(\"http://www.w3.org/2000/svg\",\"rect\");V.setAttribute(\"rx\",0),V.setAttribute(\"ry\",0),V.setAttribute(\"width\",Y.width),V.setAttribute(\"height\",Y.height),W.insertBefore(V,W.firstChild)}Object.keys(_).forEach((function(e){var n=_[e];if(n.link){var r=Object(o.select)(\"#\"+t+' [id=\"'+a.default.lookUpDomId(e)+'\"]');if(r){var i=document.createElementNS(\"http://www.w3.org/2000/svg\",\"a\");i.setAttributeNS(\"http://www.w3.org/2000/svg\",\"class\",n.classes.join(\" \")),i.setAttributeNS(\"http://www.w3.org/2000/svg\",\"href\",n.link),i.setAttributeNS(\"http://www.w3.org/2000/svg\",\"rel\",\"noopener\"),n.linkTarget&&i.setAttributeNS(\"http://www.w3.org/2000/svg\",\"target\",n.linkTarget);var s=r.insert((function(){return i}),\":first-child\"),c=r.select(\".label-container\");c&&s.append((function(){return c.node()}));var u=r.select(\".label\");u&&s.append((function(){return u.node()}))}}}))};t.default={setConf:v,addVertices:x,addEdges:w,getClasses:_,draw:k}},\"./src/diagrams/flowchart/parser/flow.jison\":function(e,t,n){(function(e,r){var i=function(){var e=function(e,t,n,r){for(n=n||{},r=e.length;r--;n[e[r]]=t);return n},t=[1,9],n=[1,7],r=[1,6],i=[1,8],o=[1,20,21,22,23,38,46,75,76,77,78,79,80,91,92,95,96,97,99,100,106,107,108,109,110,111],a=[2,10],s=[1,20],c=[1,21],u=[1,22],l=[1,23],f=[1,30],d=[1,54],h=[1,32],p=[1,33],g=[1,34],y=[1,35],m=[1,36],b=[1,48],v=[1,43],x=[1,45],w=[1,40],_=[1,44],k=[1,47],O=[1,51],E=[1,52],S=[1,53],C=[1,42],T=[1,46],j=[1,49],A=[1,50],M=[1,41],P=[1,57],N=[1,62],D=[1,20,21,22,23,38,42,46,75,76,77,78,79,80,91,92,95,96,97,99,100,106,107,108,109,110,111],R=[1,66],I=[1,65],L=[1,67],B=[20,21,23,69,70],F=[20,21,22,23,69,70],z=[20,21,22,23,47,69,70],U=[20,21,22,23,40,46,47,49,51,53,55,57,59,61,62,64,69,70,80,91,92,95,96,97,99,100,106,107,108,109,110,111],H=[20,21,23],W=[20,21,23,46,69,70,80,91,92,95,96,97,99,100,106,107,108,109,110,111],Y=[1,12,20,21,22,23,24,38,42,46,75,76,77,78,79,80,91,92,95,96,97,99,100,106,107,108,109,110,111],V=[46,80,91,92,95,96,97,99,100,106,107,108,109,110,111],q=[1,115],$=[1,136],G=[1,137],X=[1,138],K=[1,139],Z=[1,119],J=[1,110],Q=[1,111],ee=[1,107],te=[1,131],ne=[1,132],re=[1,133],ie=[1,134],oe=[1,135],ae=[1,140],se=[1,141],ce=[1,113],ue=[1,121],le=[1,124],fe=[1,122],de=[1,123],he=[1,116],pe=[1,129],ge=[1,128],ye=[1,112],me=[1,109],be=[1,118],ve=[1,120],xe=[1,125],we=[1,126],_e=[1,127],ke=[1,130],Oe=[20,21,22,23,38,42,46,75,76,77,78,79,80,91,92,95,96,97,99,100,106,107,108,109,110,111],Ee=[1,144],Se=[1,148],Ce=[1,150],Te=[1,151],je=[12,21,22,24],Ae=[20,21,22,23,24,26,38,40,41,42,46,50,52,54,56,58,60,61,63,65,69,70,71,75,76,77,78,79,80,81,84,91,92,95,96,97,99,100,101,102,106,107,108,109,110,111],Me=[20,21,22,23,26,46,80,91,92,95,96,97,99,100,106,107,108,109,110,111],Pe=[22,92],Ne=[1,220],De=[1,224],Re=[1,221],Ie=[1,218],Le=[1,215],Be=[1,216],Fe=[1,217],ze=[1,219],Ue=[1,222],He=[1,223],We=[1,225],Ye=[1,241],Ve=[20,21,23,92],qe=[20,21,22,23,75,88,91,92,95,96,97,98,99,100,101],$e={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,directive:5,openDirective:6,typeDirective:7,closeDirective:8,separator:9,\":\":10,argDirective:11,open_directive:12,type_directive:13,arg_directive:14,close_directive:15,graphConfig:16,document:17,line:18,statement:19,SEMI:20,NEWLINE:21,SPACE:22,EOF:23,GRAPH:24,NODIR:25,DIR:26,FirstStmtSeperator:27,ending:28,endToken:29,spaceList:30,spaceListNewline:31,verticeStatement:32,styleStatement:33,linkStyleStatement:34,classDefStatement:35,classStatement:36,clickStatement:37,subgraph:38,text:39,SQS:40,SQE:41,end:42,link:43,node:44,vertex:45,AMP:46,STYLE_SEPARATOR:47,idString:48,PS:49,PE:50,\"(-\":51,\"-)\":52,STADIUMSTART:53,STADIUMEND:54,SUBROUTINESTART:55,SUBROUTINEEND:56,CYLINDERSTART:57,CYLINDEREND:58,DIAMOND_START:59,DIAMOND_STOP:60,TAGEND:61,TRAPSTART:62,TRAPEND:63,INVTRAPSTART:64,INVTRAPEND:65,linkStatement:66,arrowText:67,TESTSTR:68,START_LINK:69,LINK:70,PIPE:71,textToken:72,STR:73,keywords:74,STYLE:75,LINKSTYLE:76,CLASSDEF:77,CLASS:78,CLICK:79,DOWN:80,UP:81,textNoTags:82,textNoTagsToken:83,DEFAULT:84,stylesOpt:85,alphaNum:86,LINK_TARGET:87,HEX:88,numList:89,INTERPOLATE:90,NUM:91,COMMA:92,style:93,styleComponent:94,ALPHA:95,COLON:96,MINUS:97,UNIT:98,BRKT:99,DOT:100,PCT:101,TAGSTART:102,alphaNumToken:103,idStringToken:104,alphaNumStatement:105,PUNCTUATION:106,UNICODE_TEXT:107,PLUS:108,EQUALS:109,MULT:110,UNDERSCORE:111,graphCodeTokens:112,ARROW_CROSS:113,ARROW_POINT:114,ARROW_CIRCLE:115,ARROW_OPEN:116,QUOTE:117,$accept:0,$end:1},terminals_:{2:\"error\",10:\":\",12:\"open_directive\",13:\"type_directive\",14:\"arg_directive\",15:\"close_directive\",20:\"SEMI\",21:\"NEWLINE\",22:\"SPACE\",23:\"EOF\",24:\"GRAPH\",25:\"NODIR\",26:\"DIR\",38:\"subgraph\",40:\"SQS\",41:\"SQE\",42:\"end\",46:\"AMP\",47:\"STYLE_SEPARATOR\",49:\"PS\",50:\"PE\",51:\"(-\",52:\"-)\",53:\"STADIUMSTART\",54:\"STADIUMEND\",55:\"SUBROUTINESTART\",56:\"SUBROUTINEEND\",57:\"CYLINDERSTART\",58:\"CYLINDEREND\",59:\"DIAMOND_START\",60:\"DIAMOND_STOP\",61:\"TAGEND\",62:\"TRAPSTART\",63:\"TRAPEND\",64:\"INVTRAPSTART\",65:\"INVTRAPEND\",68:\"TESTSTR\",69:\"START_LINK\",70:\"LINK\",71:\"PIPE\",73:\"STR\",75:\"STYLE\",76:\"LINKSTYLE\",77:\"CLASSDEF\",78:\"CLASS\",79:\"CLICK\",80:\"DOWN\",81:\"UP\",84:\"DEFAULT\",87:\"LINK_TARGET\",88:\"HEX\",90:\"INTERPOLATE\",91:\"NUM\",92:\"COMMA\",95:\"ALPHA\",96:\"COLON\",97:\"MINUS\",98:\"UNIT\",99:\"BRKT\",100:\"DOT\",101:\"PCT\",102:\"TAGSTART\",106:\"PUNCTUATION\",107:\"UNICODE_TEXT\",108:\"PLUS\",109:\"EQUALS\",110:\"MULT\",111:\"UNDERSCORE\",113:\"ARROW_CROSS\",114:\"ARROW_POINT\",115:\"ARROW_CIRCLE\",116:\"ARROW_OPEN\",117:\"QUOTE\"},productions_:[0,[3,1],[3,2],[5,4],[5,6],[6,1],[7,1],[11,1],[8,1],[4,2],[17,0],[17,2],[18,1],[18,1],[18,1],[18,1],[18,1],[16,2],[16,2],[16,2],[16,3],[28,2],[28,1],[29,1],[29,1],[29,1],[27,1],[27,1],[27,2],[31,2],[31,2],[31,1],[31,1],[30,2],[30,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,9],[19,6],[19,4],[9,1],[9,1],[9,1],[32,3],[32,4],[32,2],[32,1],[44,1],[44,5],[44,3],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[43,2],[43,3],[43,3],[43,1],[43,3],[66,1],[67,3],[39,1],[39,2],[39,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[82,1],[82,2],[35,5],[35,5],[36,5],[37,5],[37,7],[37,5],[37,7],[37,7],[37,9],[33,5],[33,5],[34,5],[34,5],[34,9],[34,9],[34,7],[34,7],[89,1],[89,3],[85,1],[85,3],[93,1],[93,2],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[83,1],[83,1],[83,1],[83,1],[48,1],[48,2],[86,1],[86,2],[105,1],[105,1],[105,1],[105,1],[103,1],[103,1],[103,1],[103,1],[103,1],[103,1],[103,1],[103,1],[103,1],[103,1],[103,1],[103,1],[103,1],[104,1],[104,1],[104,1],[104,1],[104,1],[104,1],[104,1],[104,1],[104,1],[104,1],[104,1],[104,1],[104,1],[104,1],[104,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1]],performAction:function(e,t,n,r,i,o,a){var s=o.length-1;switch(i){case 5:r.parseDirective(\"%%{\",\"open_directive\");break;case 6:r.parseDirective(o[s],\"type_directive\");break;case 7:o[s]=o[s].trim().replace(/'/g,'\"'),r.parseDirective(o[s],\"arg_directive\");break;case 8:r.parseDirective(\"}%%\",\"close_directive\",\"flowchart\");break;case 10:case 36:case 37:case 38:case 39:case 40:this.$=[];break;case 11:o[s]!==[]&&o[s-1].push(o[s]),this.$=o[s-1];break;case 12:case 76:case 78:case 90:case 138:case 140:case 141:case 72:case 136:this.$=o[s];break;case 19:r.setDirection(\"TB\"),this.$=\"TB\";break;case 20:r.setDirection(o[s-1]),this.$=o[s-1];break;case 35:this.$=o[s-1].nodes;break;case 41:this.$=r.addSubGraph(o[s-6],o[s-1],o[s-4]);break;case 42:this.$=r.addSubGraph(o[s-3],o[s-1],o[s-3]);break;case 43:this.$=r.addSubGraph(void 0,o[s-1],void 0);break;case 47:r.addLink(o[s-2].stmt,o[s],o[s-1]),this.$={stmt:o[s],nodes:o[s].concat(o[s-2].nodes)};break;case 48:r.addLink(o[s-3].stmt,o[s-1],o[s-2]),this.$={stmt:o[s-1],nodes:o[s-1].concat(o[s-3].nodes)};break;case 49:this.$={stmt:o[s-1],nodes:o[s-1]};break;case 50:this.$={stmt:o[s],nodes:o[s]};break;case 51:case 109:case 111:this.$=[o[s]];break;case 52:this.$=o[s-4].concat(o[s]);break;case 53:this.$=[o[s-2]],r.setClass(o[s-2],o[s]);break;case 54:this.$=o[s-3],r.addVertex(o[s-3],o[s-1],\"square\");break;case 55:this.$=o[s-5],r.addVertex(o[s-5],o[s-2],\"circle\");break;case 56:this.$=o[s-3],r.addVertex(o[s-3],o[s-1],\"ellipse\");break;case 57:this.$=o[s-3],r.addVertex(o[s-3],o[s-1],\"stadium\");break;case 58:this.$=o[s-3],r.addVertex(o[s-3],o[s-1],\"subroutine\");break;case 59:this.$=o[s-3],r.addVertex(o[s-3],o[s-1],\"cylinder\");break;case 60:this.$=o[s-3],r.addVertex(o[s-3],o[s-1],\"round\");break;case 61:this.$=o[s-3],r.addVertex(o[s-3],o[s-1],\"diamond\");break;case 62:this.$=o[s-5],r.addVertex(o[s-5],o[s-2],\"hexagon\");break;case 63:this.$=o[s-3],r.addVertex(o[s-3],o[s-1],\"odd\");break;case 64:this.$=o[s-3],r.addVertex(o[s-3],o[s-1],\"trapezoid\");break;case 65:this.$=o[s-3],r.addVertex(o[s-3],o[s-1],\"inv_trapezoid\");break;case 66:this.$=o[s-3],r.addVertex(o[s-3],o[s-1],\"lean_right\");break;case 67:this.$=o[s-3],r.addVertex(o[s-3],o[s-1],\"lean_left\");break;case 68:this.$=o[s],r.addVertex(o[s]);break;case 69:o[s-1].text=o[s],this.$=o[s-1];break;case 70:case 71:o[s-2].text=o[s-1],this.$=o[s-2];break;case 73:var c=r.destructLink(o[s],o[s-2]);this.$={type:c.type,stroke:c.stroke,length:c.length,text:o[s-1]};break;case 74:c=r.destructLink(o[s]),this.$={type:c.type,stroke:c.stroke,length:c.length};break;case 75:this.$=o[s-1];break;case 77:case 91:case 139:case 137:this.$=o[s-1]+\"\"+o[s];break;case 92:case 93:this.$=o[s-4],r.addClass(o[s-2],o[s]);break;case 94:this.$=o[s-4],r.setClass(o[s-2],o[s]);break;case 95:this.$=o[s-4],r.setClickEvent(o[s-2],o[s],void 0);break;case 96:this.$=o[s-6],r.setClickEvent(o[s-4],o[s-2],o[s]);break;case 97:this.$=o[s-4],r.setLink(o[s-2],o[s],void 0,void 0);break;case 98:this.$=o[s-6],r.setLink(o[s-4],o[s-2],o[s],void 0);break;case 99:this.$=o[s-6],r.setLink(o[s-4],o[s-2],void 0,o[s]);break;case 100:this.$=o[s-8],r.setLink(o[s-6],o[s-4],o[s-2],o[s]);break;case 101:this.$=o[s-4],r.addVertex(o[s-2],void 0,void 0,o[s]);break;case 102:case 104:this.$=o[s-4],r.updateLink(o[s-2],o[s]);break;case 103:this.$=o[s-4],r.updateLink([o[s-2]],o[s]);break;case 105:this.$=o[s-8],r.updateLinkInterpolate([o[s-6]],o[s-2]),r.updateLink([o[s-6]],o[s]);break;case 106:this.$=o[s-8],r.updateLinkInterpolate(o[s-6],o[s-2]),r.updateLink(o[s-6],o[s]);break;case 107:this.$=o[s-6],r.updateLinkInterpolate([o[s-4]],o[s]);break;case 108:this.$=o[s-6],r.updateLinkInterpolate(o[s-4],o[s]);break;case 110:case 112:o[s-2].push(o[s]),this.$=o[s-2];break;case 114:this.$=o[s-1]+o[s];break;case 142:this.$=\"v\";break;case 143:this.$=\"-\"}},table:[{3:1,4:2,5:3,6:5,12:t,16:4,21:n,22:r,24:i},{1:[3]},{1:[2,1]},{3:10,4:2,5:3,6:5,12:t,16:4,21:n,22:r,24:i},e(o,a,{17:11}),{7:12,13:[1,13]},{16:14,21:n,22:r,24:i},{16:15,21:n,22:r,24:i},{25:[1,16],26:[1,17]},{13:[2,5]},{1:[2,2]},{1:[2,9],18:18,19:19,20:s,21:c,22:u,23:l,32:24,33:25,34:26,35:27,36:28,37:29,38:f,44:31,45:37,46:d,48:38,75:h,76:p,77:g,78:y,79:m,80:b,91:v,92:x,95:w,96:_,97:k,99:O,100:E,104:39,106:S,107:C,108:T,109:j,110:A,111:M},{8:55,10:[1,56],15:P},e([10,15],[2,6]),e(o,[2,17]),e(o,[2,18]),e(o,[2,19]),{20:[1,59],21:[1,60],22:N,27:58,30:61},e(D,[2,11]),e(D,[2,12]),e(D,[2,13]),e(D,[2,14]),e(D,[2,15]),e(D,[2,16]),{9:63,20:R,21:I,23:L,43:64,66:68,69:[1,69],70:[1,70]},{9:71,20:R,21:I,23:L},{9:72,20:R,21:I,23:L},{9:73,20:R,21:I,23:L},{9:74,20:R,21:I,23:L},{9:75,20:R,21:I,23:L},{9:77,20:R,21:I,22:[1,76],23:L},e(B,[2,50],{30:78,22:N}),{22:[1,79]},{22:[1,80]},{22:[1,81]},{22:[1,82]},{22:[1,83]},e(F,[2,51],{47:[1,84]}),e(z,[2,68],{104:95,40:[1,85],46:d,49:[1,86],51:[1,87],53:[1,88],55:[1,89],57:[1,90],59:[1,91],61:[1,92],62:[1,93],64:[1,94],80:b,91:v,92:x,95:w,96:_,97:k,99:O,100:E,106:S,107:C,108:T,109:j,110:A,111:M}),e(U,[2,136]),e(U,[2,157]),e(U,[2,158]),e(U,[2,159]),e(U,[2,160]),e(U,[2,161]),e(U,[2,162]),e(U,[2,163]),e(U,[2,164]),e(U,[2,165]),e(U,[2,166]),e(U,[2,167]),e(U,[2,168]),e(U,[2,169]),e(U,[2,170]),e(U,[2,171]),{9:96,20:R,21:I,23:L},{11:97,14:[1,98]},e(H,[2,8]),e(o,[2,20]),e(o,[2,26]),e(o,[2,27]),{21:[1,99]},e(W,[2,34],{30:100,22:N}),e(D,[2,35]),{44:101,45:37,46:d,48:38,80:b,91:v,92:x,95:w,96:_,97:k,99:O,100:E,104:39,106:S,107:C,108:T,109:j,110:A,111:M},e(Y,[2,44]),e(Y,[2,45]),e(Y,[2,46]),e(V,[2,72],{67:102,68:[1,103],71:[1,104]}),{22:q,24:$,26:G,38:X,39:105,42:K,46:Z,61:J,69:Q,72:106,73:ee,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},e([46,68,71,80,91,92,95,96,97,99,100,106,107,108,109,110,111],[2,74]),e(D,[2,36]),e(D,[2,37]),e(D,[2,38]),e(D,[2,39]),e(D,[2,40]),{22:q,24:$,26:G,38:X,39:142,42:K,46:Z,61:J,69:Q,72:106,73:ee,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},e(Oe,a,{17:143}),e(B,[2,49],{46:Ee}),{26:Se,46:Z,80:Ce,86:145,88:[1,146],91:ue,92:le,95:fe,96:de,97:Te,99:pe,100:ge,103:149,105:147,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{84:[1,152],89:153,91:[1,154]},{26:Se,46:Z,80:Ce,84:[1,155],86:156,91:ue,92:le,95:fe,96:de,97:Te,99:pe,100:ge,103:149,105:147,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{26:Se,46:Z,80:Ce,86:157,91:ue,92:le,95:fe,96:de,97:Te,99:pe,100:ge,103:149,105:147,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{26:Se,46:Z,80:Ce,86:158,91:ue,92:le,95:fe,96:de,97:Te,99:pe,100:ge,103:149,105:147,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{46:d,48:159,80:b,91:v,92:x,95:w,96:_,97:k,99:O,100:E,104:39,106:S,107:C,108:T,109:j,110:A,111:M},{22:q,24:$,26:G,38:X,39:160,42:K,46:Z,61:J,69:Q,72:106,73:ee,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{22:q,24:$,26:G,38:X,39:162,42:K,46:Z,49:[1,161],61:J,69:Q,72:106,73:ee,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{22:q,24:$,26:G,38:X,39:163,42:K,46:Z,61:J,69:Q,72:106,73:ee,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{22:q,24:$,26:G,38:X,39:164,42:K,46:Z,61:J,69:Q,72:106,73:ee,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{22:q,24:$,26:G,38:X,39:165,42:K,46:Z,61:J,69:Q,72:106,73:ee,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{22:q,24:$,26:G,38:X,39:166,42:K,46:Z,61:J,69:Q,72:106,73:ee,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{22:q,24:$,26:G,38:X,39:167,42:K,46:Z,59:[1,168],61:J,69:Q,72:106,73:ee,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{22:q,24:$,26:G,38:X,39:169,42:K,46:Z,61:J,69:Q,72:106,73:ee,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{22:q,24:$,26:G,38:X,39:170,42:K,46:Z,61:J,69:Q,72:106,73:ee,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{22:q,24:$,26:G,38:X,39:171,42:K,46:Z,61:J,69:Q,72:106,73:ee,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},e(U,[2,137]),e(je,[2,3]),{8:172,15:P},{15:[2,7]},e(o,[2,28]),e(W,[2,33]),e(B,[2,47],{30:173,22:N}),e(V,[2,69],{22:[1,174]}),{22:[1,175]},{22:q,24:$,26:G,38:X,39:176,42:K,46:Z,61:J,69:Q,72:106,73:ee,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{22:q,24:$,26:G,38:X,42:K,46:Z,61:J,69:Q,70:[1,177],72:178,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},e(Ae,[2,76]),e(Ae,[2,78]),e(Ae,[2,126]),e(Ae,[2,127]),e(Ae,[2,128]),e(Ae,[2,129]),e(Ae,[2,130]),e(Ae,[2,131]),e(Ae,[2,132]),e(Ae,[2,133]),e(Ae,[2,134]),e(Ae,[2,135]),e(Ae,[2,144]),e(Ae,[2,145]),e(Ae,[2,146]),e(Ae,[2,147]),e(Ae,[2,148]),e(Ae,[2,149]),e(Ae,[2,150]),e(Ae,[2,151]),e(Ae,[2,152]),e(Ae,[2,153]),e(Ae,[2,154]),e(Ae,[2,155]),e(Ae,[2,156]),e(Ae,[2,79]),e(Ae,[2,80]),e(Ae,[2,81]),e(Ae,[2,82]),e(Ae,[2,83]),e(Ae,[2,84]),e(Ae,[2,85]),e(Ae,[2,86]),e(Ae,[2,87]),e(Ae,[2,88]),e(Ae,[2,89]),{9:180,20:R,21:I,22:q,23:L,24:$,26:G,38:X,40:[1,179],42:K,46:Z,61:J,69:Q,72:178,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{18:18,19:19,20:s,21:c,22:u,23:l,32:24,33:25,34:26,35:27,36:28,37:29,38:f,42:[1,181],44:31,45:37,46:d,48:38,75:h,76:p,77:g,78:y,79:m,80:b,91:v,92:x,95:w,96:_,97:k,99:O,100:E,104:39,106:S,107:C,108:T,109:j,110:A,111:M},{22:N,30:182},{22:[1,183],26:Se,46:Z,80:Ce,91:ue,92:le,95:fe,96:de,97:Te,99:pe,100:ge,103:149,105:184,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{22:[1,185]},e(Me,[2,138]),e(Me,[2,140]),e(Me,[2,141]),e(Me,[2,142]),e(Me,[2,143]),{22:[1,186]},{22:[1,187],92:[1,188]},e(Pe,[2,109]),{22:[1,189]},{22:[1,190],26:Se,46:Z,80:Ce,91:ue,92:le,95:fe,96:de,97:Te,99:pe,100:ge,103:149,105:184,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{22:[1,191],26:Se,46:Z,80:Ce,91:ue,92:le,95:fe,96:de,97:Te,99:pe,100:ge,103:149,105:184,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{22:[1,192],26:Se,46:Z,80:Ce,91:ue,92:le,95:fe,96:de,97:Te,99:pe,100:ge,103:149,105:184,106:be,107:ve,108:xe,109:we,110:_e,111:ke},e(F,[2,53],{104:95,46:d,80:b,91:v,92:x,95:w,96:_,97:k,99:O,100:E,106:S,107:C,108:T,109:j,110:A,111:M}),{22:q,24:$,26:G,38:X,41:[1,193],42:K,46:Z,61:J,69:Q,72:178,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{22:q,24:$,26:G,38:X,39:194,42:K,46:Z,61:J,69:Q,72:106,73:ee,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{22:q,24:$,26:G,38:X,42:K,46:Z,50:[1,195],61:J,69:Q,72:178,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{22:q,24:$,26:G,38:X,42:K,46:Z,52:[1,196],61:J,69:Q,72:178,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{22:q,24:$,26:G,38:X,42:K,46:Z,54:[1,197],61:J,69:Q,72:178,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{22:q,24:$,26:G,38:X,42:K,46:Z,56:[1,198],61:J,69:Q,72:178,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{22:q,24:$,26:G,38:X,42:K,46:Z,58:[1,199],61:J,69:Q,72:178,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{22:q,24:$,26:G,38:X,42:K,46:Z,60:[1,200],61:J,69:Q,72:178,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{22:q,24:$,26:G,38:X,39:201,42:K,46:Z,61:J,69:Q,72:106,73:ee,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{22:q,24:$,26:G,38:X,41:[1,202],42:K,46:Z,61:J,69:Q,72:178,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{22:q,24:$,26:G,38:X,42:K,46:Z,61:J,63:[1,203],65:[1,204],69:Q,72:178,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{22:q,24:$,26:G,38:X,42:K,46:Z,61:J,63:[1,206],65:[1,205],69:Q,72:178,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{9:207,20:R,21:I,23:L},e(B,[2,48],{46:Ee}),e(V,[2,71]),e(V,[2,70]),{22:q,24:$,26:G,38:X,42:K,46:Z,61:J,69:Q,71:[1,208],72:178,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},e(V,[2,73]),e(Ae,[2,77]),{22:q,24:$,26:G,38:X,39:209,42:K,46:Z,61:J,69:Q,72:106,73:ee,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},e(Oe,a,{17:210}),e(D,[2,43]),{45:211,46:d,48:38,80:b,91:v,92:x,95:w,96:_,97:k,99:O,100:E,104:39,106:S,107:C,108:T,109:j,110:A,111:M},{22:Ne,75:De,85:212,88:Re,91:Ie,93:213,94:214,95:Le,96:Be,97:Fe,98:ze,99:Ue,100:He,101:We},e(Me,[2,139]),{22:Ne,75:De,85:226,88:Re,91:Ie,93:213,94:214,95:Le,96:Be,97:Fe,98:ze,99:Ue,100:He,101:We},{22:Ne,75:De,85:227,88:Re,90:[1,228],91:Ie,93:213,94:214,95:Le,96:Be,97:Fe,98:ze,99:Ue,100:He,101:We},{22:Ne,75:De,85:229,88:Re,90:[1,230],91:Ie,93:213,94:214,95:Le,96:Be,97:Fe,98:ze,99:Ue,100:He,101:We},{91:[1,231]},{22:Ne,75:De,85:232,88:Re,91:Ie,93:213,94:214,95:Le,96:Be,97:Fe,98:ze,99:Ue,100:He,101:We},{22:Ne,75:De,85:233,88:Re,91:Ie,93:213,94:214,95:Le,96:Be,97:Fe,98:ze,99:Ue,100:He,101:We},{26:Se,46:Z,80:Ce,86:234,91:ue,92:le,95:fe,96:de,97:Te,99:pe,100:ge,103:149,105:147,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{26:Se,46:Z,73:[1,236],80:Ce,86:235,91:ue,92:le,95:fe,96:de,97:Te,99:pe,100:ge,103:149,105:147,106:be,107:ve,108:xe,109:we,110:_e,111:ke},e(z,[2,54]),{22:q,24:$,26:G,38:X,42:K,46:Z,50:[1,237],61:J,69:Q,72:178,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},e(z,[2,60]),e(z,[2,56]),e(z,[2,57]),e(z,[2,58]),e(z,[2,59]),e(z,[2,61]),{22:q,24:$,26:G,38:X,42:K,46:Z,60:[1,238],61:J,69:Q,72:178,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},e(z,[2,63]),e(z,[2,64]),e(z,[2,66]),e(z,[2,65]),e(z,[2,67]),e(je,[2,4]),e([22,46,80,91,92,95,96,97,99,100,106,107,108,109,110,111],[2,75]),{22:q,24:$,26:G,38:X,41:[1,239],42:K,46:Z,61:J,69:Q,72:178,74:117,75:te,76:ne,77:re,78:ie,79:oe,80:ae,81:se,83:108,84:ce,91:ue,92:le,95:fe,96:de,97:he,99:pe,100:ge,101:ye,102:me,103:114,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{18:18,19:19,20:s,21:c,22:u,23:l,32:24,33:25,34:26,35:27,36:28,37:29,38:f,42:[1,240],44:31,45:37,46:d,48:38,75:h,76:p,77:g,78:y,79:m,80:b,91:v,92:x,95:w,96:_,97:k,99:O,100:E,104:39,106:S,107:C,108:T,109:j,110:A,111:M},e(F,[2,52]),e(H,[2,101],{92:Ye}),e(Ve,[2,111],{94:242,22:Ne,75:De,88:Re,91:Ie,95:Le,96:Be,97:Fe,98:ze,99:Ue,100:He,101:We}),e(qe,[2,113]),e(qe,[2,115]),e(qe,[2,116]),e(qe,[2,117]),e(qe,[2,118]),e(qe,[2,119]),e(qe,[2,120]),e(qe,[2,121]),e(qe,[2,122]),e(qe,[2,123]),e(qe,[2,124]),e(qe,[2,125]),e(H,[2,102],{92:Ye}),e(H,[2,103],{92:Ye}),{22:[1,243]},e(H,[2,104],{92:Ye}),{22:[1,244]},e(Pe,[2,110]),e(H,[2,92],{92:Ye}),e(H,[2,93],{92:Ye}),e(H,[2,94],{103:149,105:184,26:Se,46:Z,80:Ce,91:ue,92:le,95:fe,96:de,97:Te,99:pe,100:ge,106:be,107:ve,108:xe,109:we,110:_e,111:ke}),e(H,[2,95],{103:149,105:184,22:[1,245],26:Se,46:Z,80:Ce,91:ue,92:le,95:fe,96:de,97:Te,99:pe,100:ge,106:be,107:ve,108:xe,109:we,110:_e,111:ke}),e(H,[2,97],{22:[1,246]}),{50:[1,247]},{60:[1,248]},{9:249,20:R,21:I,23:L},e(D,[2,42]),{22:Ne,75:De,88:Re,91:Ie,93:250,94:214,95:Le,96:Be,97:Fe,98:ze,99:Ue,100:He,101:We},e(qe,[2,114]),{26:Se,46:Z,80:Ce,86:251,91:ue,92:le,95:fe,96:de,97:Te,99:pe,100:ge,103:149,105:147,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{26:Se,46:Z,80:Ce,86:252,91:ue,92:le,95:fe,96:de,97:Te,99:pe,100:ge,103:149,105:147,106:be,107:ve,108:xe,109:we,110:_e,111:ke},{73:[1,253]},{73:[1,254],87:[1,255]},e(z,[2,55]),e(z,[2,62]),e(Oe,a,{17:256}),e(Ve,[2,112],{94:242,22:Ne,75:De,88:Re,91:Ie,95:Le,96:Be,97:Fe,98:ze,99:Ue,100:He,101:We}),e(H,[2,107],{103:149,105:184,22:[1,257],26:Se,46:Z,80:Ce,91:ue,92:le,95:fe,96:de,97:Te,99:pe,100:ge,106:be,107:ve,108:xe,109:we,110:_e,111:ke}),e(H,[2,108],{103:149,105:184,22:[1,258],26:Se,46:Z,80:Ce,91:ue,92:le,95:fe,96:de,97:Te,99:pe,100:ge,106:be,107:ve,108:xe,109:we,110:_e,111:ke}),e(H,[2,96]),e(H,[2,98],{22:[1,259]}),e(H,[2,99]),{18:18,19:19,20:s,21:c,22:u,23:l,32:24,33:25,34:26,35:27,36:28,37:29,38:f,42:[1,260],44:31,45:37,46:d,48:38,75:h,76:p,77:g,78:y,79:m,80:b,91:v,92:x,95:w,96:_,97:k,99:O,100:E,104:39,106:S,107:C,108:T,109:j,110:A,111:M},{22:Ne,75:De,85:261,88:Re,91:Ie,93:213,94:214,95:Le,96:Be,97:Fe,98:ze,99:Ue,100:He,101:We},{22:Ne,75:De,85:262,88:Re,91:Ie,93:213,94:214,95:Le,96:Be,97:Fe,98:ze,99:Ue,100:He,101:We},{87:[1,263]},e(D,[2,41]),e(H,[2,105],{92:Ye}),e(H,[2,106],{92:Ye}),e(H,[2,100])],defaultActions:{2:[2,1],9:[2,5],10:[2,2],98:[2,7]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],r=[],i=[null],o=[],a=this.table,s=\"\",c=0,u=0,l=0,f=2,d=1,h=o.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(e,g.yy),g.yy.lexer=p,g.yy.parser=this,\"undefined\"==typeof p.yylloc&&(p.yylloc={});var m=p.yylloc;o.push(m);var b=p.options&&p.options.ranges;function v(){var e;return\"number\"!==typeof(e=r.pop()||p.lex()||d)&&(e instanceof Array&&(e=(r=e).pop()),e=t.symbols_[e]||e),e}\"function\"===typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,w,_,k,O,E,S,C,T,j={};;){if(_=n[n.length-1],this.defaultActions[_]?k=this.defaultActions[_]:(null!==x&&\"undefined\"!=typeof x||(x=v()),k=a[_]&&a[_][x]),\"undefined\"===typeof k||!k.length||!k[0]){var A=\"\";for(E in T=[],a[_])this.terminals_[E]&&E>f&&T.push(\"'\"+this.terminals_[E]+\"'\");A=p.showPosition?\"Parse error on line \"+(c+1)+\":\\n\"+p.showPosition()+\"\\nExpecting \"+T.join(\", \")+\", got '\"+(this.terminals_[x]||x)+\"'\":\"Parse error on line \"+(c+1)+\": Unexpected \"+(x==d?\"end of input\":\"'\"+(this.terminals_[x]||x)+\"'\"),this.parseError(A,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:T})}if(k[0]instanceof Array&&k.length>1)throw new Error(\"Parse Error: multiple actions possible at state: \"+_+\", token: \"+x);switch(k[0]){case 1:n.push(x),i.push(p.yytext),o.push(p.yylloc),n.push(k[1]),x=null,w?(x=w,w=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,m=p.yylloc,l>0&&l--);break;case 2:if(S=this.productions_[k[1]][1],j.$=i[i.length-S],j._$={first_line:o[o.length-(S||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(S||1)].first_column,last_column:o[o.length-1].last_column},b&&(j._$.range=[o[o.length-(S||1)].range[0],o[o.length-1].range[1]]),\"undefined\"!==typeof(O=this.performAction.apply(j,[s,u,c,g.yy,k[1],i,o].concat(h))))return O;S&&(n=n.slice(0,-1*S*2),i=i.slice(0,-1*S),o=o.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),i.push(j.$),o.push(j._$),C=a[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0}},Ge={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\"\",this.conditionStack=[\"INITIAL\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\\r\\n?|\\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\\r\\n?|\\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\\r\\n?|\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?\"...\":\"\")+e.substr(-20).replace(/\\n/g,\"\")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?\"...\":\"\")).replace(/\\n/g,\"\")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join(\"-\");return e+this.upcomingInput()+\"\\n\"+t+\"^\"},test_match:function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=e[0].match(/(?:\\r\\n?|\\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\\r?\\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var o in i)this[o]=i[o];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,r;this._input||(this.done=!0),this._more||(this.yytext=\"\",this.match=\"\");for(var i=this._currentRules(),o=0;o<i.length;o++)if((n=this._input.match(this.rules[i[o]]))&&(!t||n[0].length>t[0].length)){if(t=n,r=o,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,i[o])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,i[r]))&&e:\"\"===this._input?this.EOF:this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". Unrecognized text.\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:\"INITIAL\"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,n,r){switch(n){case 0:return this.begin(\"open_directive\"),12;case 1:return this.begin(\"type_directive\"),13;case 2:return this.popState(),this.begin(\"arg_directive\"),10;case 3:return this.popState(),this.popState(),15;case 4:return 14;case 5:case 6:break;case 7:this.begin(\"string\");break;case 8:this.popState();break;case 9:return\"STR\";case 10:return 75;case 11:return 84;case 12:return 76;case 13:return 90;case 14:return 77;case 15:return 78;case 16:return 79;case 17:case 18:return e.lex.firstGraph()&&this.begin(\"dir\"),24;case 19:return 38;case 20:return 42;case 21:case 22:case 23:case 24:return 87;case 25:return this.popState(),25;case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:return this.popState(),26;case 36:return 91;case 37:return 99;case 38:return 47;case 39:return 96;case 40:return 46;case 41:return 20;case 42:return 92;case 43:return 110;case 44:case 45:case 46:return 70;case 47:case 48:case 49:return 69;case 50:return 51;case 51:return 52;case 52:return 53;case 53:return 54;case 54:return 55;case 55:return 56;case 56:return 57;case 57:return 58;case 58:return 97;case 59:return 100;case 60:return 111;case 61:return 108;case 62:return 101;case 63:case 64:return 109;case 65:return 102;case 66:return 61;case 67:return 81;case 68:return\"SEP\";case 69:return 80;case 70:return 95;case 71:return 63;case 72:return 62;case 73:return 65;case 74:return 64;case 75:return 106;case 76:return 107;case 77:return 71;case 78:return 49;case 79:return 50;case 80:return 40;case 81:return 41;case 82:return 59;case 83:return 60;case 84:return 117;case 85:return 21;case 86:return 22;case 87:return 23}},rules:[/^(?:%%\\{)/,/^(?:((?:(?!\\}%%)[^:.])*))/,/^(?::)/,/^(?:\\}%%)/,/^(?:((?:(?!\\}%%).|\\n)*))/,/^(?:%%(?!\\{)[^\\n]*)/,/^(?:[^\\}]%%[^\\n]*)/,/^(?:[\"])/,/^(?:[\"])/,/^(?:[^\"]*)/,/^(?:style\\b)/,/^(?:default\\b)/,/^(?:linkStyle\\b)/,/^(?:interpolate\\b)/,/^(?:classDef\\b)/,/^(?:class\\b)/,/^(?:click\\b)/,/^(?:graph\\b)/,/^(?:flowchart\\b)/,/^(?:subgraph\\b)/,/^(?:end\\b\\s*)/,/^(?:_self\\b)/,/^(?:_blank\\b)/,/^(?:_parent\\b)/,/^(?:_top\\b)/,/^(?:(\\r?\\n)*\\s*\\n)/,/^(?:\\s*LR\\b)/,/^(?:\\s*RL\\b)/,/^(?:\\s*TB\\b)/,/^(?:\\s*BT\\b)/,/^(?:\\s*TD\\b)/,/^(?:\\s*BR\\b)/,/^(?:\\s*<)/,/^(?:\\s*>)/,/^(?:\\s*\\^)/,/^(?:\\s*v\\b)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\\*)/,/^(?:\\s*[xo<]?--+[-xo>]\\s*)/,/^(?:\\s*[xo<]?==+[=xo>]\\s*)/,/^(?:\\s*[xo<]?-?\\.+-[xo>]?\\s*)/,/^(?:\\s*[xo<]?--\\s*)/,/^(?:\\s*[xo<]?==\\s*)/,/^(?:\\s*[xo<]?-\\.\\s*)/,/^(?:\\(-)/,/^(?:-\\))/,/^(?:\\(\\[)/,/^(?:\\]\\))/,/^(?:\\[\\[)/,/^(?:\\]\\])/,/^(?:\\[\\()/,/^(?:\\)\\])/,/^(?:-)/,/^(?:\\.)/,/^(?:[\\_])/,/^(?:\\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:<)/,/^(?:>)/,/^(?:\\^)/,/^(?:\\\\\\|)/,/^(?:v\\b)/,/^(?:[A-Za-z]+)/,/^(?:\\\\\\])/,/^(?:\\[\\/)/,/^(?:\\/\\])/,/^(?:\\[\\\\)/,/^(?:[!\"#$%&'*+,-.`?\\\\_/])/,/^(?:[\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6]|[\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377]|[\\u037A-\\u037D\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5]|[\\u03F7-\\u0481\\u048A-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA]|[\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE]|[\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA]|[\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0]|[\\u08A2-\\u08AC\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0977]|[\\u0979-\\u097F\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2]|[\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A]|[\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39]|[\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8]|[\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C]|[\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C]|[\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99]|[\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0]|[\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C33\\u0C35-\\u0C39\\u0C3D]|[\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3]|[\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10]|[\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1]|[\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81]|[\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3]|[\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6]|[\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A]|[\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081]|[\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D]|[\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0]|[\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310]|[\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C]|[\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u1700-\\u170C\\u170E-\\u1711]|[\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7]|[\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191C]|[\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16]|[\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF]|[\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC]|[\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D]|[\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D]|[\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3]|[\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F]|[\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128]|[\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184]|[\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3]|[\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6]|[\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE]|[\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C]|[\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D]|[\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC]|[\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B]|[\\uA640-\\uA66E\\uA67F-\\uA697\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788]|[\\uA78B-\\uA78E\\uA790-\\uA793\\uA7A0-\\uA7AA\\uA7F8-\\uA801\\uA803-\\uA805]|[\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB]|[\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uAA00-\\uAA28]|[\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA80-\\uAAAF\\uAAB1\\uAAB5]|[\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4]|[\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E]|[\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D]|[\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36]|[\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D]|[\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC]|[\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF]|[\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC])/,/^(?:\\|)/,/^(?:\\()/,/^(?:\\))/,/^(?:\\[)/,/^(?:\\])/,/^(?:\\{)/,/^(?:\\})/,/^(?:\")/,/^(?:(\\r?\\n)+)/,/^(?:\\s)/,/^(?:$)/],conditions:{close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},vertex:{rules:[],inclusive:!1},dir:{rules:[25,26,27,28,29,30,31,32,33,34,35],inclusive:!1},string:{rules:[8,9],inclusive:!1},INITIAL:{rules:[0,5,6,7,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87],inclusive:!0}}};function Xe(){this.yy={}}return $e.lexer=Ge,Xe.prototype=$e,$e.Parser=Xe,new Xe}();t.parser=i,t.Parser=i.Parser,t.parse=function(){return i.parse.apply(i,arguments)},t.main=function(r){r[1]||(console.log(\"Usage: \"+r[0]+\" FILE\"),e.exit(1));var i=n(\"./node_modules/node-libs-browser/mock/empty.js\").readFileSync(n(\"./node_modules/path-browserify/index.js\").normalize(r[1]),\"utf8\");return t.parser.parse(i)},n.c[n.s]===r&&t.main(e.argv.slice(1))}).call(this,n(\"./node_modules/process/browser.js\"),n(\"./node_modules/webpack/buildin/module.js\")(e))},\"./src/diagrams/flowchart/styles.js\":function(e,t,n){\"use strict\";n.r(t),t.default=function(e){return\".label {\\n    font-family: \".concat(e.fontFamily,\";\\n    color: \").concat(e.nodeTextColor||e.textColor,\";\\n  }\\n\\n  .label text {\\n    fill: \").concat(e.nodeTextColor||e.textColor,\";\\n  }\\n\\n  .node rect,\\n  .node circle,\\n  .node ellipse,\\n  .node polygon,\\n  .node path {\\n    fill: \").concat(e.mainBkg,\";\\n    stroke: \").concat(e.nodeBorder,\";\\n    stroke-width: 1px;\\n  }\\n\\n  .node .label {\\n    text-align: center;\\n  }\\n  .node.clickable {\\n    cursor: pointer;\\n  }\\n\\n  .arrowheadPath {\\n    fill: \").concat(e.arrowheadColor,\";\\n  }\\n\\n  .edgePath .path {\\n    stroke: \").concat(e.lineColor,\";\\n    stroke-width: 1.5px;\\n  }\\n\\n  .flowchart-link {\\n    stroke: \").concat(e.lineColor,\";\\n    fill: none;\\n  }\\n\\n  .edgeLabel {\\n    background-color: \").concat(e.edgeLabelBackground,\";\\n    rect {\\n      opacity: 0.5;\\n      background-color: \").concat(e.edgeLabelBackground,\";\\n      fill: \").concat(e.edgeLabelBackground,\";\\n    }\\n    text-align: center;\\n  }\\n\\n  .cluster rect {\\n    fill: \").concat(e.clusterBkg,\";\\n    stroke: \").concat(e.clusterBorder,\";\\n    stroke-width: 1px;\\n  }\\n\\n  .cluster text {\\n    fill: \").concat(e.titleColor,\";\\n  }\\n\\n  div.mermaidTooltip {\\n    position: absolute;\\n    text-align: center;\\n    max-width: 200px;\\n    padding: 2px;\\n    font-family: \").concat(e.fontFamily,\";\\n    font-size: 12px;\\n    background: \").concat(e.tertiaryColor,\";\\n    border: 1px solid \").concat(e.border2,\";\\n    border-radius: 2px;\\n    pointer-events: none;\\n    z-index: 100;\\n  }\\n\")}},\"./src/diagrams/gantt/ganttDb.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"parseDirective\",(function(){return E})),n.d(t,\"clear\",(function(){return S})),n.d(t,\"setAxisFormat\",(function(){return C})),n.d(t,\"getAxisFormat\",(function(){return T})),n.d(t,\"setTodayMarker\",(function(){return j})),n.d(t,\"getTodayMarker\",(function(){return A})),n.d(t,\"setDateFormat\",(function(){return M})),n.d(t,\"enableInclusiveEndDates\",(function(){return P})),n.d(t,\"endDatesAreInclusive\",(function(){return N})),n.d(t,\"getDateFormat\",(function(){return D})),n.d(t,\"setExcludes\",(function(){return R})),n.d(t,\"getExcludes\",(function(){return I})),n.d(t,\"setTitle\",(function(){return L})),n.d(t,\"getTitle\",(function(){return B})),n.d(t,\"addSection\",(function(){return F})),n.d(t,\"getSections\",(function(){return z})),n.d(t,\"getTasks\",(function(){return U})),n.d(t,\"addTask\",(function(){return J})),n.d(t,\"findTaskById\",(function(){return Q})),n.d(t,\"addTaskOrg\",(function(){return ee})),n.d(t,\"setLink\",(function(){return ne})),n.d(t,\"setClass\",(function(){return re})),n.d(t,\"setClickEvent\",(function(){return oe})),n.d(t,\"bindFunctions\",(function(){return ae}));var r=n(\"moment-mini\"),i=n.n(r),o=n(\"@braintree/sanitize-url\"),a=n(\"./src/logger.js\"),s=n(\"./src/config.js\"),c=n(\"./src/utils.js\"),u=n(\"./src/mermaidAPI.js\");function l(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||\"[object Arguments]\"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance\")}()}var f,d,h=\"\",p=\"\",g=\"\",y=[],m=\"\",b=[],v=[],x=\"\",w=[\"active\",\"done\",\"crit\",\"milestone\"],_=[],k=!1,O=0,E=function(e,t,n){u.default.parseDirective(this,e,t,n)},S=function(){b=[],v=[],x=\"\",_=[],m=\"\",G=0,f=void 0,d=void 0,K=[],h=\"\",p=\"\",g=\"\",y=[],k=!1,O=0},C=function(e){p=e},T=function(){return p},j=function(e){g=e},A=function(){return g},M=function(e){h=e},P=function(){k=!0},N=function(){return k},D=function(){return h},R=function(e){y=e.toLowerCase().split(/[\\s,]+/)},I=function(){return y},L=function(e){m=e},B=function(){return m},F=function(e){x=e,b.push(e)},z=function(){return b},U=function(){for(var e=te(),t=0;!e&&t<10;)e=te(),t++;return v=K},H=function(e,t,n){return e.isoWeekday()>=6&&n.indexOf(\"weekends\")>=0||n.indexOf(e.format(\"dddd\").toLowerCase())>=0||n.indexOf(e.format(t.trim()))>=0},W=function(e,t,n){if(n.length&&!e.manualEndTime){var r=i()(e.startTime,t,!0);r.add(1,\"d\");var o=i()(e.endTime,t,!0),a=Y(r,o,t,n);e.endTime=o.toDate(),e.renderEndTime=a}},Y=function(e,t,n,r){for(var i=!1,o=null;e<=t;)i||(o=t.toDate()),(i=H(e,n,r))&&t.add(1,\"d\"),e.add(1,\"d\");return o},V=function(e,t,n){n=n.trim();var r=/^after\\s+([\\d\\w- ]+)/.exec(n.trim());if(null!==r){var o=null;if(r[1].split(\" \").forEach((function(e){var t=Q(e);\"undefined\"!==typeof t&&(o?t.endTime>o.endTime&&(o=t):o=t)})),o)return o.endTime;var s=new Date;return s.setHours(0,0,0,0),s}var c=i()(n,t.trim(),!0);return c.isValid()?c.toDate():(a.logger.debug(\"Invalid date:\"+n),a.logger.debug(\"With date format:\"+t.trim()),new Date)},q=function(e,t){if(null!==e)switch(e[2]){case\"s\":t.add(e[1],\"seconds\");break;case\"m\":t.add(e[1],\"minutes\");break;case\"h\":t.add(e[1],\"hours\");break;case\"d\":t.add(e[1],\"days\");break;case\"w\":t.add(e[1],\"weeks\")}return t.toDate()},$=function(e,t,n,r){r=r||!1,n=n.trim();var o=i()(n,t.trim(),!0);return o.isValid()?(r&&o.add(1,\"d\"),o.toDate()):q(/^([\\d]+)([wdhms])/.exec(n.trim()),i()(e))},G=0,X=function(e){return\"undefined\"===typeof e?\"task\"+(G+=1):e},K=[],Z={},J=function(e,t){var n={section:x,type:x,processed:!1,manualEndTime:!1,renderEndTime:null,raw:{data:t},task:e,classes:[]},r=function(e,t){var n=(\":\"===t.substr(0,1)?t.substr(1,t.length):t).split(\",\"),r={};se(n,r,w);for(var i=0;i<n.length;i++)n[i]=n[i].trim();switch(n.length){case 1:r.id=X(),r.startTime={type:\"prevTaskEnd\",id:e},r.endTime={data:n[0]};break;case 2:r.id=X(),r.startTime={type:\"getStartDate\",startData:n[0]},r.endTime={data:n[1]};break;case 3:r.id=X(n[0]),r.startTime={type:\"getStartDate\",startData:n[1]},r.endTime={data:n[2]}}return r}(d,t);n.raw.startTime=r.startTime,n.raw.endTime=r.endTime,n.id=r.id,n.prevTaskId=d,n.active=r.active,n.done=r.done,n.crit=r.crit,n.milestone=r.milestone,n.order=O,O++;var i=K.push(n);d=n.id,Z[n.id]=i-1},Q=function(e){var t=Z[e];return K[t]},ee=function(e,t){var n={section:x,type:x,description:e,task:e,classes:[]},r=function(e,t){var n=(\":\"===t.substr(0,1)?t.substr(1,t.length):t).split(\",\"),r={};se(n,r,w);for(var o=0;o<n.length;o++)n[o]=n[o].trim();var a=\"\";switch(n.length){case 1:r.id=X(),r.startTime=e.endTime,a=n[0];break;case 2:r.id=X(),r.startTime=V(0,h,n[0]),a=n[1];break;case 3:r.id=X(n[0]),r.startTime=V(0,h,n[1]),a=n[2]}return a&&(r.endTime=$(r.startTime,h,a,k),r.manualEndTime=i()(a,\"YYYY-MM-DD\",!0).isValid(),W(r,h,y)),r}(f,t);n.startTime=r.startTime,n.endTime=r.endTime,n.id=r.id,n.active=r.active,n.done=r.done,n.crit=r.crit,n.milestone=r.milestone,f=n,v.push(n)},te=function(){for(var e=function(e){var t=K[e],n=\"\";switch(K[e].raw.startTime.type){case\"prevTaskEnd\":var r=Q(t.prevTaskId);t.startTime=r.endTime;break;case\"getStartDate\":(n=V(0,h,K[e].raw.startTime.startData))&&(K[e].startTime=n)}return K[e].startTime&&(K[e].endTime=$(K[e].startTime,h,K[e].raw.endTime.data,k),K[e].endTime&&(K[e].processed=!0,K[e].manualEndTime=i()(K[e].raw.endTime.data,\"YYYY-MM-DD\",!0).isValid(),W(K[e],h,y))),K[e].processed},t=!0,n=0;n<K.length;n++)e(n),t=t&&K[n].processed;return t},ne=function(e,t){var n=t;\"loose\"!==s.getConfig().securityLevel&&(n=Object(o.sanitizeUrl)(t)),e.split(\",\").forEach((function(e){\"undefined\"!==typeof Q(e)&&ie(e,(function(){window.open(n,\"_self\")}))})),re(e,\"clickable\")},re=function(e,t){e.split(\",\").forEach((function(e){var n=Q(e);\"undefined\"!==typeof n&&n.classes.push(t)}))},ie=function(e,t){_.push((function(){var n=document.querySelector('[id=\"'.concat(e,'\"]'));null!==n&&n.addEventListener(\"click\",(function(){t()}))})),_.push((function(){var n=document.querySelector('[id=\"'.concat(e,'-text\"]'));null!==n&&n.addEventListener(\"click\",(function(){t()}))}))},oe=function(e,t,n){e.split(\",\").forEach((function(e){!function(e,t,n){if(\"loose\"===s.getConfig().securityLevel&&\"undefined\"!==typeof t){var r=[];if(\"string\"===typeof n){r=n.split(/,(?=(?:(?:[^\"]*\"){2})*[^\"]*$)/);for(var i=0;i<r.length;i++){var o=r[i].trim();'\"'===o.charAt(0)&&'\"'===o.charAt(o.length-1)&&(o=o.substr(1,o.length-2)),r[i]=o}}0===r.length&&r.push(e),\"undefined\"!==typeof Q(e)&&ie(e,(function(){c.default.runFunc.apply(c.default,[t].concat(l(r)))}))}}(e,t,n)})),re(e,\"clickable\")},ae=function(e){_.forEach((function(t){t(e)}))};function se(e,t,n){for(var r=!0;r;)r=!1,n.forEach((function(n){var i=new RegExp(\"^\\\\s*\"+n+\"\\\\s*$\");e[0].match(i)&&(t[n]=!0,e.shift(1),r=!0)}))}t.default={parseDirective:E,getConfig:function(){return s.getConfig().gantt},clear:S,setDateFormat:M,getDateFormat:D,enableInclusiveEndDates:P,endDatesAreInclusive:N,setAxisFormat:C,getAxisFormat:T,setTodayMarker:j,getTodayMarker:A,setTitle:L,getTitle:B,addSection:F,getSections:z,getTasks:U,addTask:J,findTaskById:Q,addTaskOrg:ee,setExcludes:R,getExcludes:I,setClickEvent:oe,setLink:ne,bindFunctions:ae,durationToDate:q}},\"./src/diagrams/gantt/ganttRenderer.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"setConf\",(function(){return l})),n.d(t,\"draw\",(function(){return f}));var r=n(\"d3\"),i=n(\"./src/diagrams/gantt/parser/gantt.jison\"),o=n(\"./src/diagrams/common/common.js\"),a=n(\"./src/diagrams/gantt/ganttDb.js\"),s=n(\"./src/utils.js\");i.parser.yy=a.default;var c,u={titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'\"Open-Sans\", \"sans-serif\"'},l=function(e){Object.keys(e).forEach((function(t){u[t]=e[t]}))},f=function(e,t){i.parser.yy.clear(),i.parser.parse(e);var n=document.getElementById(t);\"undefined\"===typeof(c=n.parentElement.offsetWidth)&&(c=1200),\"undefined\"!==typeof u.useWidth&&(c=u.useWidth);var l=i.parser.yy.getTasks(),f=l.length*(u.barHeight+u.barGap)+2*u.topPadding;n.setAttribute(\"viewBox\",\"0 0 \"+c+\" \"+f);for(var d=Object(r.select)('[id=\"'.concat(t,'\"]')),h=Object(r.scaleTime)().domain([Object(r.min)(l,(function(e){return e.startTime})),Object(r.max)(l,(function(e){return e.endTime}))]).rangeRound([0,c-u.leftPadding-u.rightPadding]),p=[],g=0;g<l.length;g++)p.push(l[g].type);var y=p;function m(e,t){return function(e){for(var t=e.length,n={};t;)n[e[--t]]=(n[e[t]]||0)+1;return n}(t)[e]||0}p=function(e){for(var t={},n=[],r=0,i=e.length;r<i;++r)t.hasOwnProperty(e[r])||(t[e[r]]=!0,n.push(e[r]));return n}(p),l.sort((function(e,t){var n=e.startTime,r=t.startTime,i=0;return n>r?i=1:n<r&&(i=-1),i})),function(e,t,n){var s=u.barHeight,c=s+u.barGap,l=u.topPadding,f=u.leftPadding;Object(r.scaleLinear)().domain([0,p.length]).range([\"#00B9FA\",\"#F95002\"]).interpolate(r.interpolateHcl),function(e,t,n,o){var a=Object(r.axisBottom)(h).tickSize(-o+t+u.gridLineStartPadding).tickFormat(Object(r.timeFormat)(i.parser.yy.getAxisFormat()||u.axisFormat||\"%Y-%m-%d\"));d.append(\"g\").attr(\"class\",\"grid\").attr(\"transform\",\"translate(\"+e+\", \"+(o-50)+\")\").call(a).selectAll(\"text\").style(\"text-anchor\",\"middle\").attr(\"fill\",\"#000\").attr(\"stroke\",\"none\").attr(\"font-size\",10).attr(\"dy\",\"1em\")}(f,l,0,n),function(e,t,n,r,i,o,a){d.append(\"g\").selectAll(\"rect\").data(e).enter().append(\"rect\").attr(\"x\",0).attr(\"y\",(function(e,r){return e.order*t+n-2})).attr(\"width\",(function(){return a-u.rightPadding/2})).attr(\"height\",t).attr(\"class\",(function(e){for(var t=0;t<p.length;t++)if(e.type===p[t])return\"section section\"+t%u.numberSectionStyles;return\"section section0\"}));var s=d.append(\"g\").selectAll(\"rect\").data(e).enter();s.append(\"rect\").attr(\"id\",(function(e){return e.id})).attr(\"rx\",3).attr(\"ry\",3).attr(\"x\",(function(e){return e.milestone?h(e.startTime)+r+.5*(h(e.endTime)-h(e.startTime))-.5*i:h(e.startTime)+r})).attr(\"y\",(function(e,r){return e.order*t+n})).attr(\"width\",(function(e){return e.milestone?i:h(e.renderEndTime||e.endTime)-h(e.startTime)})).attr(\"height\",i).attr(\"transform-origin\",(function(e,o){return(h(e.startTime)+r+.5*(h(e.endTime)-h(e.startTime))).toString()+\"px \"+(o*t+n+.5*i).toString()+\"px\"})).attr(\"class\",(function(e){var t=\"task\",n=\"\";e.classes.length>0&&(n=e.classes.join(\" \"));for(var r=0,i=0;i<p.length;i++)e.type===p[i]&&(r=i%u.numberSectionStyles);var o=\"\";return e.active?e.crit?o+=\" activeCrit\":o=\" active\":e.done?o=e.crit?\" doneCrit\":\" done\":e.crit&&(o+=\" crit\"),0===o.length&&(o=\" task\"),e.milestone&&(o=\" milestone \"+o),o+=r,t+(o+=\" \"+n)})),s.append(\"text\").attr(\"id\",(function(e){return e.id+\"-text\"})).text((function(e){return e.task})).attr(\"font-size\",u.fontSize).attr(\"x\",(function(e){var t=h(e.startTime),n=h(e.renderEndTime||e.endTime);e.milestone&&(t+=.5*(h(e.endTime)-h(e.startTime))-.5*i),e.milestone&&(n=t+i);var o=this.getBBox().width;return o>n-t?n+o+1.5*u.leftPadding>a?t+r-5:n+r+5:(n-t)/2+t+r})).attr(\"y\",(function(e,r){return e.order*t+u.barHeight/2+(u.fontSize/2-2)+n})).attr(\"text-height\",i).attr(\"class\",(function(e){var t=h(e.startTime),n=h(e.endTime);e.milestone&&(n=t+i);var r=this.getBBox().width,o=\"\";e.classes.length>0&&(o=e.classes.join(\" \"));for(var s=0,c=0;c<p.length;c++)e.type===p[c]&&(s=c%u.numberSectionStyles);var l=\"\";return e.active&&(l=e.crit?\"activeCritText\"+s:\"activeText\"+s),e.done?l=e.crit?l+\" doneCritText\"+s:l+\" doneText\"+s:e.crit&&(l=l+\" critText\"+s),e.milestone&&(l+=\" milestoneText\"),r>n-t?n+r+1.5*u.leftPadding>a?o+\" taskTextOutsideLeft taskTextOutside\"+s+\" \"+l:o+\" taskTextOutsideRight taskTextOutside\"+s+\" \"+l+\" width-\"+r:o+\" taskText taskText\"+s+\" \"+l+\" width-\"+r}))}(e,c,l,f,s,0,t),function(e,t){for(var n=[],r=0,i=0;i<p.length;i++)n[i]=[p[i],m(p[i],y)];d.append(\"g\").selectAll(\"text\").data(n).enter().append((function(e){var t=e[0].split(o.default.lineBreakRegex),n=-(t.length-1)/2,r=document.createElementNS(\"http://www.w3.org/2000/svg\",\"text\");r.setAttribute(\"dy\",n+\"em\");for(var i=0;i<t.length;i++){var a=document.createElementNS(\"http://www.w3.org/2000/svg\",\"tspan\");a.setAttribute(\"alignment-baseline\",\"central\"),a.setAttribute(\"x\",\"10\"),i>0&&a.setAttribute(\"dy\",\"1em\"),a.textContent=t[i],r.appendChild(a)}return r})).attr(\"x\",10).attr(\"y\",(function(i,o){if(!(o>0))return i[1]*e/2+t;for(var a=0;a<o;a++)return r+=n[o-1][1],i[1]*e/2+r*e+t})).attr(\"class\",(function(e){for(var t=0;t<p.length;t++)if(e[0]===p[t])return\"sectionTitle sectionTitle\"+t%u.numberSectionStyles;return\"sectionTitle\"}))}(c,l),function(e,t,n,r){var i=a.default.getTodayMarker();if(\"off\"!==i){var o=d.append(\"g\").attr(\"class\",\"today\"),s=new Date,c=o.append(\"line\");c.attr(\"x1\",h(s)+e).attr(\"x2\",h(s)+e).attr(\"y1\",u.titleTopMargin).attr(\"y2\",r-u.titleTopMargin).attr(\"class\",\"today\"),\"\"!==i&&c.attr(\"style\",i.replace(/,/g,\";\"))}}(f,0,0,n)}(l,c,f),Object(s.configureSvgSize)(d,f,c,u.useMaxWidth),d.append(\"text\").text(i.parser.yy.getTitle()).attr(\"x\",c/2).attr(\"y\",u.titleTopMargin).attr(\"class\",\"titleText\")};t.default={setConf:l,draw:f}},\"./src/diagrams/gantt/parser/gantt.jison\":function(e,t,n){(function(e,r){var i=function(){var e=function(e,t,n,r){for(n=n||{},r=e.length;r--;n[e[r]]=t);return n},t=[1,3],n=[1,5],r=[7,9,11,12,13,14,15,16,17,18,20,27,32],i=[1,15],o=[1,16],a=[1,17],s=[1,18],c=[1,19],u=[1,20],l=[1,21],f=[1,23],d=[1,25],h=[1,28],p=[5,7,9,11,12,13,14,15,16,17,18,20,27,32],g={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,gantt:5,document:6,EOF:7,line:8,SPACE:9,statement:10,NL:11,dateFormat:12,inclusiveEndDates:13,axisFormat:14,excludes:15,todayMarker:16,title:17,section:18,clickStatement:19,taskTxt:20,taskData:21,openDirective:22,typeDirective:23,closeDirective:24,\":\":25,argDirective:26,click:27,callbackname:28,callbackargs:29,href:30,clickStatementDebug:31,open_directive:32,type_directive:33,arg_directive:34,close_directive:35,$accept:0,$end:1},terminals_:{2:\"error\",5:\"gantt\",7:\"EOF\",9:\"SPACE\",11:\"NL\",12:\"dateFormat\",13:\"inclusiveEndDates\",14:\"axisFormat\",15:\"excludes\",16:\"todayMarker\",17:\"title\",18:\"section\",20:\"taskTxt\",21:\"taskData\",25:\":\",27:\"click\",28:\"callbackname\",29:\"callbackargs\",30:\"href\",32:\"open_directive\",33:\"type_directive\",34:\"arg_directive\",35:\"close_directive\"},productions_:[0,[3,2],[3,3],[6,0],[6,2],[8,2],[8,1],[8,1],[8,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,1],[4,4],[4,6],[19,2],[19,3],[19,3],[19,4],[19,3],[19,4],[19,2],[31,2],[31,3],[31,3],[31,4],[31,3],[31,4],[31,2],[22,1],[23,1],[26,1],[24,1]],performAction:function(e,t,n,r,i,o,a){var s=o.length-1;switch(i){case 2:return o[s-1];case 3:case 7:case 8:this.$=[];break;case 4:o[s-1].push(o[s]),this.$=o[s-1];break;case 5:case 6:this.$=o[s];break;case 9:r.setDateFormat(o[s].substr(11)),this.$=o[s].substr(11);break;case 10:r.enableInclusiveEndDates(),this.$=o[s].substr(18);break;case 11:r.setAxisFormat(o[s].substr(11)),this.$=o[s].substr(11);break;case 12:r.setExcludes(o[s].substr(9)),this.$=o[s].substr(9);break;case 13:r.setTodayMarker(o[s].substr(12)),this.$=o[s].substr(12);break;case 14:r.setTitle(o[s].substr(6)),this.$=o[s].substr(6);break;case 15:r.addSection(o[s].substr(8)),this.$=o[s].substr(8);break;case 17:r.addTask(o[s-1],o[s]),this.$=\"task\";break;case 21:this.$=o[s-1],r.setClickEvent(o[s-1],o[s],null);break;case 22:this.$=o[s-2],r.setClickEvent(o[s-2],o[s-1],o[s]);break;case 23:this.$=o[s-2],r.setClickEvent(o[s-2],o[s-1],null),r.setLink(o[s-2],o[s]);break;case 24:this.$=o[s-3],r.setClickEvent(o[s-3],o[s-2],o[s-1]),r.setLink(o[s-3],o[s]);break;case 25:this.$=o[s-2],r.setClickEvent(o[s-2],o[s],null),r.setLink(o[s-2],o[s-1]);break;case 26:this.$=o[s-3],r.setClickEvent(o[s-3],o[s-1],o[s]),r.setLink(o[s-3],o[s-2]);break;case 27:this.$=o[s-1],r.setLink(o[s-1],o[s]);break;case 28:case 34:this.$=o[s-1]+\" \"+o[s];break;case 29:case 30:case 32:this.$=o[s-2]+\" \"+o[s-1]+\" \"+o[s];break;case 31:case 33:this.$=o[s-3]+\" \"+o[s-2]+\" \"+o[s-1]+\" \"+o[s];break;case 35:r.parseDirective(\"%%{\",\"open_directive\");break;case 36:r.parseDirective(o[s],\"type_directive\");break;case 37:o[s]=o[s].trim().replace(/'/g,'\"'),r.parseDirective(o[s],\"arg_directive\");break;case 38:r.parseDirective(\"}%%\",\"close_directive\",\"gantt\")}},table:[{3:1,4:2,5:t,22:4,32:n},{1:[3]},{3:6,4:2,5:t,22:4,32:n},e(r,[2,3],{6:7}),{23:8,33:[1,9]},{33:[2,35]},{1:[2,1]},{4:24,7:[1,10],8:11,9:[1,12],10:13,11:[1,14],12:i,13:o,14:a,15:s,16:c,17:u,18:l,19:22,20:f,22:4,27:d,32:n},{24:26,25:[1,27],35:h},e([25,35],[2,36]),e(r,[2,8],{1:[2,2]}),e(r,[2,4]),{4:24,10:29,12:i,13:o,14:a,15:s,16:c,17:u,18:l,19:22,20:f,22:4,27:d,32:n},e(r,[2,6]),e(r,[2,7]),e(r,[2,9]),e(r,[2,10]),e(r,[2,11]),e(r,[2,12]),e(r,[2,13]),e(r,[2,14]),e(r,[2,15]),e(r,[2,16]),{21:[1,30]},e(r,[2,18]),{28:[1,31],30:[1,32]},{11:[1,33]},{26:34,34:[1,35]},{11:[2,38]},e(r,[2,5]),e(r,[2,17]),e(r,[2,21],{29:[1,36],30:[1,37]}),e(r,[2,27],{28:[1,38]}),e(p,[2,19]),{24:39,35:h},{35:[2,37]},e(r,[2,22],{30:[1,40]}),e(r,[2,23]),e(r,[2,25],{29:[1,41]}),{11:[1,42]},e(r,[2,24]),e(r,[2,26]),e(p,[2,20])],defaultActions:{5:[2,35],6:[2,1],28:[2,38],35:[2,37]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],r=[],i=[null],o=[],a=this.table,s=\"\",c=0,u=0,l=0,f=2,d=1,h=o.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(e,g.yy),g.yy.lexer=p,g.yy.parser=this,\"undefined\"==typeof p.yylloc&&(p.yylloc={});var m=p.yylloc;o.push(m);var b=p.options&&p.options.ranges;function v(){var e;return\"number\"!==typeof(e=r.pop()||p.lex()||d)&&(e instanceof Array&&(e=(r=e).pop()),e=t.symbols_[e]||e),e}\"function\"===typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,w,_,k,O,E,S,C,T,j={};;){if(_=n[n.length-1],this.defaultActions[_]?k=this.defaultActions[_]:(null!==x&&\"undefined\"!=typeof x||(x=v()),k=a[_]&&a[_][x]),\"undefined\"===typeof k||!k.length||!k[0]){var A=\"\";for(E in T=[],a[_])this.terminals_[E]&&E>f&&T.push(\"'\"+this.terminals_[E]+\"'\");A=p.showPosition?\"Parse error on line \"+(c+1)+\":\\n\"+p.showPosition()+\"\\nExpecting \"+T.join(\", \")+\", got '\"+(this.terminals_[x]||x)+\"'\":\"Parse error on line \"+(c+1)+\": Unexpected \"+(x==d?\"end of input\":\"'\"+(this.terminals_[x]||x)+\"'\"),this.parseError(A,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:T})}if(k[0]instanceof Array&&k.length>1)throw new Error(\"Parse Error: multiple actions possible at state: \"+_+\", token: \"+x);switch(k[0]){case 1:n.push(x),i.push(p.yytext),o.push(p.yylloc),n.push(k[1]),x=null,w?(x=w,w=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,m=p.yylloc,l>0&&l--);break;case 2:if(S=this.productions_[k[1]][1],j.$=i[i.length-S],j._$={first_line:o[o.length-(S||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(S||1)].first_column,last_column:o[o.length-1].last_column},b&&(j._$.range=[o[o.length-(S||1)].range[0],o[o.length-1].range[1]]),\"undefined\"!==typeof(O=this.performAction.apply(j,[s,u,c,g.yy,k[1],i,o].concat(h))))return O;S&&(n=n.slice(0,-1*S*2),i=i.slice(0,-1*S),o=o.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),i.push(j.$),o.push(j._$),C=a[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0}},y={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\"\",this.conditionStack=[\"INITIAL\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\\r\\n?|\\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\\r\\n?|\\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\\r\\n?|\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?\"...\":\"\")+e.substr(-20).replace(/\\n/g,\"\")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?\"...\":\"\")).replace(/\\n/g,\"\")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join(\"-\");return e+this.upcomingInput()+\"\\n\"+t+\"^\"},test_match:function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=e[0].match(/(?:\\r\\n?|\\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\\r?\\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var o in i)this[o]=i[o];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,r;this._input||(this.done=!0),this._more||(this.yytext=\"\",this.match=\"\");for(var i=this._currentRules(),o=0;o<i.length;o++)if((n=this._input.match(this.rules[i[o]]))&&(!t||n[0].length>t[0].length)){if(t=n,r=o,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,i[o])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,i[r]))&&e:\"\"===this._input?this.EOF:this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". Unrecognized text.\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:\"INITIAL\"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{\"case-insensitive\":!0},performAction:function(e,t,n,r){switch(n){case 0:return this.begin(\"open_directive\"),32;case 1:return this.begin(\"type_directive\"),33;case 2:return this.popState(),this.begin(\"arg_directive\"),25;case 3:return this.popState(),this.popState(),35;case 4:return 34;case 5:case 6:case 7:case 9:case 10:case 11:break;case 8:return 11;case 12:this.begin(\"href\");break;case 13:case 16:case 19:case 22:this.popState();break;case 14:return 30;case 15:this.begin(\"callbackname\");break;case 17:this.popState(),this.begin(\"callbackargs\");break;case 18:return 28;case 20:return 29;case 21:this.begin(\"click\");break;case 23:return 27;case 24:return 5;case 25:return 12;case 26:return 13;case 27:return 14;case 28:return 15;case 29:return 16;case 30:return\"date\";case 31:return 17;case 32:return 18;case 33:return 20;case 34:return 21;case 35:return 25;case 36:return 7;case 37:return\"INVALID\"}},rules:[/^(?:%%\\{)/i,/^(?:((?:(?!\\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\\}%%)/i,/^(?:((?:(?!\\}%%).|\\n)*))/i,/^(?:%%(?!\\{)*[^\\n]*)/i,/^(?:[^\\}]%%*[^\\n]*)/i,/^(?:%%*[^\\n]*[\\n]*)/i,/^(?:[\\n]+)/i,/^(?:\\s+)/i,/^(?:#[^\\n]*)/i,/^(?:%[^\\n]*)/i,/^(?:href[\\s]+[\"])/i,/^(?:[\"])/i,/^(?:[^\"]*)/i,/^(?:call[\\s]+)/i,/^(?:\\([\\s]*\\))/i,/^(?:\\()/i,/^(?:[^(]*)/i,/^(?:\\))/i,/^(?:[^)]*)/i,/^(?:click[\\s]+)/i,/^(?:[\\s\\n])/i,/^(?:[^\\s\\n]*)/i,/^(?:gantt\\b)/i,/^(?:dateFormat\\s[^#\\n;]+)/i,/^(?:inclusiveEndDates\\b)/i,/^(?:axisFormat\\s[^#\\n;]+)/i,/^(?:excludes\\s[^#\\n;]+)/i,/^(?:todayMarker\\s[^\\n;]+)/i,/^(?:\\d\\d\\d\\d-\\d\\d-\\d\\d\\b)/i,/^(?:title\\s[^#\\n;]+)/i,/^(?:section\\s[^#:\\n;]+)/i,/^(?:[^#:\\n;]+)/i,/^(?::[^#\\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},callbackargs:{rules:[19,20],inclusive:!1},callbackname:{rules:[16,17,18],inclusive:!1},href:{rules:[13,14],inclusive:!1},click:{rules:[22,23],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,11,12,15,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37],inclusive:!0}}};function m(){this.yy={}}return g.lexer=y,m.prototype=g,g.Parser=m,new m}();t.parser=i,t.Parser=i.Parser,t.parse=function(){return i.parse.apply(i,arguments)},t.main=function(r){r[1]||(console.log(\"Usage: \"+r[0]+\" FILE\"),e.exit(1));var i=n(\"./node_modules/node-libs-browser/mock/empty.js\").readFileSync(n(\"./node_modules/path-browserify/index.js\").normalize(r[1]),\"utf8\");return t.parser.parse(i)},n.c[n.s]===r&&t.main(e.argv.slice(1))}).call(this,n(\"./node_modules/process/browser.js\"),n(\"./node_modules/webpack/buildin/module.js\")(e))},\"./src/diagrams/gantt/styles.js\":function(e,t,n){\"use strict\";n.r(t),t.default=function(e){return'\\n  .mermaid-main-font {\\n    font-family: \"trebuchet ms\", verdana, arial;\\n    font-family: var(--mermaid-font-family);\\n  }\\n\\n  .section {\\n    stroke: none;\\n    opacity: 0.2;\\n  }\\n\\n  .section0 {\\n    fill: '.concat(e.sectionBkgColor,\";\\n  }\\n\\n  .section2 {\\n    fill: \").concat(e.sectionBkgColor2,\";\\n  }\\n\\n  .section1,\\n  .section3 {\\n    fill: \").concat(e.altSectionBkgColor,\";\\n    opacity: 0.2;\\n  }\\n\\n  .sectionTitle0 {\\n    fill: \").concat(e.titleColor,\";\\n  }\\n\\n  .sectionTitle1 {\\n    fill: \").concat(e.titleColor,\";\\n  }\\n\\n  .sectionTitle2 {\\n    fill: \").concat(e.titleColor,\";\\n  }\\n\\n  .sectionTitle3 {\\n    fill: \").concat(e.titleColor,\";\\n  }\\n\\n  .sectionTitle {\\n    text-anchor: start;\\n    font-size: 11px;\\n    text-height: 14px;\\n    font-family: 'trebuchet ms', verdana, arial;\\n    font-family: var(--mermaid-font-family);\\n\\n  }\\n\\n\\n  /* Grid and axis */\\n\\n  .grid .tick {\\n    stroke: \").concat(e.gridColor,\";\\n    opacity: 0.8;\\n    shape-rendering: crispEdges;\\n    text {\\n      font-family: \").concat(e.fontFamily,\";\\n      fill: \").concat(e.textColor,\";\\n    }\\n  }\\n\\n  .grid path {\\n    stroke-width: 0;\\n  }\\n\\n\\n  /* Today line */\\n\\n  .today {\\n    fill: none;\\n    stroke: \").concat(e.todayLineColor,\";\\n    stroke-width: 2px;\\n  }\\n\\n\\n  /* Task styling */\\n\\n  /* Default task */\\n\\n  .task {\\n    stroke-width: 2;\\n  }\\n\\n  .taskText {\\n    text-anchor: middle;\\n    font-family: 'trebuchet ms', verdana, arial;\\n    font-family: var(--mermaid-font-family);\\n  }\\n\\n  .taskText:not([font-size]) {\\n    font-size: 11px;\\n  }\\n\\n  .taskTextOutsideRight {\\n    fill: \").concat(e.taskTextDarkColor,\";\\n    text-anchor: start;\\n    font-size: 11px;\\n    font-family: 'trebuchet ms', verdana, arial;\\n    font-family: var(--mermaid-font-family);\\n\\n  }\\n\\n  .taskTextOutsideLeft {\\n    fill: \").concat(e.taskTextDarkColor,\";\\n    text-anchor: end;\\n    font-size: 11px;\\n  }\\n\\n  /* Special case clickable */\\n  .task.clickable {\\n    cursor: pointer;\\n  }\\n  .taskText.clickable {\\n    cursor: pointer;\\n    fill: \").concat(e.taskTextClickableColor,\" !important;\\n    font-weight: bold;\\n  }\\n\\n  .taskTextOutsideLeft.clickable {\\n    cursor: pointer;\\n    fill: \").concat(e.taskTextClickableColor,\" !important;\\n    font-weight: bold;\\n  }\\n\\n  .taskTextOutsideRight.clickable {\\n    cursor: pointer;\\n    fill: \").concat(e.taskTextClickableColor,\" !important;\\n    font-weight: bold;\\n  }\\n\\n  /* Specific task settings for the sections*/\\n\\n  .taskText0,\\n  .taskText1,\\n  .taskText2,\\n  .taskText3 {\\n    fill: \").concat(e.taskTextColor,\";\\n  }\\n\\n  .task0,\\n  .task1,\\n  .task2,\\n  .task3 {\\n    fill: \").concat(e.taskBkgColor,\";\\n    stroke: \").concat(e.taskBorderColor,\";\\n  }\\n\\n  .taskTextOutside0,\\n  .taskTextOutside2\\n  {\\n    fill: \").concat(e.taskTextOutsideColor,\";\\n  }\\n\\n  .taskTextOutside1,\\n  .taskTextOutside3 {\\n    fill: \").concat(e.taskTextOutsideColor,\";\\n  }\\n\\n\\n  /* Active task */\\n\\n  .active0,\\n  .active1,\\n  .active2,\\n  .active3 {\\n    fill: \").concat(e.activeTaskBkgColor,\";\\n    stroke: \").concat(e.activeTaskBorderColor,\";\\n  }\\n\\n  .activeText0,\\n  .activeText1,\\n  .activeText2,\\n  .activeText3 {\\n    fill: \").concat(e.taskTextDarkColor,\" !important;\\n  }\\n\\n\\n  /* Completed task */\\n\\n  .done0,\\n  .done1,\\n  .done2,\\n  .done3 {\\n    stroke: \").concat(e.doneTaskBorderColor,\";\\n    fill: \").concat(e.doneTaskBkgColor,\";\\n    stroke-width: 2;\\n  }\\n\\n  .doneText0,\\n  .doneText1,\\n  .doneText2,\\n  .doneText3 {\\n    fill: \").concat(e.taskTextDarkColor,\" !important;\\n  }\\n\\n\\n  /* Tasks on the critical line */\\n\\n  .crit0,\\n  .crit1,\\n  .crit2,\\n  .crit3 {\\n    stroke: \").concat(e.critBorderColor,\";\\n    fill: \").concat(e.critBkgColor,\";\\n    stroke-width: 2;\\n  }\\n\\n  .activeCrit0,\\n  .activeCrit1,\\n  .activeCrit2,\\n  .activeCrit3 {\\n    stroke: \").concat(e.critBorderColor,\";\\n    fill: \").concat(e.activeTaskBkgColor,\";\\n    stroke-width: 2;\\n  }\\n\\n  .doneCrit0,\\n  .doneCrit1,\\n  .doneCrit2,\\n  .doneCrit3 {\\n    stroke: \").concat(e.critBorderColor,\";\\n    fill: \").concat(e.doneTaskBkgColor,\";\\n    stroke-width: 2;\\n    cursor: pointer;\\n    shape-rendering: crispEdges;\\n  }\\n\\n  .milestone {\\n    transform: rotate(45deg) scale(0.8,0.8);\\n  }\\n\\n  .milestoneText {\\n    font-style: italic;\\n  }\\n  .doneCritText0,\\n  .doneCritText1,\\n  .doneCritText2,\\n  .doneCritText3 {\\n    fill: \").concat(e.taskTextDarkColor,\" !important;\\n  }\\n\\n  .activeCritText0,\\n  .activeCritText1,\\n  .activeCritText2,\\n  .activeCritText3 {\\n    fill: \").concat(e.taskTextDarkColor,\" !important;\\n  }\\n\\n  .titleText {\\n    text-anchor: middle;\\n    font-size: 18px;\\n    fill: \").concat(e.textColor,\"    ;\\n    font-family: 'trebuchet ms', verdana, arial;\\n    font-family: var(--mermaid-font-family);\\n  }\\n\")}},\"./src/diagrams/git/gitGraphAst.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"setDirection\",(function(){return h})),n.d(t,\"setOptions\",(function(){return g})),n.d(t,\"getOptions\",(function(){return y})),n.d(t,\"commit\",(function(){return m})),n.d(t,\"branch\",(function(){return b})),n.d(t,\"merge\",(function(){return v})),n.d(t,\"checkout\",(function(){return x})),n.d(t,\"reset\",(function(){return w})),n.d(t,\"prettyPrint\",(function(){return O})),n.d(t,\"clear\",(function(){return E})),n.d(t,\"getBranchesAsObjArray\",(function(){return S})),n.d(t,\"getBranches\",(function(){return C})),n.d(t,\"getCommits\",(function(){return T})),n.d(t,\"getCommitsArray\",(function(){return j})),n.d(t,\"getCurrentBranch\",(function(){return A})),n.d(t,\"getDirection\",(function(){return M})),n.d(t,\"getHead\",(function(){return P}));var r=n(\"./src/logger.js\"),i=n(\"./src/utils.js\"),o={},a=null,s={master:a},c=\"master\",u=\"LR\",l=0;function f(){return Object(i.random)({length:7})}function d(e,t){for(r.logger.debug(\"Entering isfastforwardable:\",e.id,t.id);e.seq<=t.seq&&e!==t&&null!=t.parent;){if(Array.isArray(t.parent))return r.logger.debug(\"In merge commit:\",t.parent),d(e,o[t.parent[0]])||d(e,o[t.parent[1]]);t=o[t.parent]}return r.logger.debug(e.id,t.id),e.id===t.id}var h=function(e){u=e},p={},g=function(e){r.logger.debug(\"options str\",e),e=(e=e&&e.trim())||\"{}\";try{p=JSON.parse(e)}catch(t){r.logger.error(\"error while parsing gitGraph options\",t.message)}},y=function(){return p},m=function(e){var t={id:f(),message:e,seq:l++,parent:null==a?null:a.id};a=t,o[t.id]=t,s[c]=t.id,r.logger.debug(\"in pushCommit \"+t.id)},b=function(e){s[e]=null!=a?a.id:null,r.logger.debug(\"in createBranch\")},v=function(e){var t=o[s[c]],n=o[s[e]];if(function(e,t){return e.seq>t.seq&&d(t,e)}(t,n))r.logger.debug(\"Already merged\");else{if(d(t,n))s[c]=s[e],a=o[s[c]];else{var i={id:f(),message:\"merged branch \"+e+\" into \"+c,seq:l++,parent:[null==a?null:a.id,s[e]]};a=i,o[i.id]=i,s[c]=i.id}r.logger.debug(s),r.logger.debug(\"in mergeBranch\")}},x=function(e){r.logger.debug(\"in checkout\");var t=s[c=e];a=o[t]},w=function(e){r.logger.debug(\"in reset\",e);var t=e.split(\":\")[0],n=parseInt(e.split(\":\")[1]),i=\"HEAD\"===t?a:o[s[t]];for(r.logger.debug(i,n);n>0;)if(n--,!(i=o[i.parent])){var u=\"Critical error - unique parent commit not found during reset\";throw r.logger.error(u),u}a=i,s[c]=i.id};function _(e,t,n){var r=e.indexOf(t);-1===r?e.push(n):e.splice(r,1,n)}function k(e){var t=e.reduce((function(e,t){return e.seq>t.seq?e:t}),e[0]),n=\"\";e.forEach((function(e){n+=e===t?\"\\t*\":\"\\t|\"}));var i=[n,t.id,t.seq];for(var a in s)s[a]===t.id&&i.push(a);if(r.logger.debug(i.join(\" \")),Array.isArray(t.parent)){var c=o[t.parent[0]];_(e,t,c),e.push(o[t.parent[1]])}else{if(null==t.parent)return;var u=o[t.parent];_(e,t,u)}k(e=function(e,t){var n=Object.create(null);return e.reduce((function(e,r){var i=t(r);return n[i]||(n[i]=!0,e.push(r)),e}),[])}(e,(function(e){return e.id})))}var O=function(){r.logger.debug(o),k([j()[0]])},E=function(){o={},s={master:a=null},c=\"master\",l=0},S=function(){var e=[];for(var t in s)e.push({name:t,commit:o[s[t]]});return e},C=function(){return s},T=function(){return o},j=function(){var e=Object.keys(o).map((function(e){return o[e]}));return e.forEach((function(e){r.logger.debug(e.id)})),e.sort((function(e,t){return t.seq-e.seq})),e},A=function(){return c},M=function(){return u},P=function(){return a};t.default={setDirection:h,setOptions:g,getOptions:y,commit:m,branch:b,merge:v,checkout:x,reset:w,prettyPrint:O,clear:E,getBranchesAsObjArray:S,getBranches:C,getCommits:T,getCommitsArray:j,getCurrentBranch:A,getDirection:M,getHead:P}},\"./src/diagrams/git/gitGraphRenderer.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"setConf\",(function(){return h})),n.d(t,\"draw\",(function(){return x}));var r,i=n(\"d3\"),o=n(\"./src/diagrams/git/gitGraphAst.js\"),a=n(\"./src/diagrams/git/parser/gitGraph.jison\"),s=n.n(a),c=n(\"./src/logger.js\"),u=n(\"./src/utils.js\"),l={},f={nodeSpacing:150,nodeFillColor:\"yellow\",nodeStrokeWidth:2,nodeStrokeColor:\"grey\",lineStrokeWidth:4,branchOffset:50,lineColor:\"grey\",leftMargin:50,branchColors:[\"#442f74\",\"#983351\",\"#609732\",\"#AA9A39\"],nodeRadius:10,nodeLabel:{width:75,height:100,x:-25,y:0}},d={},h=function(e){d=e};function p(e,t,n,r){var o=Object(u.interpolateToCurve)(r,i.curveBasis),a=f.branchColors[n%f.branchColors.length],s=Object(i.line)().x((function(e){return Math.round(e.x)})).y((function(e){return Math.round(e.y)})).curve(o);e.append(\"svg:path\").attr(\"d\",s(t)).style(\"stroke\",a).style(\"stroke-width\",f.lineStrokeWidth).style(\"fill\",\"none\")}function g(e,t){t=t||e.node().getBBox();var n=e.node().getCTM();return{left:n.e+t.x*n.a,top:n.f+t.y*n.d,width:t.width,height:t.height}}function y(e,t,n,r,i){c.logger.debug(\"svgDrawLineForCommits: \",t,n);var o=g(e.select(\"#node-\"+t+\" circle\")),a=g(e.select(\"#node-\"+n+\" circle\"));switch(r){case\"LR\":if(o.left-a.left>f.nodeSpacing){var s={x:o.left-f.nodeSpacing,y:a.top+a.height/2};p(e,[s,{x:a.left+a.width,y:a.top+a.height/2}],i,\"linear\"),p(e,[{x:o.left,y:o.top+o.height/2},{x:o.left-f.nodeSpacing/2,y:o.top+o.height/2},{x:o.left-f.nodeSpacing/2,y:s.y},s],i)}else p(e,[{x:o.left,y:o.top+o.height/2},{x:o.left-f.nodeSpacing/2,y:o.top+o.height/2},{x:o.left-f.nodeSpacing/2,y:a.top+a.height/2},{x:a.left+a.width,y:a.top+a.height/2}],i);break;case\"BT\":if(a.top-o.top>f.nodeSpacing){var u={x:a.left+a.width/2,y:o.top+o.height+f.nodeSpacing};p(e,[u,{x:a.left+a.width/2,y:a.top}],i,\"linear\"),p(e,[{x:o.left+o.width/2,y:o.top+o.height},{x:o.left+o.width/2,y:o.top+o.height+f.nodeSpacing/2},{x:a.left+a.width/2,y:u.y-f.nodeSpacing/2},u],i)}else p(e,[{x:o.left+o.width/2,y:o.top+o.height},{x:o.left+o.width/2,y:o.top+f.nodeSpacing/2},{x:a.left+a.width/2,y:a.top-f.nodeSpacing/2},{x:a.left+a.width/2,y:a.top}],i)}}function m(e,t){return e.select(t).node().cloneNode(!0)}function b(e,t,n,i){var o,a=Object.keys(l).length;if(\"string\"===typeof t)do{if(o=l[t],c.logger.debug(\"in renderCommitHistory\",o.id,o.seq),e.select(\"#node-\"+t).size()>0)return;e.append((function(){return m(e,\"#def-commit\")})).attr(\"class\",\"commit\").attr(\"id\",(function(){return\"node-\"+o.id})).attr(\"transform\",(function(){switch(i){case\"LR\":return\"translate(\"+(o.seq*f.nodeSpacing+f.leftMargin)+\", \"+r*f.branchOffset+\")\";case\"BT\":return\"translate(\"+(r*f.branchOffset+f.leftMargin)+\", \"+(a-o.seq)*f.nodeSpacing+\")\"}})).attr(\"fill\",f.nodeFillColor).attr(\"stroke\",f.nodeStrokeColor).attr(\"stroke-width\",f.nodeStrokeWidth);var s=void 0;for(var u in n)if(n[u].commit===o){s=n[u];break}s&&(c.logger.debug(\"found branch \",s.name),e.select(\"#node-\"+o.id+\" p\").append(\"xhtml:span\").attr(\"class\",\"branch-label\").text(s.name+\", \")),e.select(\"#node-\"+o.id+\" p\").append(\"xhtml:span\").attr(\"class\",\"commit-id\").text(o.id),\"\"!==o.message&&\"BT\"===i&&e.select(\"#node-\"+o.id+\" p\").append(\"xhtml:span\").attr(\"class\",\"commit-msg\").text(\", \"+o.message),t=o.parent}while(t&&l[t]);Array.isArray(t)&&(c.logger.debug(\"found merge commmit\",t),b(e,t[0],n,i),r++,b(e,t[1],n,i),r--)}function v(e,t,n,r){for(r=r||0;t.seq>0&&!t.lineDrawn;)\"string\"===typeof t.parent?(y(e,t.id,t.parent,n,r),t.lineDrawn=!0,t=l[t.parent]):Array.isArray(t.parent)&&(y(e,t.id,t.parent[0],n,r),y(e,t.id,t.parent[1],n,r+1),v(e,l[t.parent[1]],n,r+1),t.lineDrawn=!0,t=l[t.parent[0]])}var x=function(e,t,n){try{var a=s.a.parser;a.yy=o.default,a.yy.clear(),c.logger.debug(\"in gitgraph renderer\",e+\"\\n\",\"id:\",t,n),a.parse(e+\"\\n\"),f=Object.assign(f,d,o.default.getOptions()),c.logger.debug(\"effective options\",f);var u=o.default.getDirection();l=o.default.getCommits();var h=o.default.getBranchesAsObjArray();\"BT\"===u&&(f.nodeLabel.x=h.length*f.branchOffset,f.nodeLabel.width=\"100%\",f.nodeLabel.y=-2*f.nodeRadius);var p=Object(i.select)('[id=\"'.concat(t,'\"]'));for(var g in function(e){e.append(\"defs\").append(\"g\").attr(\"id\",\"def-commit\").append(\"circle\").attr(\"r\",f.nodeRadius).attr(\"cx\",0).attr(\"cy\",0),e.select(\"#def-commit\").append(\"foreignObject\").attr(\"width\",f.nodeLabel.width).attr(\"height\",f.nodeLabel.height).attr(\"x\",f.nodeLabel.x).attr(\"y\",f.nodeLabel.y).attr(\"class\",\"node-label\").attr(\"requiredFeatures\",\"http://www.w3.org/TR/SVG11/feature#Extensibility\").append(\"p\").html(\"\")}(p),r=1,h){var y=h[g];b(p,y.commit.id,h,u),v(p,y.commit,u),r++}p.attr(\"height\",(function(){return\"BT\"===u?Object.keys(l).length*f.nodeSpacing:(h.length+1)*f.branchOffset}))}catch(m){c.logger.error(\"Error while rendering gitgraph\"),c.logger.error(m.message)}};t.default={setConf:h,draw:x}},\"./src/diagrams/git/parser/gitGraph.jison\":function(e,t,n){(function(e,r){var i=function(){var e=function(e,t,n,r){for(n=n||{},r=e.length;r--;n[e[r]]=t);return n},t=[2,3],n=[1,7],r=[7,12,15,17,19,20,21],i=[7,11,12,15,17,19,20,21],o=[2,20],a=[1,32],s={trace:function(){},yy:{},symbols_:{error:2,start:3,GG:4,\":\":5,document:6,EOF:7,DIR:8,options:9,body:10,OPT:11,NL:12,line:13,statement:14,COMMIT:15,commit_arg:16,BRANCH:17,ID:18,CHECKOUT:19,MERGE:20,RESET:21,reset_arg:22,STR:23,HEAD:24,reset_parents:25,CARET:26,$accept:0,$end:1},terminals_:{2:\"error\",4:\"GG\",5:\":\",7:\"EOF\",8:\"DIR\",11:\"OPT\",12:\"NL\",15:\"COMMIT\",17:\"BRANCH\",18:\"ID\",19:\"CHECKOUT\",20:\"MERGE\",21:\"RESET\",23:\"STR\",24:\"HEAD\",26:\"CARET\"},productions_:[0,[3,4],[3,5],[6,0],[6,2],[9,2],[9,1],[10,0],[10,2],[13,2],[13,1],[14,2],[14,2],[14,2],[14,2],[14,2],[16,0],[16,1],[22,2],[22,2],[25,0],[25,2]],performAction:function(e,t,n,r,i,o,a){var s=o.length-1;switch(i){case 1:return o[s-1];case 2:return r.setDirection(o[s-3]),o[s-1];case 4:r.setOptions(o[s-1]),this.$=o[s];break;case 5:o[s-1]+=o[s],this.$=o[s-1];break;case 7:this.$=[];break;case 8:o[s-1].push(o[s]),this.$=o[s-1];break;case 9:this.$=o[s-1];break;case 11:r.commit(o[s]);break;case 12:r.branch(o[s]);break;case 13:r.checkout(o[s]);break;case 14:r.merge(o[s]);break;case 15:r.reset(o[s]);break;case 16:this.$=\"\";break;case 17:this.$=o[s];break;case 18:this.$=o[s-1]+\":\"+o[s];break;case 19:this.$=o[s-1]+\":\"+r.count,r.count=0;break;case 20:r.count=0;break;case 21:r.count+=1}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3],8:[1,4]},{6:5,7:t,9:6,12:n},{5:[1,8]},{7:[1,9]},e(r,[2,7],{10:10,11:[1,11]}),e(i,[2,6]),{6:12,7:t,9:6,12:n},{1:[2,1]},{7:[2,4],12:[1,15],13:13,14:14,15:[1,16],17:[1,17],19:[1,18],20:[1,19],21:[1,20]},e(i,[2,5]),{7:[1,21]},e(r,[2,8]),{12:[1,22]},e(r,[2,10]),{12:[2,16],16:23,23:[1,24]},{18:[1,25]},{18:[1,26]},{18:[1,27]},{18:[1,30],22:28,24:[1,29]},{1:[2,2]},e(r,[2,9]),{12:[2,11]},{12:[2,17]},{12:[2,12]},{12:[2,13]},{12:[2,14]},{12:[2,15]},{12:o,25:31,26:a},{12:o,25:33,26:a},{12:[2,18]},{12:o,25:34,26:a},{12:[2,19]},{12:[2,21]}],defaultActions:{9:[2,1],21:[2,2],23:[2,11],24:[2,17],25:[2,12],26:[2,13],27:[2,14],28:[2,15],31:[2,18],33:[2,19],34:[2,21]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],r=[],i=[null],o=[],a=this.table,s=\"\",c=0,u=0,l=0,f=2,d=1,h=o.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(e,g.yy),g.yy.lexer=p,g.yy.parser=this,\"undefined\"==typeof p.yylloc&&(p.yylloc={});var m=p.yylloc;o.push(m);var b=p.options&&p.options.ranges;function v(){var e;return\"number\"!==typeof(e=r.pop()||p.lex()||d)&&(e instanceof Array&&(e=(r=e).pop()),e=t.symbols_[e]||e),e}\"function\"===typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,w,_,k,O,E,S,C,T,j={};;){if(_=n[n.length-1],this.defaultActions[_]?k=this.defaultActions[_]:(null!==x&&\"undefined\"!=typeof x||(x=v()),k=a[_]&&a[_][x]),\"undefined\"===typeof k||!k.length||!k[0]){var A=\"\";for(E in T=[],a[_])this.terminals_[E]&&E>f&&T.push(\"'\"+this.terminals_[E]+\"'\");A=p.showPosition?\"Parse error on line \"+(c+1)+\":\\n\"+p.showPosition()+\"\\nExpecting \"+T.join(\", \")+\", got '\"+(this.terminals_[x]||x)+\"'\":\"Parse error on line \"+(c+1)+\": Unexpected \"+(x==d?\"end of input\":\"'\"+(this.terminals_[x]||x)+\"'\"),this.parseError(A,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:T})}if(k[0]instanceof Array&&k.length>1)throw new Error(\"Parse Error: multiple actions possible at state: \"+_+\", token: \"+x);switch(k[0]){case 1:n.push(x),i.push(p.yytext),o.push(p.yylloc),n.push(k[1]),x=null,w?(x=w,w=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,m=p.yylloc,l>0&&l--);break;case 2:if(S=this.productions_[k[1]][1],j.$=i[i.length-S],j._$={first_line:o[o.length-(S||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(S||1)].first_column,last_column:o[o.length-1].last_column},b&&(j._$.range=[o[o.length-(S||1)].range[0],o[o.length-1].range[1]]),\"undefined\"!==typeof(O=this.performAction.apply(j,[s,u,c,g.yy,k[1],i,o].concat(h))))return O;S&&(n=n.slice(0,-1*S*2),i=i.slice(0,-1*S),o=o.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),i.push(j.$),o.push(j._$),C=a[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0}},c={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\"\",this.conditionStack=[\"INITIAL\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\\r\\n?|\\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\\r\\n?|\\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\\r\\n?|\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?\"...\":\"\")+e.substr(-20).replace(/\\n/g,\"\")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?\"...\":\"\")).replace(/\\n/g,\"\")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join(\"-\");return e+this.upcomingInput()+\"\\n\"+t+\"^\"},test_match:function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=e[0].match(/(?:\\r\\n?|\\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\\r?\\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var o in i)this[o]=i[o];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,r;this._input||(this.done=!0),this._more||(this.yytext=\"\",this.match=\"\");for(var i=this._currentRules(),o=0;o<i.length;o++)if((n=this._input.match(this.rules[i[o]]))&&(!t||n[0].length>t[0].length)){if(t=n,r=o,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,i[o])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,i[r]))&&e:\"\"===this._input?this.EOF:this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". Unrecognized text.\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:\"INITIAL\"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{\"case-insensitive\":!0},performAction:function(e,t,n,r){switch(n){case 0:return 12;case 1:case 2:case 3:break;case 4:return 4;case 5:return 15;case 6:return 17;case 7:return 20;case 8:return 21;case 9:return 19;case 10:case 11:return 8;case 12:return 5;case 13:return 26;case 14:this.begin(\"options\");break;case 15:case 18:this.popState();break;case 16:return 11;case 17:this.begin(\"string\");break;case 19:return 23;case 20:return 18;case 21:return 7}},rules:[/^(?:(\\r?\\n)+)/i,/^(?:\\s+)/i,/^(?:#[^\\n]*)/i,/^(?:%[^\\n]*)/i,/^(?:gitGraph\\b)/i,/^(?:commit\\b)/i,/^(?:branch\\b)/i,/^(?:merge\\b)/i,/^(?:reset\\b)/i,/^(?:checkout\\b)/i,/^(?:LR\\b)/i,/^(?:BT\\b)/i,/^(?::)/i,/^(?:\\^)/i,/^(?:options\\r?\\n)/i,/^(?:end\\r?\\n)/i,/^(?:[^\\n]+\\r?\\n)/i,/^(?:[\"])/i,/^(?:[\"])/i,/^(?:[^\"]*)/i,/^(?:[a-zA-Z][-_\\.a-zA-Z0-9]*[-_a-zA-Z0-9])/i,/^(?:$)/i],conditions:{options:{rules:[15,16],inclusive:!1},string:{rules:[18,19],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,17,20,21],inclusive:!0}}};function u(){this.yy={}}return s.lexer=c,u.prototype=s,s.Parser=u,new u}();t.parser=i,t.Parser=i.Parser,t.parse=function(){return i.parse.apply(i,arguments)},t.main=function(r){r[1]||(console.log(\"Usage: \"+r[0]+\" FILE\"),e.exit(1));var i=n(\"./node_modules/node-libs-browser/mock/empty.js\").readFileSync(n(\"./node_modules/path-browserify/index.js\").normalize(r[1]),\"utf8\");return t.parser.parse(i)},n.c[n.s]===r&&t.main(e.argv.slice(1))}).call(this,n(\"./node_modules/process/browser.js\"),n(\"./node_modules/webpack/buildin/module.js\")(e))},\"./src/diagrams/git/styles.js\":function(e,t,n){\"use strict\";n.r(t),t.default=function(){return\"\\n  .commit-id,\\n  .commit-msg,\\n  .branch-label {\\n    fill: lightgrey;\\n    color: lightgrey;\\n    font-family: 'trebuchet ms', verdana, arial;\\n    font-family: var(--mermaid-font-family);\\n  }\\n\"}},\"./src/diagrams/info/infoDb.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"setMessage\",(function(){return a})),n.d(t,\"getMessage\",(function(){return s})),n.d(t,\"setInfo\",(function(){return c})),n.d(t,\"getInfo\",(function(){return u}));var r=n(\"./src/logger.js\"),i=\"\",o=!1,a=function(e){r.logger.debug(\"Setting message to: \"+e),i=e},s=function(){return i},c=function(e){o=e},u=function(){return o};t.default={setMessage:a,getMessage:s,setInfo:c,getInfo:u}},\"./src/diagrams/info/infoRenderer.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"setConf\",(function(){return u})),n.d(t,\"draw\",(function(){return l}));var r=n(\"d3\"),i=n(\"./src/diagrams/info/infoDb.js\"),o=n(\"./src/diagrams/info/parser/info.jison\"),a=n.n(o),s=n(\"./src/logger.js\"),c={},u=function(e){Object.keys(e).forEach((function(t){c[t]=e[t]}))},l=function(e,t,n){try{var o=a.a.parser;o.yy=i.default,s.logger.debug(\"Renering info diagram\\n\"+e),o.parse(e),s.logger.debug(\"Parsed info diagram\");var c=Object(r.select)(\"#\"+t);c.append(\"g\").append(\"text\").attr(\"x\",100).attr(\"y\",40).attr(\"class\",\"version\").attr(\"font-size\",\"32px\").style(\"text-anchor\",\"middle\").text(\"v \"+n),c.attr(\"height\",100),c.attr(\"width\",400)}catch(u){s.logger.error(\"Error while rendering info diagram\"),s.logger.error(u.message)}};t.default={setConf:u,draw:l}},\"./src/diagrams/info/parser/info.jison\":function(e,t,n){(function(e,r){var i=function(){var e=function(e,t,n,r){for(n=n||{},r=e.length;r--;n[e[r]]=t);return n},t=[6,9,10],n={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:\"error\",4:\"info\",6:\"EOF\",9:\"NL\",10:\"showInfo\"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(e,t,n,r,i,o,a){switch(o.length,i){case 1:return r;case 4:break;case 6:r.setInfo(!0)}},table:[{3:1,4:[1,2]},{1:[3]},e(t,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},e(t,[2,3]),e(t,[2,4]),e(t,[2,5]),e(t,[2,6])],defaultActions:{4:[2,1]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],r=[],i=[null],o=[],a=this.table,s=\"\",c=0,u=0,l=0,f=2,d=1,h=o.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(e,g.yy),g.yy.lexer=p,g.yy.parser=this,\"undefined\"==typeof p.yylloc&&(p.yylloc={});var m=p.yylloc;o.push(m);var b=p.options&&p.options.ranges;function v(){var e;return\"number\"!==typeof(e=r.pop()||p.lex()||d)&&(e instanceof Array&&(e=(r=e).pop()),e=t.symbols_[e]||e),e}\"function\"===typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,w,_,k,O,E,S,C,T,j={};;){if(_=n[n.length-1],this.defaultActions[_]?k=this.defaultActions[_]:(null!==x&&\"undefined\"!=typeof x||(x=v()),k=a[_]&&a[_][x]),\"undefined\"===typeof k||!k.length||!k[0]){var A=\"\";for(E in T=[],a[_])this.terminals_[E]&&E>f&&T.push(\"'\"+this.terminals_[E]+\"'\");A=p.showPosition?\"Parse error on line \"+(c+1)+\":\\n\"+p.showPosition()+\"\\nExpecting \"+T.join(\", \")+\", got '\"+(this.terminals_[x]||x)+\"'\":\"Parse error on line \"+(c+1)+\": Unexpected \"+(x==d?\"end of input\":\"'\"+(this.terminals_[x]||x)+\"'\"),this.parseError(A,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:T})}if(k[0]instanceof Array&&k.length>1)throw new Error(\"Parse Error: multiple actions possible at state: \"+_+\", token: \"+x);switch(k[0]){case 1:n.push(x),i.push(p.yytext),o.push(p.yylloc),n.push(k[1]),x=null,w?(x=w,w=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,m=p.yylloc,l>0&&l--);break;case 2:if(S=this.productions_[k[1]][1],j.$=i[i.length-S],j._$={first_line:o[o.length-(S||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(S||1)].first_column,last_column:o[o.length-1].last_column},b&&(j._$.range=[o[o.length-(S||1)].range[0],o[o.length-1].range[1]]),\"undefined\"!==typeof(O=this.performAction.apply(j,[s,u,c,g.yy,k[1],i,o].concat(h))))return O;S&&(n=n.slice(0,-1*S*2),i=i.slice(0,-1*S),o=o.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),i.push(j.$),o.push(j._$),C=a[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0}},r={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\"\",this.conditionStack=[\"INITIAL\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\\r\\n?|\\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\\r\\n?|\\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\\r\\n?|\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?\"...\":\"\")+e.substr(-20).replace(/\\n/g,\"\")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?\"...\":\"\")).replace(/\\n/g,\"\")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join(\"-\");return e+this.upcomingInput()+\"\\n\"+t+\"^\"},test_match:function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=e[0].match(/(?:\\r\\n?|\\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\\r?\\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var o in i)this[o]=i[o];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,r;this._input||(this.done=!0),this._more||(this.yytext=\"\",this.match=\"\");for(var i=this._currentRules(),o=0;o<i.length;o++)if((n=this._input.match(this.rules[i[o]]))&&(!t||n[0].length>t[0].length)){if(t=n,r=o,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,i[o])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,i[r]))&&e:\"\"===this._input?this.EOF:this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". Unrecognized text.\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:\"INITIAL\"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{\"case-insensitive\":!0},performAction:function(e,t,n,r){switch(n){case 0:return 4;case 1:return 9;case 2:return\"space\";case 3:return 10;case 4:return 6;case 5:return\"TXT\"}},rules:[/^(?:info\\b)/i,/^(?:[\\s\\n\\r]+)/i,/^(?:[\\s]+)/i,/^(?:showInfo\\b)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5],inclusive:!0}}};function i(){this.yy={}}return n.lexer=r,i.prototype=n,n.Parser=i,new i}();t.parser=i,t.Parser=i.Parser,t.parse=function(){return i.parse.apply(i,arguments)},t.main=function(r){r[1]||(console.log(\"Usage: \"+r[0]+\" FILE\"),e.exit(1));var i=n(\"./node_modules/node-libs-browser/mock/empty.js\").readFileSync(n(\"./node_modules/path-browserify/index.js\").normalize(r[1]),\"utf8\");return t.parser.parse(i)},n.c[n.s]===r&&t.main(e.argv.slice(1))}).call(this,n(\"./node_modules/process/browser.js\"),n(\"./node_modules/webpack/buildin/module.js\")(e))},\"./src/diagrams/info/styles.js\":function(e,t,n){\"use strict\";n.r(t),t.default=function(){return\"\"}},\"./src/diagrams/pie/parser/pie.jison\":function(e,t,n){(function(e,r){var i=function(){var e=function(e,t,n,r){for(n=n||{},r=e.length;r--;n[e[r]]=t);return n},t=[1,4],n=[1,5],r=[1,6],i=[1,7],o=[1,9],a=[1,10,12,19,20,21,22],s=[1,6,10,12,19,20,21,22],c=[19,20,21],u=[1,22],l=[6,19,20,21,22],f={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,directive:5,PIE:6,document:7,line:8,statement:9,txt:10,value:11,title:12,title_value:13,openDirective:14,typeDirective:15,closeDirective:16,\":\":17,argDirective:18,NEWLINE:19,\";\":20,EOF:21,open_directive:22,type_directive:23,arg_directive:24,close_directive:25,$accept:0,$end:1},terminals_:{2:\"error\",6:\"PIE\",10:\"txt\",11:\"value\",12:\"title\",13:\"title_value\",17:\":\",19:\"NEWLINE\",20:\";\",21:\"EOF\",22:\"open_directive\",23:\"type_directive\",24:\"arg_directive\",25:\"close_directive\"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[9,0],[9,2],[9,2],[9,1],[5,3],[5,5],[4,1],[4,1],[4,1],[14,1],[15,1],[18,1],[16,1]],performAction:function(e,t,n,r,i,o,a){var s=o.length-1;switch(i){case 6:this.$=o[s-1];break;case 8:r.addSection(o[s-1],r.cleanupValue(o[s]));break;case 9:this.$=o[s].trim(),r.setTitle(this.$);break;case 16:r.parseDirective(\"%%{\",\"open_directive\");break;case 17:r.parseDirective(o[s],\"type_directive\");break;case 18:o[s]=o[s].trim().replace(/'/g,'\"'),r.parseDirective(o[s],\"arg_directive\");break;case 19:r.parseDirective(\"}%%\",\"close_directive\",\"pie\")}},table:[{3:1,4:2,5:3,6:t,14:8,19:n,20:r,21:i,22:o},{1:[3]},{3:10,4:2,5:3,6:t,14:8,19:n,20:r,21:i,22:o},{3:11,4:2,5:3,6:t,14:8,19:n,20:r,21:i,22:o},e(a,[2,4],{7:12}),e(s,[2,13]),e(s,[2,14]),e(s,[2,15]),{15:13,23:[1,14]},{23:[2,16]},{1:[2,1]},{1:[2,2]},e(c,[2,7],{14:8,8:15,9:16,5:19,1:[2,3],10:[1,17],12:[1,18],22:o}),{16:20,17:[1,21],25:u},e([17,25],[2,17]),e(a,[2,5]),{4:23,19:n,20:r,21:i},{11:[1,24]},{13:[1,25]},e(c,[2,10]),e(l,[2,11]),{18:26,24:[1,27]},e(l,[2,19]),e(a,[2,6]),e(c,[2,8]),e(c,[2,9]),{16:28,25:u},{25:[2,18]},e(l,[2,12])],defaultActions:{9:[2,16],10:[2,1],11:[2,2],27:[2,18]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],r=[],i=[null],o=[],a=this.table,s=\"\",c=0,u=0,l=0,f=2,d=1,h=o.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(e,g.yy),g.yy.lexer=p,g.yy.parser=this,\"undefined\"==typeof p.yylloc&&(p.yylloc={});var m=p.yylloc;o.push(m);var b=p.options&&p.options.ranges;function v(){var e;return\"number\"!==typeof(e=r.pop()||p.lex()||d)&&(e instanceof Array&&(e=(r=e).pop()),e=t.symbols_[e]||e),e}\"function\"===typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,w,_,k,O,E,S,C,T,j={};;){if(_=n[n.length-1],this.defaultActions[_]?k=this.defaultActions[_]:(null!==x&&\"undefined\"!=typeof x||(x=v()),k=a[_]&&a[_][x]),\"undefined\"===typeof k||!k.length||!k[0]){var A=\"\";for(E in T=[],a[_])this.terminals_[E]&&E>f&&T.push(\"'\"+this.terminals_[E]+\"'\");A=p.showPosition?\"Parse error on line \"+(c+1)+\":\\n\"+p.showPosition()+\"\\nExpecting \"+T.join(\", \")+\", got '\"+(this.terminals_[x]||x)+\"'\":\"Parse error on line \"+(c+1)+\": Unexpected \"+(x==d?\"end of input\":\"'\"+(this.terminals_[x]||x)+\"'\"),this.parseError(A,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:T})}if(k[0]instanceof Array&&k.length>1)throw new Error(\"Parse Error: multiple actions possible at state: \"+_+\", token: \"+x);switch(k[0]){case 1:n.push(x),i.push(p.yytext),o.push(p.yylloc),n.push(k[1]),x=null,w?(x=w,w=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,m=p.yylloc,l>0&&l--);break;case 2:if(S=this.productions_[k[1]][1],j.$=i[i.length-S],j._$={first_line:o[o.length-(S||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(S||1)].first_column,last_column:o[o.length-1].last_column},b&&(j._$.range=[o[o.length-(S||1)].range[0],o[o.length-1].range[1]]),\"undefined\"!==typeof(O=this.performAction.apply(j,[s,u,c,g.yy,k[1],i,o].concat(h))))return O;S&&(n=n.slice(0,-1*S*2),i=i.slice(0,-1*S),o=o.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),i.push(j.$),o.push(j._$),C=a[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0}},d={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\"\",this.conditionStack=[\"INITIAL\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\\r\\n?|\\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\\r\\n?|\\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\\r\\n?|\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?\"...\":\"\")+e.substr(-20).replace(/\\n/g,\"\")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?\"...\":\"\")).replace(/\\n/g,\"\")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join(\"-\");return e+this.upcomingInput()+\"\\n\"+t+\"^\"},test_match:function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=e[0].match(/(?:\\r\\n?|\\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\\r?\\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var o in i)this[o]=i[o];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,r;this._input||(this.done=!0),this._more||(this.yytext=\"\",this.match=\"\");for(var i=this._currentRules(),o=0;o<i.length;o++)if((n=this._input.match(this.rules[i[o]]))&&(!t||n[0].length>t[0].length)){if(t=n,r=o,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,i[o])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,i[r]))&&e:\"\"===this._input?this.EOF:this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". Unrecognized text.\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:\"INITIAL\"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{\"case-insensitive\":!0},performAction:function(e,t,n,r){switch(n){case 0:return this.begin(\"open_directive\"),22;case 1:return this.begin(\"type_directive\"),23;case 2:return this.popState(),this.begin(\"arg_directive\"),17;case 3:return this.popState(),this.popState(),25;case 4:return 24;case 5:case 6:case 8:case 9:break;case 7:return 19;case 10:return this.begin(\"title\"),12;case 11:return this.popState(),\"title_value\";case 12:this.begin(\"string\");break;case 13:this.popState();break;case 14:return\"txt\";case 15:return 6;case 16:return\"value\";case 17:return 21}},rules:[/^(?:%%\\{)/i,/^(?:((?:(?!\\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\\}%%)/i,/^(?:((?:(?!\\}%%).|\\n)*))/i,/^(?:%%(?!\\{)[^\\n]*)/i,/^(?:[^\\}]%%[^\\n]*)/i,/^(?:[\\n\\r]+)/i,/^(?:%%[^\\n]*)/i,/^(?:[\\s]+)/i,/^(?:title\\b)/i,/^(?:(?!\\n||)*[^\\n]*)/i,/^(?:[\"])/i,/^(?:[\"])/i,/^(?:[^\"]*)/i,/^(?:pie\\b)/i,/^(?::[\\s]*[\\d]+(?:\\.[\\d]+)?)/i,/^(?:$)/i],conditions:{close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},title:{rules:[11],inclusive:!1},string:{rules:[13,14],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,12,15,16,17],inclusive:!0}}};function h(){this.yy={}}return f.lexer=d,h.prototype=f,f.Parser=h,new h}();t.parser=i,t.Parser=i.Parser,t.parse=function(){return i.parse.apply(i,arguments)},t.main=function(r){r[1]||(console.log(\"Usage: \"+r[0]+\" FILE\"),e.exit(1));var i=n(\"./node_modules/node-libs-browser/mock/empty.js\").readFileSync(n(\"./node_modules/path-browserify/index.js\").normalize(r[1]),\"utf8\");return t.parser.parse(i)},n.c[n.s]===r&&t.main(e.argv.slice(1))}).call(this,n(\"./node_modules/process/browser.js\"),n(\"./node_modules/webpack/buildin/module.js\")(e))},\"./src/diagrams/pie/pieDb.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"parseDirective\",(function(){return c}));var r=n(\"./src/logger.js\"),i=n(\"./src/mermaidAPI.js\"),o=n(\"./src/config.js\"),a={},s=\"\",c=function(e,t,n){i.default.parseDirective(this,e,t,n)};t.default={parseDirective:c,getConfig:function(){return o.getConfig().pie},addSection:function(e,t){\"undefined\"===typeof a[e]&&(a[e]=t,r.logger.debug(\"Added new section :\",e))},getSections:function(){return a},cleanupValue:function(e){return\":\"===e.substring(0,1)?(e=e.substring(1).trim(),Number(e.trim())):Number(e.trim())},clear:function(){a={},s=\"\"},setTitle:function(e){s=e},getTitle:function(){return s}}},\"./src/diagrams/pie/pieRenderer.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"setConf\",(function(){return f})),n.d(t,\"draw\",(function(){return h}));var r,i=n(\"d3\"),o=n(\"./src/diagrams/pie/pieDb.js\"),a=n(\"./src/diagrams/pie/parser/pie.jison\"),s=n.n(a),c=n(\"./src/logger.js\"),u=n(\"./src/utils.js\"),l={},f=function(e){Object.keys(e).forEach((function(t){l[t]=e[t]}))},d=450,h=function(e,t){try{var n=s.a.parser;n.yy=o.default,c.logger.debug(\"Rendering info diagram\\n\"+e),n.yy.clear(),n.parse(e),c.logger.debug(\"Parsed info diagram\");var a=document.getElementById(t);\"undefined\"===typeof(r=a.parentElement.offsetWidth)&&(r=1200),\"undefined\"!==typeof l.useWidth&&(r=l.useWidth);var f=Object(i.select)(\"#\"+t);Object(u.configureSvgSize)(f,d,r,l.useMaxWidth),a.setAttribute(\"viewBox\",\"0 0 \"+r+\" \"+d);var h=18,p=Math.min(r,d)/2-40,g=f.append(\"g\").attr(\"transform\",\"translate(\"+r/2+\",225)\"),y=o.default.getSections(),m=0;Object.keys(y).forEach((function(e){m+=y[e]}));var b=Object(i.scaleOrdinal)().domain(y).range(i.schemeSet2),v=Object(i.pie)().value((function(e){return e.value}))(Object(i.entries)(y)),x=Object(i.arc)().innerRadius(0).outerRadius(p);g.selectAll(\"mySlices\").data(v).enter().append(\"path\").attr(\"d\",x).attr(\"fill\",(function(e){return b(e.data.key)})).attr(\"stroke\",\"black\").style(\"stroke-width\",\"2px\").style(\"opacity\",.7),g.selectAll(\"mySlices\").data(v).enter().append(\"text\").text((function(e){return(e.data.value/m*100).toFixed(0)+\"%\"})).attr(\"transform\",(function(e){return\"translate(\"+x.centroid(e)+\")\"})).style(\"text-anchor\",\"middle\").attr(\"class\",\"slice\").style(\"font-size\",17),g.append(\"text\").text(n.yy.getTitle()).attr(\"x\",0).attr(\"y\",-200).attr(\"class\",\"pieTitleText\");var w=g.selectAll(\".legend\").data(b.domain()).enter().append(\"g\").attr(\"class\",\"legend\").attr(\"transform\",(function(e,t){return\"translate(216,\"+(22*t-22*b.domain().length/2)+\")\"}));w.append(\"rect\").attr(\"width\",h).attr(\"height\",h).style(\"fill\",b).style(\"stroke\",b),w.append(\"text\").attr(\"x\",22).attr(\"y\",14).text((function(e){return e}))}catch(_){c.logger.error(\"Error while rendering info diagram\"),c.logger.error(_)}};t.default={setConf:f,draw:h}},\"./src/diagrams/pie/styles.js\":function(e,t,n){\"use strict\";n.r(t),t.default=function(e){return\".pieTitleText {\\n    text-anchor: middle;\\n    font-size: 25px;\\n    fill: \".concat(e.taskTextDarkColor,\";\\n    font-family: \").concat(e.fontFamily,\";\\n  }\\n  .slice {\\n    font-family: \").concat(e.fontFamily,\";\\n    fill: \").concat(e.textColor,\";\\n    // fill: white;\\n  }\\n  .legend text {\\n    fill: \").concat(e.taskTextDarkColor,\";\\n    font-family: \").concat(e.fontFamily,\";\\n    font-size: 17px;\\n  }\\n\")}},\"./src/diagrams/sequence/parser/sequenceDiagram.jison\":function(e,t,n){(function(e,r){var i=function(){var e=function(e,t,n,r){for(n=n||{},r=e.length;r--;n[e[r]]=t);return n},t=[1,2],n=[1,3],r=[1,5],i=[1,7],o=[2,5],a=[1,15],s=[1,17],c=[1,18],u=[1,20],l=[1,21],f=[1,22],d=[1,24],h=[1,25],p=[1,26],g=[1,27],y=[1,28],m=[1,29],b=[1,32],v=[1,33],x=[1,36],w=[1,4,5,16,21,22,23,25,27,28,29,30,31,33,35,36,37,48,56],_=[1,44],k=[4,5,16,21,22,23,25,27,28,29,30,31,33,37,48,56],O=[4,5,16,21,22,23,25,27,28,29,30,31,33,36,37,48,56],E=[4,5,16,21,22,23,25,27,28,29,30,31,33,35,37,48,56],S=[46,47,48],C=[1,4,5,7,16,21,22,23,25,27,28,29,30,31,33,35,36,37,48,56],T={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,directive:6,SD:7,document:8,line:9,statement:10,openDirective:11,typeDirective:12,closeDirective:13,\":\":14,argDirective:15,participant:16,actor:17,AS:18,restOfLine:19,signal:20,autonumber:21,activate:22,deactivate:23,note_statement:24,title:25,text2:26,loop:27,end:28,rect:29,opt:30,alt:31,else_sections:32,par:33,par_sections:34,and:35,else:36,note:37,placement:38,over:39,actor_pair:40,spaceList:41,\",\":42,left_of:43,right_of:44,signaltype:45,\"+\":46,\"-\":47,ACTOR:48,SOLID_OPEN_ARROW:49,DOTTED_OPEN_ARROW:50,SOLID_ARROW:51,DOTTED_ARROW:52,SOLID_CROSS:53,DOTTED_CROSS:54,TXT:55,open_directive:56,type_directive:57,arg_directive:58,close_directive:59,$accept:0,$end:1},terminals_:{2:\"error\",4:\"SPACE\",5:\"NEWLINE\",7:\"SD\",14:\":\",16:\"participant\",18:\"AS\",19:\"restOfLine\",21:\"autonumber\",22:\"activate\",23:\"deactivate\",25:\"title\",27:\"loop\",28:\"end\",29:\"rect\",30:\"opt\",31:\"alt\",33:\"par\",35:\"and\",36:\"else\",37:\"note\",39:\"over\",42:\",\",43:\"left_of\",44:\"right_of\",46:\"+\",47:\"-\",48:\"ACTOR\",49:\"SOLID_OPEN_ARROW\",50:\"DOTTED_OPEN_ARROW\",51:\"SOLID_ARROW\",52:\"DOTTED_ARROW\",53:\"SOLID_CROSS\",54:\"DOTTED_CROSS\",55:\"TXT\",56:\"open_directive\",57:\"type_directive\",58:\"arg_directive\",59:\"close_directive\"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[6,4],[6,6],[10,5],[10,3],[10,2],[10,1],[10,3],[10,3],[10,2],[10,3],[10,4],[10,4],[10,4],[10,4],[10,4],[10,1],[34,1],[34,4],[32,1],[32,4],[24,4],[24,4],[41,2],[41,1],[40,3],[40,1],[38,1],[38,1],[20,5],[20,5],[20,4],[17,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[26,1],[11,1],[12,1],[15,1],[13,1]],performAction:function(e,t,n,r,i,o,a){var s=o.length-1;switch(i){case 4:return r.apply(o[s]),o[s];case 5:case 9:this.$=[];break;case 6:o[s-1].push(o[s]),this.$=o[s-1];break;case 7:case 8:case 35:this.$=o[s];break;case 12:o[s-3].description=r.parseMessage(o[s-1]),this.$=o[s-3];break;case 13:this.$=o[s-1];break;case 15:r.enableSequenceNumbers();break;case 16:this.$={type:\"activeStart\",signalType:r.LINETYPE.ACTIVE_START,actor:o[s-1]};break;case 17:this.$={type:\"activeEnd\",signalType:r.LINETYPE.ACTIVE_END,actor:o[s-1]};break;case 19:this.$=[{type:\"setTitle\",text:o[s-1]}];break;case 20:o[s-1].unshift({type:\"loopStart\",loopText:r.parseMessage(o[s-2]),signalType:r.LINETYPE.LOOP_START}),o[s-1].push({type:\"loopEnd\",loopText:o[s-2],signalType:r.LINETYPE.LOOP_END}),this.$=o[s-1];break;case 21:o[s-1].unshift({type:\"rectStart\",color:r.parseMessage(o[s-2]),signalType:r.LINETYPE.RECT_START}),o[s-1].push({type:\"rectEnd\",color:r.parseMessage(o[s-2]),signalType:r.LINETYPE.RECT_END}),this.$=o[s-1];break;case 22:o[s-1].unshift({type:\"optStart\",optText:r.parseMessage(o[s-2]),signalType:r.LINETYPE.OPT_START}),o[s-1].push({type:\"optEnd\",optText:r.parseMessage(o[s-2]),signalType:r.LINETYPE.OPT_END}),this.$=o[s-1];break;case 23:o[s-1].unshift({type:\"altStart\",altText:r.parseMessage(o[s-2]),signalType:r.LINETYPE.ALT_START}),o[s-1].push({type:\"altEnd\",signalType:r.LINETYPE.ALT_END}),this.$=o[s-1];break;case 24:o[s-1].unshift({type:\"parStart\",parText:r.parseMessage(o[s-2]),signalType:r.LINETYPE.PAR_START}),o[s-1].push({type:\"parEnd\",signalType:r.LINETYPE.PAR_END}),this.$=o[s-1];break;case 27:this.$=o[s-3].concat([{type:\"and\",parText:r.parseMessage(o[s-1]),signalType:r.LINETYPE.PAR_AND},o[s]]);break;case 29:this.$=o[s-3].concat([{type:\"else\",altText:r.parseMessage(o[s-1]),signalType:r.LINETYPE.ALT_ELSE},o[s]]);break;case 30:this.$=[o[s-1],{type:\"addNote\",placement:o[s-2],actor:o[s-1].actor,text:o[s]}];break;case 31:o[s-2]=[].concat(o[s-1],o[s-1]).slice(0,2),o[s-2][0]=o[s-2][0].actor,o[s-2][1]=o[s-2][1].actor,this.$=[o[s-1],{type:\"addNote\",placement:r.PLACEMENT.OVER,actor:o[s-2].slice(0,2),text:o[s]}];break;case 34:this.$=[o[s-2],o[s]];break;case 36:this.$=r.PLACEMENT.LEFTOF;break;case 37:this.$=r.PLACEMENT.RIGHTOF;break;case 38:this.$=[o[s-4],o[s-1],{type:\"addMessage\",from:o[s-4].actor,to:o[s-1].actor,signalType:o[s-3],msg:o[s]},{type:\"activeStart\",signalType:r.LINETYPE.ACTIVE_START,actor:o[s-1]}];break;case 39:this.$=[o[s-4],o[s-1],{type:\"addMessage\",from:o[s-4].actor,to:o[s-1].actor,signalType:o[s-3],msg:o[s]},{type:\"activeEnd\",signalType:r.LINETYPE.ACTIVE_END,actor:o[s-4]}];break;case 40:this.$=[o[s-3],o[s-1],{type:\"addMessage\",from:o[s-3].actor,to:o[s-1].actor,signalType:o[s-2],msg:o[s]}];break;case 41:this.$={type:\"addActor\",actor:o[s]};break;case 42:this.$=r.LINETYPE.SOLID_OPEN;break;case 43:this.$=r.LINETYPE.DOTTED_OPEN;break;case 44:this.$=r.LINETYPE.SOLID;break;case 45:this.$=r.LINETYPE.DOTTED;break;case 46:this.$=r.LINETYPE.SOLID_CROSS;break;case 47:this.$=r.LINETYPE.DOTTED_CROSS;break;case 48:this.$=r.parseMessage(o[s].trim().substring(1));break;case 49:r.parseDirective(\"%%{\",\"open_directive\");break;case 50:r.parseDirective(o[s],\"type_directive\");break;case 51:o[s]=o[s].trim().replace(/'/g,'\"'),r.parseDirective(o[s],\"arg_directive\");break;case 52:r.parseDirective(\"}%%\",\"close_directive\",\"sequence\")}},table:[{3:1,4:t,5:n,6:4,7:r,11:6,56:i},{1:[3]},{3:8,4:t,5:n,6:4,7:r,11:6,56:i},{3:9,4:t,5:n,6:4,7:r,11:6,56:i},{3:10,4:t,5:n,6:4,7:r,11:6,56:i},e([1,4,5,16,21,22,23,25,27,29,30,31,33,37,48,56],o,{8:11}),{12:12,57:[1,13]},{57:[2,49]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:a,5:s,6:30,9:14,10:16,11:6,16:c,17:31,20:19,21:u,22:l,23:f,24:23,25:d,27:h,29:p,30:g,31:y,33:m,37:b,48:v,56:i},{13:34,14:[1,35],59:x},e([14,59],[2,50]),e(w,[2,6]),{6:30,10:37,11:6,16:c,17:31,20:19,21:u,22:l,23:f,24:23,25:d,27:h,29:p,30:g,31:y,33:m,37:b,48:v,56:i},e(w,[2,8]),e(w,[2,9]),{17:38,48:v},{5:[1,39]},e(w,[2,15]),{17:40,48:v},{17:41,48:v},{5:[1,42]},{26:43,55:_},{19:[1,45]},{19:[1,46]},{19:[1,47]},{19:[1,48]},{19:[1,49]},e(w,[2,25]),{45:50,49:[1,51],50:[1,52],51:[1,53],52:[1,54],53:[1,55],54:[1,56]},{38:57,39:[1,58],43:[1,59],44:[1,60]},e([5,18,42,49,50,51,52,53,54,55],[2,41]),{5:[1,61]},{15:62,58:[1,63]},{5:[2,52]},e(w,[2,7]),{5:[1,65],18:[1,64]},e(w,[2,14]),{5:[1,66]},{5:[1,67]},e(w,[2,18]),{5:[1,68]},{5:[2,48]},e(k,o,{8:69}),e(k,o,{8:70}),e(k,o,{8:71}),e(O,o,{32:72,8:73}),e(E,o,{34:74,8:75}),{17:78,46:[1,76],47:[1,77],48:v},e(S,[2,42]),e(S,[2,43]),e(S,[2,44]),e(S,[2,45]),e(S,[2,46]),e(S,[2,47]),{17:79,48:v},{17:81,40:80,48:v},{48:[2,36]},{48:[2,37]},e(C,[2,10]),{13:82,59:x},{59:[2,51]},{19:[1,83]},e(w,[2,13]),e(w,[2,16]),e(w,[2,17]),e(w,[2,19]),{4:a,5:s,6:30,9:14,10:16,11:6,16:c,17:31,20:19,21:u,22:l,23:f,24:23,25:d,27:h,28:[1,84],29:p,30:g,31:y,33:m,37:b,48:v,56:i},{4:a,5:s,6:30,9:14,10:16,11:6,16:c,17:31,20:19,21:u,22:l,23:f,24:23,25:d,27:h,28:[1,85],29:p,30:g,31:y,33:m,37:b,48:v,56:i},{4:a,5:s,6:30,9:14,10:16,11:6,16:c,17:31,20:19,21:u,22:l,23:f,24:23,25:d,27:h,28:[1,86],29:p,30:g,31:y,33:m,37:b,48:v,56:i},{28:[1,87]},{4:a,5:s,6:30,9:14,10:16,11:6,16:c,17:31,20:19,21:u,22:l,23:f,24:23,25:d,27:h,28:[2,28],29:p,30:g,31:y,33:m,36:[1,88],37:b,48:v,56:i},{28:[1,89]},{4:a,5:s,6:30,9:14,10:16,11:6,16:c,17:31,20:19,21:u,22:l,23:f,24:23,25:d,27:h,28:[2,26],29:p,30:g,31:y,33:m,35:[1,90],37:b,48:v,56:i},{17:91,48:v},{17:92,48:v},{26:93,55:_},{26:94,55:_},{26:95,55:_},{42:[1,96],55:[2,35]},{5:[1,97]},{5:[1,98]},e(w,[2,20]),e(w,[2,21]),e(w,[2,22]),e(w,[2,23]),{19:[1,99]},e(w,[2,24]),{19:[1,100]},{26:101,55:_},{26:102,55:_},{5:[2,40]},{5:[2,30]},{5:[2,31]},{17:103,48:v},e(C,[2,11]),e(w,[2,12]),e(O,o,{8:73,32:104}),e(E,o,{8:75,34:105}),{5:[2,38]},{5:[2,39]},{55:[2,34]},{28:[2,29]},{28:[2,27]}],defaultActions:{7:[2,49],8:[2,1],9:[2,2],10:[2,3],36:[2,52],44:[2,48],59:[2,36],60:[2,37],63:[2,51],93:[2,40],94:[2,30],95:[2,31],101:[2,38],102:[2,39],103:[2,34],104:[2,29],105:[2,27]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],r=[],i=[null],o=[],a=this.table,s=\"\",c=0,u=0,l=0,f=2,d=1,h=o.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(e,g.yy),g.yy.lexer=p,g.yy.parser=this,\"undefined\"==typeof p.yylloc&&(p.yylloc={});var m=p.yylloc;o.push(m);var b=p.options&&p.options.ranges;function v(){var e;return\"number\"!==typeof(e=r.pop()||p.lex()||d)&&(e instanceof Array&&(e=(r=e).pop()),e=t.symbols_[e]||e),e}\"function\"===typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,w,_,k,O,E,S,C,T,j={};;){if(_=n[n.length-1],this.defaultActions[_]?k=this.defaultActions[_]:(null!==x&&\"undefined\"!=typeof x||(x=v()),k=a[_]&&a[_][x]),\"undefined\"===typeof k||!k.length||!k[0]){var A=\"\";for(E in T=[],a[_])this.terminals_[E]&&E>f&&T.push(\"'\"+this.terminals_[E]+\"'\");A=p.showPosition?\"Parse error on line \"+(c+1)+\":\\n\"+p.showPosition()+\"\\nExpecting \"+T.join(\", \")+\", got '\"+(this.terminals_[x]||x)+\"'\":\"Parse error on line \"+(c+1)+\": Unexpected \"+(x==d?\"end of input\":\"'\"+(this.terminals_[x]||x)+\"'\"),this.parseError(A,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:T})}if(k[0]instanceof Array&&k.length>1)throw new Error(\"Parse Error: multiple actions possible at state: \"+_+\", token: \"+x);switch(k[0]){case 1:n.push(x),i.push(p.yytext),o.push(p.yylloc),n.push(k[1]),x=null,w?(x=w,w=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,m=p.yylloc,l>0&&l--);break;case 2:if(S=this.productions_[k[1]][1],j.$=i[i.length-S],j._$={first_line:o[o.length-(S||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(S||1)].first_column,last_column:o[o.length-1].last_column},b&&(j._$.range=[o[o.length-(S||1)].range[0],o[o.length-1].range[1]]),\"undefined\"!==typeof(O=this.performAction.apply(j,[s,u,c,g.yy,k[1],i,o].concat(h))))return O;S&&(n=n.slice(0,-1*S*2),i=i.slice(0,-1*S),o=o.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),i.push(j.$),o.push(j._$),C=a[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0}},j={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\"\",this.conditionStack=[\"INITIAL\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\\r\\n?|\\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\\r\\n?|\\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\\r\\n?|\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?\"...\":\"\")+e.substr(-20).replace(/\\n/g,\"\")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?\"...\":\"\")).replace(/\\n/g,\"\")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join(\"-\");return e+this.upcomingInput()+\"\\n\"+t+\"^\"},test_match:function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=e[0].match(/(?:\\r\\n?|\\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\\r?\\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var o in i)this[o]=i[o];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,r;this._input||(this.done=!0),this._more||(this.yytext=\"\",this.match=\"\");for(var i=this._currentRules(),o=0;o<i.length;o++)if((n=this._input.match(this.rules[i[o]]))&&(!t||n[0].length>t[0].length)){if(t=n,r=o,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,i[o])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,i[r]))&&e:\"\"===this._input?this.EOF:this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". Unrecognized text.\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:\"INITIAL\"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{\"case-insensitive\":!0},performAction:function(e,t,n,r){switch(n){case 0:return this.begin(\"open_directive\"),56;case 1:return this.begin(\"type_directive\"),57;case 2:return this.popState(),this.begin(\"arg_directive\"),14;case 3:return this.popState(),this.popState(),59;case 4:return 58;case 5:case 34:case 45:return 5;case 6:case 7:case 8:case 9:case 10:break;case 11:return this.begin(\"ID\"),16;case 12:return t.yytext=t.yytext.trim(),this.begin(\"ALIAS\"),48;case 13:return this.popState(),this.popState(),this.begin(\"LINE\"),18;case 14:return this.popState(),this.popState(),5;case 15:return this.begin(\"LINE\"),27;case 16:return this.begin(\"LINE\"),29;case 17:return this.begin(\"LINE\"),30;case 18:return this.begin(\"LINE\"),31;case 19:return this.begin(\"LINE\"),36;case 20:return this.begin(\"LINE\"),33;case 21:return this.begin(\"LINE\"),35;case 22:return this.popState(),19;case 23:return 28;case 24:return 43;case 25:return 44;case 26:return 39;case 27:return 37;case 28:return this.begin(\"ID\"),22;case 29:return this.begin(\"ID\"),23;case 30:return 25;case 31:return 7;case 32:return 21;case 33:return 42;case 35:return t.yytext=t.yytext.trim(),48;case 36:return 51;case 37:return 52;case 38:return 49;case 39:return 50;case 40:return 53;case 41:return 54;case 42:return 55;case 43:return 46;case 44:return 47;case 46:return\"INVALID\"}},rules:[/^(?:%%\\{)/i,/^(?:((?:(?!\\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\\}%%)/i,/^(?:((?:(?!\\}%%).|\\n)*))/i,/^(?:[\\n]+)/i,/^(?:\\s+)/i,/^(?:((?!\\n)\\s)+)/i,/^(?:#[^\\n]*)/i,/^(?:%(?!\\{)[^\\n]*)/i,/^(?:[^\\}]%%[^\\n]*)/i,/^(?:participant\\b)/i,/^(?:[^\\->:\\n,;]+?(?=((?!\\n)\\s)+as(?!\\n)\\s|[#\\n;]|$))/i,/^(?:as\\b)/i,/^(?:(?:))/i,/^(?:loop\\b)/i,/^(?:rect\\b)/i,/^(?:opt\\b)/i,/^(?:alt\\b)/i,/^(?:else\\b)/i,/^(?:par\\b)/i,/^(?:and\\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\\n;]*)/i,/^(?:end\\b)/i,/^(?:left of\\b)/i,/^(?:right of\\b)/i,/^(?:over\\b)/i,/^(?:note\\b)/i,/^(?:activate\\b)/i,/^(?:deactivate\\b)/i,/^(?:title\\b)/i,/^(?:sequenceDiagram\\b)/i,/^(?:autonumber\\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\\+\\->:\\n,;]+((?!(-x|--x))[\\-]*[^\\+\\->:\\n,;]+)*)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?::(?:(?:no)?wrap)?[^#\\n;]+)/i,/^(?:\\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{open_directive:{rules:[1,8],inclusive:!1},type_directive:{rules:[2,3,8],inclusive:!1},arg_directive:{rules:[3,4,8],inclusive:!1},ID:{rules:[7,8,12],inclusive:!1},ALIAS:{rules:[7,8,13,14],inclusive:!1},LINE:{rules:[7,8,22],inclusive:!1},INITIAL:{rules:[0,5,6,8,9,10,11,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}};function A(){this.yy={}}return T.lexer=j,A.prototype=T,T.Parser=A,new A}();t.parser=i,t.Parser=i.Parser,t.parse=function(){return i.parse.apply(i,arguments)},t.main=function(r){r[1]||(console.log(\"Usage: \"+r[0]+\" FILE\"),e.exit(1));var i=n(\"./node_modules/node-libs-browser/mock/empty.js\").readFileSync(n(\"./node_modules/path-browserify/index.js\").normalize(r[1]),\"utf8\");return t.parser.parse(i)},n.c[n.s]===r&&t.main(e.argv.slice(1))}).call(this,n(\"./node_modules/process/browser.js\"),n(\"./node_modules/webpack/buildin/module.js\")(e))},\"./src/diagrams/sequence/sequenceDb.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"parseDirective\",(function(){return g})),n.d(t,\"addActor\",(function(){return y})),n.d(t,\"addMessage\",(function(){return b})),n.d(t,\"addSignal\",(function(){return v})),n.d(t,\"getMessages\",(function(){return x})),n.d(t,\"getActors\",(function(){return w})),n.d(t,\"getActor\",(function(){return _})),n.d(t,\"getActorKeys\",(function(){return k})),n.d(t,\"getTitle\",(function(){return O})),n.d(t,\"getTitleWrapped\",(function(){return E})),n.d(t,\"enableSequenceNumbers\",(function(){return S})),n.d(t,\"showSequenceNumbers\",(function(){return C})),n.d(t,\"setWrap\",(function(){return T})),n.d(t,\"autoWrap\",(function(){return j})),n.d(t,\"clear\",(function(){return A})),n.d(t,\"parseMessage\",(function(){return M})),n.d(t,\"LINETYPE\",(function(){return P})),n.d(t,\"ARROWTYPE\",(function(){return N})),n.d(t,\"PLACEMENT\",(function(){return D})),n.d(t,\"addNote\",(function(){return R})),n.d(t,\"setTitle\",(function(){return I})),n.d(t,\"apply\",(function(){return L}));var r=n(\"./src/mermaidAPI.js\"),i=n(\"./src/config.js\"),o=n(\"./src/diagrams/common/common.js\"),a=n(\"./src/logger.js\"),s=void 0,c={},u=[],l=[],f=\"\",d=!1,h=!1,p=!1,g=function(e,t,n){r.default.parseDirective(this,e,t,n)},y=function(e,t,n){var r=c[e];r&&t===r.name&&null==n||(null!=n&&null!=n.text||(n={text:t,wrap:null}),c[e]={name:t,description:n.text,wrap:void 0===n.wrap&&j()||!!n.wrap,prevActor:s},s&&c[s]&&(c[s].nextActor=e),s=e)},m=function(e){var t,n=0;for(t=0;t<u.length;t++)u[t].type===P.ACTIVE_START&&u[t].from.actor===e&&n++,u[t].type===P.ACTIVE_END&&u[t].from.actor===e&&n--;return n},b=function(e,t,n,r){u.push({from:e,to:t,message:n.text,wrap:void 0===n.wrap&&j()||!!n.wrap,answer:r})},v=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{text:void 0,wrap:void 0},r=arguments.length>3?arguments[3]:void 0;if(r===P.ACTIVE_END){var i=m(e.actor);if(i<1){var o=new Error(\"Trying to inactivate an inactive participant (\"+e.actor+\")\");throw o.hash={text:\"->>-\",token:\"->>-\",line:\"1\",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:[\"'ACTIVE_PARTICIPANT'\"]},o}}return u.push({from:e,to:t,message:n.text,wrap:void 0===n.wrap&&j()||!!n.wrap,type:r}),!0},x=function(){return u},w=function(){return c},_=function(e){return c[e]},k=function(){return Object.keys(c)},O=function(){return f},E=function(){return d},S=function(){h=!0},C=function(){return h},T=function(e){p=e},j=function(){return p},A=function(){c={},u=[]},M=function(e){var t=e.trim(),n={text:t.replace(/^[:]?(?:no)?wrap:/,\"\").trim(),wrap:null===t.match(/^[:]?(?:no)?wrap:/)?o.default.hasBreaks(t)||void 0:null!==t.match(/^[:]?wrap:/)||null===t.match(/^[:]?nowrap:/)&&void 0};return a.logger.debug(\"parseMessage:\",n),n},P={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23},N={FILLED:0,OPEN:1},D={LEFTOF:0,RIGHTOF:1,OVER:2},R=function(e,t,n){var r={actor:e,placement:t,message:n.text,wrap:void 0===n.wrap&&j()||!!n.wrap},i=[].concat(e,e);l.push(r),u.push({from:i[0],to:i[1],message:n.text,wrap:void 0===n.wrap&&j()||!!n.wrap,type:P.NOTE,placement:t})},I=function(e){f=e.text,d=void 0===e.wrap&&j()||!!e.wrap},L=function e(t){if(t instanceof Array)t.forEach((function(t){e(t)}));else switch(t.type){case\"addActor\":y(t.actor,t.actor,t.description);break;case\"activeStart\":case\"activeEnd\":v(t.actor,void 0,void 0,t.signalType);break;case\"addNote\":R(t.actor,t.placement,t.text);break;case\"addMessage\":v(t.from,t.to,t.msg,t.signalType);break;case\"loopStart\":v(void 0,void 0,t.loopText,t.signalType);break;case\"loopEnd\":case\"rectEnd\":case\"optEnd\":case\"altEnd\":case\"parEnd\":v(void 0,void 0,void 0,t.signalType);break;case\"rectStart\":v(void 0,void 0,t.color,t.signalType);break;case\"optStart\":v(void 0,void 0,t.optText,t.signalType);break;case\"altStart\":case\"else\":v(void 0,void 0,t.altText,t.signalType);break;case\"setTitle\":I(t.text);break;case\"parStart\":case\"and\":v(void 0,void 0,t.parText,t.signalType)}};t.default={addActor:y,addMessage:b,addSignal:v,autoWrap:j,setWrap:T,enableSequenceNumbers:S,showSequenceNumbers:C,getMessages:x,getActors:w,getActor:_,getActorKeys:k,getTitle:O,parseDirective:g,getConfig:function(){return i.getConfig().sequence},getTitleWrapped:E,clear:A,parseMessage:M,LINETYPE:P,ARROWTYPE:N,PLACEMENT:D,addNote:R,setTitle:I,apply:L}},\"./src/diagrams/sequence/sequenceRenderer.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"bounds\",(function(){return d})),n.d(t,\"drawActors\",(function(){return y})),n.d(t,\"setConf\",(function(){return m})),n.d(t,\"draw\",(function(){return w}));var r=n(\"d3\"),i=n(\"./src/diagrams/sequence/svgDraw.js\"),o=n(\"./src/logger.js\"),a=n(\"./src/diagrams/sequence/parser/sequenceDiagram.jison\"),s=n(\"./src/diagrams/common/common.js\"),c=n(\"./src/diagrams/sequence/sequenceDb.js\"),u=n(\"./src/config.js\"),l=n(\"./src/utils.js\");a.parser.yy=c.default;var f={},d={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:function(){return Math.max.apply(null,0===this.actors.length?[0]:this.actors.map((function(e){return e.height||0})))+(0===this.loops.length?0:this.loops.map((function(e){return e.height||0})).reduce((function(e,t){return e+t})))+(0===this.messages.length?0:this.messages.map((function(e){return e.height||0})).reduce((function(e,t){return e+t})))+(0===this.notes.length?0:this.notes.map((function(e){return e.height||0})).reduce((function(e,t){return e+t})))},clear:function(){this.actors=[],this.loops=[],this.messages=[],this.notes=[]},addActor:function(e){this.actors.push(e)},addLoop:function(e){this.loops.push(e)},addMessage:function(e){this.messages.push(e)},addNote:function(e){this.notes.push(e)},lastActor:function(){return this.actors[this.actors.length-1]},lastLoop:function(){return this.loops[this.loops.length-1]},lastMessage:function(){return this.messages[this.messages.length-1]},lastNote:function(){return this.notes[this.notes.length-1]},actors:[],loops:[],messages:[],notes:[]},init:function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,m(a.parser.yy.getConfig())},updateVal:function(e,t,n,r){\"undefined\"===typeof e[t]?e[t]=n:e[t]=r(n,e[t])},updateBounds:function(e,t,n,r){var i=this,o=0;function a(a){return function(s){o++;var c=i.sequenceItems.length-o+1;i.updateVal(s,\"starty\",t-c*f.boxMargin,Math.min),i.updateVal(s,\"stopy\",r+c*f.boxMargin,Math.max),i.updateVal(d.data,\"startx\",e-c*f.boxMargin,Math.min),i.updateVal(d.data,\"stopx\",n+c*f.boxMargin,Math.max),\"activation\"!==a&&(i.updateVal(s,\"startx\",e-c*f.boxMargin,Math.min),i.updateVal(s,\"stopx\",n+c*f.boxMargin,Math.max),i.updateVal(d.data,\"starty\",t-c*f.boxMargin,Math.min),i.updateVal(d.data,\"stopy\",r+c*f.boxMargin,Math.max))}}this.sequenceItems.forEach(a()),this.activations.forEach(a(\"activation\"))},insert:function(e,t,n,r){var i=Math.min(e,n),o=Math.max(e,n),a=Math.min(t,r),s=Math.max(t,r);this.updateVal(d.data,\"startx\",i,Math.min),this.updateVal(d.data,\"starty\",a,Math.min),this.updateVal(d.data,\"stopx\",o,Math.max),this.updateVal(d.data,\"stopy\",s,Math.max),this.updateBounds(i,a,o,s)},newActivation:function(e,t,n){var r=n[e.from.actor],o=b(e.from.actor).length||0,a=r.x+r.width/2+(o-1)*f.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+f.activationWidth,stopy:void 0,actor:e.from.actor,anchored:i.default.anchorElement(t)})},endActivation:function(e){var t=this.activations.map((function(e){return e.actor})).lastIndexOf(e.from.actor);return this.activations.splice(t,1)[0]},createLoop:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{message:void 0,wrap:!1,width:void 0},t=arguments.length>1?arguments[1]:void 0;return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e.message,wrap:e.wrap,width:e.width,height:0,fill:t}},newLoop:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{message:void 0,wrap:!1,width:void 0},t=arguments.length>1?arguments[1]:void 0;this.sequenceItems.push(this.createLoop(e,t))},endLoop:function(){return this.sequenceItems.pop()},addSectionToLoop:function(e){var t=this.sequenceItems.pop();t.sections=t.sections||[],t.sectionTitles=t.sectionTitles||[],t.sections.push({y:d.getVerticalPos(),height:0}),t.sectionTitles.push(e),this.sequenceItems.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return{bounds:this.data,models:this.models}}},h=function(e){return{fontFamily:e.messageFontFamily,fontSize:e.messageFontSize,fontWeight:e.messageFontWeight}},p=function(e){return{fontFamily:e.noteFontFamily,fontSize:e.noteFontSize,fontWeight:e.noteFontWeight}},g=function(e){return{fontFamily:e.actorFontFamily,fontSize:e.actorFontSize,fontWeight:e.actorFontWeight}},y=function(e,t,n,r){for(var o=0,a=0,s=0;s<n.length;s++){var c=t[n[s]];c.width=c.width||f.width,c.height=Math.max(c.height||f.height,f.height),c.margin=c.margin||f.actorMargin,c.x=o+a,c.y=r,i.default.drawActor(e,c,f),d.insert(c.x,r,c.x+c.width,c.height),o+=c.width,a+=c.margin,d.models.addActor(c)}d.bumpVerticalPos(f.height)},m=function(e){Object(l.assignWithDepth)(f,e),e.fontFamily&&(f.actorFontFamily=f.noteFontFamily=f.messageFontFamily=e.fontFamily),e.fontSize&&(f.actorFontSize=f.noteFontSize=f.messageFontSize=e.fontSize),e.fontWeight&&(f.actorFontWeight=f.noteFontWeight=f.messageFontWeight=e.fontWeight)},b=function(e){return d.activations.filter((function(t){return t.actor===e}))},v=function(e,t){var n=t[e],r=b(e);return[r.reduce((function(e,t){return Math.min(e,t.startx)}),n.x+n.width/2),r.reduce((function(e,t){return Math.max(e,t.stopx)}),n.x+n.width/2)]};function x(e,t,n,r,i){d.bumpVerticalPos(n);var a=r;if(t.id&&t.message&&e[t.id]){var s=e[t.id].width,c=h(f);t.message=l.default.wrapLabel(\"[\".concat(t.message,\"]\"),s-2*f.wrapPadding,c),t.width=s,t.wrap=!0;var u=l.default.calculateTextDimensions(t.message,c),p=Math.max(u.height,f.labelBoxHeight);a=r+p,o.logger.debug(\"\".concat(p,\" - \").concat(t.message))}i(t),d.bumpVerticalPos(a)}var w=function(e,t){f=u.getConfig().sequence,a.parser.yy.clear(),a.parser.yy.setWrap(f.wrap),a.parser.parse(e+\"\\n\"),d.init(),o.logger.debug(\"C:\".concat(JSON.stringify(f,null,2)));var n=Object(r.select)('[id=\"'.concat(t,'\"]')),p=a.parser.yy.getActors(),g=a.parser.yy.getActorKeys(),m=a.parser.yy.getMessages(),v=a.parser.yy.getTitle(),w=_(p,m);f.height=k(p,w),y(n,p,g,0);var E=O(m,p,w);i.default.insertArrowHead(n),i.default.insertArrowCrossHead(n),i.default.insertSequenceNumber(n);var S=1;m.forEach((function(e){var t,r,u;switch(e.type){case a.parser.yy.LINETYPE.NOTE:r=e.noteModel,function(e,t){d.bumpVerticalPos(f.boxMargin),t.height=f.boxMargin,t.starty=d.getVerticalPos();var n=i.default.getNoteRect();n.x=t.startx,n.y=t.starty,n.width=t.width||f.width,n.class=\"note\";var r=e.append(\"g\"),o=i.default.drawRect(r,n),a=i.default.getTextObj();a.x=t.startx,a.y=t.starty,a.width=n.width,a.dy=\"1em\",a.text=t.message,a.class=\"noteText\",a.fontFamily=f.noteFontFamily,a.fontSize=f.noteFontSize,a.fontWeight=f.noteFontWeight,a.anchor=f.noteAlign,a.textMargin=f.noteMargin,a.valign=f.noteAlign,a.wrap=!0;var s=Object(i.drawText)(r,a),c=Math.round(s.map((function(e){return(e._groups||e)[0][0].getBBox().height})).reduce((function(e,t){return e+t})));o.attr(\"height\",c+2*f.noteMargin),t.height+=c+2*f.noteMargin,d.bumpVerticalPos(c+2*f.noteMargin),t.stopy=t.starty+c+2*f.noteMargin,t.stopx=t.startx+n.width,d.insert(t.startx,t.starty,t.stopx,t.stopy),d.models.addNote(t)}(n,r);break;case a.parser.yy.LINETYPE.ACTIVE_START:d.newActivation(e,n,p);break;case a.parser.yy.LINETYPE.ACTIVE_END:!function(e,t){var r=d.endActivation(e);r.starty+18>t&&(r.starty=t-6,t+=12),i.default.drawActivation(n,r,t,f,b(e.from.actor).length),d.insert(r.startx,t-10,r.stopx,t)}(e,d.getVerticalPos());break;case a.parser.yy.LINETYPE.LOOP_START:x(E,e,f.boxMargin,f.boxMargin+f.boxTextMargin,(function(e){return d.newLoop(e)}));break;case a.parser.yy.LINETYPE.LOOP_END:t=d.endLoop(),i.default.drawLoop(n,t,\"loop\",f),d.bumpVerticalPos(t.stopy-d.getVerticalPos()),d.models.addLoop(t);break;case a.parser.yy.LINETYPE.RECT_START:x(E,e,f.boxMargin,f.boxMargin,(function(e){return d.newLoop(void 0,e.message)}));break;case a.parser.yy.LINETYPE.RECT_END:t=d.endLoop(),i.default.drawBackgroundRect(n,t),d.models.addLoop(t),d.bumpVerticalPos(t.stopy-d.getVerticalPos());break;case a.parser.yy.LINETYPE.OPT_START:x(E,e,f.boxMargin,f.boxMargin+f.boxTextMargin,(function(e){return d.newLoop(e)}));break;case a.parser.yy.LINETYPE.OPT_END:t=d.endLoop(),i.default.drawLoop(n,t,\"opt\",f),d.bumpVerticalPos(t.stopy-d.getVerticalPos()),d.models.addLoop(t);break;case a.parser.yy.LINETYPE.ALT_START:x(E,e,f.boxMargin,f.boxMargin+f.boxTextMargin,(function(e){return d.newLoop(e)}));break;case a.parser.yy.LINETYPE.ALT_ELSE:x(E,e,f.boxMargin+f.boxTextMargin,f.boxMargin,(function(e){return d.addSectionToLoop(e)}));break;case a.parser.yy.LINETYPE.ALT_END:t=d.endLoop(),i.default.drawLoop(n,t,\"alt\",f),d.bumpVerticalPos(t.stopy-d.getVerticalPos()),d.models.addLoop(t);break;case a.parser.yy.LINETYPE.PAR_START:x(E,e,f.boxMargin,f.boxMargin+f.boxTextMargin,(function(e){return d.newLoop(e)}));break;case a.parser.yy.LINETYPE.PAR_AND:x(E,e,f.boxMargin+f.boxTextMargin,f.boxMargin,(function(e){return d.addSectionToLoop(e)}));break;case a.parser.yy.LINETYPE.PAR_END:t=d.endLoop(),i.default.drawLoop(n,t,\"par\",f),d.bumpVerticalPos(t.stopy-d.getVerticalPos()),d.models.addLoop(t);break;default:try{(u=e.msgModel).starty=d.getVerticalPos(),u.sequenceIndex=S,function(e,t){d.bumpVerticalPos(10);var n=t.startx,r=t.stopx,o=t.starty,u=t.message,p=t.type,g=t.sequenceIndex,y=t.wrap,m=s.default.splitBreaks(u).length,b=l.default.calculateTextDimensions(u,h(f)),v=b.height/m;t.height+=v,d.bumpVerticalPos(v);var x=i.default.getTextObj();x.x=n,x.y=o+10,x.width=r-n,x.class=\"messageText\",x.dy=\"1em\",x.text=u,x.fontFamily=f.messageFontFamily,x.fontSize=f.messageFontSize,x.fontWeight=f.messageFontWeight,x.anchor=f.messageAlign,x.valign=f.messageAlign,x.textMargin=f.wrapPadding,x.tspan=!1,x.wrap=y,Object(i.drawText)(e,x);var w,_,k=b.height-10,O=b.width;if(n===r){_=d.getVerticalPos()+k,f.rightAngles?w=e.append(\"path\").attr(\"d\",\"M  \".concat(n,\",\").concat(_,\" H \").concat(n+Math.max(f.width/2,O/2),\" V \").concat(_+25,\" H \").concat(n)):(k+=f.boxMargin,_=d.getVerticalPos()+k,w=e.append(\"path\").attr(\"d\",\"M \"+n+\",\"+_+\" C \"+(n+60)+\",\"+(_-10)+\" \"+(n+60)+\",\"+(_+30)+\" \"+n+\",\"+(_+20))),k+=30;var E=Math.max(O/2,f.width/2);d.insert(n-E,d.getVerticalPos()-10+k,r+E,d.getVerticalPos()+30+k)}else k+=f.boxMargin,_=d.getVerticalPos()+k,(w=e.append(\"line\")).attr(\"x1\",n),w.attr(\"y1\",_),w.attr(\"x2\",r),w.attr(\"y2\",_),d.insert(n,_-10,r,_);p===a.parser.yy.LINETYPE.DOTTED||p===a.parser.yy.LINETYPE.DOTTED_CROSS||p===a.parser.yy.LINETYPE.DOTTED_OPEN?(w.style(\"stroke-dasharray\",\"3, 3\"),w.attr(\"class\",\"messageLine1\")):w.attr(\"class\",\"messageLine0\");var S=\"\";f.arrowMarkerAbsolute&&(S=(S=(S=window.location.protocol+\"//\"+window.location.host+window.location.pathname+window.location.search).replace(/\\(/g,\"\\\\(\")).replace(/\\)/g,\"\\\\)\")),w.attr(\"stroke-width\",2),w.attr(\"stroke\",\"none\"),w.style(\"fill\",\"none\"),p!==a.parser.yy.LINETYPE.SOLID&&p!==a.parser.yy.LINETYPE.DOTTED||w.attr(\"marker-end\",\"url(\"+S+\"#arrowhead)\"),p!==a.parser.yy.LINETYPE.SOLID_CROSS&&p!==a.parser.yy.LINETYPE.DOTTED_CROSS||w.attr(\"marker-end\",\"url(\"+S+\"#crosshead)\"),(c.default.showSequenceNumbers()||f.showSequenceNumbers)&&(w.attr(\"marker-start\",\"url(\"+S+\"#sequencenumber)\"),e.append(\"text\").attr(\"x\",n).attr(\"y\",_+4).attr(\"font-family\",\"sans-serif\").attr(\"font-size\",\"12px\").attr(\"text-anchor\",\"middle\").attr(\"textLength\",\"16px\").attr(\"class\",\"sequenceNumber\").text(g)),d.bumpVerticalPos(k),t.height+=k,t.stopy=t.starty+t.height,d.insert(t.fromBounds,t.starty,t.toBounds,t.stopy)}(n,u),d.models.addMessage(u)}catch(g){o.logger.error(\"error while drawing message\",g)}}[a.parser.yy.LINETYPE.SOLID_OPEN,a.parser.yy.LINETYPE.DOTTED_OPEN,a.parser.yy.LINETYPE.SOLID,a.parser.yy.LINETYPE.DOTTED,a.parser.yy.LINETYPE.SOLID_CROSS,a.parser.yy.LINETYPE.DOTTED_CROSS].includes(e.type)&&S++})),f.mirrorActors&&(d.bumpVerticalPos(2*f.boxMargin),y(n,p,g,d.getVerticalPos()));var C=d.getBounds().bounds;o.logger.debug(\"For line height fix Querying: #\"+t+\" .actor-line\"),Object(r.selectAll)(\"#\"+t+\" .actor-line\").attr(\"y2\",C.stopy);var T=C.stopy-C.starty+2*f.diagramMarginY;f.mirrorActors&&(T=T-f.boxMargin+f.bottomMarginAdj);var j=C.stopx-C.startx+2*f.diagramMarginX;v&&n.append(\"text\").text(v).attr(\"x\",(C.stopx-C.startx)/2-2*f.diagramMarginX).attr(\"y\",-25),Object(l.configureSvgSize)(n,T,j,f.useMaxWidth);var A=v?40:0;n.attr(\"viewBox\",C.startx-f.diagramMarginX+\" -\"+(f.diagramMarginY+A)+\" \"+j+\" \"+(T+A)),o.logger.debug(\"models:\",d.models)},_=function(e,t){var n={};return t.forEach((function(t){if(e[t.to]&&e[t.from]){var r=e[t.to];if(t.placement===a.parser.yy.PLACEMENT.LEFTOF&&!r.prevActor)return;if(t.placement===a.parser.yy.PLACEMENT.RIGHTOF&&!r.nextActor)return;var i=void 0!==t.placement,o=!i,s=i?p(f):h(f),c=t.wrap?l.default.wrapLabel(t.message,f.width-2*f.wrapPadding,s):t.message,u=l.default.calculateTextDimensions(c,s).width+2*f.wrapPadding;o&&t.from===r.nextActor?n[t.to]=Math.max(n[t.to]||0,u):o&&t.from===r.prevActor?n[t.from]=Math.max(n[t.from]||0,u):o&&t.from===t.to?(n[t.from]=Math.max(n[t.from]||0,u/2),n[t.to]=Math.max(n[t.to]||0,u/2)):t.placement===a.parser.yy.PLACEMENT.RIGHTOF?n[t.from]=Math.max(n[t.from]||0,u):t.placement===a.parser.yy.PLACEMENT.LEFTOF?n[r.prevActor]=Math.max(n[r.prevActor]||0,u):t.placement===a.parser.yy.PLACEMENT.OVER&&(r.prevActor&&(n[r.prevActor]=Math.max(n[r.prevActor]||0,u/2)),r.nextActor&&(n[t.from]=Math.max(n[t.from]||0,u/2)))}})),o.logger.debug(\"maxMessageWidthPerActor:\",n),n},k=function(e,t){var n=0;for(var r in Object.keys(e).forEach((function(t){var r=e[t];r.wrap&&(r.description=l.default.wrapLabel(r.description,f.width-2*f.wrapPadding,g(f)));var i=l.default.calculateTextDimensions(r.description,g(f));r.width=r.wrap?f.width:Math.max(f.width,i.width+2*f.wrapPadding),r.height=r.wrap?Math.max(i.height,f.height):f.height,n=Math.max(n,r.height)})),t){var i=e[r];if(i){var o=e[i.nextActor];if(o){var a=t[r]+f.actorMargin-i.width/2-o.width/2;i.margin=Math.max(a,f.actorMargin)}}}return Math.max(n,f.height)},O=function(e,t){var n,r,i,s={},c=[];return e.forEach((function(e){switch(e.id=l.default.random({length:10}),e.type){case a.parser.yy.LINETYPE.LOOP_START:case a.parser.yy.LINETYPE.ALT_START:case a.parser.yy.LINETYPE.OPT_START:case a.parser.yy.LINETYPE.PAR_START:c.push({id:e.id,msg:e.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case a.parser.yy.LINETYPE.ALT_ELSE:case a.parser.yy.LINETYPE.PAR_AND:e.message&&(n=c.pop(),s[n.id]=n,s[e.id]=n,c.push(n));break;case a.parser.yy.LINETYPE.LOOP_END:case a.parser.yy.LINETYPE.ALT_END:case a.parser.yy.LINETYPE.OPT_END:case a.parser.yy.LINETYPE.PAR_END:n=c.pop(),s[n.id]=n;break;case a.parser.yy.LINETYPE.ACTIVE_START:var u=t[e.from?e.from.actor:e.to.actor],g=b(e.from?e.from.actor:e.to.actor).length,y=u.x+u.width/2+(g-1)*f.activationWidth/2,m={startx:y,stopx:y+f.activationWidth,actor:e.from.actor,enabled:!0};d.activations.push(m);break;case a.parser.yy.LINETYPE.ACTIVE_END:var x=d.activations.map((function(e){return e.actor})).lastIndexOf(e.from.actor);delete d.activations.splice(x,1)[0]}void 0!==e.placement?(r=function(e,t){var n=t[e.from].x,r=t[e.to].x,i=e.wrap&&e.message,s=l.default.calculateTextDimensions(i?l.default.wrapLabel(e.message,f.width,p(f)):e.message,p(f)),c={width:i?f.width:Math.max(f.width,s.width+2*f.noteMargin),height:0,startx:t[e.from].x,stopx:0,starty:0,stopy:0,message:e.message};return e.placement===a.parser.yy.PLACEMENT.RIGHTOF?(c.width=i?Math.max(f.width,s.width):Math.max(t[e.from].width/2+t[e.to].width/2,s.width+2*f.noteMargin),c.startx=n+(t[e.from].width+f.actorMargin)/2):e.placement===a.parser.yy.PLACEMENT.LEFTOF?(c.width=i?Math.max(f.width,s.width+2*f.noteMargin):Math.max(t[e.from].width/2+t[e.to].width/2,s.width+2*f.noteMargin),c.startx=n-c.width+(t[e.from].width-f.actorMargin)/2):e.to===e.from?(s=l.default.calculateTextDimensions(i?l.default.wrapLabel(e.message,Math.max(f.width,t[e.from].width),p(f)):e.message,p(f)),c.width=i?Math.max(f.width,t[e.from].width):Math.max(t[e.from].width,f.width,s.width+2*f.noteMargin),c.startx=n+(t[e.from].width-c.width)/2):(c.width=Math.abs(n+t[e.from].width/2-(r+t[e.to].width/2))+f.actorMargin,c.startx=n<r?n+t[e.from].width/2-f.actorMargin/2:r+t[e.to].width/2-f.actorMargin/2),i&&(c.message=l.default.wrapLabel(e.message,c.width-2*f.wrapPadding,p(f))),o.logger.debug(\"NM:[\".concat(c.startx,\",\").concat(c.stopx,\",\").concat(c.starty,\",\").concat(c.stopy,\":\").concat(c.width,\",\").concat(c.height,\"=\").concat(e.message,\"]\")),c}(e,t),e.noteModel=r,c.forEach((function(e){(n=e).from=Math.min(n.from,r.startx),n.to=Math.max(n.to,r.startx+r.width),n.width=Math.max(n.width,Math.abs(n.from-n.to))-f.labelBoxWidth}))):(i=function(e,t){var n=!1;if([a.parser.yy.LINETYPE.SOLID_OPEN,a.parser.yy.LINETYPE.DOTTED_OPEN,a.parser.yy.LINETYPE.SOLID,a.parser.yy.LINETYPE.DOTTED,a.parser.yy.LINETYPE.SOLID_CROSS,a.parser.yy.LINETYPE.DOTTED_CROSS].includes(e.type)&&(n=!0),!n)return{};var r=v(e.from,t),i=v(e.to,t),o=r[0]<=i[0]?1:0,s=r[0]<i[0]?0:1,c=r.concat(i),u=Math.abs(i[s]-r[o]),d=l.default.calculateTextDimensions(e.message,h(f));return e.wrap&&e.message&&(e.message=l.default.wrapLabel(e.message,Math.max(u+2*f.wrapPadding,f.width),h(f))),{width:Math.max(e.wrap?0:d.width+2*f.wrapPadding,u+2*f.wrapPadding,f.width),height:0,startx:r[o],stopx:i[s],starty:0,stopy:0,message:e.message,type:e.type,wrap:e.wrap,fromBounds:Math.min.apply(null,c),toBounds:Math.max.apply(null,c)}}(e,t),e.msgModel=i,i.startx&&i.stopx&&c.length>0&&c.forEach((function(r){if(n=r,i.startx===i.stopx){var o=t[e.from],a=t[e.to];n.from=Math.min(o.x-i.width/2,o.x-o.width/2,n.from),n.to=Math.max(a.x+i.width/2,a.x+o.width/2,n.to),n.width=Math.max(n.width,Math.abs(n.to-n.from))-f.labelBoxWidth}else n.from=Math.min(i.startx,n.from),n.to=Math.max(i.stopx,n.to),n.width=Math.max(n.width,i.width)-f.labelBoxWidth})))})),d.activations=[],o.logger.debug(\"Loop type widths:\",s),s};t.default={bounds:d,drawActors:y,setConf:m,draw:w}},\"./src/diagrams/sequence/styles.js\":function(e,t,n){\"use strict\";n.r(t),t.default=function(e){return\".actor {\\n    stroke: \".concat(e.actorBorder,\";\\n    fill: \").concat(e.actorBkg,\";\\n  }\\n\\n  text.actor > tspan {\\n    fill: \").concat(e.actorTextColor,\";\\n    stroke: none;\\n  }\\n\\n  .actor-line {\\n    stroke: \").concat(e.actorLineColor,\";\\n  }\\n\\n  .messageLine0 {\\n    stroke-width: 1.5;\\n    stroke-dasharray: none;\\n    stroke: \").concat(e.signalColor,\";\\n  }\\n\\n  .messageLine1 {\\n    stroke-width: 1.5;\\n    stroke-dasharray: 2, 2;\\n    stroke: \").concat(e.signalColor,\";\\n  }\\n\\n  #arrowhead path {\\n    fill: \").concat(e.signalColor,\";\\n    stroke: \").concat(e.signalColor,\";\\n  }\\n\\n  .sequenceNumber {\\n    fill: \").concat(e.sequenceNumberColor,\";\\n  }\\n\\n  #sequencenumber {\\n    fill: \").concat(e.signalColor,\";\\n  }\\n\\n  #crosshead path {\\n    fill: \").concat(e.signalColor,\";\\n    stroke: \").concat(e.signalColor,\";\\n  }\\n\\n  .messageText {\\n    fill: \").concat(e.signalTextColor,\";\\n    stroke: \").concat(e.signalTextColor,\";\\n  }\\n\\n  .labelBox {\\n    stroke: \").concat(e.labelBoxBorderColor,\";\\n    fill: \").concat(e.labelBoxBkgColor,\";\\n  }\\n\\n  .labelText, .labelText > tspan {\\n    fill: \").concat(e.labelTextColor,\";\\n    stroke: none;\\n  }\\n\\n  .loopText, .loopText > tspan {\\n    fill: \").concat(e.loopTextColor,\";\\n    stroke: none;\\n  }\\n\\n  .loopLine {\\n    stroke-width: 2px;\\n    stroke-dasharray: 2, 2;\\n    stroke: \").concat(e.labelBoxBorderColor,\";\\n    fill: \").concat(e.labelBoxBorderColor,\";\\n  }\\n\\n  .note {\\n    //stroke: #decc93;\\n    stroke: \").concat(e.noteBorderColor,\";\\n    fill: \").concat(e.noteBkgColor,\";\\n  }\\n\\n  .noteText, .noteText > tspan {\\n    fill: \").concat(e.noteTextColor,\";\\n    stroke: none;\\n  }\\n\\n  .activation0 {\\n    fill: \").concat(e.activationBkgColor,\";\\n    stroke: \").concat(e.activationBorderColor,\";\\n  }\\n\\n  .activation1 {\\n    fill: \").concat(e.activationBkgColor,\";\\n    stroke: \").concat(e.activationBorderColor,\";\\n  }\\n\\n  .activation2 {\\n    fill: \").concat(e.activationBkgColor,\";\\n    stroke: \").concat(e.activationBorderColor,\";\\n  }\\n\")}},\"./src/diagrams/sequence/svgDraw.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"drawRect\",(function(){return i})),n.d(t,\"drawText\",(function(){return o})),n.d(t,\"drawLabel\",(function(){return a})),n.d(t,\"drawActor\",(function(){return c})),n.d(t,\"anchorElement\",(function(){return u})),n.d(t,\"drawActivation\",(function(){return l})),n.d(t,\"drawLoop\",(function(){return f})),n.d(t,\"drawBackgroundRect\",(function(){return d})),n.d(t,\"insertArrowHead\",(function(){return h})),n.d(t,\"insertSequenceNumber\",(function(){return p})),n.d(t,\"insertArrowCrossHead\",(function(){return g})),n.d(t,\"getTextObj\",(function(){return y})),n.d(t,\"getNoteRect\",(function(){return m}));var r=n(\"./src/diagrams/common/common.js\"),i=function(e,t){var n=e.append(\"rect\");return n.attr(\"x\",t.x),n.attr(\"y\",t.y),n.attr(\"fill\",t.fill),n.attr(\"stroke\",t.stroke),n.attr(\"width\",t.width),n.attr(\"height\",t.height),n.attr(\"rx\",t.rx),n.attr(\"ry\",t.ry),\"undefined\"!==typeof t.class&&n.attr(\"class\",t.class),n},o=function(e,t){var n=0,i=0,o=t.wrap?t.text.split(r.default.lineBreakRegex):[t.text.replace(r.default.lineBreakRegex,\" \")],a=[],s=0,c=function(){return t.y};if(\"undefined\"!==typeof t.valign&&\"undefined\"!==typeof t.textMargin&&t.textMargin>0)switch(t.valign){case\"top\":case\"start\":c=function(){return Math.round(t.y+t.textMargin)};break;case\"middle\":case\"center\":c=function(){return Math.round(t.y+(n+i+t.textMargin)/2)};break;case\"bottom\":case\"end\":c=function(){return Math.round(t.y+(n+i+2*t.textMargin)-t.textMargin)}}if(\"undefined\"!==typeof t.anchor&&\"undefined\"!==typeof t.textMargin&&\"undefined\"!==typeof t.width)switch(t.anchor){case\"left\":case\"start\":t.x=Math.round(t.x+t.textMargin),t.anchor=\"start\",t.dominantBaseline=\"text-after-edge\",t.alignmentBaseline=\"middle\";break;case\"middle\":case\"center\":t.x=Math.round(t.x+t.width/2),t.anchor=\"middle\",t.dominantBaseline=\"middle\",t.alignmentBaseline=\"middle\";break;case\"right\":case\"end\":t.x=Math.round(t.x+t.width-t.textMargin),t.anchor=\"end\",t.dominantBaseline=\"text-before-edge\",t.alignmentBaseline=\"middle\"}for(var u=0;u<o.length;u++){var l=o[u];\"undefined\"!==typeof t.textMargin&&0===t.textMargin&&\"undefined\"!==typeof t.fontSize&&(s=u*t.fontSize);var f=e.append(\"text\");if(f.attr(\"x\",t.x),f.attr(\"y\",c()),\"undefined\"!==typeof t.anchor&&f.attr(\"text-anchor\",t.anchor).attr(\"dominant-baseline\",t.dominantBaseline).attr(\"alignment-baseline\",t.alignmentBaseline),\"undefined\"!==typeof t.fontFamily&&f.style(\"font-family\",t.fontFamily),\"undefined\"!==typeof t.fontSize&&f.style(\"font-size\",t.fontSize),\"undefined\"!==typeof t.fontWeight&&f.style(\"font-weight\",t.fontWeight),\"undefined\"!==typeof t.fill&&f.attr(\"fill\",t.fill),\"undefined\"!==typeof t.class&&f.attr(\"class\",t.class),\"undefined\"!==typeof t.dy?f.attr(\"dy\",t.dy):0!==s&&f.attr(\"dy\",s),t.tspan){var d=f.append(\"tspan\");d.attr(\"x\",t.x),\"undefined\"!==typeof t.fill&&d.attr(\"fill\",t.fill),d.text(l)}else f.text(l);\"undefined\"!==typeof t.valign&&\"undefined\"!==typeof t.textMargin&&t.textMargin>0&&(i+=(f._groups||f)[0][0].getBBox().height,n=i),a.push(f)}return a},a=function(e,t){var n,r,i,a,s,c=e.append(\"polygon\");return c.attr(\"points\",(n=t.x,r=t.y,i=t.width,a=t.height,n+\",\"+r+\" \"+(n+i)+\",\"+r+\" \"+(n+i)+\",\"+(r+a-(s=7))+\" \"+(n+i-1.2*s)+\",\"+(r+a)+\" \"+n+\",\"+(r+a))),c.attr(\"class\",\"labelBox\"),t.y=t.y+t.height/2,o(e,t),c},s=-1,c=function(e,t,n){var r=t.x+t.width/2,o=e.append(\"g\");0===t.y&&(s++,o.append(\"line\").attr(\"id\",\"actor\"+s).attr(\"x1\",r).attr(\"y1\",5).attr(\"x2\",r).attr(\"y2\",2e3).attr(\"class\",\"actor-line\").attr(\"stroke-width\",\"0.5px\").attr(\"stroke\",\"#999\"));var a=m();a.x=t.x,a.y=t.y,a.fill=\"#eaeaea\",a.width=t.width,a.height=t.height,a.class=\"actor\",a.rx=3,a.ry=3,i(o,a),b(n)(t.description,o,a.x,a.y,a.width,a.height,{class:\"actor\"},n)},u=function(e){return e.append(\"g\")},l=function(e,t,n,r,o){var a=m(),s=t.anchored;a.x=t.startx,a.y=t.starty,a.class=\"activation\"+o%3,a.width=t.stopx-t.startx,a.height=n-t.starty,i(s,a)},f=function(e,t,n,r){var i=r.boxMargin,s=r.boxTextMargin,c=r.labelBoxHeight,u=r.labelBoxWidth,l=r.messageFontFamily,f=r.messageFontSize,d=r.messageFontWeight,h=e.append(\"g\"),p=function(e,t,n,r){return h.append(\"line\").attr(\"x1\",e).attr(\"y1\",t).attr(\"x2\",n).attr(\"y2\",r).attr(\"class\",\"loopLine\")};p(t.startx,t.starty,t.stopx,t.starty),p(t.stopx,t.starty,t.stopx,t.stopy),p(t.startx,t.stopy,t.stopx,t.stopy),p(t.startx,t.starty,t.startx,t.stopy),\"undefined\"!==typeof t.sections&&t.sections.forEach((function(e){p(t.startx,e.y,t.stopx,e.y).style(\"stroke-dasharray\",\"3, 3\")}));var g=y();g.text=n,g.x=t.startx,g.y=t.starty,g.fontFamily=l,g.fontSize=f,g.fontWeight=d,g.anchor=\"middle\",g.valign=\"middle\",g.tspan=!1,g.width=u||50,g.height=c||20,g.textMargin=s,g.class=\"labelText\",a(h,g),(g=y()).text=t.title,g.x=t.startx+u/2+(t.stopx-t.startx)/2,g.y=t.starty+i+s,g.anchor=\"middle\",g.valign=\"middle\",g.textMargin=s,g.class=\"loopText\",g.fontFamily=l,g.fontSize=f,g.fontWeight=d,g.wrap=!0;var m=o(h,g);return\"undefined\"!==typeof t.sectionTitles&&t.sectionTitles.forEach((function(e,n){if(e.message){g.text=e.message,g.x=t.startx+(t.stopx-t.startx)/2,g.y=t.sections[n].y+i+s,g.class=\"loopText\",g.anchor=\"middle\",g.valign=\"middle\",g.tspan=!1,g.fontFamily=l,g.fontSize=f,g.fontWeight=d,g.wrap=t.wrap,m=o(h,g);var r=Math.round(m.map((function(e){return(e._groups||e)[0][0].getBBox().height})).reduce((function(e,t){return e+t})));t.sections[n].height+=r-(i+s)}})),t.height=Math.round(t.stopy-t.starty),h},d=function(e,t){i(e,{x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,class:\"rect\"}).lower()},h=function(e){e.append(\"defs\").append(\"marker\").attr(\"id\",\"arrowhead\").attr(\"refX\",5).attr(\"refY\",2).attr(\"markerWidth\",6).attr(\"markerHeight\",4).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 0,0 V 4 L6,2 Z\")},p=function(e){e.append(\"defs\").append(\"marker\").attr(\"id\",\"sequencenumber\").attr(\"refX\",15).attr(\"refY\",15).attr(\"markerWidth\",60).attr(\"markerHeight\",40).attr(\"orient\",\"auto\").append(\"circle\").attr(\"cx\",15).attr(\"cy\",15).attr(\"r\",6)},g=function(e){var t=e.append(\"defs\").append(\"marker\").attr(\"id\",\"crosshead\").attr(\"markerWidth\",15).attr(\"markerHeight\",8).attr(\"orient\",\"auto\").attr(\"refX\",16).attr(\"refY\",4);t.append(\"path\").attr(\"fill\",\"black\").attr(\"stroke\",\"#000000\").style(\"stroke-dasharray\",\"0, 0\").attr(\"stroke-width\",\"1px\").attr(\"d\",\"M 9,2 V 6 L16,4 Z\"),t.append(\"path\").attr(\"fill\",\"none\").attr(\"stroke\",\"#000000\").style(\"stroke-dasharray\",\"0, 0\").attr(\"stroke-width\",\"1px\").attr(\"d\",\"M 0,1 L 6,7 M 6,1 L 0,7\")},y=function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:\"#666\",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},m=function(){return{x:0,y:0,fill:\"#EDF2AE\",stroke:\"#666\",width:100,anchor:\"start\",height:100,rx:0,ry:0}},b=function(){function e(e,t,n,r,o,a,s){i(t.append(\"text\").attr(\"x\",n+o/2).attr(\"y\",r+a/2+5).style(\"text-anchor\",\"middle\").text(e),s)}function t(e,t,n,o,a,s,c,u){for(var l=u.actorFontSize,f=u.actorFontFamily,d=u.actorFontWeight,h=e.split(r.default.lineBreakRegex),p=0;p<h.length;p++){var g=p*l-l*(h.length-1)/2,y=t.append(\"text\").attr(\"x\",n+a/2).attr(\"y\",o).style(\"text-anchor\",\"middle\").style(\"font-size\",l).style(\"font-weight\",d).style(\"font-family\",f);y.append(\"tspan\").attr(\"x\",n+a/2).attr(\"dy\",g).text(h[p]),y.attr(\"y\",o+s/2).attr(\"dominant-baseline\",\"central\").attr(\"alignment-baseline\",\"central\"),i(y,c)}}function n(e,n,r,o,a,s,c,u){var l=n.append(\"switch\"),f=l.append(\"foreignObject\").attr(\"x\",r).attr(\"y\",o).attr(\"width\",a).attr(\"height\",s).append(\"div\").style(\"display\",\"table\").style(\"height\",\"100%\").style(\"width\",\"100%\");f.append(\"div\").style(\"display\",\"table-cell\").style(\"text-align\",\"center\").style(\"vertical-align\",\"middle\").text(e),t(e,l,r,o,a,s,c,u),i(f,c)}function i(e,t){for(var n in t)t.hasOwnProperty(n)&&e.attr(n,t[n])}return function(r){return\"fo\"===r.textPlacement?n:\"old\"===r.textPlacement?e:t}}();t.default={drawRect:i,drawText:o,drawLabel:a,drawActor:c,anchorElement:u,drawActivation:l,drawLoop:f,drawBackgroundRect:d,insertArrowHead:h,insertSequenceNumber:p,insertArrowCrossHead:g,getTextObj:y,getNoteRect:m}},\"./src/diagrams/state/id-cache.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"set\",(function(){return i})),n.d(t,\"get\",(function(){return o})),n.d(t,\"keys\",(function(){return a})),n.d(t,\"size\",(function(){return s}));var r={},i=function(e,t){r[e]=t},o=function(e){return r[e]},a=function(){return Object.keys(r)},s=function(){return a().length};t.default={get:o,set:i,keys:a,size:s}},\"./src/diagrams/state/parser/stateDiagram.jison\":function(e,t,n){(function(e,r){var i=function(){var e=function(e,t,n,r){for(n=n||{},r=e.length;r--;n[e[r]]=t);return n},t=[1,2],n=[1,3],r=[1,5],i=[1,7],o=[2,5],a=[1,15],s=[1,17],c=[1,19],u=[1,20],l=[1,21],f=[1,22],d=[1,28],h=[1,23],p=[1,24],g=[1,25],y=[1,26],m=[1,29],b=[1,32],v=[1,4,5,14,15,17,19,20,22,23,24,25,26,36,39],x=[1,4,5,12,13,14,15,17,19,20,22,23,24,25,26,36,39],w=[1,4,5,7,14,15,17,19,20,22,23,24,25,26,36,39],_=[4,5,14,15,17,19,20,22,23,24,25,26,36,39],k={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,directive:6,SD:7,document:8,line:9,statement:10,idStatement:11,DESCR:12,\"--\\x3e\":13,HIDE_EMPTY:14,scale:15,WIDTH:16,COMPOSIT_STATE:17,STRUCT_START:18,STRUCT_STOP:19,STATE_DESCR:20,AS:21,ID:22,FORK:23,JOIN:24,CONCURRENT:25,note:26,notePosition:27,NOTE_TEXT:28,openDirective:29,typeDirective:30,closeDirective:31,\":\":32,argDirective:33,eol:34,\";\":35,EDGE_STATE:36,left_of:37,right_of:38,open_directive:39,type_directive:40,arg_directive:41,close_directive:42,$accept:0,$end:1},terminals_:{2:\"error\",4:\"SPACE\",5:\"NL\",7:\"SD\",12:\"DESCR\",13:\"--\\x3e\",14:\"HIDE_EMPTY\",15:\"scale\",16:\"WIDTH\",17:\"COMPOSIT_STATE\",18:\"STRUCT_START\",19:\"STRUCT_STOP\",20:\"STATE_DESCR\",21:\"AS\",22:\"ID\",23:\"FORK\",24:\"JOIN\",25:\"CONCURRENT\",26:\"note\",28:\"NOTE_TEXT\",32:\":\",35:\";\",36:\"EDGE_STATE\",37:\"left_of\",38:\"right_of\",39:\"open_directive\",40:\"type_directive\",41:\"arg_directive\",42:\"close_directive\"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,1],[10,2],[10,1],[10,4],[10,3],[10,6],[10,1],[10,1],[10,1],[10,4],[10,4],[10,1],[6,3],[6,5],[34,1],[34,1],[11,1],[11,1],[27,1],[27,1],[29,1],[30,1],[33,1],[31,1]],performAction:function(e,t,n,r,i,o,a){var s=o.length-1;switch(i){case 4:return r.setRootDoc(o[s]),o[s];case 5:this.$=[];break;case 6:\"nl\"!=o[s]&&(o[s-1].push(o[s]),this.$=o[s-1]);break;case 7:case 8:case 30:case 31:this.$=o[s];break;case 9:this.$=\"nl\";break;case 10:this.$={stmt:\"state\",id:o[s],type:\"default\",description:\"\"};break;case 11:this.$={stmt:\"state\",id:o[s-1],type:\"default\",description:r.trimColon(o[s])};break;case 12:this.$={stmt:\"relation\",state1:{stmt:\"state\",id:o[s-2],type:\"default\",description:\"\"},state2:{stmt:\"state\",id:o[s],type:\"default\",description:\"\"}};break;case 13:this.$={stmt:\"relation\",state1:{stmt:\"state\",id:o[s-3],type:\"default\",description:\"\"},state2:{stmt:\"state\",id:o[s-1],type:\"default\",description:\"\"},description:o[s].substr(1).trim()};break;case 17:this.$={stmt:\"state\",id:o[s-3],type:\"default\",description:\"\",doc:o[s-1]};break;case 18:var c=o[s],u=o[s-2].trim();if(o[s].match(\":\")){var l=o[s].split(\":\");c=l[0],u=[u,l[1]]}this.$={stmt:\"state\",id:c,type:\"default\",description:u};break;case 19:this.$={stmt:\"state\",id:o[s-3],type:\"default\",description:o[s-5],doc:o[s-1]};break;case 20:this.$={stmt:\"state\",id:o[s],type:\"fork\"};break;case 21:this.$={stmt:\"state\",id:o[s],type:\"join\"};break;case 22:this.$={stmt:\"state\",id:r.getDividerId(),type:\"divider\"};break;case 23:this.$={stmt:\"state\",id:o[s-1].trim(),note:{position:o[s-2].trim(),text:o[s].trim()}};break;case 34:r.parseDirective(\"%%{\",\"open_directive\");break;case 35:r.parseDirective(o[s],\"type_directive\");break;case 36:o[s]=o[s].trim().replace(/'/g,'\"'),r.parseDirective(o[s],\"arg_directive\");break;case 37:r.parseDirective(\"}%%\",\"close_directive\",\"state\")}},table:[{3:1,4:t,5:n,6:4,7:r,29:6,39:i},{1:[3]},{3:8,4:t,5:n,6:4,7:r,29:6,39:i},{3:9,4:t,5:n,6:4,7:r,29:6,39:i},{3:10,4:t,5:n,6:4,7:r,29:6,39:i},e([1,4,5,14,15,17,20,22,23,24,25,26,36,39],o,{8:11}),{30:12,40:[1,13]},{40:[2,34]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:a,5:s,6:27,9:14,10:16,11:18,14:c,15:u,17:l,20:f,22:d,23:h,24:p,25:g,26:y,29:6,36:m,39:i},{31:30,32:[1,31],42:b},e([32,42],[2,35]),e(v,[2,6]),{6:27,10:33,11:18,14:c,15:u,17:l,20:f,22:d,23:h,24:p,25:g,26:y,29:6,36:m,39:i},e(v,[2,8]),e(v,[2,9]),e(v,[2,10],{12:[1,34],13:[1,35]}),e(v,[2,14]),{16:[1,36]},e(v,[2,16],{18:[1,37]}),{21:[1,38]},e(v,[2,20]),e(v,[2,21]),e(v,[2,22]),{27:39,28:[1,40],37:[1,41],38:[1,42]},e(v,[2,25]),e(x,[2,30]),e(x,[2,31]),e(w,[2,26]),{33:43,41:[1,44]},e(w,[2,37]),e(v,[2,7]),e(v,[2,11]),{11:45,22:d,36:m},e(v,[2,15]),e(_,o,{8:46}),{22:[1,47]},{22:[1,48]},{21:[1,49]},{22:[2,32]},{22:[2,33]},{31:50,42:b},{42:[2,36]},e(v,[2,12],{12:[1,51]}),{4:a,5:s,6:27,9:14,10:16,11:18,14:c,15:u,17:l,19:[1,52],20:f,22:d,23:h,24:p,25:g,26:y,29:6,36:m,39:i},e(v,[2,18],{18:[1,53]}),{28:[1,54]},{22:[1,55]},e(w,[2,27]),e(v,[2,13]),e(v,[2,17]),e(_,o,{8:56}),e(v,[2,23]),e(v,[2,24]),{4:a,5:s,6:27,9:14,10:16,11:18,14:c,15:u,17:l,19:[1,57],20:f,22:d,23:h,24:p,25:g,26:y,29:6,36:m,39:i},e(v,[2,19])],defaultActions:{7:[2,34],8:[2,1],9:[2,2],10:[2,3],41:[2,32],42:[2,33],44:[2,36]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],r=[],i=[null],o=[],a=this.table,s=\"\",c=0,u=0,l=0,f=2,d=1,h=o.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(e,g.yy),g.yy.lexer=p,g.yy.parser=this,\"undefined\"==typeof p.yylloc&&(p.yylloc={});var m=p.yylloc;o.push(m);var b=p.options&&p.options.ranges;function v(){var e;return\"number\"!==typeof(e=r.pop()||p.lex()||d)&&(e instanceof Array&&(e=(r=e).pop()),e=t.symbols_[e]||e),e}\"function\"===typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,w,_,k,O,E,S,C,T,j={};;){if(_=n[n.length-1],this.defaultActions[_]?k=this.defaultActions[_]:(null!==x&&\"undefined\"!=typeof x||(x=v()),k=a[_]&&a[_][x]),\"undefined\"===typeof k||!k.length||!k[0]){var A=\"\";for(E in T=[],a[_])this.terminals_[E]&&E>f&&T.push(\"'\"+this.terminals_[E]+\"'\");A=p.showPosition?\"Parse error on line \"+(c+1)+\":\\n\"+p.showPosition()+\"\\nExpecting \"+T.join(\", \")+\", got '\"+(this.terminals_[x]||x)+\"'\":\"Parse error on line \"+(c+1)+\": Unexpected \"+(x==d?\"end of input\":\"'\"+(this.terminals_[x]||x)+\"'\"),this.parseError(A,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:T})}if(k[0]instanceof Array&&k.length>1)throw new Error(\"Parse Error: multiple actions possible at state: \"+_+\", token: \"+x);switch(k[0]){case 1:n.push(x),i.push(p.yytext),o.push(p.yylloc),n.push(k[1]),x=null,w?(x=w,w=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,m=p.yylloc,l>0&&l--);break;case 2:if(S=this.productions_[k[1]][1],j.$=i[i.length-S],j._$={first_line:o[o.length-(S||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(S||1)].first_column,last_column:o[o.length-1].last_column},b&&(j._$.range=[o[o.length-(S||1)].range[0],o[o.length-1].range[1]]),\"undefined\"!==typeof(O=this.performAction.apply(j,[s,u,c,g.yy,k[1],i,o].concat(h))))return O;S&&(n=n.slice(0,-1*S*2),i=i.slice(0,-1*S),o=o.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),i.push(j.$),o.push(j._$),C=a[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0}},O={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\"\",this.conditionStack=[\"INITIAL\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\\r\\n?|\\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\\r\\n?|\\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\\r\\n?|\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?\"...\":\"\")+e.substr(-20).replace(/\\n/g,\"\")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?\"...\":\"\")).replace(/\\n/g,\"\")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join(\"-\");return e+this.upcomingInput()+\"\\n\"+t+\"^\"},test_match:function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=e[0].match(/(?:\\r\\n?|\\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\\r?\\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var o in i)this[o]=i[o];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,r;this._input||(this.done=!0),this._more||(this.yytext=\"\",this.match=\"\");for(var i=this._currentRules(),o=0;o<i.length;o++)if((n=this._input.match(this.rules[i[o]]))&&(!t||n[0].length>t[0].length)){if(t=n,r=o,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,i[o])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,i[r]))&&e:\"\"===this._input?this.EOF:this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". Unrecognized text.\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:\"INITIAL\"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{\"case-insensitive\":!0},performAction:function(e,t,n,r){switch(n){case 0:return this.begin(\"open_directive\"),39;case 1:return this.begin(\"type_directive\"),40;case 2:return this.popState(),this.begin(\"arg_directive\"),32;case 3:return this.popState(),this.popState(),42;case 4:return 41;case 5:case 8:case 9:case 10:case 11:case 29:case 35:break;case 6:console.log(\"Crap after close\");break;case 7:case 49:return 5;case 12:return this.pushState(\"SCALE\"),15;case 13:return 16;case 14:case 23:case 26:this.popState();break;case 15:this.pushState(\"STATE\");break;case 16:case 18:return this.popState(),t.yytext=t.yytext.slice(0,-8).trim(),23;case 17:case 19:return this.popState(),t.yytext=t.yytext.slice(0,-8).trim(),24;case 20:this.begin(\"STATE_STRING\");break;case 21:return this.popState(),this.pushState(\"STATE_ID\"),\"AS\";case 22:case 37:return this.popState(),\"ID\";case 24:return\"STATE_DESCR\";case 25:return 17;case 27:return this.popState(),this.pushState(\"struct\"),18;case 28:return this.popState(),19;case 30:return this.begin(\"NOTE\"),26;case 31:return this.popState(),this.pushState(\"NOTE_ID\"),37;case 32:return this.popState(),this.pushState(\"NOTE_ID\"),38;case 33:this.popState(),this.pushState(\"FLOATING_NOTE\");break;case 34:return this.popState(),this.pushState(\"FLOATING_NOTE_ID\"),\"AS\";case 36:return\"NOTE_TEXT\";case 38:return this.popState(),this.pushState(\"NOTE_TEXT\"),22;case 39:return this.popState(),t.yytext=t.yytext.substr(2).trim(),28;case 40:return this.popState(),t.yytext=t.yytext.slice(0,-8).trim(),28;case 41:case 42:return 7;case 43:return 14;case 44:return 36;case 45:return 22;case 46:return t.yytext=t.yytext.trim(),12;case 47:return 13;case 48:return 25;case 50:return\"INVALID\"}},rules:[/^(?:%%\\{)/i,/^(?:((?:(?!\\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\\}%%)/i,/^(?:((?:(?!\\}%%).|\\n)*))/i,/^(?:%%(?!\\{)[^\\n]*)/i,/^(?:[^\\}]%%[^\\n]*)/i,/^(?:[\\n]+)/i,/^(?:[\\s]+)/i,/^(?:((?!\\n)\\s)+)/i,/^(?:#[^\\n]*)/i,/^(?:%[^\\n]*)/i,/^(?:scale\\s+)/i,/^(?:\\d+)/i,/^(?:\\s+width\\b)/i,/^(?:state\\s+)/i,/^(?:.*<<fork>>)/i,/^(?:.*<<join>>)/i,/^(?:.*\\[\\[fork\\]\\])/i,/^(?:.*\\[\\[join\\]\\])/i,/^(?:[\"])/i,/^(?:\\s*as\\s+)/i,/^(?:[^\\n\\{]*)/i,/^(?:[\"])/i,/^(?:[^\"]*)/i,/^(?:[^\\n\\s\\{]+)/i,/^(?:\\n)/i,/^(?:\\{)/i,/^(?:\\})/i,/^(?:[\\n])/i,/^(?:note\\s+)/i,/^(?:left of\\b)/i,/^(?:right of\\b)/i,/^(?:\")/i,/^(?:\\s*as\\s*)/i,/^(?:[\"])/i,/^(?:[^\"]*)/i,/^(?:[^\\n]*)/i,/^(?:\\s*[^:\\n\\s\\-]+)/i,/^(?:\\s*:[^:\\n;]+)/i,/^(?:\\s*[^:;]+end note\\b)/i,/^(?:stateDiagram\\s+)/i,/^(?:stateDiagram-v2\\s+)/i,/^(?:hide empty description\\b)/i,/^(?:\\[\\*\\])/i,/^(?:[^:\\n\\s\\-\\{]+)/i,/^(?:\\s*:[^:\\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[9,10],inclusive:!1},close_directive:{rules:[9,10],inclusive:!1},arg_directive:{rules:[3,4,9,10],inclusive:!1},type_directive:{rules:[2,3,9,10],inclusive:!1},open_directive:{rules:[1,9,10],inclusive:!1},struct:{rules:[9,10,15,28,29,30,44,45,46,47,48],inclusive:!1},FLOATING_NOTE_ID:{rules:[37],inclusive:!1},FLOATING_NOTE:{rules:[34,35,36],inclusive:!1},NOTE_TEXT:{rules:[39,40],inclusive:!1},NOTE_ID:{rules:[38],inclusive:!1},NOTE:{rules:[31,32,33],inclusive:!1},SCALE:{rules:[13,14],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[22],inclusive:!1},STATE_STRING:{rules:[23,24],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,16,17,18,19,20,21,25,26,27],inclusive:!1},ID:{rules:[9,10],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,10,11,12,15,27,30,41,42,43,44,45,46,47,49,50],inclusive:!0}}};function E(){this.yy={}}return k.lexer=O,E.prototype=k,k.Parser=E,new E}();t.parser=i,t.Parser=i.Parser,t.parse=function(){return i.parse.apply(i,arguments)},t.main=function(r){r[1]||(console.log(\"Usage: \"+r[0]+\" FILE\"),e.exit(1));var i=n(\"./node_modules/node-libs-browser/mock/empty.js\").readFileSync(n(\"./node_modules/path-browserify/index.js\").normalize(r[1]),\"utf8\");return t.parser.parse(i)},n.c[n.s]===r&&t.main(e.argv.slice(1))}).call(this,n(\"./node_modules/process/browser.js\"),n(\"./node_modules/webpack/buildin/module.js\")(e))},\"./src/diagrams/state/shapes.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"drawStartState\",(function(){return l})),n.d(t,\"drawDivider\",(function(){return f})),n.d(t,\"drawSimpleState\",(function(){return d})),n.d(t,\"drawDescrState\",(function(){return h})),n.d(t,\"addTitleAndBox\",(function(){return p})),n.d(t,\"drawText\",(function(){return g})),n.d(t,\"drawNote\",(function(){return y})),n.d(t,\"drawState\",(function(){return m})),n.d(t,\"drawEdge\",(function(){return v}));var r=n(\"d3\"),i=n(\"./src/diagrams/state/id-cache.js\"),o=n(\"./src/diagrams/state/stateDb.js\"),a=n(\"./src/utils.js\"),s=n(\"./src/diagrams/common/common.js\"),c=n(\"./src/config.js\"),u=n(\"./src/logger.js\"),l=function(e){return e.append(\"circle\").attr(\"class\",\"start-state\").attr(\"r\",Object(c.getConfig)().state.sizeUnit).attr(\"cx\",Object(c.getConfig)().state.padding+Object(c.getConfig)().state.sizeUnit).attr(\"cy\",Object(c.getConfig)().state.padding+Object(c.getConfig)().state.sizeUnit)},f=function(e){return e.append(\"line\").style(\"stroke\",\"grey\").style(\"stroke-dasharray\",\"3\").attr(\"x1\",Object(c.getConfig)().state.textHeight).attr(\"class\",\"divider\").attr(\"x2\",2*Object(c.getConfig)().state.textHeight).attr(\"y1\",0).attr(\"y2\",0)},d=function(e,t){var n=e.append(\"text\").attr(\"x\",2*Object(c.getConfig)().state.padding).attr(\"y\",Object(c.getConfig)().state.textHeight+2*Object(c.getConfig)().state.padding).attr(\"font-size\",Object(c.getConfig)().state.fontSize).attr(\"class\",\"state-title\").text(t.id),r=n.node().getBBox();return e.insert(\"rect\",\":first-child\").attr(\"x\",Object(c.getConfig)().state.padding).attr(\"y\",Object(c.getConfig)().state.padding).attr(\"width\",r.width+2*Object(c.getConfig)().state.padding).attr(\"height\",r.height+2*Object(c.getConfig)().state.padding).attr(\"rx\",Object(c.getConfig)().state.radius),n},h=function(e,t){var n=e.append(\"text\").attr(\"x\",2*Object(c.getConfig)().state.padding).attr(\"y\",Object(c.getConfig)().state.textHeight+1.3*Object(c.getConfig)().state.padding).attr(\"font-size\",Object(c.getConfig)().state.fontSize).attr(\"class\",\"state-title\").text(t.descriptions[0]).node().getBBox(),r=n.height,i=e.append(\"text\").attr(\"x\",Object(c.getConfig)().state.padding).attr(\"y\",r+.4*Object(c.getConfig)().state.padding+Object(c.getConfig)().state.dividerMargin+Object(c.getConfig)().state.textHeight).attr(\"class\",\"state-description\"),o=!0,a=!0;t.descriptions.forEach((function(e){o||(function(e,t,n){var r=e.append(\"tspan\").attr(\"x\",2*Object(c.getConfig)().state.padding).text(t);n||r.attr(\"dy\",Object(c.getConfig)().state.textHeight)}(i,e,a),a=!1),o=!1}));var s=e.append(\"line\").attr(\"x1\",Object(c.getConfig)().state.padding).attr(\"y1\",Object(c.getConfig)().state.padding+r+Object(c.getConfig)().state.dividerMargin/2).attr(\"y2\",Object(c.getConfig)().state.padding+r+Object(c.getConfig)().state.dividerMargin/2).attr(\"class\",\"descr-divider\"),u=i.node().getBBox(),l=Math.max(u.width,n.width);return s.attr(\"x2\",l+3*Object(c.getConfig)().state.padding),e.insert(\"rect\",\":first-child\").attr(\"x\",Object(c.getConfig)().state.padding).attr(\"y\",Object(c.getConfig)().state.padding).attr(\"width\",l+2*Object(c.getConfig)().state.padding).attr(\"height\",u.height+r+2*Object(c.getConfig)().state.padding).attr(\"rx\",Object(c.getConfig)().state.radius),e},p=function(e,t,n){var r,i=Object(c.getConfig)().state.padding,o=2*Object(c.getConfig)().state.padding,a=e.node().getBBox(),s=a.width,u=a.x,l=e.append(\"text\").attr(\"x\",0).attr(\"y\",Object(c.getConfig)().state.titleShift).attr(\"font-size\",Object(c.getConfig)().state.fontSize).attr(\"class\",\"state-title\").text(t.id),f=l.node().getBBox().width+o,d=Math.max(f,s);d===s&&(d+=o);var h=e.node().getBBox();t.doc,r=u-i,f>s&&(r=(s-d)/2+i),Math.abs(u-h.x)<i&&f>s&&(r=u-(f-s)/2);var p=1-Object(c.getConfig)().state.textHeight;return e.insert(\"rect\",\":first-child\").attr(\"x\",r).attr(\"y\",p).attr(\"class\",n?\"alt-composit\":\"composit\").attr(\"width\",d).attr(\"height\",h.height+Object(c.getConfig)().state.textHeight+Object(c.getConfig)().state.titleShift+1).attr(\"rx\",\"0\"),l.attr(\"x\",r+i),f<=s&&l.attr(\"x\",u+(d-o)/2-f/2+i),e.insert(\"rect\",\":first-child\").attr(\"x\",r).attr(\"y\",Object(c.getConfig)().state.titleShift-Object(c.getConfig)().state.textHeight-Object(c.getConfig)().state.padding).attr(\"width\",d).attr(\"height\",3*Object(c.getConfig)().state.textHeight).attr(\"rx\",Object(c.getConfig)().state.radius),e.insert(\"rect\",\":first-child\").attr(\"x\",r).attr(\"y\",Object(c.getConfig)().state.titleShift-Object(c.getConfig)().state.textHeight-Object(c.getConfig)().state.padding).attr(\"width\",d).attr(\"height\",h.height+3+2*Object(c.getConfig)().state.textHeight).attr(\"rx\",Object(c.getConfig)().state.radius),e},g=function(e,t){var n=t.text.replace(s.default.lineBreakRegex,\" \"),r=e.append(\"text\");r.attr(\"x\",t.x),r.attr(\"y\",t.y),r.style(\"text-anchor\",t.anchor),r.attr(\"fill\",t.fill),\"undefined\"!==typeof t.class&&r.attr(\"class\",t.class);var i=r.append(\"tspan\");return i.attr(\"x\",t.x+2*t.textMargin),i.attr(\"fill\",t.fill),i.text(n),r},y=function(e,t){t.attr(\"class\",\"state-note\");var n=t.append(\"rect\").attr(\"x\",0).attr(\"y\",Object(c.getConfig)().state.padding),r=function(e,t,n,r){var i=0,o=r.append(\"text\");o.style(\"text-anchor\",\"start\"),o.attr(\"class\",\"noteText\");var a=e.replace(/\\r\\n/g,\"<br/>\"),u=(a=a.replace(/\\n/g,\"<br/>\")).split(s.default.lineBreakRegex),l=1.25*Object(c.getConfig)().state.noteMargin,f=!0,d=!1,h=void 0;try{for(var p,g=u[Symbol.iterator]();!(f=(p=g.next()).done);f=!0){var y=p.value.trim();if(y.length>0){var m=o.append(\"tspan\");m.text(y),0===l&&(l+=m.node().getBBox().height),i+=l,m.attr(\"x\",t+Object(c.getConfig)().state.noteMargin),m.attr(\"y\",n+i+1.25*Object(c.getConfig)().state.noteMargin)}}}catch(b){d=!0,h=b}finally{try{f||null==g.return||g.return()}finally{if(d)throw h}}return{textWidth:o.node().getBBox().width,textHeight:i}}(e,0,0,t.append(\"g\")),i=r.textWidth,o=r.textHeight;return n.attr(\"height\",o+2*Object(c.getConfig)().state.noteMargin),n.attr(\"width\",i+2*Object(c.getConfig)().state.noteMargin),n},m=function(e,t){var n=t.id,r={id:n,label:t.id,width:0,height:0},o=e.append(\"g\").attr(\"id\",n).attr(\"class\",\"stateGroup\");\"start\"===t.type&&l(o),\"end\"===t.type&&function(e){e.append(\"circle\").attr(\"class\",\"end-state-outer\").attr(\"r\",Object(c.getConfig)().state.sizeUnit+Object(c.getConfig)().state.miniPadding).attr(\"cx\",Object(c.getConfig)().state.padding+Object(c.getConfig)().state.sizeUnit+Object(c.getConfig)().state.miniPadding).attr(\"cy\",Object(c.getConfig)().state.padding+Object(c.getConfig)().state.sizeUnit+Object(c.getConfig)().state.miniPadding),e.append(\"circle\").attr(\"class\",\"end-state-inner\").attr(\"r\",Object(c.getConfig)().state.sizeUnit).attr(\"cx\",Object(c.getConfig)().state.padding+Object(c.getConfig)().state.sizeUnit+2).attr(\"cy\",Object(c.getConfig)().state.padding+Object(c.getConfig)().state.sizeUnit+2)}(o),\"fork\"!==t.type&&\"join\"!==t.type||function(e,t){var n=Object(c.getConfig)().state.forkWidth,r=Object(c.getConfig)().state.forkHeight;if(t.parentId){var i=n;n=r,r=i}e.append(\"rect\").style(\"stroke\",\"black\").style(\"fill\",\"black\").attr(\"width\",n).attr(\"height\",r).attr(\"x\",Object(c.getConfig)().state.padding).attr(\"y\",Object(c.getConfig)().state.padding)}(o,t),\"note\"===t.type&&y(t.note.text,o),\"divider\"===t.type&&f(o),\"default\"===t.type&&0===t.descriptions.length&&d(o,t),\"default\"===t.type&&t.descriptions.length>0&&h(o,t);var a=o.node().getBBox();return r.width=a.width+2*Object(c.getConfig)().state.padding,r.height=a.height+2*Object(c.getConfig)().state.padding,i.default.set(n,r),r},b=0,v=function(e,t,n){t.points=t.points.filter((function(e){return!Number.isNaN(e.y)}));var i=t.points,l=Object(r.line)().x((function(e){return e.x})).y((function(e){return e.y})).curve(r.curveBasis),f=e.append(\"path\").attr(\"d\",l(i)).attr(\"id\",\"edge\"+b).attr(\"class\",\"transition\"),d=\"\";if(Object(c.getConfig)().state.arrowMarkerAbsolute&&(d=(d=(d=window.location.protocol+\"//\"+window.location.host+window.location.pathname+window.location.search).replace(/\\(/g,\"\\\\(\")).replace(/\\)/g,\"\\\\)\")),f.attr(\"marker-end\",\"url(\"+d+\"#\"+function(e){switch(e){case o.default.relationType.AGGREGATION:return\"aggregation\";case o.default.relationType.EXTENSION:return\"extension\";case o.default.relationType.COMPOSITION:return\"composition\";case o.default.relationType.DEPENDENCY:return\"dependency\"}}(o.default.relationType.DEPENDENCY)+\"End)\"),\"undefined\"!==typeof n.title){for(var h=e.append(\"g\").attr(\"class\",\"stateLabel\"),p=a.default.calcLabelPosition(t.points),g=p.x,y=p.y,m=s.default.getRows(n.title),v=0,x=[],w=0,_=0,k=0;k<=m.length;k++){var O=h.append(\"text\").attr(\"text-anchor\",\"middle\").text(m[k]).attr(\"x\",g).attr(\"y\",y+v),E=O.node().getBBox();if(w=Math.max(w,E.width),_=Math.min(_,E.x),u.logger.info(E.x,g,y+v),0===v){var S=O.node().getBBox();v=S.height,u.logger.info(\"Title height\",v,y)}x.push(O)}var C=v*m.length;if(m.length>1){var T=(m.length-1)*v*.5;x.forEach((function(e,t){return e.attr(\"y\",y+t*v-T)})),C=v*m.length}var j=h.node().getBBox();h.insert(\"rect\",\":first-child\").attr(\"class\",\"box\").attr(\"x\",g-w/2-Object(c.getConfig)().state.padding/2).attr(\"y\",y-C/2-Object(c.getConfig)().state.padding/2-3.5).attr(\"width\",w+Object(c.getConfig)().state.padding).attr(\"height\",C+Object(c.getConfig)().state.padding),u.logger.info(j)}b++}},\"./src/diagrams/state/stateDb.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"parseDirective\",(function(){return l})),n.d(t,\"addState\",(function(){return g})),n.d(t,\"clear\",(function(){return y})),n.d(t,\"getState\",(function(){return m})),n.d(t,\"getStates\",(function(){return b})),n.d(t,\"logDocuments\",(function(){return v})),n.d(t,\"getRelations\",(function(){return x})),n.d(t,\"addRelation\",(function(){return w})),n.d(t,\"cleanupLabel\",(function(){return k})),n.d(t,\"lineType\",(function(){return O})),n.d(t,\"relationType\",(function(){return C}));var r=n(\"./src/logger.js\"),i=n(\"./src/utils.js\"),o=n(\"./src/mermaidAPI.js\"),a=n(\"./src/config.js\");function s(e){return s=\"function\"===typeof Symbol&&\"symbol\"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},s(e)}var c=function(e){return JSON.parse(JSON.stringify(e))},u=[],l=function(e,t,n){o.default.parseDirective(this,e,t,n)},f=function e(t,n,r){if(\"relation\"===n.stmt)e(t,n.state1,!0),e(t,n.state2,!1);else if(\"state\"===n.stmt&&\"[*]\"===n.id&&(n.id=r?t.id+\"_start\":t.id+\"_end\",n.start=r),n.doc){var o=[],a=0,s=[];for(a=0;a<n.doc.length;a++)if(\"divider\"===n.doc[a].type){var u=c(n.doc[a]);u.doc=c(s),o.push(u),s=[]}else s.push(n.doc[a]);if(o.length>0&&s.length>0){var l={stmt:\"state\",id:Object(i.generateId)(),type:\"divider\",doc:c(s)};o.push(c(l)),n.doc=o}n.doc.forEach((function(t){return e(n,t,!0)}))}},d={root:{relations:[],states:{},documents:{}}},h=d.root,p=0,g=function(e,t,n,i,o){\"undefined\"===typeof h.states[e]?h.states[e]={id:e,descriptions:[],type:t,doc:n,note:o}:(h.states[e].doc||(h.states[e].doc=n),h.states[e].type||(h.states[e].type=t)),i&&(r.logger.info(\"Adding state \",e,i),\"string\"===typeof i&&_(e,i.trim()),\"object\"===s(i)&&i.forEach((function(t){return _(e,t.trim())}))),o&&(h.states[e].note=o)},y=function(){h=(d={root:{relations:[],states:{},documents:{}}}).root,h=d.root,p=0,S=[]},m=function(e){return h.states[e]},b=function(){return h.states},v=function(){r.logger.info(\"Documents = \",d)},x=function(){return h.relations},w=function(e,t,n){var r=e,i=t,o=\"default\",a=\"default\";\"[*]\"===e&&(r=\"start\"+ ++p,o=\"start\"),\"[*]\"===t&&(i=\"end\"+p,a=\"end\"),g(r,o),g(i,a),h.relations.push({id1:r,id2:i,title:n})},_=function(e,t){var n=h.states[e],r=t;\":\"===r[0]&&(r=r.substr(1).trim()),n.descriptions.push(r)},k=function(e){return\":\"===e.substring(0,1)?e.substr(2).trim():e.trim()},O={LINE:0,DOTTED_LINE:1},E=0,S=[],C={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3};t.default={parseDirective:l,getConfig:function(){return a.getConfig().state},addState:g,clear:y,getState:m,getStates:b,getRelations:x,getClasses:function(){return S},getDirection:function(){return\"TB\"},addRelation:w,getDividerId:function(){return\"divider-id-\"+ ++E},cleanupLabel:k,lineType:O,relationType:C,logDocuments:v,getRootDoc:function(){return u},setRootDoc:function(e){r.logger.info(\"Setting root doc\",e),u=e},getRootDocV2:function(){return f({id:\"root\"},{id:\"root\",doc:u},!0),{id:\"root\",doc:u}},extract:function(e){var t;t=e.doc?e.doc:e,r.logger.info(t),y(),r.logger.info(\"Extract\",t),t.forEach((function(e){\"state\"===e.stmt&&g(e.id,e.type,e.doc,e.description,e.note),\"relation\"===e.stmt&&w(e.state1.id,e.state2.id,e.description)}))},trimColon:function(e){return e&&\":\"===e[0]?e.substr(1).trim():e.trim()}}},\"./src/diagrams/state/stateRenderer-v2.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"setConf\",(function(){return p})),n.d(t,\"getClasses\",(function(){return y})),n.d(t,\"draw\",(function(){return x}));var r=n(\"graphlib\"),i=n.n(r),o=n(\"d3\"),a=n(\"./src/diagrams/state/stateDb.js\"),s=n(\"./src/diagrams/state/parser/stateDiagram.jison\"),c=n.n(s),u=n(\"./src/config.js\"),l=n(\"./src/dagre-wrapper/index.js\"),f=n(\"./src/logger.js\"),d=n(\"./src/utils.js\"),h={},p=function(e){for(var t=Object.keys(e),n=0;n<t.length;n++)h[t[n]]=e[t[n]]},g={},y=function(e){f.logger.trace(\"Extracting classes\"),a.default.clear();var t=c.a.parser;return t.yy=a.default,t.parse(e),a.default.getClasses()},m=function(e,t,n,r){if(\"root\"!==n.id){var i=\"rect\";!0===n.start&&(i=\"start\"),!1===n.start&&(i=\"end\"),\"default\"!==n.type&&(i=n.type),g[n.id]||(g[n.id]={id:n.id,shape:i,description:n.id,classes:\"statediagram-state\"}),n.description&&(Array.isArray(g[n.id].description)?(g[n.id].shape=\"rectWithTitle\",g[n.id].description.push(n.description)):g[n.id].description.length>0?(g[n.id].shape=\"rectWithTitle\",g[n.id].description===n.id?g[n.id].description=[n.description]:g[n.id].description=[g[n.id].description,n.description]):(g[n.id].shape=\"rect\",g[n.id].description=n.description)),!g[n.id].type&&n.doc&&(f.logger.info(\"Setting cluser for \",n.id),g[n.id].type=\"group\",g[n.id].shape=\"divider\"===n.type?\"divider\":\"roundedWithTitle\",g[n.id].classes=g[n.id].classes+\" \"+(r?\"statediagram-cluster statediagram-cluster-alt\":\"statediagram-cluster\"));var o={labelStyle:\"\",shape:g[n.id].shape,labelText:g[n.id].description,classes:g[n.id].classes,style:\"\",id:n.id,domId:\"state-\"+n.id+\"-\"+b,type:g[n.id].type,padding:15};if(n.note){var a={labelStyle:\"\",shape:\"note\",labelText:n.note.text,classes:\"statediagram-note\",style:\"\",id:n.id+\"----note\",domId:\"state-\"+n.id+\"----note-\"+b,type:g[n.id].type,padding:15},s={labelStyle:\"\",shape:\"noteGroup\",labelText:n.note.text,classes:g[n.id].classes,style:\"\",id:n.id+\"----parent\",domId:\"state-\"+n.id+\"----parent-\"+b,type:\"group\",padding:0};b++,e.setNode(n.id+\"----parent\",s),e.setNode(a.id,a),e.setNode(n.id,o),e.setParent(n.id,n.id+\"----parent\"),e.setParent(a.id,n.id+\"----parent\");var c=n.id,u=a.id;\"left of\"===n.note.position&&(c=a.id,u=n.id),e.setEdge(c,u,{arrowhead:\"none\",arrowType:\"\",style:\"fill:none\",labelStyle:\"\",classes:\"transition note-edge\",arrowheadStyle:\"fill: #333\",labelpos:\"c\",labelType:\"text\",thickness:\"normal\"})}else e.setNode(n.id,o)}t&&\"root\"!==t.id&&(f.logger.info(\"Setting node \",n.id,\" to be child of its parent \",t.id),e.setParent(n.id,t.id)),n.doc&&(f.logger.info(\"Adding nodes children \"),v(e,n,n.doc,!r))},b=0,v=function(e,t,n,r){b=0,f.logger.trace(\"items\",n),n.forEach((function(n){if(\"state\"===n.stmt||\"default\"===n.stmt)m(e,t,n,r);else if(\"relation\"===n.stmt){m(e,t,n.state1,r),m(e,t,n.state2,r);var i={id:\"edge\"+b,arrowhead:\"normal\",arrowTypeEnd:\"arrow_barb\",style:\"fill:none\",labelStyle:\"\",label:n.description,arrowheadStyle:\"fill: #333\",labelpos:\"c\",labelType:\"text\",thickness:\"normal\",classes:\"transition\"},o=n.state1.id,a=n.state2.id;e.setEdge(o,a,i,b),b++}}))},x=function(e,t){f.logger.info(\"Drawing state diagram (v2)\",t),a.default.clear(),g={};var n=c.a.parser;n.yy=a.default,n.parse(e);var r=a.default.getDirection();\"undefined\"===typeof r&&(r=\"LR\");var s=Object(u.getConfig)().state,h=s.nodeSpacing||50,p=s.rankSpacing||50,y=new i.a.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:\"TB\",nodesep:h,ranksep:p,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}}));f.logger.info(a.default.getRootDocV2()),a.default.extract(a.default.getRootDocV2()),f.logger.info(a.default.getRootDocV2()),m(y,void 0,a.default.getRootDocV2(),!0);var b=Object(o.select)('[id=\"'.concat(t,'\"]')),v=Object(o.select)(\"#\"+t+\" g\");Object(l.render)(v,y,[\"barb\"],\"statediagram\",t);var x=b.node().getBBox(),w=x.width+16,_=x.height+16;b.attr(\"class\",\"statediagram\");var k=b.node().getBBox();Object(d.configureSvgSize)(b,_,1.75*w,s.useMaxWidth);var O=\"\".concat(k.x-8,\" \").concat(k.y-8,\" \").concat(w,\" \").concat(_);if(f.logger.debug(\"viewBox \".concat(O)),b.attr(\"viewBox\",O),!s.htmlLabels)for(var E=document.querySelectorAll('[id=\"'+t+'\"] .edgeLabel .label'),S=0;S<E.length;S++){var C=E[S],T=C.getBBox(),j=document.createElementNS(\"http://www.w3.org/2000/svg\",\"rect\");j.setAttribute(\"rx\",0),j.setAttribute(\"ry\",0),j.setAttribute(\"width\",T.width),j.setAttribute(\"height\",T.height),C.insertBefore(j,C.firstChild)}};t.default={setConf:p,getClasses:y,draw:x}},\"./src/diagrams/state/stateRenderer.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"setConf\",(function(){return m})),n.d(t,\"draw\",(function(){return b}));var r,i=n(\"d3\"),o=n(\"dagre\"),a=n.n(o),s=n(\"graphlib\"),c=n.n(s),u=n(\"./src/logger.js\"),l=n(\"./src/diagrams/state/stateDb.js\"),f=n(\"./src/diagrams/common/common.js\"),d=n(\"./src/diagrams/state/parser/stateDiagram.jison\"),h=n(\"./src/diagrams/state/shapes.js\"),p=n(\"./src/config.js\"),g=n(\"./src/utils.js\");d.parser.yy=l.default;var y={},m=function(){},b=function(e,t){r=Object(p.getConfig)().state,d.parser.yy.clear(),d.parser.parse(e),u.logger.debug(\"Rendering diagram \"+e);var n=Object(i.select)(\"[id='\".concat(t,\"']\"));n.append(\"defs\").append(\"marker\").attr(\"id\",\"dependencyEnd\").attr(\"refX\",19).attr(\"refY\",7).attr(\"markerWidth\",20).attr(\"markerHeight\",28).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 19,7 L9,13 L14,7 L9,1 Z\"),new c.a.Graph({multigraph:!0,compound:!0,rankdir:\"RL\"}).setDefaultEdgeLabel((function(){return{}}));var o=l.default.getRootDoc();v(o,n,void 0,!1);var a=r.padding,s=n.node().getBBox(),f=s.width+2*a,h=s.height+2*a,y=1.75*f;Object(g.configureSvgSize)(n,h,y,r.useMaxWidth),n.attr(\"viewBox\",\"\".concat(s.x-r.padding,\"  \").concat(s.y-r.padding,\" \")+f+\" \"+h)},v=function e(t,n,o,s){var d,p=new c.a.Graph({compound:!0,multigraph:!0}),g=!0;for(d=0;d<t.length;d++)if(\"relation\"===t[d].stmt){g=!1;break}o?p.setGraph({rankdir:\"LR\",multigraph:!0,compound:!0,ranker:\"tight-tree\",ranksep:g?1:r.edgeLengthFactor,nodeSep:g?1:50,isMultiGraph:!0}):p.setGraph({rankdir:\"TB\",multigraph:!0,compound:!0,ranksep:g?1:r.edgeLengthFactor,nodeSep:g?1:50,ranker:\"tight-tree\",isMultiGraph:!0}),p.setDefaultEdgeLabel((function(){return{}})),l.default.extract(t);for(var m=l.default.getStates(),b=l.default.getRelations(),v=Object.keys(m),x=0;x<v.length;x++){var w=m[v[x]];o&&(w.parentId=o);var _=void 0;if(w.doc){var k=n.append(\"g\").attr(\"id\",w.id).attr(\"class\",\"stateGroup\");_=e(w.doc,k,w.id,!s);var O=(k=Object(h.addTitleAndBox)(k,w,s)).node().getBBox();_.width=O.width,_.height=O.height+r.padding/2,y[w.id]={y:r.compositTitleSize}}else _=Object(h.drawState)(n,w,p);if(w.note){var E={descriptions:[],id:w.id+\"-note\",note:w.note,type:\"note\"},S=Object(h.drawState)(n,E,p);\"left of\"===w.note.position?(p.setNode(_.id+\"-note\",S),p.setNode(_.id,_)):(p.setNode(_.id,_),p.setNode(_.id+\"-note\",S)),p.setParent(_.id,_.id+\"-group\"),p.setParent(_.id+\"-note\",_.id+\"-group\")}else p.setNode(_.id,_)}u.logger.debug(\"Count=\",p.nodeCount(),p);var C=0;b.forEach((function(e){var t;C++,u.logger.debug(\"Setting edge\",e),p.setEdge(e.id1,e.id2,{relation:e,width:(t=e.title,t?t.length*r.fontSizeFactor:1),height:r.labelHeight*f.default.getRows(e.title).length,labelpos:\"c\"},\"id\"+C)})),a.a.layout(p),u.logger.debug(\"Graph after layout\",p.nodes());var T=n.node();p.nodes().forEach((function(e){\"undefined\"!==typeof e&&\"undefined\"!==typeof p.node(e)?(u.logger.warn(\"Node \"+e+\": \"+JSON.stringify(p.node(e))),Object(i.select)(\"#\"+T.id+\" #\"+e).attr(\"transform\",\"translate(\"+(p.node(e).x-p.node(e).width/2)+\",\"+(p.node(e).y+(y[e]?y[e].y:0)-p.node(e).height/2)+\" )\"),Object(i.select)(\"#\"+T.id+\" #\"+e).attr(\"data-x-shift\",p.node(e).x-p.node(e).width/2),document.querySelectorAll(\"#\"+T.id+\" #\"+e+\" .divider\").forEach((function(e){var t=e.parentElement,n=0,r=0;t&&(t.parentElement&&(n=t.parentElement.getBBox().width),r=parseInt(t.getAttribute(\"data-x-shift\"),10),Number.isNaN(r)&&(r=0)),e.setAttribute(\"x1\",0-r+8),e.setAttribute(\"x2\",n-r-8)}))):u.logger.debug(\"No Node \"+e+\": \"+JSON.stringify(p.node(e)))}));var j=T.getBBox();p.edges().forEach((function(e){\"undefined\"!==typeof e&&\"undefined\"!==typeof p.edge(e)&&(u.logger.debug(\"Edge \"+e.v+\" -> \"+e.w+\": \"+JSON.stringify(p.edge(e))),Object(h.drawEdge)(n,p.edge(e),p.edge(e).relation))})),j=T.getBBox();var A={id:o||\"root\",label:o||\"root\",width:0,height:0};return A.width=j.width+2*r.padding,A.height=j.height+2*r.padding,u.logger.debug(\"Doc rendered\",A,p),A};t.default={setConf:m,draw:b}},\"./src/diagrams/state/styles.js\":function(e,t,n){\"use strict\";n.r(t),t.default=function(e){return\"g.stateGroup text {\\n  fill: \".concat(e.nodeBorder,\";\\n  stroke: none;\\n  font-size: 10px;\\n}\\ng.stateGroup text {\\n  fill: \").concat(e.textColor,\";\\n  stroke: none;\\n  font-size: 10px;\\n\\n}\\ng.stateGroup .state-title {\\n  font-weight: bolder;\\n  fill: \").concat(e.labelColor,\";\\n}\\n\\ng.stateGroup rect {\\n  fill: \").concat(e.mainBkg,\";\\n  stroke: \").concat(e.nodeBorder,\";\\n}\\n\\ng.stateGroup line {\\n  stroke: \").concat(e.lineColor,\";\\n  stroke-width: 1;\\n}\\n\\n.transition {\\n  stroke: \").concat(e.lineColor,\";\\n  stroke-width: 1;\\n  fill: none;\\n}\\n\\n.stateGroup .composit {\\n  fill: \").concat(e.background,\";\\n  border-bottom: 1px\\n}\\n\\n.stateGroup .alt-composit {\\n  fill: #e0e0e0;\\n  border-bottom: 1px\\n}\\n\\n.state-note {\\n  stroke: \").concat(e.noteBorderColor,\";\\n  fill: \").concat(e.noteBkgColor,\";\\n\\n  text {\\n    fill: black;\\n    stroke: none;\\n    font-size: 10px;\\n  }\\n}\\n\\n.stateLabel .box {\\n  stroke: none;\\n  stroke-width: 0;\\n  fill: \").concat(e.mainBkg,\";\\n  opacity: 0.5;\\n}\\n\\n.edgeLabel .label rect {\\n  fill: \").concat(e.tertiaryColor,\";\\n  opacity: 0.5;\\n}\\n.edgeLabel .label text {\\n  fill: \").concat(e.tertiaryTextColor,\";\\n}\\n.label div .edgeLabel {\\n  color: \").concat(e.tertiaryTextColor,\";\\n}\\n\\n.stateLabel text {\\n  fill: \").concat(e.labelColor,\";\\n  font-size: 10px;\\n  font-weight: bold;\\n}\\n\\n.node circle.state-start {\\n  fill: \").concat(e.lineColor,\";\\n  stroke: black;\\n}\\n.node circle.state-end {\\n  fill: \").concat(e.primaryBorderColor,\";\\n  stroke: \").concat(e.background,\";\\n  stroke-width: 1.5\\n}\\n.end-state-inner {\\n  fill: \").concat(e.background,\";\\n  // stroke: \").concat(e.background,\";\\n  stroke-width: 1.5\\n}\\n\\n.node rect {\\n  fill: \").concat(e.mainBkg,\";\\n  stroke: \").concat(e.nodeBorder,\";\\n  stroke-width: 1px;\\n}\\n#statediagram-barbEnd {\\n  fill: \").concat(e.lineColor,\";\\n}\\n\\n.statediagram-cluster rect {\\n  fill: \").concat(e.mainBkg,\";\\n  stroke: \").concat(e.nodeBorder,\";\\n  stroke-width: 1px;\\n}\\n\\n.cluster-label, .nodeLabel {\\n  color: \").concat(e.textColor,\";\\n}\\n\\n.statediagram-cluster rect.outer {\\n  rx: 5px;\\n  ry: 5px;\\n}\\n.statediagram-state .divider {\\n  stroke: \").concat(e.nodeBorder,\";\\n}\\n\\n.statediagram-state .title-state {\\n  rx: 5px;\\n  ry: 5px;\\n}\\n.statediagram-cluster.statediagram-cluster .inner {\\n  fill: \").concat(e.background,\";\\n}\\n.statediagram-cluster.statediagram-cluster-alt .inner {\\n  fill: #e0e0e0;\\n}\\n\\n.statediagram-cluster .inner {\\n  rx:0;\\n  ry:0;\\n}\\n\\n.statediagram-state rect.basic {\\n  rx: 5px;\\n  ry: 5px;\\n}\\n.statediagram-state rect.divider {\\n  stroke-dasharray: 10,10;\\n  fill: \").concat(e.altBackground?e.altBackground:\"#efefef\",\";\\n}\\n\\n.note-edge {\\n  stroke-dasharray: 5;\\n}\\n\\n.statediagram-note rect {\\n  fill: \").concat(e.noteBkgColor,\";\\n  stroke: \").concat(e.noteBorderColor,\";\\n  stroke-width: 1px;\\n  rx: 0;\\n  ry: 0;\\n}\\n.statediagram-note rect {\\n  fill: \").concat(e.noteBkgColor,\";\\n  stroke: \").concat(e.noteBorderColor,\";\\n  stroke-width: 1px;\\n  rx: 0;\\n  ry: 0;\\n}\\n\\n.statediagram-note text {\\n  fill: \").concat(e.noteTextColor,\";\\n}\\n\\n.statediagram-note .nodeLabel {\\n  color: \").concat(e.noteTextColor,\";\\n}\\n\\n#dependencyStart, #dependencyEnd {\\n  fill: \").concat(e.lineColor,\";\\n  stroke: \").concat(e.lineColor,\";\\n  stroke-width: 1;\\n}\\n\")}},\"./src/diagrams/user-journey/journeyDb.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"parseDirective\",(function(){return f})),n.d(t,\"clear\",(function(){return d})),n.d(t,\"setTitle\",(function(){return h})),n.d(t,\"getTitle\",(function(){return p})),n.d(t,\"addSection\",(function(){return g})),n.d(t,\"getSections\",(function(){return y})),n.d(t,\"getTasks\",(function(){return m})),n.d(t,\"addTask\",(function(){return b})),n.d(t,\"addTaskOrg\",(function(){return v}));var r=n(\"./src/mermaidAPI.js\"),i=n(\"./src/config.js\");function o(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||\"[object Arguments]\"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance\")}()}var a=\"\",s=\"\",c=[],u=[],l=[],f=function(e,t,n){r.default.parseDirective(this,e,t,n)},d=function(){c.length=0,u.length=0,s=\"\",a=\"\",l.length=0},h=function(e){a=e},p=function(){return a},g=function(e){s=e,c.push(e)},y=function(){return c},m=function(){for(var e=x(),t=0;!e&&t<100;)e=x(),t++;return u.push.apply(u,l),u},b=function(e,t){var n=t.substr(1).split(\":\"),r=0,i=[];1===n.length?(r=Number(n[0]),i=[]):(r=Number(n[0]),i=n[1].split(\",\"));var o=i.map((function(e){return e.trim()})),a={section:s,type:s,people:o,task:e,score:r};l.push(a)},v=function(e){var t={section:s,type:s,description:e,task:e,classes:[]};u.push(t)},x=function(){for(var e=!0,t=0;t<l.length;t++)l[t].processed,e=e&&l[t].processed;return e};t.default={parseDirective:f,getConfig:function(){return i.getConfig().journey},clear:d,setTitle:h,getTitle:p,addSection:g,getSections:y,getTasks:m,addTask:b,addTaskOrg:v,getActors:function(){return function(){var e=[];return u.forEach((function(t){t.people&&e.push.apply(e,o(t.people))})),o(new Set(e)).sort()}()}}},\"./src/diagrams/user-journey/journeyRenderer.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"setConf\",(function(){return u})),n.d(t,\"draw\",(function(){return d})),n.d(t,\"bounds\",(function(){return h})),n.d(t,\"drawTasks\",(function(){return y}));var r=n(\"d3\"),i=n(\"./src/diagrams/user-journey/parser/journey.jison\"),o=n(\"./src/diagrams/user-journey/journeyDb.js\"),a=n(\"./src/diagrams/user-journey/svgDraw.js\"),s=n(\"./src/utils.js\");i.parser.yy=o.default;var c={leftMargin:150,diagramMarginX:50,diagramMarginY:20,taskMargin:50,width:150,height:50,taskFontSize:14,taskFontFamily:'\"Open-Sans\", \"sans-serif\"',boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:\"center\",bottomMarginAdj:1,activationWidth:10,textPlacement:\"fo\",actorColours:[\"#8FBC8F\",\"#7CFC00\",\"#00FFFF\",\"#20B2AA\",\"#B0E0E6\",\"#FFFFE0\"],sectionFills:[\"#191970\",\"#8B008B\",\"#4B0082\",\"#2F4F4F\",\"#800000\",\"#8B4513\",\"#00008B\"],sectionColours:[\"#fff\"]},u=function(e){Object.keys(e).forEach((function(t){c[t]=e[t]}))},l={},f=c.leftMargin,d=function(e,t){i.parser.yy.clear(),i.parser.parse(e+\"\\n\"),h.init();var n=Object(r.select)(\"#\"+t);n.attr(\"xmlns:xlink\",\"http://www.w3.org/1999/xlink\"),a.default.initGraphics(n);var o=i.parser.yy.getTasks(),u=i.parser.yy.getTitle(),d=i.parser.yy.getActors();for(var p in l)delete l[p];var g=0;d.forEach((function(e){l[e]=c.actorColours[g%c.actorColours.length],g++})),function(e){var t=60;Object.keys(l).forEach((function(n){var r=l[n],i={cx:20,cy:t,r:7,fill:r,stroke:\"#000\"};a.default.drawCircle(e,i);var o={x:40,y:t+7,fill:\"#666\",text:n,textMargin:5|c.boxTextMargin};a.default.drawText(e,o),t+=20}))}(n),h.insert(0,0,f,50*Object.keys(l).length),y(n,o,0);var m=h.getBounds();u&&n.append(\"text\").text(u).attr(\"x\",f).attr(\"font-size\",\"4ex\").attr(\"font-weight\",\"bold\").attr(\"y\",25);var b=m.stopy-m.starty+2*c.diagramMarginY,v=f+m.stopx+2*c.diagramMarginX;Object(s.configureSvgSize)(n,b,v,c.useMaxWidth),n.append(\"line\").attr(\"x1\",f).attr(\"y1\",4*c.height).attr(\"x2\",v-f-4).attr(\"y2\",4*c.height).attr(\"stroke-width\",4).attr(\"stroke\",\"black\").attr(\"marker-end\",\"url(#arrowhead)\");var x=u?70:0;n.attr(\"viewBox\",\"\".concat(m.startx,\" -25 \").concat(v,\" \").concat(b+x)),n.attr(\"preserveAspectRatio\",\"xMinYMin meet\")},h={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,n,r){\"undefined\"===typeof e[t]?e[t]=n:e[t]=r(n,e[t])},updateBounds:function(e,t,n,r){var i,o=this,a=0;this.sequenceItems.forEach((function(s){a++;var u=o.sequenceItems.length-a+1;o.updateVal(s,\"starty\",t-u*c.boxMargin,Math.min),o.updateVal(s,\"stopy\",r+u*c.boxMargin,Math.max),o.updateVal(h.data,\"startx\",e-u*c.boxMargin,Math.min),o.updateVal(h.data,\"stopx\",n+u*c.boxMargin,Math.max),\"activation\"!==i&&(o.updateVal(s,\"startx\",e-u*c.boxMargin,Math.min),o.updateVal(s,\"stopx\",n+u*c.boxMargin,Math.max),o.updateVal(h.data,\"starty\",t-u*c.boxMargin,Math.min),o.updateVal(h.data,\"stopy\",r+u*c.boxMargin,Math.max))}))},insert:function(e,t,n,r){var i=Math.min(e,n),o=Math.max(e,n),a=Math.min(t,r),s=Math.max(t,r);this.updateVal(h.data,\"startx\",i,Math.min),this.updateVal(h.data,\"starty\",a,Math.min),this.updateVal(h.data,\"stopx\",o,Math.max),this.updateVal(h.data,\"stopy\",s,Math.max),this.updateBounds(i,a,o,s)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},p=c.sectionFills,g=c.sectionColours,y=function(e,t,n){for(var r=\"\",i=n+(2*c.height+c.diagramMarginY),o=0,s=\"#CCC\",u=\"black\",d=0,y=0;y<t.length;y++){var m=t[y];if(r!==m.section){s=p[o%p.length],d=o%p.length,u=g[o%g.length];var b={x:y*c.taskMargin+y*c.width+f,y:50,text:m.section,fill:s,num:d,colour:u};a.default.drawSection(e,b,c),r=m.section,o++}var v=m.people.reduce((function(e,t){return l[t]&&(e[t]=l[t]),e}),{});m.x=y*c.taskMargin+y*c.width+f,m.y=i,m.width=c.diagramMarginX,m.height=c.diagramMarginY,m.colour=u,m.fill=s,m.num=d,m.actors=v,a.default.drawTask(e,m,c),h.insert(m.x,m.y,m.x+m.width+c.taskMargin,450)}};t.default={setConf:u,draw:d}},\"./src/diagrams/user-journey/parser/journey.jison\":function(e,t,n){(function(e,r){var i=function(){var e=function(e,t,n,r){for(n=n||{},r=e.length;r--;n[e[r]]=t);return n},t=[1,2],n=[1,5],r=[6,9,11,17,18,19,21],i=[1,15],o=[1,16],a=[1,17],s=[1,21],c=[4,6,9,11,17,18,19,21],u={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,\":\":15,argDirective:16,title:17,section:18,taskName:19,taskData:20,open_directive:21,type_directive:22,arg_directive:23,close_directive:24,$accept:0,$end:1},terminals_:{2:\"error\",4:\"journey\",6:\"EOF\",9:\"SPACE\",11:\"NEWLINE\",15:\":\",17:\"title\",18:\"section\",19:\"taskName\",20:\"taskData\",21:\"open_directive\",22:\"type_directive\",23:\"arg_directive\",24:\"close_directive\"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,1],[10,2],[10,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(e,t,n,r,i,o,a){var s=o.length-1;switch(i){case 1:return o[s-1];case 3:case 7:case 8:this.$=[];break;case 4:o[s-1].push(o[s]),this.$=o[s-1];break;case 5:case 6:this.$=o[s];break;case 11:r.setTitle(o[s].substr(6)),this.$=o[s].substr(6);break;case 12:r.addSection(o[s].substr(8)),this.$=o[s].substr(8);break;case 13:r.addTask(o[s-1],o[s]),this.$=\"task\";break;case 15:r.parseDirective(\"%%{\",\"open_directive\");break;case 16:r.parseDirective(o[s],\"type_directive\");break;case 17:o[s]=o[s].trim().replace(/'/g,'\"'),r.parseDirective(o[s],\"arg_directive\");break;case 18:r.parseDirective(\"}%%\",\"close_directive\",\"journey\")}},table:[{3:1,4:t,7:3,12:4,21:n},{1:[3]},e(r,[2,3],{5:6}),{3:7,4:t,7:3,12:4,21:n},{13:8,22:[1,9]},{22:[2,15]},{6:[1,10],7:18,8:11,9:[1,12],10:13,11:[1,14],12:4,17:i,18:o,19:a,21:n},{1:[2,2]},{14:19,15:[1,20],24:s},e([15,24],[2,16]),e(r,[2,8],{1:[2,1]}),e(r,[2,4]),{7:18,10:22,12:4,17:i,18:o,19:a,21:n},e(r,[2,6]),e(r,[2,7]),e(r,[2,11]),e(r,[2,12]),{20:[1,23]},e(r,[2,14]),{11:[1,24]},{16:25,23:[1,26]},{11:[2,18]},e(r,[2,5]),e(r,[2,13]),e(c,[2,9]),{14:27,24:s},{24:[2,17]},{11:[1,28]},e(c,[2,10])],defaultActions:{5:[2,15],7:[2,2],21:[2,18],26:[2,17]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],r=[],i=[null],o=[],a=this.table,s=\"\",c=0,u=0,l=0,f=2,d=1,h=o.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(e,g.yy),g.yy.lexer=p,g.yy.parser=this,\"undefined\"==typeof p.yylloc&&(p.yylloc={});var m=p.yylloc;o.push(m);var b=p.options&&p.options.ranges;function v(){var e;return\"number\"!==typeof(e=r.pop()||p.lex()||d)&&(e instanceof Array&&(e=(r=e).pop()),e=t.symbols_[e]||e),e}\"function\"===typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,w,_,k,O,E,S,C,T,j={};;){if(_=n[n.length-1],this.defaultActions[_]?k=this.defaultActions[_]:(null!==x&&\"undefined\"!=typeof x||(x=v()),k=a[_]&&a[_][x]),\"undefined\"===typeof k||!k.length||!k[0]){var A=\"\";for(E in T=[],a[_])this.terminals_[E]&&E>f&&T.push(\"'\"+this.terminals_[E]+\"'\");A=p.showPosition?\"Parse error on line \"+(c+1)+\":\\n\"+p.showPosition()+\"\\nExpecting \"+T.join(\", \")+\", got '\"+(this.terminals_[x]||x)+\"'\":\"Parse error on line \"+(c+1)+\": Unexpected \"+(x==d?\"end of input\":\"'\"+(this.terminals_[x]||x)+\"'\"),this.parseError(A,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:T})}if(k[0]instanceof Array&&k.length>1)throw new Error(\"Parse Error: multiple actions possible at state: \"+_+\", token: \"+x);switch(k[0]){case 1:n.push(x),i.push(p.yytext),o.push(p.yylloc),n.push(k[1]),x=null,w?(x=w,w=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,m=p.yylloc,l>0&&l--);break;case 2:if(S=this.productions_[k[1]][1],j.$=i[i.length-S],j._$={first_line:o[o.length-(S||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(S||1)].first_column,last_column:o[o.length-1].last_column},b&&(j._$.range=[o[o.length-(S||1)].range[0],o[o.length-1].range[1]]),\"undefined\"!==typeof(O=this.performAction.apply(j,[s,u,c,g.yy,k[1],i,o].concat(h))))return O;S&&(n=n.slice(0,-1*S*2),i=i.slice(0,-1*S),o=o.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),i.push(j.$),o.push(j._$),C=a[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0}},l={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\"\",this.conditionStack=[\"INITIAL\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\\r\\n?|\\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\\r\\n?|\\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\\r\\n?|\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?\"...\":\"\")+e.substr(-20).replace(/\\n/g,\"\")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?\"...\":\"\")).replace(/\\n/g,\"\")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join(\"-\");return e+this.upcomingInput()+\"\\n\"+t+\"^\"},test_match:function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=e[0].match(/(?:\\r\\n?|\\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\\r?\\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var o in i)this[o]=i[o];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,r;this._input||(this.done=!0),this._more||(this.yytext=\"\",this.match=\"\");for(var i=this._currentRules(),o=0;o<i.length;o++)if((n=this._input.match(this.rules[i[o]]))&&(!t||n[0].length>t[0].length)){if(t=n,r=o,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,i[o])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,i[r]))&&e:\"\"===this._input?this.EOF:this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". Unrecognized text.\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:\"INITIAL\"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{\"case-insensitive\":!0},performAction:function(e,t,n,r){switch(n){case 0:return this.begin(\"open_directive\"),21;case 1:return this.begin(\"type_directive\"),22;case 2:return this.popState(),this.begin(\"arg_directive\"),15;case 3:return this.popState(),this.popState(),24;case 4:return 23;case 5:case 6:case 8:case 9:break;case 7:return 11;case 10:return 4;case 11:return 17;case 12:return 18;case 13:return 19;case 14:return 20;case 15:return 15;case 16:return 6;case 17:return\"INVALID\"}},rules:[/^(?:%%\\{)/i,/^(?:((?:(?!\\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\\}%%)/i,/^(?:((?:(?!\\}%%).|\\n)*))/i,/^(?:%(?!\\{)[^\\n]*)/i,/^(?:[^\\}]%%[^\\n]*)/i,/^(?:[\\n]+)/i,/^(?:\\s+)/i,/^(?:#[^\\n]*)/i,/^(?:journey\\b)/i,/^(?:title\\s[^#\\n;]+)/i,/^(?:section\\s[^#:\\n;]+)/i,/^(?:[^#:\\n;]+)/i,/^(?::[^#\\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{open_directive:{rules:[1],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,11,12,13,14,15,16,17],inclusive:!0}}};function f(){this.yy={}}return u.lexer=l,f.prototype=u,u.Parser=f,new f}();t.parser=i,t.Parser=i.Parser,t.parse=function(){return i.parse.apply(i,arguments)},t.main=function(r){r[1]||(console.log(\"Usage: \"+r[0]+\" FILE\"),e.exit(1));var i=n(\"./node_modules/node-libs-browser/mock/empty.js\").readFileSync(n(\"./node_modules/path-browserify/index.js\").normalize(r[1]),\"utf8\");return t.parser.parse(i)},n.c[n.s]===r&&t.main(e.argv.slice(1))}).call(this,n(\"./node_modules/process/browser.js\"),n(\"./node_modules/webpack/buildin/module.js\")(e))},\"./src/diagrams/user-journey/styles.js\":function(e,t,n){\"use strict\";n.r(t),t.default=function(e){return\".label {\\n    font-family: 'trebuchet ms', verdana, arial;\\n    font-family: var(--mermaid-font-family);\\n    color: \".concat(e.textColor,\";\\n  }\\n  .mouth {\\n    stroke: #666;\\n  }\\n\\n  line {\\n    stroke: \").concat(e.textColor,\"\\n  }\\n\\n  .legend {\\n    fill: \").concat(e.textColor,\";\\n  }\\n\\n  .label text {\\n    fill: #333;\\n  }\\n  .label {\\n    color: \").concat(e.textColor,\"\\n  }\\n\\n  .face {\\n    fill: #FFF8DC;\\n    stroke: #999;\\n  }\\n\\n  .node rect,\\n  .node circle,\\n  .node ellipse,\\n  .node polygon,\\n  .node path {\\n    fill: \").concat(e.mainBkg,\";\\n    stroke: \").concat(e.nodeBorder,\";\\n    stroke-width: 1px;\\n  }\\n\\n  .node .label {\\n    text-align: center;\\n  }\\n  .node.clickable {\\n    cursor: pointer;\\n  }\\n\\n  .arrowheadPath {\\n    fill: \").concat(e.arrowheadColor,\";\\n  }\\n\\n  .edgePath .path {\\n    stroke: \").concat(e.lineColor,\";\\n    stroke-width: 1.5px;\\n  }\\n\\n  .flowchart-link {\\n    stroke: \").concat(e.lineColor,\";\\n    fill: none;\\n  }\\n\\n  .edgeLabel {\\n    background-color: \").concat(e.edgeLabelBackground,\";\\n    rect {\\n      opacity: 0.5;\\n    }\\n    text-align: center;\\n  }\\n\\n  .cluster rect {\\n  }\\n\\n  .cluster text {\\n    fill: \").concat(e.titleColor,\";\\n  }\\n\\n  div.mermaidTooltip {\\n    position: absolute;\\n    text-align: center;\\n    max-width: 200px;\\n    padding: 2px;\\n    font-family: 'trebuchet ms', verdana, arial;\\n    font-family: var(--mermaid-font-family);\\n    font-size: 12px;\\n    background: \").concat(e.tertiaryColor,\";\\n    border: 1px solid \").concat(e.border2,\";\\n    border-radius: 2px;\\n    pointer-events: none;\\n    z-index: 100;\\n  }\\n\\n  .task-type-0, .section-type-0  {\\n    \").concat(e.fillType0?\"fill: \".concat(e.fillType0):\"\",\";\\n  }\\n  .task-type-1, .section-type-1  {\\n    \").concat(e.fillType0?\"fill: \".concat(e.fillType1):\"\",\";\\n  }\\n  .task-type-2, .section-type-2  {\\n    \").concat(e.fillType0?\"fill: \".concat(e.fillType2):\"\",\";\\n  }\\n  .task-type-3, .section-type-3  {\\n    \").concat(e.fillType0?\"fill: \".concat(e.fillType3):\"\",\";\\n  }\\n  .task-type-4, .section-type-4  {\\n    \").concat(e.fillType0?\"fill: \".concat(e.fillType4):\"\",\";\\n  }\\n  .task-type-5, .section-type-5  {\\n    \").concat(e.fillType0?\"fill: \".concat(e.fillType5):\"\",\";\\n  }\\n  .task-type-6, .section-type-6  {\\n    \").concat(e.fillType0?\"fill: \".concat(e.fillType6):\"\",\";\\n  }\\n  .task-type-7, .section-type-7  {\\n    \").concat(e.fillType0?\"fill: \".concat(e.fillType7):\"\",\";\\n  }\\n\")}},\"./src/diagrams/user-journey/svgDraw.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"drawRect\",(function(){return i})),n.d(t,\"drawFace\",(function(){return o})),n.d(t,\"drawCircle\",(function(){return a})),n.d(t,\"drawText\",(function(){return s})),n.d(t,\"drawLabel\",(function(){return c})),n.d(t,\"drawSection\",(function(){return u})),n.d(t,\"drawTask\",(function(){return f})),n.d(t,\"drawBackgroundRect\",(function(){return d})),n.d(t,\"getTextObj\",(function(){return h})),n.d(t,\"getNoteRect\",(function(){return p}));var r=n(\"d3\"),i=function(e,t){var n=e.append(\"rect\");return n.attr(\"x\",t.x),n.attr(\"y\",t.y),n.attr(\"fill\",t.fill),n.attr(\"stroke\",t.stroke),n.attr(\"width\",t.width),n.attr(\"height\",t.height),n.attr(\"rx\",t.rx),n.attr(\"ry\",t.ry),\"undefined\"!==typeof t.class&&n.attr(\"class\",t.class),n},o=function(e,t){var n=15,i=e.append(\"circle\").attr(\"cx\",t.cx).attr(\"cy\",t.cy).attr(\"class\",\"face\").attr(\"r\",n).attr(\"stroke-width\",2).attr(\"overflow\",\"visible\"),o=e.append(\"g\");return o.append(\"circle\").attr(\"cx\",t.cx-5).attr(\"cy\",t.cy-5).attr(\"r\",1.5).attr(\"stroke-width\",2).attr(\"fill\",\"#666\").attr(\"stroke\",\"#666\"),o.append(\"circle\").attr(\"cx\",t.cx+5).attr(\"cy\",t.cy-5).attr(\"r\",1.5).attr(\"stroke-width\",2).attr(\"fill\",\"#666\").attr(\"stroke\",\"#666\"),t.score>3?function(e){var i=Object(r.arc)().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(n/2.2);e.append(\"path\").attr(\"class\",\"mouth\").attr(\"d\",i).attr(\"transform\",\"translate(\"+t.cx+\",\"+(t.cy+2)+\")\")}(o):t.score<3?function(e){var i=Object(r.arc)().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(n/2.2);e.append(\"path\").attr(\"class\",\"mouth\").attr(\"d\",i).attr(\"transform\",\"translate(\"+t.cx+\",\"+(t.cy+7)+\")\")}(o):function(e){e.append(\"line\").attr(\"class\",\"mouth\").attr(\"stroke\",2).attr(\"x1\",t.cx-5).attr(\"y1\",t.cy+7).attr(\"x2\",t.cx+5).attr(\"y2\",t.cy+7).attr(\"class\",\"mouth\").attr(\"stroke-width\",\"1px\").attr(\"stroke\",\"#666\")}(o),i},a=function(e,t){var n=e.append(\"circle\");return n.attr(\"cx\",t.cx),n.attr(\"cy\",t.cy),n.attr(\"fill\",t.fill),n.attr(\"stroke\",t.stroke),n.attr(\"r\",t.r),\"undefined\"!==typeof n.class&&n.attr(\"class\",n.class),\"undefined\"!==typeof t.title&&n.append(\"title\").text(t.title),n},s=function(e,t){var n=t.text.replace(/<br\\s*\\/?>/gi,\" \"),r=e.append(\"text\");r.attr(\"x\",t.x),r.attr(\"y\",t.y),r.attr(\"class\",\"legend\"),r.style(\"text-anchor\",t.anchor),\"undefined\"!==typeof t.class&&r.attr(\"class\",t.class);var i=r.append(\"tspan\");return i.attr(\"x\",t.x+2*t.textMargin),i.text(n),r},c=function(e,t){var n,r,i,o,a,c=e.append(\"polygon\");c.attr(\"points\",(n=t.x,r=t.y,n+\",\"+r+\" \"+(n+(i=50))+\",\"+r+\" \"+(n+i)+\",\"+(r+(o=20)-(a=7))+\" \"+(n+i-1.2*a)+\",\"+(r+o)+\" \"+n+\",\"+(r+o))),c.attr(\"class\",\"labelBox\"),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,s(e,t)},u=function(e,t,n){var r=e.append(\"g\"),o=p();o.x=t.x,o.y=t.y,o.fill=t.fill,o.width=n.width,o.height=n.height,o.class=\"journey-section section-type-\"+t.num,o.rx=3,o.ry=3,i(r,o),g(n)(t.text,r,o.x,o.y,o.width,o.height,{class:\"journey-section section-type-\"+t.num},n,t.colour)},l=-1,f=function(e,t,n){var r=t.x+n.width/2,s=e.append(\"g\");l++,s.append(\"line\").attr(\"id\",\"task\"+l).attr(\"x1\",r).attr(\"y1\",t.y).attr(\"x2\",r).attr(\"y2\",450).attr(\"class\",\"task-line\").attr(\"stroke-width\",\"1px\").attr(\"stroke-dasharray\",\"4 2\").attr(\"stroke\",\"#666\"),o(s,{cx:r,cy:300+30*(5-t.score),score:t.score});var c=p();c.x=t.x,c.y=t.y,c.fill=t.fill,c.width=n.width,c.height=n.height,c.class=\"task task-type-\"+t.num,c.rx=3,c.ry=3,i(s,c);var u=t.x+14;t.people.forEach((function(e){var n=t.actors[e],r={cx:u,cy:t.y,r:7,fill:n,stroke:\"#000\",title:e};a(s,r),u+=10})),g(n)(t.task,s,c.x,c.y,c.width,c.height,{class:\"task\"},n,t.colour)},d=function(e,t){i(e,{x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,class:\"rect\"}).lower()},h=function(){return{x:0,y:0,fill:void 0,\"text-anchor\":\"start\",width:100,height:100,textMargin:0,rx:0,ry:0}},p=function(){return{x:0,y:0,width:100,anchor:\"start\",height:100,rx:0,ry:0}},g=function(){function e(e,t,n,i,o,a,s,c){r(t.append(\"text\").attr(\"x\",n+o/2).attr(\"y\",i+a/2+5).style(\"font-color\",c).style(\"text-anchor\",\"middle\").text(e),s)}function t(e,t,n,i,o,a,s,c,u){for(var l=c.taskFontSize,f=c.taskFontFamily,d=e.split(/<br\\s*\\/?>/gi),h=0;h<d.length;h++){var p=h*l-l*(d.length-1)/2,g=t.append(\"text\").attr(\"x\",n+o/2).attr(\"y\",i).attr(\"fill\",u).style(\"text-anchor\",\"middle\").style(\"font-size\",l).style(\"font-family\",f);g.append(\"tspan\").attr(\"x\",n+o/2).attr(\"dy\",p).text(d[h]),g.attr(\"y\",i+a/2).attr(\"dominant-baseline\",\"central\").attr(\"alignment-baseline\",\"central\"),r(g,s)}}function n(e,n,i,o,a,s,c,u){var l=n.append(\"switch\"),f=l.append(\"foreignObject\").attr(\"x\",i).attr(\"y\",o).attr(\"width\",a).attr(\"height\",s).attr(\"position\",\"fixed\").append(\"div\").style(\"display\",\"table\").style(\"height\",\"100%\").style(\"width\",\"100%\");f.append(\"div\").attr(\"class\",\"label\").style(\"display\",\"table-cell\").style(\"text-align\",\"center\").style(\"vertical-align\",\"middle\").text(e),t(e,l,i,o,a,s,c,u),r(f,c)}function r(e,t){for(var n in t)n in t&&e.attr(n,t[n])}return function(r){return\"fo\"===r.textPlacement?n:\"old\"===r.textPlacement?e:t}}();t.default={drawRect:i,drawCircle:a,drawSection:u,drawText:s,drawLabel:c,drawTask:f,drawBackgroundRect:d,getTextObj:h,getNoteRect:p,initGraphics:function(e){e.append(\"defs\").append(\"marker\").attr(\"id\",\"arrowhead\").attr(\"refX\",5).attr(\"refY\",2).attr(\"markerWidth\",6).attr(\"markerHeight\",4).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 0,0 V 4 L6,2 Z\")}}},\"./src/errorRenderer.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"setConf\",(function(){return a})),n.d(t,\"draw\",(function(){return s}));var r=n(\"d3\"),i=n(\"./src/logger.js\"),o={},a=function(e){Object.keys(e).forEach((function(t){o[t]=e[t]}))},s=function(e,t){try{i.logger.debug(\"Renering svg for syntax error\\n\");var n=Object(r.select)(\"#\"+e),o=n.append(\"g\");o.append(\"path\").attr(\"class\",\"error-icon\").attr(\"d\",\"m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z\"),o.append(\"path\").attr(\"class\",\"error-icon\").attr(\"d\",\"m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z\"),o.append(\"path\").attr(\"class\",\"error-icon\").attr(\"d\",\"m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z\"),o.append(\"path\").attr(\"class\",\"error-icon\").attr(\"d\",\"m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z\"),o.append(\"path\").attr(\"class\",\"error-icon\").attr(\"d\",\"m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z\"),o.append(\"path\").attr(\"class\",\"error-icon\").attr(\"d\",\"m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z\"),o.append(\"text\").attr(\"class\",\"error-text\").attr(\"x\",1240).attr(\"y\",250).attr(\"font-size\",\"150px\").style(\"text-anchor\",\"middle\").text(\"Syntax error in graph\"),o.append(\"text\").attr(\"class\",\"error-text\").attr(\"x\",1050).attr(\"y\",400).attr(\"font-size\",\"100px\").style(\"text-anchor\",\"middle\").text(\"mermaid version \"+t),n.attr(\"height\",100),n.attr(\"width\",400),n.attr(\"viewBox\",\"768 0 512 512\")}catch(a){i.logger.error(\"Error while rendering info diagram\"),i.logger.error(a.message)}};t.default={setConf:a,draw:s}},\"./src/logger.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"LEVELS\",(function(){return o})),n.d(t,\"logger\",(function(){return a})),n.d(t,\"setLogLevel\",(function(){return s}));var r=n(\"moment-mini\"),i=n.n(r),o={debug:1,info:2,warn:3,error:4,fatal:5},a={debug:function(){},info:function(){},warn:function(){},error:function(){},fatal:function(){}},s=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"fatal\";isNaN(e)&&(e=e.toLowerCase(),void 0!==o[e]&&(e=o[e])),a.trace=function(){},a.debug=function(){},a.info=function(){},a.warn=function(){},a.error=function(){},a.fatal=function(){},e<=o.fatal&&(a.fatal=console.error?console.error.bind(console,c(\"FATAL\"),\"color: orange\"):console.log.bind(console,\"\\x1b[35m\",c(\"FATAL\"))),e<=o.error&&(a.error=console.error?console.error.bind(console,c(\"ERROR\"),\"color: orange\"):console.log.bind(console,\"\\x1b[31m\",c(\"ERROR\"))),e<=o.warn&&(a.warn=console.warn?console.warn.bind(console,c(\"WARN\"),\"color: orange\"):console.log.bind(console,\"\\x1b[33m\",c(\"WARN\"))),e<=o.info&&(a.info=console.info?console.info.bind(console,c(\"INFO\"),\"color: lightblue\"):console.log.bind(console,\"\\x1b[34m\",c(\"INFO\"))),e<=o.debug&&(a.debug=console.debug?console.debug.bind(console,c(\"DEBUG\"),\"color: lightgreen\"):console.log.bind(console,\"\\x1b[32m\",c(\"DEBUG\")))},c=function(e){var t=i()().format(\"ss.SSS\");return\"%c\".concat(t,\" : \").concat(e,\" : \")}},\"./src/mermaid.js\":function(e,t,n){\"use strict\";n.r(t);var r=n(\"entity-decode/browser\"),i=n.n(r),o=n(\"./src/mermaidAPI.js\"),a=n(\"./src/logger.js\"),s=n(\"./src/utils.js\"),c=function(){u.startOnLoad?o.default.getConfig().startOnLoad&&u.init():\"undefined\"===typeof u.startOnLoad&&(a.logger.debug(\"In start, no config\"),o.default.getConfig().startOnLoad&&u.init())};\"undefined\"!==typeof document&&window.addEventListener(\"load\",(function(){c()}),!1);var u={startOnLoad:!0,htmlLabels:!0,mermaidAPI:o.default,parse:o.default.parse,render:o.default.render,init:function(){var e,t,n,r=this,c=o.default.getConfig();arguments.length>=2?(\"undefined\"!==typeof arguments[0]&&(u.sequenceConfig=arguments[0]),e=arguments[1]):e=arguments[0],\"function\"===typeof arguments[arguments.length-1]?(t=arguments[arguments.length-1],a.logger.debug(\"Callback function found\")):\"undefined\"!==typeof c.mermaid&&(\"function\"===typeof c.mermaid.callback?(t=c.mermaid.callback,a.logger.debug(\"Callback function found\")):a.logger.debug(\"No Callback function found\")),e=void 0===e?document.querySelectorAll(\".mermaid\"):\"string\"===typeof e?document.querySelectorAll(e):e instanceof window.Node?[e]:e,a.logger.debug(\"Start On Load before: \"+u.startOnLoad),\"undefined\"!==typeof u.startOnLoad&&(a.logger.debug(\"Start On Load inner: \"+u.startOnLoad),o.default.updateSiteConfig({startOnLoad:u.startOnLoad})),\"undefined\"!==typeof u.ganttConfig&&o.default.updateSiteConfig({gantt:u.ganttConfig});for(var l=function(c){var u=e[c];if(u.getAttribute(\"data-processed\"))return\"continue\";u.setAttribute(\"data-processed\",!0);var l=\"mermaid-\".concat(Date.now());n=u.innerHTML,n=i()(n).trim().replace(/<br\\s*\\/?>/gi,\"<br/>\");var f=s.default.detectInit(n);f&&a.logger.debug(\"Detected early reinit: \",f);try{o.default.render(l,n,(function(e,n){u.innerHTML=e,\"undefined\"!==typeof t&&t(l),n&&n(u)}),u)}catch(d){a.logger.warn(\"Syntax Error rendering\"),a.logger.warn(d),r.parseError&&r.parseError(d)}},f=0;f<e.length;f++)l(f)},initialize:function(e){\"undefined\"!==typeof e.mermaid&&(\"undefined\"!==typeof e.mermaid.startOnLoad&&(u.startOnLoad=e.mermaid.startOnLoad),\"undefined\"!==typeof e.mermaid.htmlLabels&&(u.htmlLabels=e.mermaid.htmlLabels)),o.default.initialize(e)},contentLoaded:c};t.default=u},\"./src/mermaidAPI.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"encodeEntities\",(function(){return re})),n.d(t,\"decodeEntities\",(function(){return ie}));var r=n(\"stylis\"),i=n.n(r),o=n(\"d3\"),a=n(\"./package.json\"),s=n(\"./src/logger.js\"),c=n(\"./src/utils.js\"),u=n(\"./src/diagrams/flowchart/flowRenderer.js\"),l=n(\"./src/diagrams/flowchart/flowRenderer-v2.js\"),f=n(\"./src/diagrams/flowchart/parser/flow.jison\"),d=n.n(f),h=n(\"./src/diagrams/flowchart/flowDb.js\"),p=n(\"./src/diagrams/sequence/sequenceRenderer.js\"),g=n(\"./src/diagrams/sequence/parser/sequenceDiagram.jison\"),y=n.n(g),m=n(\"./src/diagrams/sequence/sequenceDb.js\"),b=n(\"./src/diagrams/gantt/ganttRenderer.js\"),v=n(\"./src/diagrams/gantt/parser/gantt.jison\"),x=n.n(v),w=n(\"./src/diagrams/gantt/ganttDb.js\"),_=n(\"./src/diagrams/class/classRenderer.js\"),k=n(\"./src/diagrams/class/classRenderer-v2.js\"),O=n(\"./src/diagrams/class/parser/classDiagram.jison\"),E=n.n(O),S=n(\"./src/diagrams/class/classDb.js\"),C=n(\"./src/diagrams/state/stateRenderer.js\"),T=n(\"./src/diagrams/state/stateRenderer-v2.js\"),j=n(\"./src/diagrams/state/parser/stateDiagram.jison\"),A=n.n(j),M=n(\"./src/diagrams/state/stateDb.js\"),P=n(\"./src/diagrams/git/gitGraphRenderer.js\"),N=n(\"./src/diagrams/git/parser/gitGraph.jison\"),D=n.n(N),R=n(\"./src/diagrams/git/gitGraphAst.js\"),I=n(\"./src/diagrams/info/infoRenderer.js\"),L=n(\"./src/errorRenderer.js\"),B=n(\"./src/diagrams/info/parser/info.jison\"),F=n.n(B),z=n(\"./src/diagrams/info/infoDb.js\"),U=n(\"./src/diagrams/pie/pieRenderer.js\"),H=n(\"./src/diagrams/pie/parser/pie.jison\"),W=n.n(H),Y=n(\"./src/diagrams/pie/pieDb.js\"),V=n(\"./src/diagrams/er/erDb.js\"),q=n(\"./src/diagrams/er/parser/erDiagram.jison\"),$=n.n(q),G=n(\"./src/diagrams/er/erRenderer.js\"),X=n(\"./src/diagrams/user-journey/parser/journey.jison\"),K=n.n(X),Z=n(\"./src/diagrams/user-journey/journeyDb.js\"),J=n(\"./src/diagrams/user-journey/journeyRenderer.js\"),Q=n(\"./src/config.js\"),ee=n(\"./src/styles.js\"),te=n(\"./src/themes/index.js\");function ne(e){return ne=\"function\"===typeof Symbol&&\"symbol\"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},ne(e)}var re=function(e){var t=e;return t=(t=(t=t.replace(/style.*:\\S*#.*;/g,(function(e){return e.substring(0,e.length-1)}))).replace(/classDef.*:\\S*#.*;/g,(function(e){return e.substring(0,e.length-1)}))).replace(/#\\w+;/g,(function(e){var t=e.substring(1,e.length-1);return/^\\+?\\d+$/.test(t)?\"\\ufb02\\xb0\\xb0\"+t+\"\\xb6\\xdf\":\"\\ufb02\\xb0\"+t+\"\\xb6\\xdf\"}))},ie=function(e){var t=e;return t=(t=(t=t.replace(/\\ufb02\\xb0\\xb0/g,(function(){return\"&#\"}))).replace(/\\ufb02\\xb0/g,(function(){return\"&\"}))).replace(/\\xb6\\xdf/g,(function(){return\";\"}))},oe={},ae=function(e,t,n){switch(s.logger.debug(\"Directive type=\".concat(t.type,\" with args:\"),t.args),t.type){case\"init\":case\"initialize\":[\"config\"].forEach((function(e){\"undefined\"!==typeof t.args[e]&&(\"flowchart-v2\"===n&&(n=\"flowchart\"),t.args[n]=t.args[e],delete t.args[e])})),t.args,Q.addDirective(t.args);break;case\"wrap\":case\"nowrap\":e&&e.setWrap&&e.setWrap(\"wrap\"===t.type);break;default:s.logger.warn(\"Unhandled directive: source: '%%{\".concat(t.type,\": \").concat(JSON.stringify(t.args?t.args:{}),\"}%%\"),t)}};function se(e){P.default.setConf(e.git),u.default.setConf(e.flowchart),l.default.setConf(e.flowchart),\"undefined\"!==typeof e.sequenceDiagram&&p.default.setConf(Object(c.assignWithDepth)(e.sequence,e.sequenceDiagram)),p.default.setConf(e.sequence),b.default.setConf(e.gantt),_.default.setConf(e.class),C.default.setConf(e.state),T.default.setConf(e.state),I.default.setConf(e.class),U.default.setConf(e.class),G.default.setConf(e.er),J.default.setConf(e.journey),L.default.setConf(e.class)}function ce(){}var ue=Object.freeze({render:function(e,t,n,r){Q.reset();var f=t,d=c.default.detectInit(f);d&&Q.addDirective(d);var g=Q.getConfig();if(t.length>g.maxTextSize&&(f=\"graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa\"),\"undefined\"!==typeof r)r.innerHTML=\"\",Object(o.select)(r).append(\"div\").attr(\"id\",\"d\"+e).attr(\"style\",\"font-family: \"+g.fontFamily).append(\"svg\").attr(\"id\",e).attr(\"width\",\"100%\").attr(\"xmlns\",\"http://www.w3.org/2000/svg\").append(\"g\");else{var y=document.getElementById(e);y&&y.remove();var m=document.querySelector(\"#d\"+e);m&&m.remove(),Object(o.select)(\"body\").append(\"div\").attr(\"id\",\"d\"+e).append(\"svg\").attr(\"id\",e).attr(\"width\",\"100%\").attr(\"xmlns\",\"http://www.w3.org/2000/svg\").append(\"g\")}window.txt=f,f=re(f);var v=Object(o.select)(\"#d\"+e).node(),x=c.default.detectType(f),O=v.firstChild,E=O.firstChild,j=\"\";if(void 0!==g.themeCSS&&(j+=\"\\n\".concat(g.themeCSS)),void 0!==g.fontFamily&&(j+=\"\\n:root { --mermaid-font-family: \".concat(g.fontFamily,\"}\")),void 0!==g.altFontFamily&&(j+=\"\\n:root { --mermaid-alt-font-family: \".concat(g.altFontFamily,\"}\")),\"flowchart\"===x||\"flowchart-v2\"===x||\"graph\"===x){var A=u.default.getClasses(f);for(var M in A)j+=\"\\n.\".concat(M,\" > * { \").concat(A[M].styles.join(\" !important; \"),\" !important; }\"),A[M].textStyles&&(j+=\"\\n.\".concat(M,\" tspan { \").concat(A[M].textStyles.join(\" !important; \"),\" !important; }\"))}var N=(new i.a)(\"#\".concat(e),Object(ee.default)(x,j,g.themeVariables)),D=document.createElement(\"style\");D.innerHTML=N,O.insertBefore(D,E);try{switch(x){case\"git\":g.flowchart.arrowMarkerAbsolute=g.arrowMarkerAbsolute,P.default.setConf(g.git),P.default.draw(f,e,!1);break;case\"flowchart\":g.flowchart.arrowMarkerAbsolute=g.arrowMarkerAbsolute,u.default.setConf(g.flowchart),u.default.draw(f,e,!1);break;case\"flowchart-v2\":g.flowchart.arrowMarkerAbsolute=g.arrowMarkerAbsolute,l.default.setConf(g.flowchart),l.default.draw(f,e,!1);break;case\"sequence\":g.sequence.arrowMarkerAbsolute=g.arrowMarkerAbsolute,g.sequenceDiagram?(p.default.setConf(Object.assign(g.sequence,g.sequenceDiagram)),console.error(\"`mermaid config.sequenceDiagram` has been renamed to `config.sequence`. Please update your mermaid config.\")):p.default.setConf(g.sequence),p.default.draw(f,e);break;case\"gantt\":g.gantt.arrowMarkerAbsolute=g.arrowMarkerAbsolute,b.default.setConf(g.gantt),b.default.draw(f,e);break;case\"class\":g.class.arrowMarkerAbsolute=g.arrowMarkerAbsolute,_.default.setConf(g.class),_.default.draw(f,e);break;case\"classDiagram\":g.class.arrowMarkerAbsolute=g.arrowMarkerAbsolute,k.default.setConf(g.class),k.default.draw(f,e);break;case\"state\":g.class.arrowMarkerAbsolute=g.arrowMarkerAbsolute,C.default.setConf(g.state),C.default.draw(f,e);break;case\"stateDiagram\":g.class.arrowMarkerAbsolute=g.arrowMarkerAbsolute,T.default.setConf(g.state),T.default.draw(f,e);break;case\"info\":g.class.arrowMarkerAbsolute=g.arrowMarkerAbsolute,I.default.setConf(g.class),I.default.draw(f,e,a.version);break;case\"pie\":g.class.arrowMarkerAbsolute=g.arrowMarkerAbsolute,U.default.setConf(g.pie),U.default.draw(f,e,a.version);break;case\"er\":G.default.setConf(g.er),G.default.draw(f,e,a.version);break;case\"journey\":J.default.setConf(g.journey),J.default.draw(f,e,a.version)}}catch(F){throw L.default.draw(e,a.version),F}Object(o.select)('[id=\"'.concat(e,'\"]')).selectAll(\"foreignobject > *\").attr(\"xmlns\",\"http://www.w3.org/1999/xhtml\");var R=Object(o.select)(\"#d\"+e).node().innerHTML;if(s.logger.debug(\"cnf.arrowMarkerAbsolute\",g.arrowMarkerAbsolute),g.arrowMarkerAbsolute&&\"false\"!==g.arrowMarkerAbsolute||(R=R.replace(/marker-end=\"url\\(.*?#/g,'marker-end=\"url(#',\"g\")),R=ie(R),\"undefined\"!==typeof n)switch(x){case\"flowchart\":case\"flowchart-v2\":n(R,h.default.bindFunctions);break;case\"gantt\":n(R,w.default.bindFunctions);break;case\"class\":case\"classDiagram\":n(R,S.default.bindFunctions);break;default:n(R)}else s.logger.debug(\"CB = undefined!\");var B=Object(o.select)(\"#d\"+e).node();return null!==B&&\"function\"===typeof B.remove&&Object(o.select)(\"#d\"+e).node().remove(),R},parse:function(e){var t=c.default.detectInit(e);t&&s.logger.debug(\"reinit \",t);var n,r=c.default.detectType(e);switch(s.logger.debug(\"Type \"+r),r){case\"git\":(n=D.a).parser.yy=R.default;break;case\"flowchart\":case\"flowchart-v2\":h.default.clear(),(n=d.a).parser.yy=h.default;break;case\"sequence\":(n=y.a).parser.yy=m.default;break;case\"gantt\":(n=x.a).parser.yy=w.default;break;case\"class\":case\"classDiagram\":(n=E.a).parser.yy=S.default;break;case\"state\":case\"stateDiagram\":(n=A.a).parser.yy=M.default;break;case\"info\":s.logger.debug(\"info info info\"),(n=F.a).parser.yy=z.default;break;case\"pie\":s.logger.debug(\"pie\"),(n=W.a).parser.yy=Y.default;break;case\"er\":s.logger.debug(\"er\"),(n=$.a).parser.yy=V.default;break;case\"journey\":s.logger.debug(\"Journey\"),(n=K.a).parser.yy=Z.default}return n.parser.yy.graphType=r,n.parser.yy.parseError=function(e,t){throw{str:e,hash:t}},n.parse(e),n},parseDirective:function(e,t,n,r){try{if(void 0!==t)switch(t=t.trim(),n){case\"open_directive\":oe={};break;case\"type_directive\":oe.type=t.toLowerCase();break;case\"arg_directive\":oe.args=JSON.parse(t);break;case\"close_directive\":ae(e,oe,r),oe=null}}catch(i){s.logger.error(\"Error while rendering sequenceDiagram directive: \".concat(t,\" jison context: \").concat(n)),s.logger.error(i.message)}},initialize:function(e){e&&e.fontFamily&&(e.themeVariables&&e.themeVariables.fontFamily||(e.themeVariables={fontFamily:e.fontFamily})),Q.setSiteConfigDelta(e),e&&e.theme&&te.default[e.theme]?e.themeVariables=te.default[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=te.default.default.getThemeVariables(e.themeVariables));var t=\"object\"===ne(e)?Q.setSiteConfig(e):Q.getSiteConfig();se(t),Object(s.setLogLevel)(t.logLevel)},reinitialize:ce,getConfig:Q.getConfig,setConfig:Q.setConfig,getSiteConfig:Q.getSiteConfig,updateSiteConfig:Q.updateSiteConfig,reset:function(){Q.reset()},globalReset:function(){Q.reset(Q.defaultConfig),se(Q.getConfig())},defaultConfig:Q.defaultConfig});Object(s.setLogLevel)(Q.getConfig().logLevel),Q.reset(Q.getConfig()),t.default=ue},\"./src/styles.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"calcThemeVariables\",(function(){return p}));var r=n(\"./src/diagrams/class/styles.js\"),i=n(\"./src/diagrams/er/styles.js\"),o=n(\"./src/diagrams/flowchart/styles.js\"),a=n(\"./src/diagrams/gantt/styles.js\"),s=n(\"./src/diagrams/git/styles.js\"),c=n(\"./src/diagrams/info/styles.js\"),u=n(\"./src/diagrams/pie/styles.js\"),l=n(\"./src/diagrams/sequence/styles.js\"),f=n(\"./src/diagrams/state/styles.js\"),d=n(\"./src/diagrams/user-journey/styles.js\"),h={flowchart:o.default,\"flowchart-v2\":o.default,sequence:l.default,gantt:a.default,classDiagram:r.default,\"classDiagram-v2\":r.default,class:r.default,stateDiagram:f.default,state:f.default,git:s.default,info:c.default,pie:u.default,er:i.default,journey:d.default},p=function(e,t){return e.calcColors(t)};t.default=function(e,t,n){return\" {\\n    font-family: \".concat(n.fontFamily,\";\\n    font-size: \").concat(n.fontSize,\";\\n    fill: \").concat(n.textColor,\"\\n  }\\n\\n  /* Classes common for multiple diagrams */\\n\\n  .error-icon {\\n    fill: \").concat(n.errorBkgColor,\";\\n  }\\n  .error-text {\\n    fill: \").concat(n.errorTextColor,\";\\n    stroke: \").concat(n.errorTextColor,\";\\n  }\\n\\n  .edge-thickness-normal {\\n    stroke-width: 2px;\\n  }\\n  .edge-thickness-thick {\\n    stroke-width: 3.5px\\n  }\\n  .edge-pattern-solid {\\n    stroke-dasharray: 0;\\n  }\\n\\n  .edge-pattern-dashed{\\n    stroke-dasharray: 3;\\n  }\\n  .edge-pattern-dotted {\\n    stroke-dasharray: 2;\\n  }\\n\\n  .marker {\\n    fill: \").concat(n.lineColor,\";\\n  }\\n  .marker.cross {\\n    stroke: \").concat(n.lineColor,\";\\n  }\\n\\n  svg {\\n    font-family: \").concat(n.fontFamily,\";\\n    font-size: \").concat(n.fontSize,\";\\n  }\\n\\n  \").concat(h[e](n),\"\\n\\n  \").concat(t,\"\\n\\n  \").concat(e,\" { fill: apa;}\\n\")}},\"./src/themes/index.js\":function(e,t,n){\"use strict\";n.r(t);var r=n(\"./src/themes/theme-base.js\"),i=n(\"./src/themes/theme-dark.js\"),o=n(\"./src/themes/theme-default.js\"),a=n(\"./src/themes/theme-forest.js\"),s=n(\"./src/themes/theme-neutral.js\");t.default={base:{getThemeVariables:r.getThemeVariables},dark:{getThemeVariables:i.getThemeVariables},default:{getThemeVariables:o.getThemeVariables},forest:{getThemeVariables:a.getThemeVariables},neutral:{getThemeVariables:s.getThemeVariables}}},\"./src/themes/theme-base.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"getThemeVariables\",(function(){return c}));var r=n(\"khroma\"),i=n(\"./src/themes/theme-helpers.js\");function o(e){return o=\"function\"===typeof Symbol&&\"symbol\"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},o(e)}function a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var s=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.background=\"#f4f4f4\",this.darkMode=!1,this.primaryColor=\"#fff4dd\",this.noteBkgColor=\"#fff5ad\",this.noteTextColor=\"#333\",this.fontFamily='\"trebuchet ms\", verdana, arial',this.fontSize=\"16px\"}var t,n,s;return t=e,(n=[{key:\"updateColors\",value:function(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?\"#ddd\":\"#333\"),this.secondaryColor=this.secondaryColor||Object(r.adjust)(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||Object(r.adjust)(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Object(i.mkBorder)(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Object(i.mkBorder)(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Object(i.mkBorder)(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Object(i.mkBorder)(this.noteBkgColor,this.darkMode),this.secondaryTextColor=this.secondaryTextColor||Object(r.invert)(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Object(r.invert)(this.tertiaryColor),this.lineColor=this.lineColor||Object(r.invert)(this.background),this.textColor=this.textColor||this.primaryTextColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||this.darkMode?Object(r.darken)(this.secondaryColor,30):this.secondaryColor,this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||\"grey\",this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||Object(r.darken)(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Object(r.invert)(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||\"white\",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||Object(r.lighten)(this.primaryColor,23),this.gridColor=this.gridColor||\"lightgrey\",this.doneTaskBkgColor=this.doneTaskBkgColor||\"lightgrey\",this.doneTaskBorderColor=this.doneTaskBorderColor||\"grey\",this.critBorderColor=this.critBorderColor||\"#ff8888\",this.critBkgColor=this.critBkgColor||\"red\",this.todayLineColor=this.todayLineColor||\"red\",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||\"#003163\",this.labelColor=this.labelColor||this.primaryTextColor,this.altBackground=this.altBackground||this.tertiaryColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||Object(r.adjust)(this.primaryColor,{h:64}),this.fillType3=this.fillType3||Object(r.adjust)(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||Object(r.adjust)(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||Object(r.adjust)(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||Object(r.adjust)(this.primaryColor,{h:128}),this.fillType7=this.fillType7||Object(r.adjust)(this.secondaryColor,{h:128})}},{key:\"calculate\",value:function(e){var t=this;if(\"object\"===o(e)){var n=Object.keys(e);n.forEach((function(n){t[n]=e[n]})),this.updateColors(),n.forEach((function(n){t[n]=e[n]}))}else this.updateColors()}}])&&a(t.prototype,n),s&&a(t,s),e}(),c=function(e){var t=new s;return t.calculate(e),t}},\"./src/themes/theme-dark.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"getThemeVariables\",(function(){return c}));var r=n(\"khroma\"),i=n(\"./src/themes/theme-helpers.js\");function o(e){return o=\"function\"===typeof Symbol&&\"symbol\"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},o(e)}function a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var s=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.background=\"#333\",this.primaryColor=\"#1f2020\",this.secondaryColor=Object(r.lighten)(this.primaryColor,16),this.tertiaryColor=Object(r.adjust)(this.primaryColor,{h:-160}),this.primaryBorderColor=Object(i.mkBorder)(this.primaryColor,this.darkMode),this.secondaryBorderColor=Object(i.mkBorder)(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Object(i.mkBorder)(this.tertiaryColor,this.darkMode),this.primaryTextColor=Object(r.invert)(this.primaryColor),this.secondaryTextColor=Object(r.invert)(this.secondaryColor),this.tertiaryTextColor=Object(r.invert)(this.tertiaryColor),this.lineColor=Object(r.invert)(this.background),this.textColor=Object(r.invert)(this.background),this.mainBkg=\"#1f2020\",this.secondBkg=\"calculated\",this.mainContrastColor=\"lightgrey\",this.darkTextColor=Object(r.lighten)(Object(r.invert)(\"#323D47\"),10),this.lineColor=\"calculated\",this.border1=\"#81B1DB\",this.border2=Object(r.rgba)(255,255,255,.25),this.arrowheadColor=\"calculated\",this.fontFamily='\"trebuchet ms\", verdana, arial',this.fontSize=\"16px\",this.labelBackground=\"#181818\",this.textColor=\"#ccc\",this.nodeBkg=\"calculated\",this.nodeBorder=\"calculated\",this.clusterBkg=\"calculated\",this.clusterBorder=\"calculated\",this.defaultLinkColor=\"calculated\",this.titleColor=\"#F9FFFE\",this.edgeLabelBackground=\"calculated\",this.actorBorder=\"calculated\",this.actorBkg=\"calculated\",this.actorTextColor=\"calculated\",this.actorLineColor=\"calculated\",this.signalColor=\"calculated\",this.signalTextColor=\"calculated\",this.labelBoxBkgColor=\"calculated\",this.labelBoxBorderColor=\"calculated\",this.labelTextColor=\"calculated\",this.loopTextColor=\"calculated\",this.noteBorderColor=\"calculated\",this.noteBkgColor=\"#fff5ad\",this.noteTextColor=\"calculated\",this.activationBorderColor=\"calculated\",this.activationBkgColor=\"calculated\",this.sequenceNumberColor=\"black\",this.sectionBkgColor=Object(r.darken)(\"#EAE8D9\",30),this.altSectionBkgColor=\"calculated\",this.sectionBkgColor2=\"#EAE8D9\",this.taskBorderColor=Object(r.rgba)(255,255,255,70),this.taskBkgColor=\"calculated\",this.taskTextColor=\"calculated\",this.taskTextLightColor=\"calculated\",this.taskTextOutsideColor=\"calculated\",this.taskTextClickableColor=\"#003163\",this.activeTaskBorderColor=Object(r.rgba)(255,255,255,50),this.activeTaskBkgColor=\"#81B1DB\",this.gridColor=\"calculated\",this.doneTaskBkgColor=\"calculated\",this.doneTaskBorderColor=\"grey\",this.critBorderColor=\"#E83737\",this.critBkgColor=\"#E83737\",this.taskTextDarkColor=\"calculated\",this.todayLineColor=\"#DB5757\",this.labelColor=\"calculated\",this.errorBkgColor=\"#a44141\",this.errorTextColor=\"#ddd\"}var t,n,s;return t=e,(n=[{key:\"updateColors\",value:function(){this.secondBkg=Object(r.lighten)(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=Object(r.lighten)(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.mainContrastColor,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.border2,this.noteTextColor=this.mainBkg,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=Object(r.lighten)(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.labelColor=this.textColor,this.altBackground=Object(r.lighten)(this.background,20),this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=Object(r.adjust)(this.primaryColor,{h:64}),this.fillType3=Object(r.adjust)(this.secondaryColor,{h:64}),this.fillType4=Object(r.adjust)(this.primaryColor,{h:-64}),this.fillType5=Object(r.adjust)(this.secondaryColor,{h:-64}),this.fillType6=Object(r.adjust)(this.primaryColor,{h:128}),this.fillType7=Object(r.adjust)(this.secondaryColor,{h:128}),this.classText=this.primaryTextColor}},{key:\"calculate\",value:function(e){var t=this;if(\"object\"===o(e)){var n=Object.keys(e);n.forEach((function(n){t[n]=e[n]})),this.updateColors(),n.forEach((function(n){t[n]=e[n]}))}else this.updateColors()}}])&&a(t.prototype,n),s&&a(t,s),e}(),c=function(e){var t=new s;return t.calculate(e),t}},\"./src/themes/theme-default.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"getThemeVariables\",(function(){return c}));var r=n(\"khroma\"),i=n(\"./src/themes/theme-helpers.js\");function o(e){return o=\"function\"===typeof Symbol&&\"symbol\"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},o(e)}function a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var s=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.background=\"#f4f4f4\",this.primaryColor=\"#ECECFF\",this.secondaryColor=Object(r.adjust)(this.primaryColor,{h:120}),this.secondaryColor=\"#ffffde\",this.tertiaryColor=Object(r.adjust)(this.primaryColor,{h:-160}),this.primaryBorderColor=Object(i.mkBorder)(this.primaryColor,this.darkMode),this.secondaryBorderColor=Object(i.mkBorder)(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Object(i.mkBorder)(this.tertiaryColor,this.darkMode),this.primaryTextColor=Object(r.invert)(this.primaryColor),this.secondaryTextColor=Object(r.invert)(this.secondaryColor),this.tertiaryTextColor=Object(r.invert)(this.tertiaryColor),this.lineColor=Object(r.invert)(this.background),this.textColor=Object(r.invert)(this.background),this.background=\"white\",this.mainBkg=\"#ECECFF\",this.secondBkg=\"#ffffde\",this.lineColor=\"#333333\",this.border1=\"#9370DB\",this.border2=\"#aaaa33\",this.arrowheadColor=\"#333333\",this.fontFamily='\"trebuchet ms\", verdana, arial',this.fontSize=\"16px\",this.labelBackground=\"#e8e8e8\",this.textColor=\"#333\",this.nodeBkg=\"calculated\",this.nodeBorder=\"calculated\",this.clusterBkg=\"calculated\",this.clusterBorder=\"calculated\",this.defaultLinkColor=\"calculated\",this.titleColor=\"calculated\",this.edgeLabelBackground=\"calculated\",this.actorBorder=\"calculated\",this.actorBkg=\"calculated\",this.actorTextColor=\"black\",this.actorLineColor=\"grey\",this.signalColor=\"calculated\",this.signalTextColor=\"calculated\",this.labelBoxBkgColor=\"calculated\",this.labelBoxBorderColor=\"calculated\",this.labelTextColor=\"calculated\",this.loopTextColor=\"calculated\",this.noteBorderColor=\"calculated\",this.noteBkgColor=\"#fff5ad\",this.noteTextColor=\"calculated\",this.activationBorderColor=\"#666\",this.activationBkgColor=\"#f4f4f4\",this.sequenceNumberColor=\"white\",this.sectionBkgColor=\"calculated\",this.altSectionBkgColor=\"calculated\",this.sectionBkgColor2=\"calculated\",this.taskBorderColor=\"calculated\",this.taskBkgColor=\"calculated\",this.taskTextLightColor=\"calculated\",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor=\"calculated\",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor=\"calculated\",this.activeTaskBorderColor=\"calculated\",this.activeTaskBkgColor=\"calculated\",this.gridColor=\"calculated\",this.doneTaskBkgColor=\"calculated\",this.doneTaskBorderColor=\"calculated\",this.critBorderColor=\"calculated\",this.critBkgColor=\"calculated\",this.todayLineColor=\"calculated\",this.sectionBkgColor=Object(r.rgba)(102,102,255,.49),this.altSectionBkgColor=\"white\",this.sectionBkgColor2=\"#fff400\",this.taskBorderColor=\"#534fbc\",this.taskBkgColor=\"#8a90dd\",this.taskTextLightColor=\"white\",this.taskTextColor=\"calculated\",this.taskTextDarkColor=\"black\",this.taskTextOutsideColor=\"calculated\",this.taskTextClickableColor=\"#003163\",this.activeTaskBorderColor=\"#534fbc\",this.activeTaskBkgColor=\"#bfc7ff\",this.gridColor=\"lightgrey\",this.doneTaskBkgColor=\"lightgrey\",this.doneTaskBorderColor=\"grey\",this.critBorderColor=\"#ff8888\",this.critBkgColor=\"red\",this.todayLineColor=\"red\",this.labelColor=\"black\",this.errorBkgColor=\"#552222\",this.errorTextColor=\"#552222\",this.updateColors()}var t,n,s;return t=e,(n=[{key:\"updateColors\",value:function(){this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.textColor,this.edgeLabelBackground=this.labelBackground,this.actorBorder=Object(r.lighten)(this.border1,23),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.signalColor=this.textColor,this.signalTextColor=this.textColor,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=Object(r.adjust)(this.primaryColor,{h:64}),this.fillType3=Object(r.adjust)(this.secondaryColor,{h:64}),this.fillType4=Object(r.adjust)(this.primaryColor,{h:-64}),this.fillType5=Object(r.adjust)(this.secondaryColor,{h:-64}),this.fillType6=Object(r.adjust)(this.primaryColor,{h:128}),this.fillType7=Object(r.adjust)(this.secondaryColor,{h:128})}},{key:\"calculate\",value:function(e){var t=this;if(\"object\"===o(e)){var n=Object.keys(e);n.forEach((function(n){t[n]=e[n]})),this.updateColors(),n.forEach((function(n){t[n]=e[n]}))}else this.updateColors()}}])&&a(t.prototype,n),s&&a(t,s),e}(),c=function(e){var t=new s;return t.calculate(e),t}},\"./src/themes/theme-forest.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"getThemeVariables\",(function(){return c}));var r=n(\"khroma\"),i=n(\"./src/themes/theme-helpers.js\");function o(e){return o=\"function\"===typeof Symbol&&\"symbol\"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},o(e)}function a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var s=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.background=\"#f4f4f4\",this.primaryColor=\"#cde498\",this.secondaryColor=\"#cdffb2\",this.background=\"white\",this.mainBkg=\"#cde498\",this.secondBkg=\"#cdffb2\",this.lineColor=\"green\",this.border1=\"#13540c\",this.border2=\"#6eaa49\",this.arrowheadColor=\"green\",this.fontFamily='\"trebuchet ms\", verdana, arial',this.fontSize=\"16px\",this.tertiaryColor=Object(r.lighten)(\"#cde498\",10),this.primaryBorderColor=Object(i.mkBorder)(this.primaryColor,this.darkMode),this.secondaryBorderColor=Object(i.mkBorder)(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Object(i.mkBorder)(this.tertiaryColor,this.darkMode),this.primaryTextColor=Object(r.invert)(this.primaryColor),this.secondaryTextColor=Object(r.invert)(this.secondaryColor),this.tertiaryTextColor=Object(r.invert)(this.primaryColor),this.lineColor=Object(r.invert)(this.background),this.textColor=Object(r.invert)(this.background),this.nodeBkg=\"calculated\",this.nodeBorder=\"calculated\",this.clusterBkg=\"calculated\",this.clusterBorder=\"calculated\",this.defaultLinkColor=\"calculated\",this.titleColor=\"#333\",this.edgeLabelBackground=\"#e8e8e8\",this.actorBorder=\"calculated\",this.actorBkg=\"calculated\",this.actorTextColor=\"black\",this.actorLineColor=\"grey\",this.signalColor=\"#333\",this.signalTextColor=\"#333\",this.labelBoxBkgColor=\"calculated\",this.labelBoxBorderColor=\"#326932\",this.labelTextColor=\"calculated\",this.loopTextColor=\"calculated\",this.noteBorderColor=\"calculated\",this.noteBkgColor=\"#fff5ad\",this.noteTextColor=\"calculated\",this.activationBorderColor=\"#666\",this.activationBkgColor=\"#f4f4f4\",this.sequenceNumberColor=\"white\",this.sectionBkgColor=\"#6eaa49\",this.altSectionBkgColor=\"white\",this.sectionBkgColor2=\"#6eaa49\",this.taskBorderColor=\"calculated\",this.taskBkgColor=\"#487e3a\",this.taskTextLightColor=\"white\",this.taskTextColor=\"calculated\",this.taskTextDarkColor=\"black\",this.taskTextOutsideColor=\"calculated\",this.taskTextClickableColor=\"#003163\",this.activeTaskBorderColor=\"calculated\",this.activeTaskBkgColor=\"calculated\",this.gridColor=\"lightgrey\",this.doneTaskBkgColor=\"lightgrey\",this.doneTaskBorderColor=\"grey\",this.critBorderColor=\"#ff8888\",this.critBkgColor=\"red\",this.todayLineColor=\"red\",this.labelColor=\"black\",this.errorBkgColor=\"#552222\",this.errorTextColor=\"#552222\"}var t,n,s;return t=e,(n=[{key:\"updateColors\",value:function(){this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.actorBorder=Object(r.darken)(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.taskBorderColor=this.border1,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=Object(r.adjust)(this.primaryColor,{h:64}),this.fillType3=Object(r.adjust)(this.secondaryColor,{h:64}),this.fillType4=Object(r.adjust)(this.primaryColor,{h:-64}),this.fillType5=Object(r.adjust)(this.secondaryColor,{h:-64}),this.fillType6=Object(r.adjust)(this.primaryColor,{h:128}),this.fillType7=Object(r.adjust)(this.secondaryColor,{h:128})}},{key:\"calculate\",value:function(e){var t=this;if(\"object\"===o(e)){var n=Object.keys(e);n.forEach((function(n){t[n]=e[n]})),this.updateColors(),n.forEach((function(n){t[n]=e[n]}))}else this.updateColors()}}])&&a(t.prototype,n),s&&a(t,s),e}(),c=function(e){var t=new s;return t.calculate(e),t}},\"./src/themes/theme-helpers.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"mkBorder\",(function(){return i}));var r=n(\"khroma\"),i=function(e,t){return t?Object(r.adjust)(e,{s:-40,l:10}):Object(r.adjust)(e,{s:-40,l:-10})}},\"./src/themes/theme-neutral.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"getThemeVariables\",(function(){return c}));var r=n(\"khroma\"),i=n(\"./src/themes/theme-helpers.js\");function o(e){return o=\"function\"===typeof Symbol&&\"symbol\"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},o(e)}function a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var s=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.primaryColor=\"#eee\",this.contrast=\"#26a\",this.secondaryColor=Object(r.lighten)(this.contrast,55),this.background=\"#ffffff\",this.tertiaryColor=Object(r.adjust)(this.primaryColor,{h:-160}),this.primaryBorderColor=Object(i.mkBorder)(this.primaryColor,this.darkMode),this.secondaryBorderColor=Object(i.mkBorder)(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Object(i.mkBorder)(this.tertiaryColor,this.darkMode),this.primaryTextColor=Object(r.invert)(this.primaryColor),this.secondaryTextColor=Object(r.invert)(this.secondaryColor),this.tertiaryTextColor=Object(r.invert)(this.tertiaryColor),this.lineColor=Object(r.invert)(this.background),this.textColor=Object(r.invert)(this.background),this.altBackground=Object(r.lighten)(this.contrast,55),this.mainBkg=\"#eee\",this.secondBkg=\"calculated\",this.lineColor=\"#666\",this.border1=\"#999\",this.border2=\"calculated\",this.note=\"#ffa\",this.text=\"#333\",this.critical=\"#d42\",this.done=\"#bbb\",this.arrowheadColor=\"#333333\",this.fontFamily='\"trebuchet ms\", verdana, arial',this.fontSize=\"16px\",this.nodeBkg=\"calculated\",this.nodeBorder=\"calculated\",this.clusterBkg=\"calculated\",this.clusterBorder=\"calculated\",this.defaultLinkColor=\"calculated\",this.titleColor=\"calculated\",this.edgeLabelBackground=\"white\",this.actorBorder=\"calculated\",this.actorBkg=\"calculated\",this.actorTextColor=\"calculated\",this.actorLineColor=\"calculated\",this.signalColor=\"calculated\",this.signalTextColor=\"calculated\",this.labelBoxBkgColor=\"calculated\",this.labelBoxBorderColor=\"calculated\",this.labelTextColor=\"calculated\",this.loopTextColor=\"calculated\",this.noteBorderColor=\"calculated\",this.noteBkgColor=\"calculated\",this.noteTextColor=\"calculated\",this.activationBorderColor=\"#666\",this.activationBkgColor=\"#f4f4f4\",this.sequenceNumberColor=\"white\",this.sectionBkgColor=\"calculated\",this.altSectionBkgColor=\"white\",this.sectionBkgColor2=\"calculated\",this.taskBorderColor=\"calculated\",this.taskBkgColor=\"calculated\",this.taskTextLightColor=\"white\",this.taskTextColor=\"calculated\",this.taskTextDarkColor=\"calculated\",this.taskTextOutsideColor=\"calculated\",this.taskTextClickableColor=\"#003163\",this.activeTaskBorderColor=\"calculated\",this.activeTaskBkgColor=\"calculated\",this.gridColor=\"calculated\",this.doneTaskBkgColor=\"calculated\",this.doneTaskBorderColor=\"calculated\",this.critBkgColor=\"calculated\",this.critBorderColor=\"calculated\",this.todayLineColor=\"calculated\",this.labelColor=\"black\",this.errorBkgColor=\"#552222\",this.errorTextColor=\"#552222\"}var t,n,s;return t=e,(n=[{key:\"updateColors\",value:function(){this.secondBkg=Object(r.lighten)(this.contrast,55),this.border2=this.contrast,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.text,this.actorBorder=Object(r.lighten)(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.lineColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor=Object(r.darken)(this.note,60),this.noteBkgColor=this.note,this.noteTextColor=this.actorTextColor,this.sectionBkgColor=Object(r.lighten)(this.contrast,30),this.sectionBkgColor2=Object(r.lighten)(this.contrast,30),this.taskBorderColor=Object(r.darken)(this.contrast,10),this.taskBkgColor=this.contrast,this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor=this.text,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.gridColor=Object(r.lighten)(this.border1,30),this.doneTaskBkgColor=this.done,this.doneTaskBorderColor=this.lineColor,this.critBkgColor=this.critical,this.critBorderColor=Object(r.darken)(this.critBkgColor,10),this.todayLineColor=this.critBkgColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=Object(r.adjust)(this.primaryColor,{h:64}),this.fillType3=Object(r.adjust)(this.secondaryColor,{h:64}),this.fillType4=Object(r.adjust)(this.primaryColor,{h:-64}),this.fillType5=Object(r.adjust)(this.secondaryColor,{h:-64}),this.fillType6=Object(r.adjust)(this.primaryColor,{h:128}),this.fillType7=Object(r.adjust)(this.secondaryColor,{h:128})}},{key:\"calculate\",value:function(e){var t=this;if(\"object\"===o(e)){var n=Object.keys(e);n.forEach((function(n){t[n]=e[n]})),this.updateColors(),n.forEach((function(n){t[n]=e[n]}))}else this.updateColors()}}])&&a(t.prototype,n),s&&a(t,s),e}(),c=function(e){var t=new s;return t.calculate(e),t}},\"./src/utils.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"detectInit\",(function(){return p})),n.d(t,\"detectDirective\",(function(){return g})),n.d(t,\"detectType\",(function(){return y})),n.d(t,\"isSubstringInArray\",(function(){return b})),n.d(t,\"interpolateToCurve\",(function(){return v})),n.d(t,\"formatUrl\",(function(){return x})),n.d(t,\"runFunc\",(function(){return w})),n.d(t,\"getStylesFromArray\",(function(){return k})),n.d(t,\"generateId\",(function(){return E})),n.d(t,\"random\",(function(){return S})),n.d(t,\"assignWithDepth\",(function(){return C})),n.d(t,\"getTextObj\",(function(){return T})),n.d(t,\"drawSimpleText\",(function(){return j})),n.d(t,\"wrapLabel\",(function(){return A})),n.d(t,\"calculateTextHeight\",(function(){return P})),n.d(t,\"calculateTextWidth\",(function(){return N})),n.d(t,\"calculateTextDimensions\",(function(){return D})),n.d(t,\"calculateSvgSizeAttrs\",(function(){return R})),n.d(t,\"configureSvgSize\",(function(){return I}));var r=n(\"d3\"),i=n(\"./src/logger.js\"),o=n(\"@braintree/sanitize-url\"),a=n(\"./src/diagrams/common/common.js\"),s=void 0;function c(e){return c=\"function\"===typeof Symbol&&\"symbol\"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},c(e)}function u(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||\"[object Arguments]\"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance\")}()}var l={curveBasis:r.curveBasis,curveBasisClosed:r.curveBasisClosed,curveBasisOpen:r.curveBasisOpen,curveLinear:r.curveLinear,curveLinearClosed:r.curveLinearClosed,curveMonotoneX:r.curveMonotoneX,curveMonotoneY:r.curveMonotoneY,curveNatural:r.curveNatural,curveStep:r.curveStep,curveStepAfter:r.curveStepAfter,curveStepBefore:r.curveStepBefore},f=/[%]{2}[{]\\s*(?:(?:(\\w+)\\s*:|(\\w+))\\s*(?:(?:(\\w+))|((?:(?![}][%]{2}).|\\r?\\n)*))?\\s*)(?:[}][%]{2})?/gi,d=/\\s*(?:(?:(\\w+)(?=:):|(\\w+))\\s*(?:(?:(\\w+))|((?:(?![}][%]{2}).|\\r?\\n)*))?\\s*)(?:[}][%]{2})?/gi,h=/\\s*%%.*\\n/gm,p=function(e){var t=g(e,/(?:init\\b)|(?:initialize\\b)/),n={};if(Array.isArray(t)){var r=t.map((function(e){return e.args}));n=C(n,u(r))}else n=t.args;if(n){var i=y(e);[\"config\"].forEach((function(e){\"undefined\"!==typeof n[e]&&(\"flowchart-v2\"===i&&(i=\"flowchart\"),n[i]=n[e],delete n[e])}))}return n},g=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;try{var n=new RegExp(\"[%]{2}(?![{]\".concat(d.source,\")(?=[}][%]{2}).*\\n\"),\"ig\");e=e.trim().replace(n,\"\").replace(/'/gm,'\"'),i.logger.debug(\"Detecting diagram directive\".concat(null!==t?\" type:\"+t:\"\",\" based on the text:\").concat(e));for(var r,o=[];null!==(r=f.exec(e));)if(r.index===f.lastIndex&&f.lastIndex++,r&&!t||t&&r[1]&&r[1].match(t)||t&&r[2]&&r[2].match(t)){var a=r[1]?r[1]:r[2],s=r[3]?r[3].trim():r[4]?JSON.parse(r[4].trim()):null;o.push({type:a,args:s})}return 0===o.length&&o.push({type:e,args:null}),1===o.length?o[0]:o}catch(c){return i.logger.error(\"ERROR: \".concat(c.message,\" - Unable to parse directive\").concat(null!==t?\" type:\"+t:\"\",\" based on the text:\").concat(e)),{type:null,args:null}}},y=function(e){return e=e.replace(f,\"\").replace(h,\"\\n\"),i.logger.debug(\"Detecting diagram type based on the text \"+e),e.match(/^\\s*sequenceDiagram/)?\"sequence\":e.match(/^\\s*gantt/)?\"gantt\":e.match(/^\\s*classDiagram-v2/)?\"classDiagram\":e.match(/^\\s*classDiagram/)?\"class\":e.match(/^\\s*stateDiagram-v2/)?\"stateDiagram\":e.match(/^\\s*stateDiagram/)?\"state\":e.match(/^\\s*gitGraph/)?\"git\":e.match(/^\\s*flowchart/)?\"flowchart-v2\":e.match(/^\\s*info/)?\"info\":e.match(/^\\s*pie/)?\"pie\":e.match(/^\\s*erDiagram/)?\"er\":e.match(/^\\s*journey/)?\"journey\":\"flowchart\"},m=function(e,t){var n={};return function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];var a=t?t.apply(s,i):i[0];if(a in n)return n[a];var c=e.apply(void 0,i);return n[a]=c,c}},b=function(e,t){for(var n=0;n<t.length;n++)if(t[n].match(e))return n;return-1},v=function(e,t){if(!e)return t;var n=\"curve\".concat(e.charAt(0).toUpperCase()+e.slice(1));return l[n]||t},x=function(e,t){var n=e.trim();if(n)return\"loose\"!==t.securityLevel?Object(o.sanitizeUrl)(n):n},w=function(e){for(var t,n=e.split(\".\"),r=n.length-1,i=n[r],o=window,a=0;a<r;a++)if(!(o=o[n[a]]))return;for(var s=arguments.length,c=new Array(s>1?s-1:0),u=1;u<s;u++)c[u-1]=arguments[u];(t=o)[i].apply(t,c)},_=function(e,t){return e&&t?Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)):0},k=function(e){for(var t=\"\",n=\"\",r=0;r<e.length;r++)\"undefined\"!==typeof e[r]&&(e[r].startsWith(\"color:\")||e[r].startsWith(\"text-align:\")?n=n+e[r]+\";\":t=t+e[r]+\";\");return{style:t,labelStyle:n}},O=0,E=function(){return O++,\"id-\"+Math.random().toString(36).substr(2,12)+\"-\"+O},S=function(e){return function(e){for(var t=\"\",n=\"0123456789abcdef\",r=n.length,i=0;i<e;i++)t+=n.charAt(Math.floor(Math.random()*r));return t}(e.length)},C=function e(t,n,r){var i=Object.assign({depth:2,clobber:!1},r),o=i.depth,a=i.clobber;return Array.isArray(n)&&!Array.isArray(t)?(n.forEach((function(n){return e(t,n,r)})),t):Array.isArray(n)&&Array.isArray(t)?(n.forEach((function(e){-1===t.indexOf(e)&&t.push(e)})),t):\"undefined\"===typeof t||o<=0?void 0!==t&&null!==t&&\"object\"===c(t)&&\"object\"===c(n)?Object.assign(t,n):n:(\"undefined\"!==typeof n&&\"object\"===c(t)&&\"object\"===c(n)&&Object.keys(n).forEach((function(r){\"object\"!==c(n[r])||void 0!==t[r]&&\"object\"!==c(t[r])?(a||\"object\"!==c(t[r])&&\"object\"!==c(n[r]))&&(t[r]=n[r]):(void 0===t[r]&&(t[r]=Array.isArray(n[r])?[]:{}),t[r]=e(t[r],n[r],{depth:o-1,clobber:a}))})),t)},T=function(){return{x:0,y:0,fill:void 0,anchor:\"start\",style:\"#666\",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0}},j=function(e,t){var n=t.text.replace(a.default.lineBreakRegex,\" \"),r=e.append(\"text\");r.attr(\"x\",t.x),r.attr(\"y\",t.y),r.style(\"text-anchor\",t.anchor),r.style(\"font-family\",t.fontFamily),r.style(\"font-size\",t.fontSize),r.style(\"font-weight\",t.fontWeight),r.attr(\"fill\",t.fill),\"undefined\"!==typeof t.class&&r.attr(\"class\",t.class);var i=r.append(\"tspan\");return i.attr(\"x\",t.x+2*t.textMargin),i.attr(\"fill\",t.fill),i.text(n),r},A=m((function(e,t,n){if(!e)return e;if(n=Object.assign({fontSize:12,fontWeight:400,fontFamily:\"Arial\",joinWith:\"<br/>\"},n),a.default.lineBreakRegex.test(e))return e;var r=e.split(\" \"),i=[],o=\"\";return r.forEach((function(e,a){var s=N(\"\".concat(e,\" \"),n),c=N(o,n);if(s>t){var l=M(e,t,\"-\",n),f=l.hyphenatedStrings,d=l.remainingWord;i.push.apply(i,[o].concat(u(f))),o=d}else c+s>=t?(i.push(o),o=e):o=[o,e].filter(Boolean).join(\" \");a+1===r.length&&i.push(o)})),i.filter((function(e){return\"\"!==e})).join(n.joinWith)}),(function(e,t,n){return\"\".concat(e,\"-\").concat(t,\"-\").concat(n.fontSize,\"-\").concat(n.fontWeight,\"-\").concat(n.fontFamily,\"-\").concat(n.joinWith)})),M=m((function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"-\",r=arguments.length>3?arguments[3]:void 0;r=Object.assign({fontSize:12,fontWeight:400,fontFamily:\"Arial\",margin:0},r);var i=e.split(\"\"),o=[],a=\"\";return i.forEach((function(e,s){var c=\"\".concat(a).concat(e);if(N(c,r)>=t){var u=s+1,l=i.length===u,f=\"\".concat(c).concat(n);o.push(l?c:f),a=\"\"}else a=c})),{hyphenatedStrings:o,remainingWord:a}}),(function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"-\",r=arguments.length>3?arguments[3]:void 0;return\"\".concat(e,\"-\").concat(t,\"-\").concat(n,\"-\").concat(r.fontSize,\"-\").concat(r.fontWeight,\"-\").concat(r.fontFamily)})),P=function(e,t){return t=Object.assign({fontSize:12,fontWeight:400,fontFamily:\"Arial\",margin:15},t),D(e,t).height},N=function(e,t){return t=Object.assign({fontSize:12,fontWeight:400,fontFamily:\"Arial\"},t),D(e,t).width},D=m((function(e,t){var n=t=Object.assign({fontSize:12,fontWeight:400,fontFamily:\"Arial\"},t),i=n.fontSize,o=n.fontFamily,s=n.fontWeight;if(!e)return{width:0,height:0};var c=[\"sans-serif\",o],u=e.split(a.default.lineBreakRegex),l=[],f=Object(r.select)(\"body\");if(!f.remove)return{width:0,height:0,lineHeight:0};for(var d=f.append(\"svg\"),h=0,p=c;h<p.length;h++){var g=p[h],y=0,m={width:0,height:0,lineHeight:0},b=!0,v=!1,x=void 0;try{for(var w,_=u[Symbol.iterator]();!(b=(w=_.next()).done);b=!0){var k=w.value,O=T();O.text=k;var E=j(d,O).style(\"font-size\",i).style(\"font-weight\",s).style(\"font-family\",g),S=(E._groups||E)[0][0].getBBox();m.width=Math.round(Math.max(m.width,S.width)),y=Math.round(S.height),m.height+=y,m.lineHeight=Math.round(Math.max(m.lineHeight,y))}}catch(C){v=!0,x=C}finally{try{b||null==_.return||_.return()}finally{if(v)throw x}}l.push(m)}return d.remove(),l[isNaN(l[1].height)||isNaN(l[1].width)||isNaN(l[1].lineHeight)||l[0].height>l[1].height&&l[0].width>l[1].width&&l[0].lineHeight>l[1].lineHeight?0:1]}),(function(e,t){return\"\".concat(e,\"-\").concat(t.fontSize,\"-\").concat(t.fontWeight,\"-\").concat(t.fontFamily)})),R=function(e,t,n){var r=new Map;return r.set(\"height\",e),n?(r.set(\"width\",\"100%\"),r.set(\"style\",\"max-width: \".concat(t,\"px;\"))):r.set(\"width\",t),r},I=function(e,t,n,r){!function(e,t){var n=!0,r=!1,i=void 0;try{for(var o,a=t[Symbol.iterator]();!(n=(o=a.next()).done);n=!0){var s=o.value;e.attr(s[0],s[1])}}catch(c){r=!0,i=c}finally{try{n||null==a.return||a.return()}finally{if(r)throw i}}}(e,R(t,n,r))};t.default={assignWithDepth:C,wrapLabel:A,calculateTextHeight:P,calculateTextWidth:N,calculateTextDimensions:D,calculateSvgSizeAttrs:R,configureSvgSize:I,detectInit:p,detectDirective:g,detectType:y,isSubstringInArray:b,interpolateToCurve:v,calcLabelPosition:function(e){return function(e){var t,n=0;e.forEach((function(e){n+=_(e,t),t=e}));var r=n/2,i=void 0;return t=void 0,e.forEach((function(e){if(t&&!i){var n=_(e,t);if(n<r)r-=n;else{var o=r/n;o<=0&&(i=t),o>=1&&(i={x:e.x,y:e.y}),o>0&&o<1&&(i={x:(1-o)*t.x+o*e.x,y:(1-o)*t.y+o*e.y})}}t=e})),i}(e)},calcCardinalityPosition:function(e,t,n){var r;i.logger.info(\"our points\",t),t[0]!==n&&(t=t.reverse()),t.forEach((function(e){_(e,r),r=e}));var o,a=25;r=void 0,t.forEach((function(e){if(r&&!o){var t=_(e,r);if(t<a)a-=t;else{var n=a/t;n<=0&&(o=r),n>=1&&(o={x:e.x,y:e.y}),n>0&&n<1&&(o={x:(1-n)*r.x+n*e.x,y:(1-n)*r.y+n*e.y})}}r=e}));var s=e?10:5,c=Math.atan2(t[0].y-o.y,t[0].x-o.x),u={x:0,y:0};return u.x=Math.sin(c)*s+(t[0].x+o.x)/2,u.y=-Math.cos(c)*s+(t[0].y+o.y)/2,u},calcTerminalLabelPosition:function(e,t,n){var r,o=JSON.parse(JSON.stringify(n));i.logger.info(\"our points\",o),\"start_left\"!==t&&\"start_right\"!==t&&(o=o.reverse()),o.forEach((function(e){_(e,r),r=e}));var a,s=25;r=void 0,o.forEach((function(e){if(r&&!a){var t=_(e,r);if(t<s)s-=t;else{var n=s/t;n<=0&&(a=r),n>=1&&(a={x:e.x,y:e.y}),n>0&&n<1&&(a={x:(1-n)*r.x+n*e.x,y:(1-n)*r.y+n*e.y})}}r=e}));var c=10,u=Math.atan2(o[0].y-a.y,o[0].x-a.x),l={x:0,y:0};return l.x=Math.sin(u)*c+(o[0].x+a.x)/2,l.y=-Math.cos(u)*c+(o[0].y+a.y)/2,\"start_left\"===t&&(l.x=Math.sin(u+Math.PI)*c+(o[0].x+a.x)/2,l.y=-Math.cos(u+Math.PI)*c+(o[0].y+a.y)/2),\"end_right\"===t&&(l.x=Math.sin(u-Math.PI)*c+(o[0].x+a.x)/2-5,l.y=-Math.cos(u-Math.PI)*c+(o[0].y+a.y)/2-5),\"end_left\"===t&&(l.x=Math.sin(u)*c+(o[0].x+a.x)/2-5,l.y=-Math.cos(u)*c+(o[0].y+a.y)/2-5),l},formatUrl:x,getStylesFromArray:k,generateId:E,random:S,memoize:m,runFunc:w}},\"@braintree/sanitize-url\":function(e,t){e.exports=n(434)},d3:function(e,t){e.exports=n(378)},dagre:function(e,t){e.exports=n(289)},\"dagre-d3\":function(e,t){e.exports=n(605)},\"dagre-d3/lib/label/add-html-label.js\":function(e,t){e.exports=n(351)},\"entity-decode/browser\":function(e,t){e.exports=n(622)},graphlib:function(e,t){e.exports=n(233)},khroma:function(e,t){e.exports=n(623)},\"moment-mini\":function(e,t){e.exports=n(650)},stylis:function(e,t){e.exports=n(652)}}).default},e.exports=r()},function(e,t,n){\"use strict\";function r(){this.reset()}t.a=function(){return new r},r.prototype={constructor:r,reset:function(){this.s=this.t=0},add:function(e){o(i,e,this.t),o(this,i.s,this.s),this.s?this.t+=i.t:this.s=i.t},valueOf:function(){return this.s}};var i=new r;function o(e,t,n){var r=e.s=t+n,i=r-t,o=r-i;e.t=t-o+(n-i)}},function(e,t,n){\"use strict\";t.a=function(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}},function(e,t,n){\"use strict\";function r(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}n.d(t,\"b\",(function(){return r})),t.a=function(e,t,n){e.prototype=t.prototype=n,n.constructor=e}},function(e,t,n){\"use strict\";var r=n(362),i=Object.prototype.toString;function o(e){return\"[object Array]\"===i.call(e)}function a(e){return\"undefined\"===typeof e}function s(e){return null!==e&&\"object\"===typeof e}function c(e){if(\"[object Object]\"!==i.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function u(e){return\"[object Function]\"===i.call(e)}function l(e,t){if(null!==e&&\"undefined\"!==typeof e)if(\"object\"!==typeof e&&(e=[e]),o(e))for(var n=0,r=e.length;n<r;n++)t.call(null,e[n],n,e);else for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.call(null,e[i],i,e)}e.exports={isArray:o,isArrayBuffer:function(e){return\"[object ArrayBuffer]\"===i.call(e)},isBuffer:function(e){return null!==e&&!a(e)&&null!==e.constructor&&!a(e.constructor)&&\"function\"===typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)},isFormData:function(e){return\"undefined\"!==typeof FormData&&e instanceof FormData},isArrayBufferView:function(e){return\"undefined\"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer},isString:function(e){return\"string\"===typeof e},isNumber:function(e){return\"number\"===typeof e},isObject:s,isPlainObject:c,isUndefined:a,isDate:function(e){return\"[object Date]\"===i.call(e)},isFile:function(e){return\"[object File]\"===i.call(e)},isBlob:function(e){return\"[object Blob]\"===i.call(e)},isFunction:u,isStream:function(e){return s(e)&&u(e.pipe)},isURLSearchParams:function(e){return\"undefined\"!==typeof URLSearchParams&&e instanceof URLSearchParams},isStandardBrowserEnv:function(){return(\"undefined\"===typeof navigator||\"ReactNative\"!==navigator.product&&\"NativeScript\"!==navigator.product&&\"NS\"!==navigator.product)&&(\"undefined\"!==typeof window&&\"undefined\"!==typeof document)},forEach:l,merge:function e(){var t={};function n(n,r){c(t[r])&&c(n)?t[r]=e(t[r],n):c(n)?t[r]=e({},n):o(n)?t[r]=n.slice():t[r]=n}for(var r=0,i=arguments.length;r<i;r++)l(arguments[r],n);return t},extend:function(e,t,n){return l(t,(function(t,i){e[i]=n&&\"function\"===typeof t?r(t,n):t})),e},trim:function(e){return e.trim?e.trim():e.replace(/^\\s+|\\s+$/g,\"\")},stripBOM:function(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return y})),n.d(t,\"b\",(function(){return a})),n.d(t,\"c\",(function(){return p}));var r=n(4),i=n(0);if(!i.useState)throw new Error(\"mobx-react-lite requires React with Hooks support\");if(!r.n)throw new Error(\"mobx-react-lite requires mobx at least version 4 to be available\");var o=!1;function a(){return o}var s=function(){return s=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},s.apply(this,arguments)};function c(e,t){var n=\"function\"===typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)a.push(r.value)}catch(s){i={error:s}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return a}function u(e){return e.current?Object(r.h)(e.current):\"<unknown>\"}var l=[];function f(){var e=c(Object(i.useState)(0),2)[1];return Object(i.useCallback)((function(){e((function(e){return e+1}))}),[])}var d={};function h(e,t,n){if(void 0===t&&(t=\"observed\"),void 0===n&&(n=d),a())return e();var o=(n.useForceUpdate||f)(),s=Object(i.useRef)(null);s.current||(s.current=new r.b(\"observer(\"+t+\")\",(function(){o()})));var c,h,p=function(){s.current&&!s.current.isDisposed&&(s.current.dispose(),s.current=null)};if(Object(i.useDebugValue)(s,u),function(e){Object(i.useEffect)((function(){return e}),l)}((function(){p()})),s.current.track((function(){try{c=e()}catch(t){h=t}})),h)throw p(),h;return c}function p(e,t){if(a())return e;var n,r,o,c=s({forwardRef:!1},t),u=e.displayName||e.name,l=function(t,n){return h((function(){return e(t,n)}),u)};return l.displayName=u,n=c.forwardRef?Object(i.memo)(Object(i.forwardRef)(l)):Object(i.memo)(l),r=e,o=n,Object.keys(r).forEach((function(e){r.hasOwnProperty(e)&&!g[e]&&Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(r,e))})),n.displayName=u,n}var g={$$typeof:!0,render:!0,compare:!0,type:!0};function y(e){var t=e.children,n=e.render,r=t||n;return\"function\"!==typeof r?null:h(r)}function m(e,t,n,r,i){var o=\"children\"===t?\"render\":\"children\",a=\"function\"===typeof e[t],s=\"function\"===typeof e[o];return a&&s?new Error(\"MobX Observer: Do not use children and render in the same time in`\"+n):a||s?null:new Error(\"Invalid prop `\"+i+\"` of type `\"+typeof e[t]+\"` supplied to `\"+n+\"`, expected `function`.\")}y.propTypes={children:m,render:m},y.displayName=\"Observer\"},function(e,t,n){\"use strict\";function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function i(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}n.d(t,\"a\",(function(){return i}))},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return o}));var r=n(0),i=n(83);function o(){return r.useContext(i.a)}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(384);function i(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||Object(r.a)(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance\")}()}},function(e,t,n){\"use strict\";function r(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce((function(e,t){return null==t?e:function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];e.apply(this,r),t.apply(this,r)}}),(function(){}))}n.d(t,\"a\",(function(){return r}))},,function(e,t,n){var r;try{r={clone:n(436),constant:n(244),each:n(245),filter:n(310),has:n(250),isArray:n(39),isEmpty:n(512),isFunction:n(131),isUndefined:n(321),keys:n(95),map:n(322),reduce:n(324),size:n(515),transform:n(521),union:n(522),values:n(329)}}catch(i){}r||(r=window._),e.exports=r},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}},function(e,t,n){var r=n(136);e.exports={isSubgraph:function(e,t){return!!e.children(t).length},edgeToId:function(e){return o(e.v)+\":\"+o(e.w)+\":\"+o(e.name)},applyStyle:function(e,t){t&&e.attr(\"style\",t)},applyClass:function(e,t,n){t&&e.attr(\"class\",t).attr(\"class\",n+\" \"+e.attr(\"class\"))},applyTransition:function(e,t){var n=t.graph();if(r.isPlainObject(n)){var i=n.transition;if(r.isFunction(i))return i(e)}return e}};var i=/:/g;function o(e){return e?String(e).replace(i,\"\\\\:\"):\"\"}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(625),i=n(626),o=n(627),a={channel:r.default,lang:i.default,unit:o.default};t.default=a},function(e,t,n){\"use strict\";function r(e){var t=e.props,n=e.states,r=e.muiFormControl;return n.reduce((function(e,n){return e[n]=t[n],r&&\"undefined\"===typeof t[n]&&(e[n]=r[n]),e}),{})}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";function r(e,t){\"function\"===typeof e?e(t):e&&(e.current=t)}n.d(t,\"a\",(function(){return r}))},function(e,t){e.exports=function(e){return e&&e.__esModule?e:{default:e}}},function(e,t,n){var r;try{r=n(233)}catch(i){}r||(r=window.graphlib),e.exports=r},function(e,t,n){var r=n(291),i=\"object\"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function(\"return this\")();e.exports=o},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(255),i=n(352),o=n(631),a=n(632),s=n(633),c={format:{keyword:o.default,hex:i.default,rgb:a.default,rgba:a.default,hsl:s.default,hsla:s.default},parse:function(e){if(\"string\"!==typeof e)return e;var t=i.default.parse(e)||a.default.parse(e)||s.default.parse(e)||o.default.parse(e);if(t)return t;throw new Error('Unsupported color format: \"'+e+'\"')},stringify:function(e){return!e.changed&&e.color?e.color:e.type.is(r.TYPE.HSL)||void 0===e.data.r?s.default.stringify(e):e.a<1||!Number.isInteger(e.r)||!Number.isInteger(e.g)||!Number.isInteger(e.b)?a.default.stringify(e):i.default.stringify(e)}};t.default=c},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return o}));var r=n(7),i={easeInOut:\"cubic-bezier(0.4, 0, 0.2, 1)\",easeOut:\"cubic-bezier(0.0, 0, 0.2, 1)\",easeIn:\"cubic-bezier(0.4, 0, 1, 1)\",sharp:\"cubic-bezier(0.4, 0, 0.6, 1)\"},o={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function a(e){return\"\".concat(Math.round(e),\"ms\")}t.a={easing:i,duration:o,create:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[\"all\"],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.duration,s=void 0===n?o.standard:n,c=t.easing,u=void 0===c?i.easeInOut:c,l=t.delay,f=void 0===l?0:l;Object(r.a)(t,[\"duration\",\"easing\",\"delay\"]);return(Array.isArray(e)?e:[e]).map((function(e){return\"\".concat(e,\" \").concat(\"string\"===typeof s?s:a(s),\" \").concat(u,\" \").concat(\"string\"===typeof f?f:a(f))})).join(\",\")},getAutoHeightDuration:function(e){if(!e)return 0;var t=e/36;return Math.round(10*(4+15*Math.pow(t,.25)+t/5))}}},function(e,t,n){\"use strict\";var r=n(70);Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t){var n=o.default.memo(o.default.forwardRef((function(t,n){return o.default.createElement(a.default,(0,i.default)({ref:n},t),e)})));0;return n.muiName=a.default.muiName,n};var i=r(n(431)),o=r(n(0)),a=r(n(129))},function(e,t){e.exports=function(e){return null!=e&&\"object\"==typeof e}},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return i})),n.d(t,\"c\",(function(){return o})),n.d(t,\"d\",(function(){return a})),n.d(t,\"e\",(function(){return s})),n.d(t,\"a\",(function(){return u}));var r,i,o,a,s,c=n(202);function u(e){return r=Object(c.a)(e),i=r.format,o=r.parse,a=r.utcFormat,s=r.utcParse,r}u({dateTime:\"%x, %X\",date:\"%-m/%-d/%Y\",time:\"%-I:%M:%S %p\",periods:[\"AM\",\"PM\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]})},function(e,t,n){\"use strict\";function r(e){return r=\"function\"===typeof Symbol&&\"symbol\"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";t.a=function(e,t,n,r,i){for(var o,a=e.children,s=-1,c=a.length,u=e.value&&(r-t)/e.value;++s<c;)(o=a[s]).y0=n,o.y1=i,o.x0=t,o.x1=t+=o.value*u}},function(e,t,n){\"use strict\";(function(e){n.d(t,\"a\",(function(){return c})),n.d(t,\"b\",(function(){return f}));var r=n(0),i=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(c){i=!0,o=c}finally{try{!r&&s.return&&s.return()}finally{if(i)throw o}}return n}(e,t);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}(n.n(r).a.version.split(\".\"),2),o=i[0],a=i[1],s=Number(a)>13||Number(o)>13,c=function(e){return s?e:e&&e.getDOMNode()},u={},l=!0;function f(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e.process&&l||n&&u[t]||(console.warn(t),u[t]=!0)}}).call(this,n(113))},function(e,t,n){\"use strict\";var r=n(70);Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=r(n(0)),o=(0,r(n(75)).default)(i.default.createElement(\"path\",{d:\"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm-1 4l6 6v10c0 1.1-.9 2-2 2H7.99C6.89 23 6 22.1 6 21l.01-14c0-1.1.89-2 1.99-2h7zm-1 7h5.5L14 6.5V12z\"}),\"FileCopy\");t.default=o},function(e,t,n){\"use strict\";function r(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return o}));var r=n(0),i=r.createContext();function o(){return r.useContext(i)}t.a=i},function(e,t,n){\"use strict\";var r=n(91);t.a=function(e){return(e=Object(r.b)(Math.abs(e)))?e[1]:NaN}},,function(e,t,n){\"use strict\";var r=n(172);n.d(t,\"c\",(function(){return r.a})),n.d(t,\"b\",(function(){return r.b})),n.d(t,\"e\",(function(){return r.c}));var i=n(205);n.d(t,\"d\",(function(){return i.a}));var o=n(140);n.d(t,\"f\",(function(){return o.b})),n.d(t,\"a\",(function(){return o.a}));var a=n(277);n.d(t,\"g\",(function(){return a.a}));var s=n(278);n.d(t,\"h\",(function(){return s.a}));var c=n(279);n.d(t,\"i\",(function(){return c.a}))},function(e,t,n){var r=n(131),i=n(238);e.exports=function(e){return null!=e&&i(e.length)&&!r(e)}},function(e,t,n){var r=n(492),i=n(502),o=n(118),a=n(39),s=n(509);e.exports=function(e){return\"function\"==typeof e?e:null==e?o:\"object\"==typeof e?a(e)?i(e[0],e[1]):r(e):s(e)}},function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";function r(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:166;function r(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];var a=this,s=function(){e.apply(a,i)};clearTimeout(t),t=setTimeout(s,n)}return r.clear=function(){clearTimeout(t)},r}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";function r(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf(\"e\"))<0)return null;var n,r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}n.d(t,\"b\",(function(){return r})),t.a=function(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(\"en\").replace(/,/g,\"\"):e.toString(10)}},function(e,t,n){\"use strict\";function r(e){return e[0]}function i(e){return e[1]}n.d(t,\"a\",(function(){return r})),n.d(t,\"b\",(function(){return i}))},,function(e,t,n){\"use strict\";var r=n(150);n.d(t,\"a\",(function(){return r.a}))},function(e,t,n){var r=n(294),i=n(240),o=n(87);e.exports=function(e){return o(e)?r(e):i(e)}},function(e,t,n){var r;if(!r)try{r=n(378)}catch(i){}r||(r=window.d3),e.exports=r},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(67),i=n(73);t.default=function(e,t){return r.default.lang.round(i.default.parse(e)[t])}},function(e,t,n){\"use strict\";t.a=function(e,t,n,r,i){for(var o,a=e.children,s=-1,c=a.length,u=e.value&&(i-n)/e.value;++s<c;)(o=a[s]).x0=t,o.x1=r,o.y0=n,o.y1=n+=o.value*u}},function(e,t,n){\"use strict\";function r(e){this._context=e}r.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}},t.a=function(e){return new r(e)}},function(e,t,n){\"use strict\";var r=n(396);t.a=function(e,t){return t?Object(r.a)(e,t,{clone:!1}):e}},function(e,t,n){\"use strict\";var r=n(392),i=Object(r.a)();t.a=i},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(0);function i(e){var t=e.controlled,n=e.default,i=(e.name,e.state,r.useRef(void 0!==t).current),o=r.useState(n),a=o[0],s=o[1];return[i?t:a,r.useCallback((function(e){i||s(e)}),[])]}},function(e,t,n){\"use strict\";function r(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}n.d(t,\"b\",(function(){return r})),t.a=function(e,t){t||(t=[]);var n,r=e?Math.min(t.length,e.length):0,i=t.slice();return function(o){for(n=0;n<r;++n)i[n]=e[n]*(1-o)+t[n]*o;return i}}},function(e,t,n){\"use strict\";var r=n(0),i=r.createContext();t.a=i},function(e,t,n){\"use strict\";var r=n(0),i=r.createContext({});t.a=i},function(e,t,n){\"use strict\";t.a=function(e){return e}},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return o}));var r=n(26),i=Object(r.a)((function(e){e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,t){e.setFullYear(e.getFullYear()+t)}),(function(e,t){return t.getFullYear()-e.getFullYear()}),(function(e){return e.getFullYear()}));i.every=function(e){return isFinite(e=Math.floor(e))&&e>0?Object(r.a)((function(t){t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,n){t.setFullYear(t.getFullYear()+n*e)})):null},t.a=i;var o=i.range},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return o}));var r=n(26),i=Object(r.a)((function(e){e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCFullYear(e.getUTCFullYear()+t)}),(function(e,t){return t.getUTCFullYear()-e.getUTCFullYear()}),(function(e){return e.getUTCFullYear()}));i.every=function(e){return isFinite(e=Math.floor(e))&&e>0?Object(r.a)((function(t){t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n*e)})):null},t.a=i;var o=i.range},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return r})),n.d(t,\"a\",(function(){return i}));var r=function(e){return e.scrollTop};function i(e,t){var n=e.timeout,r=e.style,i=void 0===r?{}:r;return{duration:i.transitionDuration||\"number\"===typeof n?n:n[t.mode]||0,delay:i.transitionDelay}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e.default:e}t.__esModule=!0;var i=n(671);t.Motion=r(i);var o=n(673);t.StaggeredMotion=r(o);var a=n(674);t.TransitionMotion=r(a);var s=n(676);t.spring=r(s);var c=n(370);t.presets=r(c);var u=n(194);t.stripStyle=r(u);var l=n(677);t.reorderKeys=r(l)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(6)),s=n(8),c=n(17),u={h1:\"h1\",h2:\"h2\",h3:\"h3\",h4:\"h4\",h5:\"h5\",h6:\"h6\",subtitle1:\"h6\",subtitle2:\"h6\",body1:\"p\",body2:\"p\"},l=o.forwardRef((function(e,t){var n=e.align,s=void 0===n?\"inherit\":n,l=e.classes,f=e.className,d=e.color,h=void 0===d?\"initial\":d,p=e.component,g=e.display,y=void 0===g?\"initial\":g,m=e.gutterBottom,b=void 0!==m&&m,v=e.noWrap,x=void 0!==v&&v,w=e.paragraph,_=void 0!==w&&w,k=e.variant,O=void 0===k?\"body1\":k,E=e.variantMapping,S=void 0===E?u:E,C=Object(i.a)(e,[\"align\",\"classes\",\"className\",\"color\",\"component\",\"display\",\"gutterBottom\",\"noWrap\",\"paragraph\",\"variant\",\"variantMapping\"]),T=p||(_?\"p\":S[O]||u[O])||\"span\";return o.createElement(T,Object(r.a)({className:Object(a.a)(l.root,f,\"inherit\"!==O&&l[O],\"initial\"!==h&&l[\"color\".concat(Object(c.a)(h))],x&&l.noWrap,b&&l.gutterBottom,_&&l.paragraph,\"inherit\"!==s&&l[\"align\".concat(Object(c.a)(s))],\"initial\"!==y&&l[\"display\".concat(Object(c.a)(y))]),ref:t},C))}));t.a=Object(s.a)((function(e){return{root:{margin:0},body2:e.typography.body2,body1:e.typography.body1,caption:e.typography.caption,button:e.typography.button,h1:e.typography.h1,h2:e.typography.h2,h3:e.typography.h3,h4:e.typography.h4,h5:e.typography.h5,h6:e.typography.h6,subtitle1:e.typography.subtitle1,subtitle2:e.typography.subtitle2,overline:e.typography.overline,srOnly:{position:\"absolute\",height:1,width:1,overflow:\"hidden\"},alignLeft:{textAlign:\"left\"},alignCenter:{textAlign:\"center\"},alignRight:{textAlign:\"right\"},alignJustify:{textAlign:\"justify\"},noWrap:{overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},gutterBottom:{marginBottom:\"0.35em\"},paragraph:{marginBottom:16},colorInherit:{color:\"inherit\"},colorPrimary:{color:e.palette.primary.main},colorSecondary:{color:e.palette.secondary.main},colorTextPrimary:{color:e.palette.text.primary},colorTextSecondary:{color:e.palette.text.secondary},colorError:{color:e.palette.error.main},displayInline:{display:\"inline\"},displayBlock:{display:\"block\"}}}),{name:\"MuiTypography\"})(l)},,function(e,t){var n;n=function(){return this}();try{n=n||new Function(\"return this\")()}catch(r){\"object\"===typeof window&&(n=window)}e.exports=n},function(e,t,n){\"use strict\";var r=n(26);n.d(t,\"g\",(function(){return r.a}));var i=n(160);n.d(t,\"h\",(function(){return i.a})),n.d(t,\"i\",(function(){return i.b})),n.d(t,\"L\",(function(){return i.a})),n.d(t,\"M\",(function(){return i.b}));var o=n(159);n.d(t,\"r\",(function(){return o.a})),n.d(t,\"s\",(function(){return o.b})),n.d(t,\"V\",(function(){return o.a})),n.d(t,\"W\",(function(){return o.b}));var a=n(229);n.d(t,\"j\",(function(){return a.a})),n.d(t,\"k\",(function(){return a.b}));var s=n(228);n.d(t,\"e\",(function(){return s.a})),n.d(t,\"f\",(function(){return s.b}));var c=n(168);n.d(t,\"a\",(function(){return c.b})),n.d(t,\"b\",(function(){return c.a}));var u=n(30);n.d(t,\"B\",(function(){return u.g})),n.d(t,\"C\",(function(){return u.h})),n.d(t,\"t\",(function(){return u.g})),n.d(t,\"u\",(function(){return u.h})),n.d(t,\"l\",(function(){return u.c})),n.d(t,\"m\",(function(){return u.d})),n.d(t,\"x\",(function(){return u.k})),n.d(t,\"y\",(function(){return u.l})),n.d(t,\"z\",(function(){return u.m})),n.d(t,\"A\",(function(){return u.n})),n.d(t,\"v\",(function(){return u.i})),n.d(t,\"w\",(function(){return u.j})),n.d(t,\"c\",(function(){return u.a})),n.d(t,\"d\",(function(){return u.b})),n.d(t,\"p\",(function(){return u.e})),n.d(t,\"q\",(function(){return u.f}));var l=n(227);n.d(t,\"n\",(function(){return l.a})),n.d(t,\"o\",(function(){return l.b}));var f=n(107);n.d(t,\"D\",(function(){return f.a})),n.d(t,\"E\",(function(){return f.b}));var d=n(232);n.d(t,\"N\",(function(){return d.a})),n.d(t,\"O\",(function(){return d.b}));var h=n(231);n.d(t,\"J\",(function(){return h.a})),n.d(t,\"K\",(function(){return h.b}));var p=n(169);n.d(t,\"F\",(function(){return p.a})),n.d(t,\"G\",(function(){return p.b}));var g=n(31);n.d(t,\"fb\",(function(){return g.g})),n.d(t,\"gb\",(function(){return g.h})),n.d(t,\"X\",(function(){return g.g})),n.d(t,\"Y\",(function(){return g.h})),n.d(t,\"P\",(function(){return g.c})),n.d(t,\"Q\",(function(){return g.d})),n.d(t,\"bb\",(function(){return g.k})),n.d(t,\"cb\",(function(){return g.l})),n.d(t,\"db\",(function(){return g.m})),n.d(t,\"eb\",(function(){return g.n})),n.d(t,\"Z\",(function(){return g.i})),n.d(t,\"ab\",(function(){return g.j})),n.d(t,\"H\",(function(){return g.a})),n.d(t,\"I\",(function(){return g.b})),n.d(t,\"T\",(function(){return g.e})),n.d(t,\"U\",(function(){return g.f}));var y=n(230);n.d(t,\"R\",(function(){return y.a})),n.d(t,\"S\",(function(){return y.b}));var m=n(108);n.d(t,\"hb\",(function(){return m.a})),n.d(t,\"ib\",(function(){return m.b}))},function(e,t,n){var r=n(447),i=n(452);e.exports=function(e,t){var n=i(e,t);return r(n)?n:void 0}},function(e,t,n){var r=n(132),i=n(448),o=n(449),a=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?\"[object Undefined]\":\"[object Null]\":a&&a in Object(e)?i(e):o(e)}},function(e,t,n){var r=n(294),i=n(472),o=n(87);e.exports=function(e){return o(e)?r(e,!0):i(e)}},function(e,t){e.exports=function(e){return e}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(67),i=n(73);t.default=function(e,t,n){var o=i.default.parse(e),a=o[t],s=r.default.channel.clamp[t](a+n);return a!==s&&(o[t]=s),i.default.stringify(o)}},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return c})),n.d(t,\"c\",(function(){return u}));var r=n(35),i=n(138),o=n(196),a=n(29);function s(e){return function(t){var n,i,o=t.length,a=new Array(o),s=new Array(o),c=new Array(o);for(n=0;n<o;++n)i=Object(r.g)(t[n]),a[n]=i.r||0,s[n]=i.g||0,c[n]=i.b||0;return a=e(a),s=e(s),c=e(c),i.opacity=1,function(e){return i.r=a(e),i.g=s(e),i.b=c(e),i+\"\"}}}t.a=function e(t){var n=Object(a.b)(t);function i(e,t){var i=n((e=Object(r.g)(e)).r,(t=Object(r.g)(t)).r),o=n(e.g,t.g),s=n(e.b,t.b),c=Object(a.a)(e.opacity,t.opacity);return function(t){return e.r=i(t),e.g=o(t),e.b=s(t),e.opacity=c(t),e+\"\"}}return i.gamma=e,i}(1);var c=s(i.b),u=s(o.a)},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return o})),n.d(t,\"c\",(function(){return a}));var r=n(79),i=n(98),o=(1+Math.sqrt(5))/2;function a(e,t,n,o,a,s){for(var c,u,l,f,d,h,p,g,y,m,b,v=[],x=t.children,w=0,_=0,k=x.length,O=t.value;w<k;){l=a-n,f=s-o;do{d=x[_++].value}while(!d&&_<k);for(h=p=d,b=d*d*(m=Math.max(f/l,l/f)/(O*e)),y=Math.max(p/b,b/h);_<k;++_){if(d+=u=x[_].value,u<h&&(h=u),u>p&&(p=u),b=d*d*m,(g=Math.max(p/b,b/h))>y){d-=u;break}y=g}v.push(c={value:d,dice:l<f,children:x.slice(w,_)}),c.dice?Object(r.a)(c,n,o,a,O?o+=f*d/O:s):Object(i.a)(c,n,o,O?n+=l*d/O:a,s),O-=d,w=_}return v}t.a=function e(t){function n(e,n,r,i,o){a(t,e,n,r,i,o)}return n.ratio=function(t){return e((t=+t)>1?t:1)},n}(o)},function(e,t,n){\"use strict\";function r(e){var t=0,n=e.children,r=n&&n.length;if(r)for(;--r>=0;)t+=n[r].value;else t=1;e.value=t}n.d(t,\"c\",(function(){return i})),n.d(t,\"b\",(function(){return s})),n.d(t,\"a\",(function(){return c}));function i(e,t){var n,r,i,a,u,l=new c(e),f=+e.value&&(l.value=e.value),d=[l];for(null==t&&(t=o);n=d.pop();)if(f&&(n.value=+n.data.value),(i=t(n.data))&&(u=i.length))for(n.children=new Array(u),a=u-1;a>=0;--a)d.push(r=n.children[a]=new c(i[a])),r.parent=n,r.depth=n.depth+1;return l.eachBefore(s)}function o(e){return e.children}function a(e){e.data=e.data.data}function s(e){var t=0;do{e.height=t}while((e=e.parent)&&e.height<++t)}function c(e){this.data=e,this.depth=this.height=0,this.parent=null}c.prototype=i.prototype={constructor:c,count:function(){return this.eachAfter(r)},each:function(e){var t,n,r,i,o=this,a=[o];do{for(t=a.reverse(),a=[];o=t.pop();)if(e(o),n=o.children)for(r=0,i=n.length;r<i;++r)a.push(n[r])}while(a.length);return this},eachAfter:function(e){for(var t,n,r,i=this,o=[i],a=[];i=o.pop();)if(a.push(i),t=i.children)for(n=0,r=t.length;n<r;++n)o.push(t[n]);for(;i=a.pop();)e(i);return this},eachBefore:function(e){for(var t,n,r=this,i=[r];r=i.pop();)if(e(r),t=r.children)for(n=t.length-1;n>=0;--n)i.push(t[n]);return this},sum:function(e){return this.eachAfter((function(t){for(var n=+e(t.data)||0,r=t.children,i=r&&r.length;--i>=0;)n+=r[i].value;t.value=n}))},sort:function(e){return this.eachBefore((function(t){t.children&&t.children.sort(e)}))},path:function(e){for(var t=this,n=function(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),i=null;e=n.pop(),t=r.pop();for(;e===t;)i=e,e=n.pop(),t=r.pop();return i}(t,e),r=[t];t!==n;)t=t.parent,r.push(t);for(var i=r.length;e!==n;)r.splice(i,0,e),e=e.parent;return r},ancestors:function(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t},descendants:function(){var e=[];return this.each((function(t){e.push(t)})),e},leaves:function(){var e=[];return this.eachBefore((function(t){t.children||e.push(t)})),e},links:function(){var e=this,t=[];return e.each((function(n){n!==e&&t.push({source:n.parent,target:n})})),t},copy:function(){return i(this).eachBefore(a)}}},function(e,t,n){\"use strict\";function r(e){return null==e?null:i(e)}function i(e){if(\"function\"!==typeof e)throw new Error;return e}n.d(t,\"a\",(function(){return r})),n.d(t,\"b\",(function(){return i}))},function(e,t,n){\"use strict\";t.a=function(e,t){return[(t=+t)*Math.cos(e-=Math.PI/2),t*Math.sin(e)]}},function(e,t,n){\"use strict\";function r(e){return null!=e&&!(Array.isArray(e)&&0===e.length)}function i(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e&&(r(e.value)&&\"\"!==e.value||t&&r(e.defaultValue)&&\"\"!==e.defaultValue)}function o(e){return e.startAdornment}n.d(t,\"b\",(function(){return i})),n.d(t,\"a\",(function(){return o}))},function(e,t,n){e.exports=n(653)},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return jr})),n.d(t,\"c\",(function(){return ta})),n.d(t,\"e\",(function(){return Ia})),n.d(t,\"d\",(function(){return Ps})),n.d(t,\"f\",(function(){return Fs})),n.d(t,\"a\",(function(){return Zs}));var r=n(1),i=n.n(r),o=n(142),a=n(0),s=n.n(a),c=n(139),u=n(110),l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};var d=i.a.oneOfType([i.a.string,i.a.shape({stiffness:i.a.number,nonAnimatedProps:i.a.arrayOf(i.a.string),damping:i.a.number}),i.a.bool]),h={animatedProps:i.a.arrayOf(i.a.string).isRequired,animation:d,onStart:i.a.func,onEnd:i.a.func};function p(e){var t=e.animatedProps,n=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,[\"animatedProps\"]);return t.reduce((function(e,t){return n.hasOwnProperty(t)&&(e[t]=n[t]),e}),{})}var g=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n._motionEndHandler=function(){n.props.onEnd&&n.props.onEnd()},n._renderChildren=function(e){var t=e.i,r=n.props.children,i=n._interpolator,o=s.a.Children.only(r),a=i?i(t):i,c=a&&a.data||null;return c&&o.props._data&&(c=c.map((function(e,t){var n=o.props._data[t];return f({},e,{parent:n.parent,children:n.children})}))),s.a.cloneElement(o,f({},o.props,a,{data:c||o.props.data||null,_animation:Math.random()}))},n._updateInterpolator(e),n}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),l(t,[{key:\"componentWillUpdate\",value:function(e){this._updateInterpolator(this.props,e),e.onStart&&e.onStart()}},{key:\"_updateInterpolator\",value:function(e,t){this._interpolator=Object(c.a)(p(e),t?p(t):null)}},{key:\"render\",value:function(){var e=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:u.presets.noWobble;if(\"string\"===typeof e)return u.presets[e]||u.presets.noWobble;var t=e.damping,n=e.stiffness;return f({damping:t||u.presets.noWobble.damping,stiffness:n||u.presets.noWobble.stiffness},e)}(this.props.animation),t={i:Object(u.spring)(1,e)},n=Math.random();return s.a.createElement(u.Motion,f({defaultStyle:{i:0},style:t,key:n},{onRest:this._motionEndHandler}),this._renderChildren)}}]),t}(a.PureComponent);g.propTypes=h,g.displayName=\"Animation\";var y=g,m=d,b=n(12),v=n(46),x=Array.prototype,w=x.map,_=x.slice,k={name:\"implicit\"};function O(e){var t=Object(v.c)(),n=[],r=k;function i(i){var o=i+\"\",a=t.get(o);if(!a){if(r!==k)return r;t.set(o,a=n.push(i))}return e[(a-1)%e.length]}return e=null==e?[]:_.call(e),i.domain=function(e){if(!arguments.length)return n.slice();n=[],t=Object(v.c)();for(var r,o,a=-1,s=e.length;++a<s;)t.has(o=(r=e[a])+\"\")||t.set(o,n.push(r));return i},i.range=function(t){return arguments.length?(e=_.call(t),i):e.slice()},i.unknown=function(e){return arguments.length?(r=e,i):r},i.copy=function(){return O().domain(n).range(e).unknown(r)},i}function E(){var e,t,n=O().unknown(void 0),r=n.domain,i=n.range,o=[0,1],a=!1,s=0,c=0,u=.5;function l(){var n=r().length,l=o[1]<o[0],f=o[l-0],d=o[1-l];e=(d-f)/Math.max(1,n-s+2*c),a&&(e=Math.floor(e)),f+=(d-f-e*(n-s))*u,t=e*(1-s),a&&(f=Math.round(f),t=Math.round(t));var h=Object(b.s)(n).map((function(t){return f+e*t}));return i(l?h.reverse():h)}return delete n.unknown,n.domain=function(e){return arguments.length?(r(e),l()):r()},n.range=function(e){return arguments.length?(o=[+e[0],+e[1]],l()):o.slice()},n.rangeRound=function(e){return o=[+e[0],+e[1]],a=!0,l()},n.bandwidth=function(){return t},n.step=function(){return e},n.round=function(e){return arguments.length?(a=!!e,l()):a},n.padding=function(e){return arguments.length?(s=c=Math.max(0,Math.min(1,e)),l()):s},n.paddingInner=function(e){return arguments.length?(s=Math.max(0,Math.min(1,e)),l()):s},n.paddingOuter=function(e){return arguments.length?(c=Math.max(0,Math.min(1,e)),l()):c},n.align=function(e){return arguments.length?(u=Math.max(0,Math.min(1,e)),l()):u},n.copy=function(){return E().domain(r()).range(o).round(a).paddingInner(s).paddingOuter(c).align(u)},l()}function S(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return S(t())},e}var C=n(55),T=n(286),j=function(e){return function(){return e}},A=function(e){return+e},M=[0,1];function P(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:j(t)}function N(e,t,n,r){var i=e[0],o=e[1],a=t[0],s=t[1];return o<i?(i=n(o,i),a=r(s,a)):(i=n(i,o),a=r(a,s)),function(e){return a(i(e))}}function D(e,t,n,r){var i=Math.min(e.length,t.length)-1,o=new Array(i),a=new Array(i),s=-1;for(e[i]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++s<i;)o[s]=n(e[s],e[s+1]),a[s]=r(t[s],t[s+1]);return function(t){var n=Object(b.b)(e,t,1,i)-1;return a[n](o[n](t))}}function R(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp())}function I(e,t){var n,r,i,o=M,a=M,s=c.a,u=!1;function l(){return n=Math.min(o.length,a.length)>2?D:N,r=i=null,f}function f(t){return(r||(r=n(o,a,u?function(e){return function(t,n){var r=e(t=+t,n=+n);return function(e){return e<=t?0:e>=n?1:r(e)}}}(e):e,s)))(+t)}return f.invert=function(e){return(i||(i=n(a,o,P,u?function(e){return function(t,n){var r=e(t=+t,n=+n);return function(e){return e<=0?t:e>=1?n:r(e)}}}(t):t)))(+e)},f.domain=function(e){return arguments.length?(o=w.call(e,A),l()):o.slice()},f.range=function(e){return arguments.length?(a=_.call(e),l()):a.slice()},f.rangeRound=function(e){return a=_.call(e),s=T.a,l()},f.clamp=function(e){return arguments.length?(u=!!e,l()):u},f.interpolate=function(e){return arguments.length?(s=e,l()):s},l()}var L=n(140),B=n(278),F=n(172),z=n(279),U=n(277);function H(e){var t=e.domain;return e.ticks=function(e){var n=t();return Object(b.B)(n[0],n[n.length-1],null==e?10:e)},e.tickFormat=function(e,n){return function(e,t,n){var r,i=e[0],o=e[e.length-1],a=Object(b.A)(i,o,null==t?10:t);switch((n=Object(L.b)(null==n?\",f\":n)).type){case\"s\":var s=Math.max(Math.abs(i),Math.abs(o));return null!=n.precision||isNaN(r=Object(B.a)(a,s))||(n.precision=r),Object(F.c)(n,s);case\"\":case\"e\":case\"g\":case\"p\":case\"r\":null!=n.precision||isNaN(r=Object(z.a)(a,Math.max(Math.abs(i),Math.abs(o))))||(n.precision=r-(\"e\"===n.type));break;case\"f\":case\"%\":null!=n.precision||isNaN(r=Object(U.a)(a))||(n.precision=r-2*(\"%\"===n.type))}return Object(F.b)(n)}(t(),e,n)},e.nice=function(n){null==n&&(n=10);var r,i=t(),o=0,a=i.length-1,s=i[o],c=i[a];return c<s&&(r=s,s=c,c=r,r=o,o=a,a=r),(r=Object(b.z)(s,c,n))>0?(s=Math.floor(s/r)*r,c=Math.ceil(c/r)*r,r=Object(b.z)(s,c,n)):r<0&&(s=Math.ceil(s*r)/r,c=Math.floor(c*r)/r,r=Object(b.z)(s,c,n)),r>0?(i[o]=Math.floor(s/r)*r,i[a]=Math.ceil(c/r)*r,t(i)):r<0&&(i[o]=Math.ceil(s*r)/r,i[a]=Math.floor(c*r)/r,t(i)),e},e}function W(){var e=I(P,C.a);return e.copy=function(){return R(e,W())},H(e)}var Y=function(e,t){var n,r=0,i=(e=e.slice()).length-1,o=e[r],a=e[i];return a<o&&(n=r,r=i,i=n,n=o,o=a,a=n),e[r]=t.floor(o),e[i]=t.ceil(a),e};function V(e,t){return(t=Math.log(t/e))?function(n){return Math.log(n/e)/t}:j(t)}function q(e,t){return e<0?function(n){return-Math.pow(-t,n)*Math.pow(-e,1-n)}:function(n){return Math.pow(t,n)*Math.pow(e,1-n)}}function $(e){return isFinite(e)?+(\"1e\"+e):e<0?0:e}function G(e){return 10===e?$:e===Math.E?Math.exp:function(t){return Math.pow(e,t)}}function X(e){return e===Math.E?Math.log:10===e&&Math.log10||2===e&&Math.log2||(e=Math.log(e),function(t){return Math.log(t)/e})}function K(e){return function(t){return-e(-t)}}function Z(e,t){return e<0?-Math.pow(-e,t):Math.pow(e,t)}function J(){var e=1,t=I((function(t,n){return(n=Z(n,e)-(t=Z(t,e)))?function(r){return(Z(r,e)-t)/n}:j(n)}),(function(t,n){return n=Z(n,e)-(t=Z(t,e)),function(r){return Z(t+n*r,1/e)}})),n=t.domain;return t.exponent=function(t){return arguments.length?(e=+t,n(n())):e},t.copy=function(){return R(t,J().exponent(e))},H(t)}function Q(){return J().exponent(.5)}var ee=n(107),te=n(227),ne=n(30),re=n(168),ie=n(228),oe=n(229),ae=n(159),se=n(160),ce=n(77),ue=1e3,le=6e4,fe=36e5,de=864e5,he=2592e6,pe=31536e6;function ge(e){return new Date(e)}function ye(e){return e instanceof Date?+e:+new Date(+e)}function me(e,t,n,r,i,o,a,s,c){var u=I(P,C.a),l=u.invert,f=u.domain,d=c(\".%L\"),h=c(\":%S\"),p=c(\"%I:%M\"),g=c(\"%I %p\"),y=c(\"%a %d\"),m=c(\"%b %d\"),v=c(\"%B\"),x=c(\"%Y\"),_=[[a,1,ue],[a,5,5e3],[a,15,15e3],[a,30,3e4],[o,1,le],[o,5,3e5],[o,15,9e5],[o,30,18e5],[i,1,fe],[i,3,108e5],[i,6,216e5],[i,12,432e5],[r,1,de],[r,2,1728e5],[n,1,6048e5],[t,1,he],[t,3,7776e6],[e,1,pe]];function k(s){return(a(s)<s?d:o(s)<s?h:i(s)<s?p:r(s)<s?g:t(s)<s?n(s)<s?y:m:e(s)<s?v:x)(s)}function O(t,n,r,i){if(null==t&&(t=10),\"number\"===typeof t){var o=Math.abs(r-n)/t,a=Object(b.e)((function(e){return e[2]})).right(_,o);a===_.length?(i=Object(b.A)(n/pe,r/pe,t),t=e):a?(i=(a=_[o/_[a-1][2]<_[a][2]/o?a-1:a])[1],t=a[0]):(i=Math.max(Object(b.A)(n,r,t),1),t=s)}return null==i?t:t.every(i)}return u.invert=function(e){return new Date(l(e))},u.domain=function(e){return arguments.length?f(w.call(e,ye)):f().map(ge)},u.ticks=function(e,t){var n,r=f(),i=r[0],o=r[r.length-1],a=o<i;return a&&(n=i,i=o,o=n),n=(n=O(e,i,o,t))?n.range(i,o+1):[],a?n.reverse():n},u.tickFormat=function(e,t){return null==t?k:c(t)},u.nice=function(e,t){var n=f();return(e=O(e,n[0],n[n.length-1],t))?f(Y(n,e)):u},u.copy=function(){return R(u,me(e,t,n,r,i,o,a,s,c))},u}var be=n(108),ve=n(230),xe=n(31),we=n(169),_e=n(231),ke=n(232),Oe=function(e){return e.match(/.{6}/g).map((function(e){return\"#\"+e}))},Ee=(Oe(\"1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf\"),Oe(\"393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6\"),Oe(\"3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9\"),Oe(\"1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5\"),n(219)),Se=n(226);Object(Se.a)(Object(Ee.a)(300,.5,0),Object(Ee.a)(-240,.5,1)),Object(Se.a)(Object(Ee.a)(-100,.75,.35),Object(Ee.a)(80,1.5,.8)),Object(Se.a)(Object(Ee.a)(260,.75,.35),Object(Ee.a)(80,1.5,.8)),Object(Ee.a)();function Ce(e){var t=e.length;return function(n){return e[Math.max(0,Math.min(t-1,Math.floor(n*t)))]}}Ce(Oe(\"44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725\")),Ce(Oe(\"00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf\")),Ce(Oe(\"00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4\")),Ce(Oe(\"0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921\"));var Te=n(35),je=n(80);function Ae(e){return\"[object Date]\"===Object.prototype.toString.call(e)?e.toDateString():e}var Me,Pe=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ne=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(c){i=!0,o=c}finally{try{!r&&s.return&&s.return()}finally{if(i)throw o}}return n}(e,t);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")};function De(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function Re(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ie=\"linear\",Le=\"ordinal\",Be=\"category\",Fe=\"literal\",ze=\"time\",Ue=(Re(Me={},Ie,W),Re(Me,Le,(function(){return S(E().paddingInner(1))})),Re(Me,Be,O),Re(Me,Fe,it),Re(Me,\"log\",(function e(){var t=I(V,q).domain([1,10]),n=t.domain,r=10,i=X(10),o=G(10);function a(){return i=X(r),o=G(r),n()[0]<0&&(i=K(i),o=K(o)),t}return t.base=function(e){return arguments.length?(r=+e,a()):r},t.domain=function(e){return arguments.length?(n(e),a()):n()},t.ticks=function(e){var t,a=n(),s=a[0],c=a[a.length-1];(t=c<s)&&(d=s,s=c,c=d);var u,l,f,d=i(s),h=i(c),p=null==e?10:+e,g=[];if(!(r%1)&&h-d<p){if(d=Math.round(d)-1,h=Math.round(h)+1,s>0){for(;d<h;++d)for(l=1,u=o(d);l<r;++l)if(!((f=u*l)<s)){if(f>c)break;g.push(f)}}else for(;d<h;++d)for(l=r-1,u=o(d);l>=1;--l)if(!((f=u*l)<s)){if(f>c)break;g.push(f)}}else g=Object(b.B)(d,h,Math.min(h-d,p)).map(o);return t?g.reverse():g},t.tickFormat=function(e,n){if(null==n&&(n=10===r?\".0e\":\",\"),\"function\"!==typeof n&&(n=Object(F.b)(n)),e===1/0)return n;null==e&&(e=10);var a=Math.max(1,r*e/t.ticks().length);return function(e){var t=e/o(Math.round(i(e)));return t*r<r-.5&&(t*=r),t<=a?n(e):\"\"}},t.nice=function(){return n(Y(n(),{floor:function(e){return o(Math.floor(i(e)))},ceil:function(e){return o(Math.ceil(i(e)))}}))},t.copy=function(){return R(t,e().base(r))},t})),Re(Me,ze,(function(){return me(ee.a,te.a,ne.g,re.b,ie.a,oe.a,ae.a,se.a,ce.b).domain([new Date(2e3,0,1),new Date(2e3,0,2)])})),Re(Me,\"time-utc\",(function(){return me(be.a,ve.a,xe.g,we.a,_e.a,ke.a,ae.a,se.a,ce.d).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)])})),Me),He=[\"color\",\"fill\",\"opacity\",\"stroke\"];function We(e){return\"\"+e[0].toUpperCase()+e.slice(1)}function Ye(e){if(!e)return null;var t=e.type,n=e.domain,r=e.range,i=n[0]===n[1]?0===n[0]?[-1,0]:[-n[0],n[0]]:n;if(t===Fe)return it(r[0]);var o=Ue[t]().domain(i).range(r);return t===Le&&(o.padding(.5),function(e){e.invert||(e.invert=function(t){var n=e.range(),r=Ne(n,2),i=r[0],o=r[1],a=Math.min(i,o),s=Math.max(i,o);if(t<a+e.padding()*e.step())return e.domain()[0];if(t>s-e.padding()*e.step())return e.domain()[e.domain().length-1];var c=Math.floor((t-a-e.padding()*e.step())/e.step());return e.domain()[c]})}(o)),o}function Ve(e,t,n,r){var i=e.reduce((function(e,r){var i=t(r),o=n(r);return Ze(i)&&e.push(i),Ze(o)&&e.push(o),e}),[]);return i.length?r!==Le&&r!==Be?Object(b.i)(i):Object(v.e)(i).values():[]}function qe(e,t,n,r,i){return n===Fe?{type:Fe,domain:[],range:[t],distance:0,attr:e,baseValue:void 0,isValue:!0,accessor:r,accessor0:i}:\"undefined\"===typeof t?null:{type:Be,range:[t],domain:[],distance:0,attr:e,baseValue:void 0,isValue:!0,accessor:r,accessor0:i}}function $e(e,t){var n=t.domain,r=t.type,i=t.accessor,o=t.accessor0,a=function(e,t){var n=new Set(e.map(t));return Array.from(n)}(e,i),s=function(e,t,n,r){return r===ze&&1===t.length?[n(e[0])].concat(De(t)):t}(e,a,o,r),c=function(e,t){var n=Ye(t),r=0;if(n)for(var i=void 0,o=n(e[0]),a=1/0,s=void 0,c=1;c<e.length;c++)i=n(e[c]),(s=Math.abs(i-o))<a&&(a=s,r=c),o=i;return r}(s,t),u=[].concat(n);u[0]-=function(e){return e.length>1?(e[1]-e[0])/2:1===e.length?e[0]-.5:0}(s),u[n.length-1]+=function(e){return e.length>1?(e[e.length-1]-e[e.length-2])/2:1===e.length?e[0]-.5:0}(s),\"log\"===r&&n[0]<=0&&(u[0]=Math.min(n[1]/10,1));var l=function(e,t,n,r){if(e.length>1){var i=Math.max(n,1);return Math.abs(r(e[i])-r(e[i-1]))}return 1===e.length?Math.abs(r(t[1])-r(t[0])):0}(s,u,c,Ye(Pe({},t,{domain:u})));return{domain0:u[0],domainN:u[u.length-1],distance:l}}function Ge(e,t){var n=function(e,t){var n,r=e[t],i=e[\"_\"+t+\"Value\"],o=e[t+\"Range\"],a=e[t+\"Distance\"],s=void 0===a?0:a,c=e[t+\"BaseValue\"],u=e[t+\"Type\"],l=void 0===u?Ie:u,f=e[t+\"NoFallBack\"],d=e[\"get\"+We(t)],h=void 0===d?function(e){return e[t]}:d,p=e[\"get\"+We(t)+\"0\"],g=void 0===p?function(e){return e[t+\"0\"]}:p,y=e[t+\"Domain\"];return f||\"undefined\"===typeof r?(\"undefined\"!==typeof c&&(y=function(e,t){var n=[].concat(e);return n[0]>t&&(n[0]=t),n[n.length-1]<t&&(n[n.length-1]=t),n}(y,c)),o&&y&&y.length?{domain:(n={domain:y,range:o,type:l,distance:s,attr:t,baseValue:c,accessor:h,accessor0:g}).domain,range:n.range,type:n.type,distance:n.distance,attr:n.attr,baseValue:n.baseValue,isValue:!1,accessor:n.accessor,accessor0:n.accessor0}:qe(t,i,e[t+\"Type\"],h,g)):qe(t,r,e[t+\"Type\"],h,g)}(e,t);if(!n)return null;if(!function(e,t){var n=t.attr,r=e._adjustBy,i=void 0===r?[]:r,o=e._adjustWhat;return(void 0===o?[]:o).length&&i.length&&-1!==i.indexOf(n)}(e,n))return n;var r=n.type;return r===Le||r===Be?function(e){var t=Ye(e),n=e.domain,r=e.range;return n.length>1?e.distance=Math.abs(t(n[1])-t(n[0])):e.distance=Math.abs(r[1]-r[0]),e}(n):function(e,t){var n=e._allData,r=e._adjustWhat,i=void 0===r?[]:r,o=t.domain.length,a=t.domain,s=a[0],c=a[o-1],u=t.distance;return n.forEach((function(e,n){if(-1!==i.indexOf(n)&&e&&e.length){var r=$e(e,t),o=r.domain0,a=r.domainN,l=r.distance;s=Math.min(s,o),c=Math.max(c,a),u=Math.max(u,l)}})),t.domain=[s].concat(De(a.slice(1,-1)),[c]),t.distance=u,t}(e,n)}function Xe(e,t){return Ye(Ge(e,t))}function Ke(e,t){return t(e.data?e.data:e)}function Ze(e){return\"undefined\"!==typeof e}function Je(e,t){var n=Ge(e,t);if(n){var r=Ye(n);return function(e){return r(Ke(e,n.accessor))}}return null}function Qe(e,t){var n=Ge(e,t);if(n){var r=n.domain,i=n.baseValue,o=void 0===i?r[0]:i,a=Ye(n);return function(e){var t=Ke(e,n.accessor0);return a(Ze(t)?t:o)}}return null}function et(e,t){var n=Ge(e,t);return n?(n.isValue||void 0!==e[\"_\"+t+\"Value\"]||Object(je.b)(\"[React-vis] Cannot use data defined \"+t+\" for this series type. Using fallback value instead.\"),e[\"_\"+t+\"Value\"]||n.range[0]):null}function tt(e){var t;return Re(t={},\"_\"+e+\"Value\",i.a.any),Re(t,e+\"Domain\",i.a.array),Re(t,\"get\"+We(e),i.a.func),Re(t,\"get\"+We(e)+\"0\",i.a.func),Re(t,e+\"Range\",i.a.array),Re(t,e+\"Type\",i.a.oneOf(Object.keys(Ue))),Re(t,e+\"Distance\",i.a.number),Re(t,e+\"BaseValue\",i.a.any),t}function nt(e,t){var n={};return Object.keys(e).forEach((function(r){t.find((function(e){var t=0===r.indexOf(e),n=0===r.indexOf(\"_\"+e),i=0===r.indexOf(\"get\"+We(e));return t||n||i}))&&(n[r]=e[r])})),n}function rt(e,t,n){var r={};return n.forEach((function(n){e[\"get\"+We(n)]||(r[\"get\"+We(n)]=function(e){return e[n]}),e[\"get\"+We(n)+\"0\"]||(r[\"get\"+We(n)+\"0\"]=function(e){return e[n+\"0\"]}),e[n+\"Domain\"]||(r[n+\"Domain\"]=Ve(t,e[\"get\"+We(n)]||r[\"get\"+We(n)],e[\"get\"+We(n)+\"0\"]||r[\"get\"+We(n)+\"0\"],e[n+\"Type\"]),e[n+\"Padding\"]&&(r[n+\"Domain\"]=function(e,t){if(!e)return e;if(isNaN(parseFloat(e[0]))||isNaN(parseFloat(e[1])))return e;var n=Ne(e,2),r=n[0],i=n[1],o=.01*t*(i-r);return[r-o,i+o]}(r[n+\"Domain\"],e[n+\"Padding\"])))})),r}function it(e){function t(t){return void 0===t?e:t}function n(){return t}return t.domain=n,t.range=n,t.unknown=n,t.copy=n,t}function ot(e){return e?Object(Te.f)(e).l>.57?\"#222\":\"#fff\":null}function at(e,t){var n=He.reduce((function(t,n){var r=e[n+\"Domain\"],i=e[n+\"Range\"],o=e[n+\"Type\"];return r&&i&&o?Pe({},t,Re({},n,Ue[o]().domain(r).range(i))):t}),{});return t.map((function(e){return He.reduce((function(t,r){if(e.props&&void 0!==e.props[r]){var i=e.props[r],o=n[r],a=o?o(i):i;return Pe({},t,Re({},\"_\"+r+\"Value\",a))}return t}),{})}))}var st=[\"Padding\"].map((function(e){return new RegExp(e+\"$\",\"i\")}));function ct(e){return Object.keys(e).reduce((function(t,n){return st.every((function(e){return!n.match(e)}))||(t[n]=e[n]),t}),{})}var ut=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),lt=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function ft(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function dt(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var ht=lt({},tt(\"x\"),tt(\"y\"),tt(\"size\"),tt(\"opacity\"),tt(\"color\"),{width:i.a.number,height:i.a.number,data:i.a.arrayOf(i.a.oneOfType([i.a.object,i.a.array])),onValueMouseOver:i.a.func,onValueMouseOut:i.a.func,onValueClick:i.a.func,onValueRightClick:i.a.func,onSeriesMouseOver:i.a.func,onSeriesMouseOut:i.a.func,onSeriesClick:i.a.func,onSeriesRightClick:i.a.func,onNearestX:i.a.func,onNearestXY:i.a.func,style:i.a.object,animation:m,stack:i.a.bool}),pt=function(e){function t(){var e,n,r;ft(this,t);for(var i=arguments.length,o=Array(i),a=0;a<i;a++)o[a]=arguments[a];return n=r=dt(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),r._seriesClickHandler=function(e){var t=r.props.onSeriesClick;t&&t({event:e})},r._seriesMouseOutHandler=function(e){var t=r.props.onSeriesMouseOut;t&&t({event:e})},r._seriesMouseOverHandler=function(e){var t=r.props.onSeriesMouseOver;t&&t({event:e})},r._seriesRightClickHandler=function(e){var t=r.props.onSeriesRightClick;t&&t({event:e})},r._valueClickHandler=function(e,t){var n=r.props,i=n.onValueClick,o=n.onSeriesClick;i&&i(e,{event:t}),o&&o({event:t})},r._valueMouseOutHandler=function(e,t){var n=r.props,i=n.onValueMouseOut,o=n.onSeriesMouseOut;i&&i(e,{event:t}),o&&o({event:t})},r._valueMouseOverHandler=function(e,t){var n=r.props,i=n.onValueMouseOver,o=n.onSeriesMouseOver;i&&i(e,{event:t}),o&&o({event:t})},r._valueRightClickHandler=function(e,t){var n=r.props,i=n.onValueRightClick,o=n.onSeriesRightClick;i&&i(e,{event:t}),o&&o({event:t})},dt(r,n)}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),ut(t,[{key:\"onParentMouseMove\",value:function(e){var t=this.props,n=t.onNearestX,r=t.onNearestXY,i=t.data;(n||r)&&i&&(r?this._handleNearestXY(e):this._handleNearestX(e))}},{key:\"onParentTouchMove\",value:function(e){e.preventDefault(),this.onParentMouseMove(e)}},{key:\"onParentTouchStart\",value:function(e){e.preventDefault()}},{key:\"_getAttr0Functor\",value:function(e){return Qe(this.props,e)}},{key:\"_getAttributeFunctor\",value:function(e){return Je(this.props,e)}},{key:\"_getAttributeValue\",value:function(e){return et(this.props,e)}},{key:\"_getScaleDistance\",value:function(e){var t=Ge(this.props,e);return t?t.distance:0}},{key:\"_getXYCoordinateInContainer\",value:function(e){var t=this.props,n=t.marginTop,r=void 0===n?0:n,i=t.marginLeft,o=void 0===i?0:i,a=e.nativeEvent,s=e.currentTarget,c=s.getBoundingClientRect(),u=a.clientX,l=a.clientY;return\"touchmove\"===a.type&&(u=a.touches[0].pageX,l=a.touches[0].pageY),{x:u-c.left-s.clientLeft-o,y:l-c.top-s.clientTop-r}}},{key:\"_handleNearestX\",value:function(e){var t=this.props,n=t.onNearestX,r=t.data,i=Number.POSITIVE_INFINITY,o=null,a=null,s=this._getXYCoordinateInContainer(e),c=this._getAttributeFunctor(\"x\");r.forEach((function(e,t){var n=c(e),r=Math.abs(s.x-n);r<i&&(i=r,o=e,a=t)})),o&&n(o,{innerX:c(o),index:a,event:e.nativeEvent})}},{key:\"_handleNearestXY\",value:function(e){var t=this.props,n=t.onNearestXY,r=t.data,i=this._getXYCoordinateInContainer(e),a=this._getAttributeFunctor(\"x\"),s=this._getAttributeFunctor(\"y\"),c=Object(o.a)().x(a).y(s)(r).find(i.x,i.y),u=c.data;u&&n(u,{innerX:c[0],innerY:c[1],index:c.index,event:e.nativeEvent})}}],[{key:\"getParentConfig\",value:function(){return{}}},{key:\"requiresSVG\",get:function(){return!0}}]),t}(a.PureComponent);pt.displayName=\"AbstractSeries\",pt.propTypes=ht,pt.defaultProps={className:\"\",stack:!1,style:{}};var gt=pt,yt=[\"#12939A\",\"#79C7E3\",\"#1A3177\",\"#FF9833\",\"#EF5D28\"],mt=[\"#19CDD7\",\"#DDB27C\",\"#88572C\",\"#FF991F\",\"#F15C17\",\"#223F9A\",\"#DA70BF\",\"#125C77\",\"#4DC19C\",\"#776E57\",\"#12939A\",\"#17B8BE\",\"#F6D18A\",\"#B7885E\",\"#FFCB99\",\"#F89570\",\"#829AE3\",\"#E79FD5\",\"#1E96BE\",\"#89DAC1\",\"#B3AD9E\"],bt=[\"#EF5D28\",\"#FF9833\"],vt=[1,10],xt=\"literal\",wt=yt[0],_t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function kt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ot(e){return e.type.prototype instanceof gt}function Et(e){return s.a.Children.toArray(e).filter((function(e){return e&&Ot(e)}))}function St(e,t){var n=e.some((function(e){return e&&e.props.stack})),r={};return e.reduce((function(e,i,o){if(!i)return e.push(null),e;var a=i.type.displayName,s=i.props,c=s.data,u=s.cluster,l=void 0===u?\"default\":u,f=s.stack,d=function(e){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return!!e&&e.some((function(e){return e.radius&&e.angle}))}(e)?e.map((function(e){return _t({},e,{x:e.radius*Math.cos(e.angle),y:e.radius*Math.sin(e.angle)})})):e}(c);if(!t||!d||!d.length||n&&!f)return e.push(d),e;var h=t+\"0\",p=\"y\"===t?\"x\":\"y\";return e.push(d.map((function(e,n){var i,o;r[l]||(r[l]={}),r[l][a]||(r[l][a]={});var s,c=r[l][a][e[p]];if(!c)return r[l][a][e[p]]=(kt(s={},h,e[h]),kt(s,t,e[t]),s),_t({},e);var u=_t({},e,(kt(i={},h,c[t]),kt(i,t,c[t]+e[t]-(e[h]||0)),i));return r[l][a][e[p]]=(kt(o={},h,u[h]),kt(o,t,u[t]),o),u}))),e}),[])}function Ct(e){var t=[],n=function(e){var t={};return e.filter(Ot).forEach((function(e){var n=e.type.displayName,r=e.props.cluster;t[n]||(t[n]={sameTypeTotal:0,sameTypeIndex:0,clusters:new Set}),t[n].clusters.add(r),t[n].sameTypeTotal++})),t}(e),r=0;return e.forEach((function(e){var i=void 0;if(Ot(e)){var o=n[e.type.displayName];i=_t({},o,{seriesIndex:r,_colorValue:yt[r%yt.length],_opacityValue:1}),o.sameTypeIndex++,r++,e.props.cluster&&(i.cluster=e.props.cluster,i.clusters=Array.from(o.clusters),i.sameTypeTotal=i.clusters.length,i.sameTypeIndex=i.clusters.indexOf(e.props.cluster))}t.push(i)})),t}function Tt(e){return e.reduce((function(e,t){return Math.max(t.radius,e)}),0)}var jt=[\"xRange\",\"xDomain\",\"x\",\"yRange\",\"yDomain\",\"y\",\"colorRange\",\"colorDomain\",\"color\",\"opacityRange\",\"opacityDomain\",\"opacity\",\"strokeRange\",\"strokeDomain\",\"stroke\",\"fillRange\",\"fillDomain\",\"fill\",\"width\",\"height\",\"marginLeft\",\"marginTop\",\"marginRight\",\"marginBottom\",\"data\",\"angleDomain\",\"angleRange\",\"angle\",\"radiusDomain\",\"radiusRange\",\"radius\",\"innerRadiusDomain\",\"innerRadiusRange\",\"innerRadius\"];function At(e){var t=e._stackBy,n=e.valuePosAttr,r=e.cluster,i=e.sameTypeTotal,o=void 0===i?1:i,a=e.sameTypeIndex,s=void 0===a?0:a;return t!==n||r||(o=1,s=0),{sameTypeTotal:o,sameTypeIndex:s}}var Mt=n(288),Pt=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),Nt=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};var Dt=\"rv-xy-plot__series rv-xy-plot__series--arc\",Rt=[\"radius\",\"angle\"],It=Nt({},gt.defaultProps,{center:{x:0,y:0},arcClassName:\"\",className:\"\",style:{},padAngle:0});function Lt(e){var t=e.radius,n=e.angle,r=e.angle0,i=-1*n+Math.PI/2,o=-1*r+Math.PI/2;return Nt({},e,{x:t*Math.cos(i),y:t*Math.sin(i),angle:i,angle0:o})}var Bt=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e)),r=n._getAllScaleProps(e);return n.state={scaleProps:r},n}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Pt(t,[{key:\"componentWillReceiveProps\",value:function(e){this.setState({scaleProps:this._getAllScaleProps(e)})}},{key:\"_getAllScaleProps\",value:function(e){var t=this._getDefaultScaleProps(e),n=nt(e,Rt),r=rt(Nt({},t,n),e.data,Rt);return Nt({},t,n,r)}},{key:\"_getDefaultScaleProps\",value:function(e){var t=e.innerWidth,n=e.innerHeight,r=Math.min(t/2,n/2);return{radiusRange:[0,r],_radiusValue:r,angleType:\"literal\"}}},{key:\"render\",value:function(){var e=this,n=this.props,r=n.arcClassName,i=n.animation,o=n.className,a=n.center,c=n.data,u=n.disableSeries,l=n.hideSeries,f=n.marginLeft,d=n.marginTop,h=n.padAngle,p=n.style;if(!c)return null;if(i){var g=c.map((function(e){return Nt({},e)}));return s.a.createElement(\"g\",{className:\"rv-xy-plot__series--arc__animation-wrapper\"},s.a.createElement(y,Nt({},this.props,{animatedProps:jt,data:g}),s.a.createElement(t,Nt({},this.props,{animation:null,disableSeries:!0,data:g}))),s.a.createElement(t,Nt({},this.props,{animation:null,hideSeries:!0,style:{stroke:\"red\"}})))}var m=this.state.scaleProps,b=m.radiusDomain,v=Je(m,\"radius\"),x=Qe(m,\"radius\"),w=Je(m,\"angle\"),_=Qe(m,\"angle\"),k=this._getAttributeFunctor(\"fill\")||this._getAttributeFunctor(\"color\"),O=this._getAttributeFunctor(\"stroke\")||this._getAttributeFunctor(\"color\"),E=this._getAttributeFunctor(\"opacity\"),S=this._getAttributeFunctor(\"x\"),C=this._getAttributeFunctor(\"y\");return s.a.createElement(\"g\",{className:Dt+\" \"+o,onMouseOver:this._seriesMouseOverHandler,onMouseOut:this._seriesMouseOutHandler,onClick:this._seriesClickHandler,onContextMenu:this._seriesRightClickHandler,opacity:l?0:1,pointerEvents:u?\"none\":\"all\",transform:\"translate(\"+(f+S(a))+\",\"+(d+C(a))+\")\"},c.map((function(t,n){var i={innerRadius:b[1]===b[0]?0:x(t),outerRadius:v(t),startAngle:_(t)||0,endAngle:w(t)},o=Object(Mt.a)().padAngle(h),a=t.style||{},c=t.className||\"\";return s.a.createElement(\"path\",{style:Nt({opacity:E&&E(t),stroke:O&&O(t),fill:k&&k(t)},p,a),onClick:function(n){return e._valueClickHandler(Lt(t),n)},onContextMenu:function(n){return e._valueRightClickHandler(Lt(t),n)},onMouseOver:function(n){return e._valueMouseOverHandler(Lt(t),n)},onMouseOut:function(n){return e._valueMouseOutHandler(Lt(t),n)},key:n,className:Dt+\"-path \"+r+\" \"+c,d:o(i)})})))}}]),t}(gt);Bt.propTypes=Nt({},gt.propTypes,tt(\"radius\"),tt(\"angle\"),{center:i.a.shape({x:i.a.number,y:i.a.number}),arcClassName:i.a.string,padAngle:i.a.oneOfType([i.a.func,i.a.number])}),Bt.defaultProps=It,Bt.displayName=\"ArcSeries\";var Ft=Bt,zt=n(203),Ut=n(50),Ht=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Wt=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function Yt(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function Vt(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var qt=function(e){function t(){return Yt(this,t),Vt(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Wt(t,[{key:\"_renderArea\",value:function(e,t,n,r,i,o){var a=zt.a();return null!==i&&(\"string\"===typeof i&&Ut[i]?a=a.curve(Ut[i]):\"function\"===typeof i&&(a=a.curve(i))),(a=(a=a.defined(o)).x(t).y0(n).y1(r))(e)}},{key:\"render\",value:function(){var e=this.props,n=e.animation,r=e.className,i=e.curve,o=e.data,a=e.marginLeft,c=e.marginTop,u=e.style;if(this.props.nullAccessor&&Object(je.b)(\"nullAccessor has been renamed to getNull\",!0),!o)return null;if(n)return s.a.createElement(y,Ht({},this.props,{animatedProps:jt}),s.a.createElement(t,Ht({},this.props,{animation:null})));var l=this._getAttributeFunctor(\"x\"),f=this._getAttributeFunctor(\"y\"),d=this._getAttr0Functor(\"y\"),h=this._getAttributeValue(\"stroke\")||this._getAttributeValue(\"color\"),p=this._getAttributeValue(\"fill\")||this._getAttributeValue(\"color\"),g=this._getAttributeValue(\"opacity\"),m=Number.isFinite(g)?g:1,b=this.props.nullAccessor||this.props.getNull,v=this._renderArea(o,l,d,f,i,b);return s.a.createElement(\"path\",{d:v,className:\"rv-xy-plot__series rv-xy-plot__series--line \"+r,transform:\"translate(\"+a+\",\"+c+\")\",onMouseOver:this._seriesMouseOverHandler,onMouseOut:this._seriesMouseOutHandler,onClick:this._seriesClickHandler,onContextMenu:this._seriesRightClickHandler,style:Ht({opacity:m,stroke:h,fill:p},u)})}}]),t}(gt);qt.displayName=\"AreaSeries\",qt.propTypes=Ht({},gt.propTypes,{getNull:i.a.func}),qt.defaultProps=Ht({},gt.defaultProps,{getNull:function(){return!0}});var $t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Gt={style:i.a.shape({bottom:i.a.object,left:i.a.object,right:i.a.object,top:i.a.object}),marginTop:i.a.number,marginBottom:i.a.number,marginLeft:i.a.number,marginRight:i.a.number,innerWidth:i.a.number,innerHeight:i.a.number},Xt=\"rv-xy-plot__borders-bottom\",Kt=\"rv-xy-plot__borders\",Zt=\"rv-xy-plot__borders-left\",Jt=\"rv-xy-plot__borders-right\",Qt=\"rv-xy-plot__borders-top\";function en(e){var t=e.marginTop,n=e.marginBottom,r=e.marginLeft,i=e.marginRight,o=e.innerWidth,a=e.innerHeight,c=e.style,u=e.className,l=a+t+n,f=o+r+i;return s.a.createElement(\"g\",{className:Kt+\" \"+u},s.a.createElement(\"rect\",{className:Xt+\" \"+u+\"-bottom\",style:$t({},c.all,c.bottom),x:0,y:l-n,width:f,height:n}),s.a.createElement(\"rect\",{className:Zt+\" \"+u+\"-left\",style:$t({},c.all,c.left),x:0,y:0,width:r,height:l}),s.a.createElement(\"rect\",{className:Jt+\" \"+u+\"-right\",style:$t({},c.all,c.right),x:f-i,y:0,width:i,height:l}),s.a.createElement(\"rect\",{className:Qt+\" \"+u+\"-top\",style:$t({},c.all,c.top),x:0,y:0,width:f,height:t}))}en.displayName=\"Borders\",en.defaultProps={className:\"\",style:{all:{},bottom:{},left:{},right:{},top:{}}},en.propTypes=Gt,en.requiresSVG=!0;var tn=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function nn(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function rn(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var on=function(e){function t(){return nn(this,t),rn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),tn(t,[{key:\"render\",value:function(){var e=this.props,t=e.innerHeight,n=e.innerWidth,r=e.marginBottom,i=e.marginLeft,o=e.marginRight,a=e.marginTop,c=e.className,u=e.includeMargin,l=e.style,f=e.text,d=(n+(u?i+o:0))*e.xPercent+(u?0:i),h=(t+(u?a+r:0))*e.yPercent+(u?i:0);return s.a.createElement(\"g\",{transform:\"translate(\"+d+\", \"+h+\")\",className:\"rv-xy-plot__axis__title \"+c},s.a.createElement(\"text\",l,f))}}],[{key:\"requiresSVG\",get:function(){return!0}}]),t}(s.a.PureComponent);on.displayName=\"ChartLabel\",on.propTypes={className:i.a.string,includeMargin:i.a.bool,style:i.a.object,text:i.a.string.isRequired,xPercent:i.a.number.isRequired,yPercent:i.a.number.isRequired},on.defaultProps={className:\"\",includeMargin:!0,text:\"\",xPercent:0,yPercent:0,style:{}};var an={TOP:\"top\",LEFT:\"left\",RIGHT:\"right\",BOTTOM:\"bottom\",VERTICAL:\"vertical\",HORIZONTAL:\"horizontal\"},sn={VERTICAL:\"vertical\",HORIZONTAL:\"horizontal\"};function cn(e){return e<700?e>300?10:5:20}function un(e,t,n){return n||(e.ticks?e.ticks(t):e.domain())}var ln=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},fn=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function dn(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function hn(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var pn=[\"xRange\",\"yRange\",\"xDomain\",\"yDomain\",\"width\",\"height\",\"marginLeft\",\"marginTop\",\"marginRight\",\"marginBottom\",\"tickTotal\"],gn=function(e){function t(){return dn(this,t),hn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),fn(t,[{key:\"_getDefaultProps\",value:function(){var e=this.props,t=e.innerWidth,n=e.innerHeight,r=e.marginTop;return{left:e.marginLeft,top:r,width:t,height:n,style:{},tickTotal:cn(Math.min(t,n))}}},{key:\"render\",value:function(){var e=this.props,n=e.animation,r=e.centerX,i=e.centerY;if(n)return s.a.createElement(y,ln({},this.props,{animatedProps:pn}),s.a.createElement(t,ln({},this.props,{animation:null})));var o=ln({},this._getDefaultProps(),this.props),a=o.tickTotal,c=o.tickValues,u=o.marginLeft,l=o.marginTop,f=o.rRange,d=o.style,h=Xe(o,\"x\"),p=Xe(o,\"y\"),g=un(h,a,c);return s.a.createElement(\"g\",{transform:\"translate(\"+(h(r)+u)+\",\"+(p(i)+l)+\")\",className:\"rv-xy-plot__circular-grid-lines\"},g.reduce((function(e,t,n){var r=h(t);return f&&(r<f[0]||r>f[1])?e:e.concat([s.a.createElement(\"circle\",ln({cx:0,cy:0,r:r},{key:n,className:\"rv-xy-plot__circular-grid-lines__line\",style:d}))])}),[]))}}]),t}(a.PureComponent);gn.displayName=\"CircularGridLines\",gn.propTypes={centerX:i.a.number,centerY:i.a.number,width:i.a.number,height:i.a.number,top:i.a.number,left:i.a.number,rRange:i.a.arrayOf(i.a.number),style:i.a.object,tickValues:i.a.arrayOf(i.a.number),tickTotal:i.a.number,animation:m,marginTop:i.a.number,marginBottom:i.a.number,marginLeft:i.a.number,marginRight:i.a.number,innerWidth:i.a.number,innerHeight:i.a.number},gn.defaultProps={centerX:0,centerY:0},gn.requiresSVG=!0;var yn=n(204),mn=n(379),bn=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},vn=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function xn(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function wn(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var _n=function(e){function t(){return xn(this,t),wn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),vn(t,[{key:\"render\",value:function(){var e=this.props,n=e.animation,r=e.bandwidth,i=e.className,o=e.colorRange,a=e.data,c=e.innerHeight,u=e.innerWidth,l=e.marginLeft,f=e.marginTop,d=e.style;if(!a||!u||!c)return null;if(n)return s.a.createElement(y,bn({},this.props,{animatedProps:jt}),s.a.createElement(t,bn({},this.props,{animation:null})));var h=this._getAttributeFunctor(\"x\"),p=this._getAttributeFunctor(\"y\"),g=Object(yn.a)().x((function(e){return h(e)})).y((function(e){return p(e)})).size([u,c]).bandwidth(r)(a),m=Object(mn.a)(),b=function(e){return e.reduce((function(e,t){return{min:Math.min(e.min,t.value),max:Math.max(e.max,t.value)}}),{min:1/0,max:-1/0})}(g),v=b.min,x=b.max,w=W().domain([v,x]).range(o||bt);return s.a.createElement(\"g\",{className:\"rv-xy-plot__series rv-xy-plot__series--contour \"+i,transform:\"translate(\"+l+\",\"+f+\")\"},g.map((function(e,t){return s.a.createElement(\"path\",{className:\"rv-xy-plot__series--contour-line\",key:\"rv-xy-plot__series--contour-line-\"+t,d:m(e),style:bn({fill:w(e.value)},d)})})))}}]),t}(gt);_n.propTypes=bn({},gt.propTypes,{animation:i.a.bool,bandwidth:i.a.number,className:i.a.string,marginLeft:i.a.number,marginTop:i.a.number,style:i.a.object}),_n.defaultProps=bn({},gt.defaultProps,{bandwidth:40,style:{}});var kn=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},On=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function En(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function Sn(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}function Cn(e){var t=jn(e);if(t)return{title:\"x\",value:Ae(t.x)}}function Tn(e){return e.map((function(e,t){if(e)return{value:e.y,title:t}}))}function jn(e){return(e||[]).find((function(e){return Boolean(e)}))}var An=function(e){function t(){return En(this,t),Sn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),On(t,[{key:\"_renderCrosshairItems\",value:function(){var e=this.props,t=e.values,n=(0,e.itemsFormat)(t);return n?n.filter((function(e){return e})).map((function(e,t){return s.a.createElement(\"div\",{className:\"rv-crosshair__item\",key:\"item\"+t},s.a.createElement(\"span\",{className:\"rv-crosshair__item__title\"},e.title),\": \",s.a.createElement(\"span\",{className:\"rv-crosshair__item__value\"},e.value))})):null}},{key:\"_renderCrosshairTitle\",value:function(){var e=this.props,t=e.values,n=e.titleFormat,r=e.style,i=n(t);return i?s.a.createElement(\"div\",{className:\"rv-crosshair__title\",key:\"title\",style:r.title},s.a.createElement(\"span\",{className:\"rv-crosshair__title__title\"},i.title),\": \",s.a.createElement(\"span\",{className:\"rv-crosshair__title__value\"},i.value)):null}},{key:\"render\",value:function(){var e=this.props,t=e.children,n=e.className,r=e.values,i=e.marginTop,o=e.marginLeft,a=e.innerWidth,c=e.innerHeight,u=e.style,l=jn(r);if(!l)return null;var f=Je(this.props,\"x\")(l),d=this.props.orientation,h=o+f,p=i,g=\"rv-crosshair__inner rv-crosshair__inner--\"+(void 0===d?f>a/2?\"left\":\"right\":d);return s.a.createElement(\"div\",{className:\"rv-crosshair \"+n,style:{left:h+\"px\",top:p+\"px\"}},s.a.createElement(\"div\",{className:\"rv-crosshair__line\",style:kn({height:c+\"px\"},u.line)}),s.a.createElement(\"div\",{className:g},t||s.a.createElement(\"div\",{className:\"rv-crosshair__inner__content\",style:u.box},s.a.createElement(\"div\",null,this._renderCrosshairTitle(),this._renderCrosshairItems()))))}}],[{key:\"defaultProps\",get:function(){return{titleFormat:Cn,itemsFormat:Tn,style:{line:{},title:{},box:{}}}}},{key:\"propTypes\",get:function(){return{className:i.a.string,values:i.a.arrayOf(i.a.oneOfType([i.a.number,i.a.string,i.a.object])),series:i.a.object,innerWidth:i.a.number,innerHeight:i.a.number,marginLeft:i.a.number,marginTop:i.a.number,orientation:i.a.oneOf([\"left\",\"right\"]),itemsFormat:i.a.func,titleFormat:i.a.func,style:i.a.shape({line:i.a.object,title:i.a.object,box:i.a.object})}}}]),t}(a.PureComponent);An.displayName=\"Crosshair\";var Mn=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),Pn=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function Nn(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function Dn(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}function Rn(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var In={stroke:\"blue\",fill:\"blue\"};function Ln(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:In;switch(e){case\"diamond\":return s.a.createElement(\"polygon\",{style:n,points:\"0 0 \"+t/2+\" \"+t/2+\" 0 \"+t+\" \"+-t/2+\" \"+t/2+\" 0 0\"});case\"star\":var r=[].concat(Rn(new Array(5))).map((function(e,n){var r=n/5*Math.PI*2,i=r+Math.PI/10,o=r-Math.PI/10,a=t/2.61;return\"\\n        \"+Math.cos(o)*t+\" \"+Math.sin(o)*t+\"\\n        \"+Math.cos(i)*a+\" \"+Math.sin(i)*a+\"\\n      \"})).join(\" \");return s.a.createElement(\"polygon\",{points:r,x:\"0\",y:\"0\",height:t,width:t,style:n});case\"square\":return s.a.createElement(\"rect\",{x:\"\"+-t/2,y:\"\"+-t/2,height:t,width:t,style:n});default:return s.a.createElement(\"circle\",{cx:\"0\",cy:\"0\",r:t/2,style:n})}}var Bn=function(e){function t(){return Nn(this,t),Dn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Mn(t,[{key:\"render\",value:function(){var e=this,n=this.props,r=n.animation,i=n.className,o=n.customComponent,a=n.data,c=n.innerHeight,u=n.innerWidth,l=n.marginLeft,f=n.marginTop,d=n.style,h=n.size;if(!a||!u||!c)return null;if(r)return s.a.createElement(y,Pn({},this.props,{animatedProps:jt}),s.a.createElement(t,Pn({},this.props,{animation:!1})));var p=this._getAttributeFunctor(\"x\"),g=this._getAttributeFunctor(\"y\"),m=a.map((function(t,n){var r={x:p(t),y:g(t)},i=function(e){var t=e.customComponent,n=e.defaultType,r=e.positionInPixels,i=(e.positionFunctions,e.style),o=e.propsSize,a=t.size,s=Pn({},i,t.style||{}),c=t.customComponent;return c||\"string\"!==typeof n?c?\"string\"===typeof c?Ln(c||n,a,s):c(t,r,s):n(t,r,s):Ln(n,a||o,s)}({customComponent:t,positionInPixels:r,defaultType:o,positionFunctions:{x:p,y:g},style:d,propsSize:h});return s.a.createElement(\"g\",{className:\"rv-xy-plot__series--custom-svg\",key:\"rv-xy-plot__series--custom-svg-\"+n,transform:\"translate(\"+r.x+\",\"+r.y+\")\",onMouseEnter:function(n){return e._valueMouseOverHandler(t,n)},onMouseLeave:function(n){return e._valueMouseOutHandler(t,n)}},i)}));return s.a.createElement(\"g\",{className:\"rv-xy-plot__series rv-xy-plot__series--custom-svg-wrapper \"+i,transform:\"translate(\"+l+\",\"+f+\")\"},m)}}]),t}(gt);Bn.propTypes={animation:i.a.bool,className:i.a.string,customComponent:i.a.oneOfType([i.a.string,i.a.func]),data:i.a.arrayOf(i.a.shape({x:i.a.oneOfType([i.a.string,i.a.number]).isRequired,y:i.a.oneOfType([i.a.string,i.a.number]).isRequired})).isRequired,marginLeft:i.a.number,marginTop:i.a.number,style:i.a.object,size:i.a.number,onValueMouseOver:i.a.func,onValueMouseOut:i.a.func},Bn.defaultProps=Pn({},gt.defaultProps,{animation:!1,customComponent:\"circle\",style:{},size:2});var Fn=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function zn(e){var t=e.axisDomain,n=e.numberOfTicks,r=e.axisStart,i=e.axisEnd,o=e.tickValue,a=e.tickSize,c=e.style,u=function(e){var t=e.axisStart,n=e.axisEnd,r=e.numberOfTicks,i=e.axisDomain,o=function(e,t){if(e.x===t.x)return{left:e.y,right:t.y,slope:0,offset:e.x};var n=(e.y-t.y)/(e.x-t.x);return{left:e.x,right:t.x,slope:n,offset:e.y-n*e.x}}(t,n),a=o.left,s=o.right,c=o.slope,u=o.offset,l=(s-a)/r,f=W().domain([a,s]).range(i),d=t.x===n.x;return{slope:d?1/0:c,points:Object(b.s)(a,s+l,l).map((function(e){return d?{y:e,x:c*e+u,text:f(e)}:{x:e,y:c*e+u,text:f(e)}})).slice(0,r+1)}}({axisStart:r,axisEnd:i,numberOfTicks:n,axisDomain:t}),l=u.points,f=function(e,t){return e.x===t.x?t.y>e.y?Math.PI/2:3*Math.PI/2:Math.atan((t.y-e.y)/(t.x-e.x))}(r,i)+Math.PI/2;return l.map((function(e,t){var n=Fn({x1:0,y1:0,x2:a*Math.cos(f),y2:a*Math.sin(f)},c.ticks),r=Fn({x:a*Math.cos(f),y:a*Math.sin(f),textAnchor:\"start\"},c.text);return s.a.createElement(\"g\",{key:t,transform:\"translate(\"+e.x+\", \"+e.y+\")\",className:\"rv-xy-plot__axis__tick\"},s.a.createElement(\"line\",Fn({},n,{className:\"rv-xy-plot__axis__tick__line\"})),s.a.createElement(\"text\",Fn({},r,{className:\"rv-xy-plot__axis__tick__text\"}),o(e.text)))}))}var Un=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Hn=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function Wn(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function Yn(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var Vn=[\"xRange\",\"yRange\",\"xDomain\",\"yDomain\",\"width\",\"height\",\"marginLeft\",\"marginTop\",\"marginRight\",\"marginBottom\",\"tickSize\",\"tickTotal\",\"tickSizeInner\",\"tickSizeOuter\"],qn=function(e){function t(){return Wn(this,t),Yn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Hn(t,[{key:\"render\",value:function(){var e=this.props,n=e.animation,r=e.className,i=e.marginLeft,o=e.marginTop,a=e.axisStart,c=e.axisEnd,u=e.axisDomain,l=e.numberOfTicks,f=e.tickValue,d=e.tickSize,h=e.style;if(n)return s.a.createElement(y,Un({},this.props,{animatedProps:Vn}),s.a.createElement(t,Un({},this.props,{animation:null})));var p=this._getAttributeFunctor(\"x\"),g=this._getAttributeFunctor(\"y\");return s.a.createElement(\"g\",{className:\"rv-xy-manipulable-axis rv-xy-plot__axis \"+r,transform:\"translate(\"+i+\",\"+o+\")\"},s.a.createElement(\"line\",Un({},Un({x1:p({x:a.x}),x2:p({x:c.x}),y1:g({y:a.y}),y2:g({y:c.y})},h.line),{className:\"rv-xy-plot__axis__line\"})),s.a.createElement(\"g\",{className:\"rv-xy-manipulable-axis__ticks\"},zn({axisDomain:u,axisEnd:{x:p(c),y:g(c)},axisStart:{x:p(a),y:g(a)},numberOfTicks:l,tickValue:f,tickSize:d,style:h})))}}]),t}(gt),$n=Object(F.b)(\".2r\");qn.defaultProps={className:\"\",numberOfTicks:10,tickValue:function(e){return $n(e)},tickSize:5,style:{line:{strokeWidth:1},ticks:{strokeWidth:2},text:{}}},qn.propTypes=Un({},gt.propTypes,{axisDomain:i.a.arrayOf(i.a.number).isRequired,axisEnd:i.a.shape({x:i.a.oneOfType([i.a.number,i.a.string]),y:i.a.oneOfType([i.a.number,i.a.string])}).isRequired,axisStart:i.a.shape({x:i.a.oneOfType([i.a.number,i.a.string]),y:i.a.oneOfType([i.a.number,i.a.string])}).isRequired,className:i.a.string,numberOfTicks:i.a.number,tickValue:i.a.func,tickSize:i.a.number,style:i.a.shape({line:i.a.object,ticks:i.a.object,text:i.a.object})}),qn.displayName=\"DecorativeAxis\";var Gn=qn;function Xn(e){var t=e.className;return s.a.createElement(\"defs\",{className:\"rv-gradient-defs \"+t},e.children)}Xn.displayName=\"GradientDefs\",Xn.requiresSVG=!0,Xn.propTypes={className:i.a.string},Xn.defaultProps={className:\"\"};var Kn=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Zn=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function Jn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Qn(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function er(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var tr=sn.VERTICAL,nr=sn.HORIZONTAL,rr={direction:i.a.oneOf([tr,nr]),attr:i.a.string.isRequired,width:i.a.number,height:i.a.number,top:i.a.number,left:i.a.number,style:i.a.object,tickValues:i.a.arrayOf(i.a.oneOfType([i.a.number,i.a.string])),tickTotal:i.a.number,animation:m,marginTop:i.a.number,marginBottom:i.a.number,marginLeft:i.a.number,marginRight:i.a.number,innerWidth:i.a.number,innerHeight:i.a.number},ir={direction:tr},or=[\"xRange\",\"yRange\",\"xDomain\",\"yDomain\",\"width\",\"height\",\"marginLeft\",\"marginTop\",\"marginRight\",\"marginBottom\",\"tickTotal\"],ar=function(e){function t(){return Qn(this,t),er(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Zn(t,[{key:\"_getDefaultProps\",value:function(){var e=this.props,t=e.innerWidth,n=e.innerHeight,r=e.marginTop;return{left:e.marginLeft,top:r,width:t,height:n,tickTotal:cn(e.direction===tr?t:n)}}},{key:\"render\",value:function(){var e=this.props,n=e.animation,r=e.className;if(n)return s.a.createElement(y,Kn({},this.props,{animatedProps:or}),s.a.createElement(t,Kn({},this.props,{animation:null})));var i=Kn({},this._getDefaultProps(),this.props),o=i.attr,a=i.direction,c=i.width,u=i.height,l=i.style,f=i.tickTotal,d=i.tickValues,h=i.top,p=i.left,g=a===tr,m=g?\"y\":\"x\",b=g?\"x\":\"y\",v=g?u:c,x=Xe(i,o),w=un(x,f,d);return s.a.createElement(\"g\",{transform:\"translate(\"+p+\",\"+h+\")\",className:\"rv-xy-plot__grid-lines \"+r},w.map((function(e,t){var n,r=x(e),i=(Jn(n={},b+\"1\",r),Jn(n,b+\"2\",r),Jn(n,m+\"1\",0),Jn(n,m+\"2\",v),n);return s.a.createElement(\"line\",Kn({},i,{key:t,className:\"rv-xy-plot__grid-lines__line\",style:l}))})))}}]),t}(a.PureComponent);ar.displayName=\"GridLines\",ar.defaultProps=ir,ar.propTypes=rr,ar.requiresSVG=!0;var sr=ar,cr=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ur=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function lr(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function fr(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var dr=function(e){function t(){return lr(this,t),fr(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),ur(t,[{key:\"render\",value:function(){var e=this,n=this.props,r=n.animation,i=n.className,o=n.data,a=n.marginLeft,c=n.marginTop,u=n.style;if(!o)return null;if(r)return s.a.createElement(y,cr({},this.props,{animatedProps:jt}),s.a.createElement(t,cr({},this.props,{animation:null})));var l=cr({rectStyle:{}},u).rectStyle,f=this._getAttributeFunctor(\"x\"),d=this._getAttributeFunctor(\"y\"),h=this._getAttributeFunctor(\"opacity\"),p=this._getAttributeFunctor(\"fill\")||this._getAttributeFunctor(\"color\"),g=this._getAttributeFunctor(\"stroke\")||this._getAttributeFunctor(\"color\"),m=this._getScaleDistance(\"x\"),b=this._getScaleDistance(\"y\");return s.a.createElement(\"g\",{className:\"rv-xy-plot__series rv-xy-plot__series--heatmap \"+i,transform:\"translate(\"+a+\",\"+c+\")\"},o.map((function(t,n){var r=cr({style:cr({stroke:g&&g(t),fill:p&&p(t),opacity:h&&h(t)},u)},l,{x:f(t)-m/2,y:d(t)-b/2,width:m,height:b,key:n,onClick:function(n){return e._valueClickHandler(t,n)},onContextMenu:function(n){return e._valueRightClickHandler(t,n)},onMouseOver:function(n){return e._valueMouseOverHandler(t,n)},onMouseOut:function(n){return e._valueMouseOutHandler(t,n)}});return s.a.createElement(\"rect\",r)})))}}],[{key:\"getParentConfig\",value:function(e){return{isDomainAdjustmentNeeded:\"x\"===e||\"y\"===e}}}]),t}(gt);dr.propTypes=cr({},gt.propTypes),dr.displayName=\"HeatmapSeries\";var hr=Math.PI/3,pr=[0,hr,2*hr,3*hr,4*hr,5*hr];function gr(e){return e[0]}function yr(e){return e[1]}var mr=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},br=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function vr(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function xr(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}function wr(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var _r=function(e){function t(){return vr(this,t),xr(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),br(t,[{key:\"render\",value:function(){var e=this,n=this.props,r=n.animation,i=n.className,o=n.colorRange,a=n.data,c=n.innerHeight,u=n.innerWidth,l=n.marginLeft,f=n.marginTop,d=n.radius,h=n.sizeHexagonsWithCount,p=n.style,g=n.xOffset,m=n.yOffset;if(!a)return null;if(r)return s.a.createElement(y,mr({},this.props,{animatedProps:jt}),s.a.createElement(t,mr({},this.props,{animation:null})));var b=this._getAttributeFunctor(\"x\"),v=this._getAttributeFunctor(\"y\"),x=function(){var e,t,n,r=0,i=0,o=1,a=1,s=gr,c=yr;function u(e){var r,i={},o=[],a=e.length;for(r=0;r<a;++r)if(!isNaN(l=+s.call(null,u=e[r],r,e))&&!isNaN(f=+c.call(null,u,r,e))){var u,l,f,d=Math.round(f/=n),h=Math.round(l=l/t-(1&d)/2),p=f-d;if(3*Math.abs(p)>1){var g=l-h,y=h+(l<h?-1:1)/2,m=d+(f<d?-1:1),b=l-y,v=f-m;g*g+p*p>b*b+v*v&&(h=y+(1&d?1:-1)/2,d=m)}var x=h+\"-\"+d,w=i[x];w?w.push(u):(o.push(w=i[x]=[u]),w.x=(h+(1&d)/2)*t,w.y=d*n)}return o}function l(e){var t=0,n=0;return pr.map((function(r){var i=Math.sin(r)*e,o=-Math.cos(r)*e,a=i-t,s=o-n;return t=i,n=o,[a,s]}))}return u.hexagon=function(t){return\"m\"+l(null==t?e:+t).join(\"l\")+\"z\"},u.centers=function(){for(var s=[],c=Math.round(i/n),u=Math.round(r/t),l=c*n;l<a+e;l+=n,++c)for(var f=u*t+(1&c)*t/2;f<o+t/2;f+=t)s.push([f,l]);return s},u.mesh=function(){var t=l(e).slice(0,4).join(\"l\");return u.centers().map((function(e){return\"M\"+e+\"m\"+t})).join(\"\")},u.x=function(e){return arguments.length?(s=e,u):s},u.y=function(e){return arguments.length?(c=e,u):c},u.radius=function(r){return arguments.length?(t=2*(e=+r)*Math.sin(hr),n=1.5*e,u):e},u.size=function(e){return arguments.length?(r=i=0,o=+e[0],a=+e[1],u):[o-r,a-i]},u.extent=function(e){return arguments.length?(r=+e[0][0],i=+e[0][1],o=+e[1][0],a=+e[1][1],u):[[r,i],[o,a]]},u.radius(1)}().x((function(e){return b(e)+g})).y((function(e){return v(e)+m})).radius(d).size([u,c]),w=x.hexagon(),_=x(a),k=function(e,t){return e.countDomain||[0,Math.max.apply(Math,wr(t.map((function(e){return e.length}))))]}(this.props,_),O=W().domain(k).range(o),E=W().domain(k).range([0,d]);return s.a.createElement(\"g\",{className:\"rv-xy-plot__series rv-xy-plot__series--hexbin \"+i,transform:\"translate(\"+l+\",\"+f+\")\"},_.map((function(t,n){var r={style:p,d:h?x.hexagon(E(t.length)):w,fill:O(t.length),transform:\"translate(\"+t.x+\", \"+t.y+\")\",key:n,onClick:function(n){return e._valueClickHandler(t,n)},onContextMenu:function(n){return e._valueRightClickHandler(t,n)},onMouseOver:function(n){return e._valueMouseOverHandler(t,n)},onMouseOut:function(n){return e._valueMouseOutHandler(t,n)}};return s.a.createElement(\"path\",r)})))}}]),t}(gt);_r.propTypes=mr({},gt.propTypes,{radius:i.a.number}),_r.defaultProps={radius:20,colorRange:bt,xOffset:0,yOffset:0},_r.displayName=\"HexbinSeries\";var kr=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Or=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function Er(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function Sr(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}function Cr(e){return{xLoc:\"touchstart\"===e.type?e.pageX:e.offsetX,yLoc:\"touchstart\"===e.type?e.pageY:e.offsetY}}var Tr=function(e){function t(){var e,n,r;Er(this,t);for(var i=arguments.length,o=Array(i),a=0;a<i;a++)o[a]=arguments[a];return n=r=Sr(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),r.state={dragging:!1,brushArea:{top:0,right:0,bottom:0,left:0},brushing:!1,startLocX:0,startLocY:0,dragArea:null},Sr(r,n)}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Or(t,[{key:\"_getDrawArea\",value:function(e,t){var n=this.state,r=n.startLocX,i=n.startLocY,o=this.props,a=o.enableX,s=o.enableY,c=o.highlightWidth,u=o.highlightHeight,l=o.innerWidth,f=o.innerHeight,d=o.marginLeft,h=o.marginRight,p=o.marginBottom,g=o.marginTop,y=c||l+d+h,m=u||f+g+p;return{bottom:s?Math.max(i,t):m,right:a?Math.max(r,e):y,left:a?Math.min(e,r):0,top:s?Math.min(t,i):0}}},{key:\"_getDragArea\",value:function(e,t){var n=this.props,r=n.enableX,i=n.enableY,o=this.state,a=o.startLocX,s=o.startLocY,c=o.dragArea;return{bottom:c.bottom+(i?t-s:0),left:c.left+(r?e-a:0),right:c.right+(r?e-a:0),top:c.top+(i?t-s:0)}}},{key:\"_clickedOutsideDrag\",value:function(e,t){var n=this.props,r=n.enableX,i=n.enableY,o=this.state,a=o.dragArea,s=o.brushArea,c=s.left,u=s.right,l=s.top,f=s.bottom,d=a&&(e<c||e>u),h=a&&(t<l||t>f);return r&&i?d||h:r?d:!i||h}},{key:\"_convertAreaToCoordinates\",value:function(e){var t=this.props,n=t.enableX,r=t.enableY,i=t.marginLeft,o=t.marginTop,a=Xe(this.props,\"x\"),s=Xe(this.props,\"y\");return n&&r?{bottom:s.invert(e.bottom),left:a.invert(e.left-i),right:a.invert(e.right-i),top:s.invert(e.top)}:r?{bottom:s.invert(e.bottom-o),top:s.invert(e.top-o)}:n?{left:a.invert(e.left-i),right:a.invert(e.right-i)}:{}}},{key:\"startBrushing\",value:function(e){var t=this,n=this.props,r=n.onBrushStart,i=n.onDragStart,o=n.drag,a=this.state.dragArea,s=Cr(e.nativeEvent),c=s.xLoc,u=s.yLoc,l=function(e,n){var r={bottom:u,left:c,right:c,top:u};t.setState({dragging:e,brushArea:a&&!n?a:r,brushing:!e,startLocX:c,startLocY:u})},f=this._clickedOutsideDrag(c,u);if(o&&!a||!o||f)return l(!1,f),void(r&&r(e));o&&a&&(l(!0,f),i&&i(e))}},{key:\"stopBrushing\",value:function(e){var t=this.state,n=t.brushing,r=t.dragging,i=t.brushArea;if(n||r){var o=this.props,a=o.onBrushEnd,s=o.onDragEnd,c=o.drag,u=Math.abs(i.right-i.left)<5,l=Math.abs(i.top-i.bottom)<5||u;this.setState({brushing:!1,dragging:!1,brushArea:c?i:{top:0,right:0,bottom:0,left:0},startLocX:0,startLocY:0,dragArea:c&&!l&&i}),n&&a&&a(l?null:this._convertAreaToCoordinates(i)),c&&s&&s(l?null:this._convertAreaToCoordinates(i))}}},{key:\"onBrush\",value:function(e){var t=this.props,n=t.onBrush,r=t.onDrag,i=t.drag,o=this.state,a=o.brushing,s=o.dragging,c=Cr(e.nativeEvent),u=c.xLoc,l=c.yLoc;if(a){var f=this._getDrawArea(u,l);this.setState({brushArea:f}),n&&n(this._convertAreaToCoordinates(f))}if(i&&s){var d=this._getDragArea(u,l);this.setState({brushArea:d}),r&&r(this._convertAreaToCoordinates(d))}}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.color,r=t.className,i=t.highlightHeight,o=t.highlightWidth,a=t.highlightX,c=t.highlightY,u=t.innerWidth,l=t.innerHeight,f=t.marginLeft,d=t.marginRight,h=t.marginTop,p=t.marginBottom,g=t.opacity,y=this.state.brushArea,m=y.left,b=y.right,v=y.top,x=y.bottom,w=0;a&&(w=Xe(this.props,\"x\")(a));var _=0;c&&(_=Xe(this.props,\"y\")(c));var k=o||f+d+u,O=i||h+p+l;return s.a.createElement(\"g\",{transform:\"translate(\"+w+\", \"+_+\")\",className:r+\" rv-highlight-container\"},s.a.createElement(\"rect\",{className:\"rv-mouse-target\",fill:\"black\",opacity:\"0\",x:\"0\",y:\"0\",width:Math.max(k,0),height:Math.max(O,0),onMouseDown:function(t){return e.startBrushing(t)},onMouseMove:function(t){return e.onBrush(t)},onMouseUp:function(t){return e.stopBrushing(t)},onMouseLeave:function(t){return e.stopBrushing(t)},onTouchEnd:function(t){t.preventDefault(),e.stopBrushing(t)},onTouchCancel:function(t){t.preventDefault(),e.stopBrushing(t)},onContextMenu:function(e){return e.preventDefault()},onContextMenuCapture:function(e){return e.preventDefault()}}),s.a.createElement(\"rect\",{className:\"rv-highlight\",pointerEvents:\"none\",opacity:g,fill:n,x:m,y:v,width:Math.min(Math.max(0,b-m),k),height:Math.min(Math.max(0,x-v),O)}))}}]),t}(gt);Tr.displayName=\"HighlightOverlay\",Tr.defaultProps={color:\"rgb(77, 182, 172)\",className:\"\",enableX:!0,enableY:!0,opacity:.3},Tr.propTypes=kr({},gt.propTypes,{enableX:i.a.bool,enableY:i.a.bool,highlightHeight:i.a.number,highlightWidth:i.a.number,highlightX:i.a.oneOfType([i.a.string,i.a.number]),highlightY:i.a.oneOfType([i.a.string,i.a.number]),onBrushStart:i.a.func,onDragStart:i.a.func,onBrush:i.a.func,onDrag:i.a.func,onBrushEnd:i.a.func,onDragEnd:i.a.func});var jr=Tr,Ar=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Mr=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function Pr(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function Nr(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var Dr={AUTO:\"auto\",LEFT:\"left\",RIGHT:\"right\",LEFT_EDGE:\"leftEdge\",RIGHT_EDGE:\"rightEdge\",BOTTOM:\"bottom\",TOP:\"top\",BOTTOM_EDGE:\"bottomEdge\",TOP_EDGE:\"topEdge\"},Rr={BOTTOM_LEFT:\"bottomleft\",BOTTOM_RIGHT:\"bottomright\",TOP_LEFT:\"topleft\",TOP_RIGHT:\"topright\"};function Ir(e){return Object.keys(e).map((function(t){return{title:t,value:Ae(e[t])}}))}var Lr=function(e){function t(){return Pr(this,t),Nr(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Mr(t,[{key:\"_getAlign\",value:function(e,t){var n=this.props,r=n.innerWidth,i=n.innerHeight,o=n.orientation,a=n.align,s=a.horizontal,c=a.vertical,u=o?this._mapOrientationToAlign(o):{horizontal:s,vertical:c};return s===Dr.AUTO&&(u.horizontal=e>r/2?Dr.LEFT:Dr.RIGHT),c===Dr.AUTO&&(u.vertical=t>i/2?Dr.TOP:Dr.BOTTOM),u}},{key:\"_getAlignClassNames\",value:function(e){var t=this.props.orientation;return(t?\"rv-hint--orientation-\"+t:\"\")+\" rv-hint--horizontalAlign-\"+e.horizontal+\"\\n     rv-hint--verticalAlign-\"+e.vertical}},{key:\"_getAlignStyle\",value:function(e,t,n){return Ar({},this._getXCSS(e.horizontal,t),this._getYCSS(e.vertical,n))}},{key:\"_getCSSBottom\",value:function(e){if(void 0===e||null===e)return{bottom:0};var t=this.props,n=t.innerHeight;return{bottom:t.marginBottom+n-e}}},{key:\"_getCSSLeft\",value:function(e){return void 0===e||null===e?{left:0}:{left:this.props.marginLeft+e}}},{key:\"_getCSSRight\",value:function(e){if(void 0===e||null===e)return{right:0};var t=this.props,n=t.innerWidth;return{right:t.marginRight+n-e}}},{key:\"_getCSSTop\",value:function(e){return void 0===e||null===e?{top:0}:{top:this.props.marginTop+e}}},{key:\"_getPositionInfo\",value:function(){var e=this.props,t=e.value,n=e.getAlignStyle,r=Je(this.props,\"x\")(t),i=Je(this.props,\"y\")(t),o=this._getAlign(r,i);return{position:n?n(o,r,i):this._getAlignStyle(o,r,i),positionClassName:this._getAlignClassNames(o)}}},{key:\"_getXCSS\",value:function(e,t){switch(e){case Dr.LEFT_EDGE:return this._getCSSLeft(null);case Dr.RIGHT_EDGE:return this._getCSSRight(null);case Dr.LEFT:return this._getCSSRight(t);default:return this._getCSSLeft(t)}}},{key:\"_getYCSS\",value:function(e,t){switch(e){case Dr.TOP_EDGE:return this._getCSSTop(null);case Dr.BOTTOM_EDGE:return this._getCSSBottom(null);case Dr.BOTTOM:return this._getCSSTop(t);default:return this._getCSSBottom(t)}}},{key:\"_mapOrientationToAlign\",value:function(e){switch(e){case Rr.BOTTOM_LEFT:return{horizontal:Dr.LEFT,vertical:Dr.BOTTOM};case Rr.BOTTOM_RIGHT:return{horizontal:Dr.RIGHT,vertical:Dr.BOTTOM};case Rr.TOP_LEFT:return{horizontal:Dr.LEFT,vertical:Dr.TOP};case Rr.TOP_RIGHT:return{horizontal:Dr.RIGHT,vertical:Dr.TOP}}}},{key:\"render\",value:function(){var e=this.props,t=e.value,n=e.format,r=e.children,i=e.style,o=e.className,a=this._getPositionInfo(),c=a.position,u=a.positionClassName;return s.a.createElement(\"div\",{className:\"rv-hint \"+u+\" \"+o,style:Ar({},i,c,{position:\"absolute\"})},r||s.a.createElement(\"div\",{className:\"rv-hint__content\",style:i.content},n(t).map((function(e,t){return s.a.createElement(\"div\",{key:\"rv-hint\"+t,style:i.row},s.a.createElement(\"span\",{className:\"rv-hint__title\",style:i.title},e.title),\": \",s.a.createElement(\"span\",{className:\"rv-hint__value\",style:i.value},e.value))}))))}}],[{key:\"defaultProps\",get:function(){return{format:Ir,align:{horizontal:Dr.AUTO,vertical:Dr.AUTO},style:{}}}},{key:\"propTypes\",get:function(){return{marginTop:i.a.number,marginLeft:i.a.number,innerWidth:i.a.number,innerHeight:i.a.number,scales:i.a.object,value:i.a.object,format:i.a.func,style:i.a.object,className:i.a.string,align:i.a.shape({horizontal:i.a.oneOf([Dr.AUTO,Dr.LEFT,Dr.RIGHT,Dr.LEFT_EDGE,Dr.RIGHT_EDGE]),vertical:i.a.oneOf([Dr.AUTO,Dr.BOTTOM,Dr.TOP,Dr.BOTTOM_EDGE,Dr.TOP_EDGE])}),getAlignStyle:i.a.func,orientation:i.a.oneOf([Rr.BOTTOM_LEFT,Rr.BOTTOM_RIGHT,Rr.TOP_LEFT,Rr.TOP_RIGHT])}}}]),t}(a.PureComponent);Lr.displayName=\"Hint\",Lr.ORIENTATION=Rr,Lr.ALIGN=Dr;var Br=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Fr=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function zr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ur(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function Hr(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var Wr=function(e){function t(){return Ur(this,t),Hr(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Fr(t,[{key:\"render\",value:function(){var e=this,n=this.props,r=n.animation,i=n.className,o=n.data,a=n.linePosAttr,c=n.lineSizeAttr,u=n.marginLeft,l=n.marginTop,f=n.style,d=n.valuePosAttr,h=n.valueSizeAttr,p=n.barWidth;if(!o)return null;if(r)return s.a.createElement(y,Br({},this.props,{animatedProps:jt}),s.a.createElement(t,Br({},this.props,{animation:null})));var g=At(this.props),m=g.sameTypeTotal,b=g.sameTypeIndex,v=this._getScaleDistance(a),x=this._getAttributeFunctor(a),w=this._getAttributeFunctor(d),_=this._getAttr0Functor(d),k=this._getAttributeFunctor(\"fill\")||this._getAttributeFunctor(\"color\"),O=this._getAttributeFunctor(\"stroke\")||this._getAttributeFunctor(\"color\"),E=this._getAttributeFunctor(\"opacity\"),S=v/2*p;return s.a.createElement(\"g\",{className:\"rv-xy-plot__series rv-xy-plot__series--bar \"+i,transform:\"translate(\"+u+\",\"+l+\")\"},o.map((function(t,n){var r,i=2*S,o=x(t),u=i/m-(m-1)/m,l=o-S+u*b+b,p=(zr(r={style:Br({opacity:E&&E(t),stroke:O&&O(t),fill:k&&k(t)},f)},a,l),zr(r,c,u),zr(r,d,Math.min(_(t),w(t))),zr(r,h,Math.abs(-_(t)+w(t))),zr(r,\"onClick\",(function(n){return e._valueClickHandler(t,n)})),zr(r,\"onContextMenu\",(function(n){return e._valueRightClickHandler(t,n)})),zr(r,\"onMouseOver\",(function(n){return e._valueMouseOverHandler(t,n)})),zr(r,\"onMouseOut\",(function(n){return e._valueMouseOutHandler(t,n)})),zr(r,\"key\",n),r);return s.a.createElement(\"rect\",p)})))}}],[{key:\"propTypes\",get:function(){return Br({},gt.propTypes,{linePosAttr:i.a.string,valuePosAttr:i.a.string,lineSizeAttr:i.a.string,valueSizeAttr:i.a.string,cluster:i.a.string,barWidth:i.a.number})}},{key:\"defaultProps\",get:function(){return{barWidth:.85}}}]),t}(gt);Wr.displayName=\"BarSeries\";var Yr=Wr,Vr=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},qr=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function $r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function Gr(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var Xr=function(e){function t(){return $r(this,t),Gr(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),qr(t,[{key:\"render\",value:function(){return s.a.createElement(Yr,Vr({},this.props,{linePosAttr:\"y\",valuePosAttr:\"x\",lineSizeAttr:\"height\",valueSizeAttr:\"width\"}))}}],[{key:\"getParentConfig\",value:function(e){return{isDomainAdjustmentNeeded:\"y\"===e,zeroBaseValue:\"x\"===e}}}]),t}(gt);Xr.displayName=\"HorizontalBarSeries\";var Kr=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Zr=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function Jr(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function Qr(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var ei=function(e){function t(){return Jr(this,t),Qr(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Zr(t,[{key:\"render\",value:function(){return null}}],[{key:\"renderLayer\",value:function(e,t){var n=e.data,r=e.linePosAttr,i=e.lineSizeAttr,o=e.valuePosAttr,a=e.marginTop,s=e.marginBottom;if(n&&0!==n.length){var c=function(e,t){var n=Ge(e,t);return n?n.distance:0}(e,r),u=Je(e,r),l=Je(e,o),f=Qe(e,o),d=Je(e,\"fill\")||Je(e,\"color\"),h=Je(e,\"stroke\")||Je(e,\"color\"),p=Je(e,\"opacity\"),g=c/2*.85,y=2*g,m=At(e),b=m.sameTypeTotal,v=m.sameTypeIndex;n.forEach((function(e){var n=u(e)-g,r=y/b-(b-1)/b,c=Object(Te.g)(d(e)),m=Object(Te.g)(h(e)),x=p(e)||1,w=n+r*v+v,_=Math.min(f(e),l(e)),k=\"x\"===o?_:w,O=\"y\"===o?_:w,E=Math.abs(-f(e)+l(e)),S=\"height\"===i?r:E,C=\"width\"===i?r:E;t.beginPath(),t.rect(k+s,O+a,C,S),t.fillStyle=\"rgba(\"+c.r+\", \"+c.g+\", \"+c.b+\", \"+x+\")\",t.fill(),t.strokeStyle=\"rgba(\"+m.r+\", \"+m.g+\", \"+m.b+\", \"+x+\")\",t.stroke()}))}}},{key:\"requiresSVG\",get:function(){return!1}},{key:\"isCanvas\",get:function(){return!0}}]),t}(gt);ei.displayName=\"BarSeriesCanvas\",ei.defaultProps=Kr({},gt.defaultProps,{linePosAttr:i.a.string.isRequired,valuePosAttr:i.a.string.isRequired,lineSizeAttr:i.a.string.isRequired,valueSizeAttr:i.a.string.isRequired}),ei.propTypes=Kr({},gt.propTypes);var ti=ei,ni=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ri=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function ii(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function oi(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var ai=function(e){function t(){return ii(this,t),oi(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),ri(t,[{key:\"render\",value:function(){return null}}],[{key:\"getParentConfig\",value:function(e){return{isDomainAdjustmentNeeded:\"y\"===e,zeroBaseValue:\"x\"===e}}},{key:\"renderLayer\",value:function(e,t){ti.renderLayer(ni({},e,{linePosAttr:\"y\",valuePosAttr:\"x\",lineSizeAttr:\"height\",valueSizeAttr:\"width\"}),t)}},{key:\"requiresSVG\",get:function(){return!1}},{key:\"isCanvas\",get:function(){return!0}}]),t}(gt);ai.displayName=\"HorizontalBarSeriesCanvas\",ai.propTypes=ni({},gt.propTypes);var si=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ci=sn.HORIZONTAL,ui=si({},sr.propTypes,{direction:i.a.oneOf([ci])}),li={direction:ci,attr:\"y\"};function fi(e){return s.a.createElement(sr,e)}fi.displayName=\"HorizontalGridLines\",fi.propTypes=ui,fi.defaultProps=li,fi.requiresSVG=!0;var di=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},hi=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function pi(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function gi(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function yi(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var mi=function(e){function t(){return gi(this,t),yi(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),hi(t,[{key:\"render\",value:function(){var e=this,n=this.props,r=n.animation,i=n.className,o=n.data,a=n.linePosAttr,c=n.lineSizeAttr,u=n.marginLeft,l=n.marginTop,f=n.style,d=n.valuePosAttr,h=n.valueSizeAttr;if(!o)return null;if(r)return s.a.createElement(y,di({},this.props,{animatedProps:jt}),s.a.createElement(t,di({},this.props,{animation:null})));var p=this._getAttributeFunctor(a),g=this._getAttr0Functor(a),m=this._getAttributeFunctor(d),b=this._getAttr0Functor(d),v=this._getAttributeFunctor(\"fill\")||this._getAttributeFunctor(\"color\"),x=this._getAttributeFunctor(\"stroke\")||this._getAttributeFunctor(\"color\"),w=this._getAttributeFunctor(\"opacity\");return s.a.createElement(\"g\",{className:\"rv-xy-plot__series rv-xy-plot__series--rect \"+i,transform:\"translate(\"+u+\",\"+l+\")\"},o.map((function(t,n){var r,i=(pi(r={style:di({opacity:w&&w(t),stroke:x&&x(t),fill:v&&v(t)},f)},a,g(t)),pi(r,c,Math.abs(p(t)-g(t))),pi(r,d,Math.min(b(t),m(t))),pi(r,h,Math.abs(-b(t)+m(t))),pi(r,\"onClick\",(function(n){return e._valueClickHandler(t,n)})),pi(r,\"onContextMenu\",(function(n){return e._valueRightClickHandler(t,n)})),pi(r,\"onMouseOver\",(function(n){return e._valueMouseOverHandler(t,n)})),pi(r,\"onMouseOut\",(function(n){return e._valueMouseOutHandler(t,n)})),pi(r,\"key\",n),r);return s.a.createElement(\"rect\",i)})))}}],[{key:\"propTypes\",get:function(){return di({},gt.propTypes,{linePosAttr:i.a.string,valuePosAttr:i.a.string,lineSizeAttr:i.a.string,valueSizeAttr:i.a.string})}}]),t}(gt);mi.displayName=\"RectSeries\";var bi=mi,vi=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},xi=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function wi(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function _i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var ki=function(e){function t(){return wi(this,t),_i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),xi(t,[{key:\"render\",value:function(){return s.a.createElement(bi,vi({},this.props,{linePosAttr:\"y\",valuePosAttr:\"x\",lineSizeAttr:\"height\",valueSizeAttr:\"width\"}))}}],[{key:\"getParentConfig\",value:function(e){return{isDomainAdjustmentNeeded:!1,zeroBaseValue:\"x\"===e}}}]),t}(gt);ki.displayName=\"HorizontalRectSeries\";var Oi=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ei=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function Si(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function Ci(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var Ti=function(e){function t(){return Si(this,t),Ci(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Ei(t,[{key:\"render\",value:function(){return null}}],[{key:\"renderLayer\",value:function(e,t){var n=e.data,r=e.linePosAttr,i=e.lineSizeAttr,o=e.marginLeft,a=e.marginTop,s=e.valuePosAttr;if(n&&0!==n.length){var c=Je(e,r),u=Qe(e,r),l=Je(e,s),f=Qe(e,s),d=Je(e,\"fill\")||Je(e,\"color\"),h=Je(e,\"stroke\")||Je(e,\"color\"),p=Je(e,\"opacity\");n.forEach((function(e){var n=Object(Te.g)(d(e)),r=Object(Te.g)(h(e)),g=p(e)||1,y=u(e),m=Math.min(f(e),l(e)),b=\"x\"===s?m:y,v=\"y\"===s?m:y,x=Math.abs(c(e)-u(e)),w=Math.abs(-f(e)+l(e)),_=\"height\"===i?x:w,k=\"width\"===i?x:w;t.beginPath(),t.rect(b+o,v+a,k,_),t.fillStyle=\"rgba(\"+n.r+\", \"+n.g+\", \"+n.b+\", \"+g+\")\",t.fill(),t.strokeStyle=\"rgba(\"+r.r+\", \"+r.g+\", \"+r.b+\", \"+g+\")\",t.stroke()}))}}},{key:\"requiresSVG\",get:function(){return!1}},{key:\"isCanvas\",get:function(){return!0}}]),t}(gt);Ti.displayName=\"RectSeriesCanvas\",Ti.defaultProps=Oi({},gt.defaultProps,{linePosAttr:i.a.string.isRequired,valuePosAttr:i.a.string.isRequired,lineSizeAttr:i.a.string.isRequired,valueSizeAttr:i.a.string.isRequired}),Ti.propTypes=Oi({},gt.propTypes);var ji=Ti,Ai=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Mi=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function Pi(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function Ni(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var Di=function(e){function t(){return Pi(this,t),Ni(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Mi(t,[{key:\"render\",value:function(){return null}}],[{key:\"getParentConfig\",value:function(e){return{isDomainAdjustmentNeeded:!1,zeroBaseValue:\"x\"===e}}},{key:\"renderLayer\",value:function(e,t){ji.renderLayer(Ai({},e,{linePosAttr:\"y\",valuePosAttr:\"x\",lineSizeAttr:\"height\",valueSizeAttr:\"width\"}),t)}},{key:\"requiresSVG\",get:function(){return!1}},{key:\"isCanvas\",get:function(){return!0}}]),t}(gt);Di.displayName=\"HorizontalRectSeriesCanvas\",Di.propTypes=Ai({},gt.propTypes);var Ri=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ii=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function Li(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function Bi(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var Fi=function(e,t){return e||(t?\"start\":\"end\")},zi=function(e,t){return e||(t?\"text-before-edge\":\"text-after-edge\")},Ui=function(e){function t(){return Li(this,t),Bi(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Ii(t,[{key:\"render\",value:function(){var e=this,n=this.props,r=n.animation,i=n.allowOffsetToBeReversed,o=n.className,a=n.data,c=n._data,u=n.getLabel,l=n.marginLeft,f=n.marginTop,d=n.rotation,h=n.style,p=n.xRange,g=n.yRange,m=n.labelAnchorX,b=n.labelAnchorY;if(!a)return null;if(r)return s.a.createElement(y,Ri({},this.props,{animatedProps:jt}),s.a.createElement(t,Ri({},this.props,{animation:null,_data:a})));var v=this._getAttributeFunctor(\"x\"),x=this._getAttributeFunctor(\"y\");return s.a.createElement(\"g\",{className:\"rv-xy-plot__series rv-xy-plot__series--label \"+o,transform:\"translate(\"+l+\",\"+f+\")\",style:h},a.reduce((function(t,n,r){var o=n.style,a=n.xOffset,l=n.yOffset;if(!u(n))return t;var f=v(n),h=x(n),y=f<(p[1]-p[0])/2,w=h<Math.abs(g[1]-g[0])/2,_=f+(i&&y?-1:1)*(a||0),k=h+(i&&w?-1:1)*(l||0),O=0===n.rotation||n.rotation?n.rotation:d,E=Ri({dominantBaseline:zi(b,w),className:\"rv-xy-plot__series--label-text\",key:r,onClick:function(t){return e._valueClickHandler(n,t)},onContextMenu:function(t){return e._valueRightClickHandler(n,t)},onMouseOver:function(t){return e._valueMouseOverHandler(n,t)},onMouseOut:function(t){return e._valueMouseOutHandler(n,t)},textAnchor:Fi(m,y),x:_,y:k,transform:\"rotate(\"+O+\",\"+_+\",\"+k+\")\"},o),S=u(c?c[r]:n);return t.concat([s.a.createElement(\"text\",E,S)])}),[]))}}]),t}(gt);Ui.propTypes={animation:i.a.bool,allowOffsetToBeReversed:i.a.bool,className:i.a.string,data:i.a.arrayOf(i.a.shape({x:i.a.oneOfType([i.a.number,i.a.string]),y:i.a.oneOfType([i.a.number,i.a.string]),angle:i.a.number,radius:i.a.number,label:i.a.string,xOffset:i.a.number,yOffset:i.a.number,style:i.a.object})).isRequired,marginLeft:i.a.number,marginTop:i.a.number,rotation:i.a.number,style:i.a.object,xRange:i.a.arrayOf(i.a.number),yRange:i.a.arrayOf(i.a.number),labelAnchorX:i.a.string,labelAnchorY:i.a.string},Ui.defaultProps=Ri({},gt.defaultProps,{animation:!1,rotation:0,getLabel:function(e){return e.label}}),Ui.displayName=\"LabelSeries\";var Hi=Ui,Wi=n(141),Yi=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Vi=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function qi(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function $i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var Gi={dashed:\"6, 2\",solid:null},Xi=function(e){function t(){return qi(this,t),$i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Vi(t,[{key:\"_renderLine\",value:function(e,t,n,r,i){var o=Wi.a();return null!==r&&(\"string\"===typeof r&&Ut[r]?o=o.curve(Ut[r]):\"function\"===typeof r&&(o=o.curve(r))),(o=(o=o.defined(i)).x(t).y(n))(e)}},{key:\"render\",value:function(){var e=this.props,n=e.animation,r=e.className,i=e.data;if(this.props.nullAccessor&&Object(je.b)(\"nullAccessor has been renamed to getNull\",!0),!i)return null;if(n)return s.a.createElement(y,Yi({},this.props,{animatedProps:jt}),s.a.createElement(t,Yi({},this.props,{animation:null})));var o=this.props,a=o.curve,c=o.marginLeft,u=o.marginTop,l=o.strokeDasharray,f=o.strokeStyle,d=o.strokeWidth,h=o.style,p=this._getAttributeFunctor(\"x\"),g=this._getAttributeFunctor(\"y\"),m=this._getAttributeValue(\"stroke\")||this._getAttributeValue(\"color\"),b=this._getAttributeValue(\"opacity\"),v=Number.isFinite(b)?b:1,x=this.props.nullAccessor||this.props.getNull,w=this._renderLine(i,p,g,a,x);return s.a.createElement(\"path\",{d:w,className:\"rv-xy-plot__series rv-xy-plot__series--line \"+r,transform:\"translate(\"+c+\",\"+u+\")\",onMouseOver:this._seriesMouseOverHandler,onMouseOut:this._seriesMouseOutHandler,onClick:this._seriesClickHandler,onContextMenu:this._seriesRightClickHandler,style:Yi({opacity:v,strokeDasharray:Gi[f]||l,strokeWidth:d,stroke:m},h)})}}]),t}(gt);Xi.displayName=\"LineSeries\",Xi.propTypes=Yi({},gt.propTypes,{strokeStyle:i.a.oneOf(Object.keys(Gi)),curve:i.a.oneOfType([i.a.string,i.a.func]),getNull:i.a.func}),Xi.defaultProps=Yi({},gt.defaultProps,{strokeStyle:\"solid\",style:{},opacity:1,curve:null,className:\"\",getNull:function(){return!0}});var Ki=Xi,Zi=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ji=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function Qi(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function eo(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var to=function(e){function t(){return Qi(this,t),eo(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Ji(t,[{key:\"_renderCircle\",value:function(e,t,n,r,i){var o=this,a=i.fill,c=i.opacity,u=i.size,l=i.stroke,f=i.x,d=i.y,h={r:u?u(e):5,cx:f(e),cy:d(e),style:Zi({opacity:c?c(e):1,stroke:l&&l(e),fill:a&&a(e),strokeWidth:n||1},r),key:t,onClick:function(t){return o._valueClickHandler(e,t)},onContextMenu:function(t){return o._valueRightClickHandler(e,t)},onMouseOver:function(t){return o._valueMouseOverHandler(e,t)},onMouseOut:function(t){return o._valueMouseOutHandler(e,t)}};return s.a.createElement(\"circle\",h)}},{key:\"render\",value:function(){var e=this,n=this.props,r=n.animation,i=n.className,o=n.data,a=n.marginLeft,c=n.marginTop,u=n.strokeWidth,l=n.style;this.props.nullAccessor&&Object(je.b)(\"nullAccessor has been renamed to getNull\",!0);var f=this.props.nullAccessor||this.props.getNull;if(!o)return null;if(r)return s.a.createElement(y,Zi({},this.props,{animatedProps:jt}),s.a.createElement(t,Zi({},this.props,{animation:null})));var d={fill:this._getAttributeFunctor(\"fill\")||this._getAttributeFunctor(\"color\"),opacity:this._getAttributeFunctor(\"opacity\"),size:this._getAttributeFunctor(\"size\"),stroke:this._getAttributeFunctor(\"stroke\")||this._getAttributeFunctor(\"color\"),x:this._getAttributeFunctor(\"x\"),y:this._getAttributeFunctor(\"y\")};return s.a.createElement(\"g\",{className:\"rv-xy-plot__series rv-xy-plot__series--mark \"+i,transform:\"translate(\"+a+\",\"+c+\")\"},o.map((function(t,n){return f(t)&&e._renderCircle(t,n,u,l,d)})))}}]),t}(gt);to.displayName=\"MarkSeries\",to.propTypes=Zi({},gt.propTypes,{getNull:i.a.func,strokeWidth:i.a.number}),to.defaultProps={getNull:function(){return!0}};var no=to,ro=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),io=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function oo(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function ao(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var so=io({},Ki.propTypes,{lineStyle:i.a.object,markStyle:i.a.object}),co=function(e){function t(){return oo(this,t),ao(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),ro(t,[{key:\"render\",value:function(){var e=this.props,t=e.lineStyle,n=e.markStyle,r=e.style;return s.a.createElement(\"g\",{className:\"rv-xy-plot__series rv-xy-plot__series--linemark\"},s.a.createElement(Ki,io({},this.props,{style:io({},r,t)})),s.a.createElement(no,io({},this.props,{style:io({},r,n)})))}}],[{key:\"defaultProps\",get:function(){return io({},Ki.defaultProps,{lineStyle:{},markStyle:{}})}}]),t}(gt);co.displayName=\"LineMarkSeries\",co.propTypes=so;var uo=co,lo=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},fo=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function ho(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function po(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var go=function(e){function t(){return ho(this,t),po(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),fo(t,[{key:\"render\",value:function(){return null}}],[{key:\"renderLayer\",value:function(e,t){var n=e.data,r=e.marginLeft,i=e.marginTop,o=Je(e,\"x\"),a=Je(e,\"y\"),s=Je(e,\"size\")||function(e){return 5},c=Je(e,\"fill\")||Je(e,\"color\"),u=Je(e,\"stroke\")||Je(e,\"color\"),l=Je(e,\"opacity\");n.forEach((function(e){var n=Object(Te.g)(c(e)),f=Object(Te.g)(u(e)),d=l(e)||1;t.beginPath(),t.arc(o(e)+r,a(e)+i,s(e),0,2*Math.PI),t.fillStyle=\"rgba(\"+n.r+\", \"+n.g+\", \"+n.b+\", \"+d+\")\",t.fill(),t.strokeStyle=\"rgba(\"+f.r+\", \"+f.g+\", \"+f.b+\", \"+d+\")\",t.stroke()}))}},{key:\"requiresSVG\",get:function(){return!1}},{key:\"isCanvas\",get:function(){return!0}}]),t}(gt);go.displayName=\"MarkSeriesCanvas\",go.propTypes=lo({},gt.propTypes);var yo=go,mo=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},bo=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function vo(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function xo(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var wo=function(e){function t(){return vo(this,t),xo(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),bo(t,[{key:\"render\",value:function(){return s.a.createElement(\"div\",null)}}],[{key:\"renderLayer\",value:function(e,t){var n=e.curve,r=e.data,i=e.marginLeft,o=e.marginTop,a=e.strokeWidth,s=e.strokeDasharray;if(r&&0!==r.length){var c=Je(e,\"x\"),u=Je(e,\"y\"),l=et(e,\"stroke\")||et(e,\"color\"),f=Object(Te.g)(l),d=et(e,\"opacity\"),h=Number.isFinite(d)?d:1,p=Wi.a().x((function(e){return c(e)+i})).y((function(e){return u(e)+o}));\"string\"===typeof n&&Ut[n]?p=p.curve(Ut[n]):\"function\"===typeof n&&(p=p.curve(n)),t.beginPath(),t.strokeStyle=\"rgba(\"+f.r+\", \"+f.g+\", \"+f.b+\", \"+h+\")\",t.lineWidth=a,s&&t.setLineDash(s),p.context(t)(r),t.stroke(),t.closePath(),t.lineWidth=1,t.setLineDash([])}}},{key:\"requiresSVG\",get:function(){return!1}},{key:\"isCanvas\",get:function(){return!0}}]),t}(gt);wo.displayName=\"LineSeriesCanvas\",wo.defaultProps=mo({},gt.defaultProps,{strokeWidth:2}),wo.propTypes=mo({},gt.propTypes,{strokeWidth:i.a.number});var _o=wo,ko=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Oo=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function Eo(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function So(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var Co=function(e){function t(){return Eo(this,t),So(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Oo(t,[{key:\"render\",value:function(){return null}}],[{key:\"renderLayer\",value:function(e,t){_o.renderLayer(e,t),yo.renderLayer(e,t)}},{key:\"requiresSVG\",get:function(){return!1}},{key:\"isCanvas\",get:function(){return!0}}]),t}(gt);Co.displayName=\"LineMarkSeriesCanvas\",Co.propTypes=ko({},gt.propTypes);var To=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},jo=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function Ao(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function Mo(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var Po=function(e,t,n){return e.reduce((function(e,r,i){return e+\" \"+(i?\"L\":\"M\")+t(r)+\" \"+n(r)}),\"\")+\" Z\"},No=function(e){function t(){return Ao(this,t),Mo(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),jo(t,[{key:\"render\",value:function(){var e=this,n=this.props,r=n.animation,i=n.color,o=n.className,a=n.data,c=n.marginLeft,u=n.marginTop,l=n.style;if(!a)return null;if(r)return s.a.createElement(y,To({},this.props,{animatedProps:jt}),s.a.createElement(t,To({},this.props,{animation:null})));var f=this._getAttributeFunctor(\"x\"),d=this._getAttributeFunctor(\"y\");return s.a.createElement(\"path\",{className:\"rv-xy-plot__series rv-xy-plot__series--polygon \"+o,onMouseOver:function(t){return e._seriesMouseOverHandler(a,t)},onMouseOut:function(t){return e._seriesMouseOutHandler(a,t)},onClick:this._seriesClickHandler,onContextMenu:this._seriesRightClickHandler,fill:i||\"#12939A\",style:l,d:Po(a,f,d),transform:\"translate(\"+c+\",\"+u+\")\"})}}],[{key:\"propTypes\",get:function(){return To({},gt.propTypes)}}]),t}(gt);No.displayName=\"PolygonSeries\";var Do=No,Ro=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Io=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function Lo(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function Bo(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var Fo=function(e){function t(){return Lo(this,t),Bo(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Io(t,[{key:\"render\",value:function(){return s.a.createElement(Yr,Ro({},this.props,{linePosAttr:\"x\",valuePosAttr:\"y\",lineSizeAttr:\"width\",valueSizeAttr:\"height\"}))}}],[{key:\"getParentConfig\",value:function(e){return{isDomainAdjustmentNeeded:\"x\"===e,zeroBaseValue:\"y\"===e}}}]),t}(gt);Fo.displayName=\"VerticalBarSeries\";var zo=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Uo=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function Ho(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function Wo(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var Yo=function(e){function t(){return Ho(this,t),Wo(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Uo(t,[{key:\"render\",value:function(){return null}}],[{key:\"getParentConfig\",value:function(e){return{isDomainAdjustmentNeeded:\"x\"===e,zeroBaseValue:\"y\"===e}}},{key:\"renderLayer\",value:function(e,t){ti.renderLayer(zo({},e,{linePosAttr:\"x\",valuePosAttr:\"y\",lineSizeAttr:\"width\",valueSizeAttr:\"height\"}),t)}},{key:\"requiresSVG\",get:function(){return!1}},{key:\"isCanvas\",get:function(){return!0}}]),t}(gt);Yo.displayName=\"HorizontalBarSeriesCanvas\",Yo.propTypes=zo({},gt.propTypes);var Vo=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},qo=sn.VERTICAL,$o=Vo({},sr.propTypes,{direction:i.a.oneOf([qo])}),Go={direction:qo,attr:\"x\"};function Xo(e){return s.a.createElement(sr,e)}Xo.displayName=\"VerticalGridLines\",Xo.propTypes=$o,Xo.defaultProps=Go,Xo.requiresSVG=!0;var Ko=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Zo=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function Jo(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function Qo(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var ea=function(e){function t(){return Jo(this,t),Qo(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Zo(t,[{key:\"render\",value:function(){return s.a.createElement(bi,Ko({},this.props,{linePosAttr:\"x\",valuePosAttr:\"y\",lineSizeAttr:\"width\",valueSizeAttr:\"height\"}))}}],[{key:\"getParentConfig\",value:function(e){return{isDomainAdjustmentNeeded:!1,zeroBaseValue:\"y\"===e}}}]),t}(gt);ea.displayName=\"VerticalRectSeries\";var ta=ea,na=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ra=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function ia(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function oa(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var aa=function(e){function t(){return ia(this,t),oa(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),ra(t,[{key:\"render\",value:function(){return null}}],[{key:\"getParentConfig\",value:function(e){return{isDomainAdjustmentNeeded:!1,zeroBaseValue:\"y\"===e}}},{key:\"renderLayer\",value:function(e,t){ji.renderLayer(na({},e,{linePosAttr:\"x\",valuePosAttr:\"y\",lineSizeAttr:\"width\",valueSizeAttr:\"height\"}),t)}},{key:\"requiresSVG\",get:function(){return!1}},{key:\"isCanvas\",get:function(){return!0}}]),t}(gt);aa.displayName=\"HorizontalRectSeriesCanvas\",aa.propTypes=na({},gt.propTypes);var sa=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ca=function(e){return e};function ua(e){var t=e.className,n=e.extent,r=e.nodes,i=e.onBlur,a=e.onClick,c=e.onMouseUp,u=e.onMouseDown,l=e.onHover,f=e.polygonStyle,d=e.style,h=e.x,p=e.y,g=Object(o.a)().x(h||Je(e,\"x\")).y(p||Je(e,\"y\")).extent(n||function(e){var t=e.innerWidth,n=e.innerHeight,r=e.marginLeft,i=e.marginTop;return[[r,i],[t+r,n+i]]}(e)).polygons(r),y=function(e){return function(t){t.preventDefault();var n=function(e){var t=e.nativeEvent,n=t.pageX,r=t.pageY,i=document.elementFromPoint(n,r);if(!i)return-1;var o=i.parentNode;return Array.prototype.indexOf.call(o.childNodes,i)}(t);if(n>-1&&n<g.length){var r=g[n];e(r.data)}}};return s.a.createElement(\"g\",{className:t+\" rv-voronoi\",style:d,onTouchEnd:y(c),onTouchStart:y(u),onTouchMove:y(l),onTouchCancel:y(i)},g.map((function(e,t){return s.a.createElement(\"path\",{className:\"rv-voronoi__cell \"+(e.data&&e.data.className||\"\"),d:\"M\"+e.join(\"L\")+\"Z\",onClick:function(){return a(e.data)},onMouseUp:function(){return c(e.data)},onMouseDown:function(){return u(e.data)},onMouseOver:function(){return l(e.data)},onMouseOut:function(){return i(e.data)},fill:\"none\",style:sa({pointerEvents:\"all\"},f,e.data&&e.data.style),key:t})})))}ua.requiresSVG=!0,ua.displayName=\"Voronoi\",ua.defaultProps={className:\"\",onBlur:ca,onClick:ca,onHover:ca,onMouseDown:ca,onMouseUp:ca},ua.propTypes={className:i.a.string,extent:i.a.arrayOf(i.a.arrayOf(i.a.number)),nodes:i.a.arrayOf(i.a.object).isRequired,onBlur:i.a.func,onClick:i.a.func,onHover:i.a.func,onMouseDown:i.a.func,onMouseUp:i.a.func,x:i.a.func,y:i.a.func};var la=ua,fa=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),da=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function ha(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function pa(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var ga=function(e){function t(){return ha(this,t),pa(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),fa(t,[{key:\"render\",value:function(){var e=this.props,n=e.animation,r=e.className,i=e.crossBarWidth,o=e.data,a=e.marginLeft,c=e.marginTop,u=e.strokeWidth,l=e.style;if(!o)return null;if(n)return s.a.createElement(y,da({},this.props,{animatedProps:jt}),s.a.createElement(t,da({},this.props,{animation:null})));var f={crossBarWidth:i,opacityFunctor:this._getAttributeFunctor(\"opacity\"),sizeFunctor:this._getAttributeFunctor(\"size\"),strokeFunctor:this._getAttributeFunctor(\"stroke\")||this._getAttributeFunctor(\"color\"),strokeWidth:u,style:l,xFunctor:this._getAttributeFunctor(\"x\"),yFunctor:this._getAttributeFunctor(\"y\"),valueClickHandler:this._valueClickHandler,valueRightClickHandler:this._valueRightClickHandler,valueMouseOverHandler:this._valueMouseOverHandler,valueMouseOutHandler:this._valueMouseOutHandler};return s.a.createElement(\"g\",{className:\"rv-xy-plot__series rv-xy-plot__series--whisker \"+r,transform:\"translate(\"+a+\",\"+c+\")\"},o.map(function(e){return function(t,n){var r=e.crossBarWidth,i=e.opacityFunctor,o=e.sizeFunctor,a=e.strokeFunctor,c=e.strokeWidth,u=e.style,l=e.valueClickHandler,f=e.valueMouseOutHandler,d=e.valueMouseOverHandler,h=e.valueRightClickHandler,p=e.xFunctor,g=e.yFunctor,y=o?o(t):0,m=p(t),b=g(t),v=p({x:t.x+t.xVariance/2}),x=p({x:t.x-t.xVariance/2}),w=g({y:t.y+t.yVariance/2}),_=g({y:t.y-t.yVariance/2}),k=v&&m+y<v,O=w&&b-y>w;if(!k&&!O)return null;var E=da({opacity:i?i(t):1,stroke:a&&a(t),strokeWidth:c||1},u),S=r/2,C={x1:m+y,y1:b,x2:v,y2:b,style:E},T={x1:m-y,y1:b,x2:x,y2:b,style:E},j={x1:v,y1:b-S,x2:v,y2:b+S,style:E},A={x1:x,y1:b-S,x2:x,y2:b+S,style:E},M={x1:m,y1:b-y,x2:m,y2:w,style:E},P={x1:m,y1:b+y,x2:m,y2:_,style:E},N={x1:m-S,y1:w,x2:m+S,y2:w,style:E},D={x1:m-S,y1:_,x2:m+S,y2:_,style:E};return s.a.createElement(\"g\",{className:\"mark-whiskers\",key:n,onClick:function(e){return l(t,e)},onContextMenu:function(e){return h(t,e)},onMouseOver:function(e){return d(t,e)},onMouseOut:function(e){return f(t,e)}},k?s.a.createElement(\"g\",{className:\"x-whiskers\"},s.a.createElement(\"line\",C),s.a.createElement(\"line\",T),s.a.createElement(\"line\",j),s.a.createElement(\"line\",A)):null,O?s.a.createElement(\"g\",{className:\"y-whiskers\"},s.a.createElement(\"line\",M),s.a.createElement(\"line\",P),s.a.createElement(\"line\",N),s.a.createElement(\"line\",D)):null)}}(f)))}}]),t}(gt);ga.displayName=\"WhiskerSeries\",ga.propTypes=da({},gt.propTypes,{strokeWidth:i.a.number}),ga.defaultProps=da({},gt.defaultProps,{crossBarWidth:6,size:0,strokeWidth:1});var ya=n(388),ma=n.n(ya),ba=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function va(e,t){var n=e.margin,r=e.width,i=e.height,o=ba({},t,\"number\"===typeof n?{left:n,right:n,top:n,bottom:n}:n),a=o.left,s=void 0===a?0:a,c=o.top,u=void 0===c?0:c,l=o.right,f=void 0===l?0:l,d=o.bottom,h=void 0===d?0:d;return{marginLeft:s,marginTop:u,marginRight:f,marginBottom:h,innerHeight:i-h-u,innerWidth:r-s-f}}function xa(e,t,n){var r=e/2-n,i=t/2-n;return{bottom:i,left:r,right:r,top:i}}var wa=i.a.oneOfType([i.a.shape({left:i.a.number,top:i.a.number,right:i.a.number,bottom:i.a.number}),i.a.number]),_a={left:40,right:10,top:10,bottom:40},ka=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),Oa=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function Ea(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function Sa(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}function Ca(e,t,n,r,i){e.clearRect(0,0,n,t),r.forEach((function(t){var n=t.interpolator,r=t.newProps,o=t.animation?n?n(i/30):n:function(){return{}};t.renderLayer(Oa({},r,o),e)}))}var Ta=function(e){function t(){return Ea(this,t),Sa(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),ka(t,[{key:\"componentDidMount\",value:function(){var e=this.canvas.getContext(\"2d\");if(e){var t=this.props.pixelRatio;e&&(e.scale(t,t),this.drawChildren(null,this.props,e))}}},{key:\"componentDidUpdate\",value:function(e){this.drawChildren(e,this.props,this.canvas.getContext(\"2d\"))}},{key:\"drawChildren\",value:function(e,t,n){var r=t.children,i=t.innerHeight,o=t.innerWidth,a=t.marginBottom,s=t.marginLeft,u=t.marginRight,l=t.marginTop;if(n){var f,d,h=r.find((function(e){return e.props.animation})),g=i+l+a,y=o+s+u,m=(f=t.children,d=e?e.children:[],f.map((function(e,t){var n=d[t]?d[t].props:{},r=e.props,i=p(Oa({},n,{animatedProps:jt})),o=r?p(Oa({},r,{animatedProps:jt})):null,a=Object(c.a)(i,o);return{renderLayer:e.type.renderLayer,newProps:e.props,animation:e.props.animation,interpolator:a}})));h?function(e,t,n,r){var i=0,o=setInterval((function(){e?(Ca(e,t,n,r,i),i>30&&clearInterval(o),i+=1):clearInterval(o)}),1)}(n,g,y,m):Ca(n,g,y,m)}}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.innerHeight,r=t.innerWidth,i=t.marginBottom,o=t.marginLeft,a=t.marginRight,c=t.marginTop,u=t.pixelRatio,l=n+c+i,f=r+o+a;return s.a.createElement(\"div\",{style:{left:0,top:0},className:\"rv-xy-canvas\"},s.a.createElement(\"canvas\",{className:\"rv-xy-canvas-element\",height:l*u,width:f*u,style:{height:l+\"px\",width:f+\"px\"},ref:function(t){return e.canvas=t}}),this.props.children)}}],[{key:\"defaultProps\",get:function(){return{pixelRatio:window&&window.devicePixelRatio||1}}}]),t}(a.Component);Ta.displayName=\"CanvasWrapper\",Ta.propTypes={marginBottom:i.a.number.isRequired,marginLeft:i.a.number.isRequired,marginRight:i.a.number.isRequired,marginTop:i.a.number.isRequired,innerHeight:i.a.number.isRequired,innerWidth:i.a.number.isRequired,pixelRatio:i.a.number.isRequired};var ja=Ta,Aa=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),Ma=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};var Pa=[\"x\",\"y\",\"radius\",\"angle\",\"color\",\"fill\",\"stroke\",\"opacity\",\"size\"];function Na(e){return e.map((function(e){return Array.isArray(e)?e.map((function(e){return Ma({},e,{parent:null})})):e}))}var Da=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));Ra.call(n);var r=e.stackBy,i=St(Et(e.children),r);return n.state={scaleMixins:n._getScaleMixins(i,e),data:i},n}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Aa(t,null,[{key:\"defaultProps\",get:function(){return{className:\"\"}}},{key:\"propTypes\",get:function(){return{animation:m,className:i.a.string,dontCheckIfEmpty:i.a.bool,height:i.a.number.isRequired,margin:wa,onClick:i.a.func,onDoubleClick:i.a.func,onMouseDown:i.a.func,onMouseUp:i.a.func,onMouseEnter:i.a.func,onMouseLeave:i.a.func,onMouseMove:i.a.func,onTouchStart:i.a.func,onTouchMove:i.a.func,onTouchEnd:i.a.func,onTouchCancel:i.a.func,onWheel:i.a.func,stackBy:i.a.oneOf(Pa),style:i.a.object,width:i.a.number.isRequired}}}]),Aa(t,[{key:\"componentWillReceiveProps\",value:function(e){var t=St(Et(e.children),e.stackBy),n=this.state.scaleMixins,r=this._getScaleMixins(t,e);(function(e,t,n){var r=Ma({},e,{_allData:n?Na(e._allData):e._allData}),i=Ma({},t,{_allData:n?Na(t._allData):t._allData});return ma()(r,i)})(r,n,e.hasTreeStructure)||this.setState({scaleMixins:r,data:t})}},{key:\"_getClonedChildComponents\",value:function(){var e=this,t=this.props,n=this.props.animation,r=this.state,i=r.scaleMixins,o=r.data,a=va(this.props,_a),c=s.a.Children.toArray(this.props.children),u=Ct(c),l=at(t,c);return c.map((function(t,r){var c=null;if(u[r]){var f=u[r].seriesIndex;c={data:o[f]}}return s.a.cloneElement(t,Ma({},a,{animation:n},c&&t.type.prototype&&t.type.prototype.render?{ref:function(t){return e[\"series\"+u[r].seriesIndex]=t}}:{},u[r],i,t.props,l[r],c))}))}},{key:\"_getDefaultScaleProps\",value:function(e){var t=va(e,_a),n=t.innerWidth,r=t.innerHeight,i=[\"color\",\"fill\",\"stroke\"].reduce((function(t,n){var r,i,o,a=\"category\"===e[n+\"Type\"]?mt:bt;return Ma({},t,(o=a,(i=n+\"Range\")in(r={})?Object.defineProperty(r,i,{value:o,enumerable:!0,configurable:!0,writable:!0}):r[i]=o,r))}),{});return Ma({xRange:[0,n],yRange:[r,0]},i,{opacityType:xt,sizeRange:vt})}},{key:\"_getScaleMixins\",value:function(e,t){var n,r=e.filter((function(e){return e})),i=(n=[]).concat.apply(n,function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(r)),o=this._getDefaultScaleProps(t),a=ct(t),s=nt(t,Pa),c=rt(Ma({},o,a,s),i,Pa),u=Et(t.children),l={},f=new Set,d=new Set;return u.forEach((function(n,r){n&&e[r]&&Pa.forEach((function(e){var i=n.type.getParentConfig(e,n.props),o=i.isDomainAdjustmentNeeded,a=i.zeroBaseValue;if(o&&(f.add(e),d.add(r)),a){var s=t[e+\"Domain\"];l[e+\"BaseValue\"]=s?s[0]:0}}))})),Ma({},o,l,s,c,{_allData:e,_adjustBy:Array.from(f),_adjustWhat:Array.from(d),_stackBy:t.stackBy})}},{key:\"_isPlotEmpty\",value:function(){var e=this.state.data;return!e||!e.length||!e.some((function(e){return e&&e.some((function(e){return e}))}))}},{key:\"renderCanvasComponents\",value:function(e,t){var n=e.filter((function(e){return e&&!e.type.requiresSVG&&e.type.isCanvas}));if(0===n.length)return null;var r=n[0].props,i=r.marginLeft,o=r.marginTop,a=r.marginBottom,c=r.marginRight,u=r.innerHeight,l=r.innerWidth;return s.a.createElement(ja,{innerHeight:u,innerWidth:l,marginLeft:i,marginTop:o,marginBottom:a,marginRight:c},n)}},{key:\"render\",value:function(){var e=this.props,t=e.className,n=e.dontCheckIfEmpty,r=e.style,i=e.width,o=e.height;if(!n&&this._isPlotEmpty())return s.a.createElement(\"div\",{className:\"rv-xy-plot \"+t,style:Ma({width:i+\"px\",height:o+\"px\"},this.props.style)});var a=this._getClonedChildComponents();return s.a.createElement(\"div\",{style:{width:i+\"px\",height:o+\"px\"},className:\"rv-xy-plot \"+t},s.a.createElement(\"svg\",{className:\"rv-xy-plot__inner\",width:i,height:o,style:r,onClick:this._clickHandler,onDoubleClick:this._doubleClickHandler,onMouseDown:this._mouseDownHandler,onMouseUp:this._mouseUpHandler,onMouseMove:this._mouseMoveHandler,onMouseLeave:this._mouseLeaveHandler,onMouseEnter:this._mouseEnterHandler,onTouchStart:this._mouseDownHandler,onTouchMove:this._touchMoveHandler,onTouchEnd:this._touchEndHandler,onTouchCancel:this._touchCancelHandler,onWheel:this._wheelHandler},a.filter((function(e){return e&&e.type.requiresSVG}))),this.renderCanvasComponents(a,this.props),a.filter((function(e){return e&&!e.type.requiresSVG&&!e.type.isCanvas})))}}]),t}(s.a.Component),Ra=function(){var e=this;this._clickHandler=function(t){var n=e.props.onClick;n&&n(t)},this._doubleClickHandler=function(t){var n=e.props.onDoubleClick;n&&n(t)},this._mouseDownHandler=function(t){var n=e.props,r=n.onMouseDown,i=n.children;r&&r(t),Et(i).forEach((function(n,r){var i=e[\"series\"+r];i&&i.onParentMouseDown&&i.onParentMouseDown(t)}))},this._mouseEnterHandler=function(t){var n=e.props,r=n.onMouseEnter,i=n.children;r&&r(t),Et(i).forEach((function(n,r){var i=e[\"series\"+r];i&&i.onParentMouseEnter&&i.onParentMouseEnter(t)}))},this._mouseLeaveHandler=function(t){var n=e.props,r=n.onMouseLeave,i=n.children;r&&r(t),Et(i).forEach((function(n,r){var i=e[\"series\"+r];i&&i.onParentMouseLeave&&i.onParentMouseLeave(t)}))},this._mouseMoveHandler=function(t){var n=e.props,r=n.onMouseMove,i=n.children;r&&r(t),Et(i).forEach((function(n,r){var i=e[\"series\"+r];i&&i.onParentMouseMove&&i.onParentMouseMove(t)}))},this._mouseUpHandler=function(t){var n=e.props,r=n.onMouseUp,i=n.children;r&&r(t),Et(i).forEach((function(n,r){var i=e[\"series\"+r];i&&i.onParentMouseUp&&i.onParentMouseUp(t)}))},this._touchCancelHandler=function(t){var n=e.props.onTouchCancel;n&&n(t)},this._touchEndHandler=function(t){var n=e.props.onTouchEnd;n&&n(t)},this._touchMoveHandler=function(t){var n=e.props,r=n.onTouchMove,i=n.children;r&&r(t),Et(i).forEach((function(n,r){var i=e[\"series\"+r];i&&i.onParentTouchMove&&i.onParentTouchMove(t)}))},this._touchStartHandler=function(t){var n=e.props,r=n.onTouchStart,i=n.children;r&&r(t),Et(i).forEach((function(n,r){var i=e[\"series\"+r];i&&i.onParentTouchStart&&i.onParentTouchStart(t)}))},this._wheelHandler=function(t){var n=e.props.onWheel;n&&n(t)}};Da.displayName=\"XYPlot\";var Ia=Da,La=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ba=an.LEFT,Fa=an.RIGHT,za=an.TOP,Ua=an.BOTTOM,Ha={height:i.a.number.isRequired,style:i.a.object,orientation:i.a.oneOf([Ba,Fa,za,Ua]).isRequired,width:i.a.number.isRequired};function Wa(e){var t=e.orientation,n=e.width,r=e.height,i=e.style,o=void 0;return o=t===Ba?{x1:n,x2:n,y1:0,y2:r}:t===Fa?{x1:0,x2:0,y1:0,y2:r}:t===za?{x1:0,x2:n,y1:r,y2:r}:{x1:0,x2:n,y1:0,y2:0},s.a.createElement(\"line\",La({},o,{className:\"rv-xy-plot__axis__line\",style:i}))}Wa.defaultProps={style:{}},Wa.displayName=\"AxisLine\",Wa.propTypes=Ha;var Ya=Wa,Va=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},qa=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function $a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ga(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function Xa(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var Ka=an.LEFT,Za=an.RIGHT,Ja=an.TOP,Qa=an.BOTTOM,es={height:i.a.number.isRequired,orientation:i.a.oneOf([Ka,Za,Ja,Qa]).isRequired,style:i.a.object,width:i.a.number.isRequired};var ts=function(e){function t(){return Ga(this,t),Xa(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),qa(t,[{key:\"_areTicksWrapped\",value:function(){var e=this.props.orientation;return e===Ka||e===Ja}},{key:\"_getTickContainerPropsGetterFn\",value:function(){return this._isAxisVertical()?function(e){return{transform:\"translate(0, \"+e+\")\"}}:function(e){return{transform:\"translate(\"+e+\", 0)\"}}}},{key:\"_getTickLabelProps\",value:function(){var e=this.props,t=e.orientation,n=e.tickLabelAngle,r=e.tickSize,i=e.tickSizeOuter,o=void 0===i?r:i,a=e.tickPadding,s=void 0===a?r:a,c=void 0;c=t===Ka||t===Qa&&n?\"end\":t===Za||t===Ja&&n?\"start\":\"middle\";var u=this._isAxisVertical(),l=(this._areTicksWrapped()?-1:1)*(o+s);return{textAnchor:c,dy:t===Ja||n?\"0\":t===Qa?\"0.72em\":\"0.32em\",transform:(u?\"translate(\"+l+\", 0)\":\"translate(0, \"+l+\")\")+(n?\" rotate(\"+n+\")\":\"\")}}},{key:\"_getTickLineProps\",value:function(){var e,t=this.props,n=t.tickSize,r=t.tickSizeOuter,i=void 0===r?n:r,o=t.tickSizeInner,a=void 0===o?n:o,s=this._isAxisVertical(),c=s?\"y\":\"x\",u=s?\"x\":\"y\",l=this._areTicksWrapped()?-1:1;return $a(e={},c+\"1\",0),$a(e,c+\"2\",0),$a(e,u+\"1\",-l*a),$a(e,u+\"2\",l*i),e}},{key:\"_isAxisVertical\",value:function(){var e=this.props.orientation;return e===Ka||e===Za}},{key:\"render\",value:function(){var e=this.props,t=e.attr,n=e.orientation,r=e.width,i=e.height,o=e.style,a=e.tickFormat,c=e.tickTotal,u=e.tickValues,l=n===Ka?r:0,f=n===Ja?i:0,d=Xe(this.props,t),h=un(d,c,u),p=function(e,t,n){return n||(e.tickFormat?e.tickFormat(t):function(e){return e})}(d,c,a),g=this._getTickContainerPropsGetterFn(),y=this._getTickLineProps(),m=this._getTickLabelProps(),b=h.map((function(e,t){var n=d(e),i=p(e,t,d,c),a=s.a.isValidElement(i)&&![\"tspan\",\"textPath\"].includes(i.type),u=i&&\"string\"!==typeof i.type;return s.a.createElement(\"g\",Va({key:t},g(n,0),{className:\"rv-xy-plot__axis__tick\",style:o}),s.a.createElement(\"line\",Va({},y,{className:\"rv-xy-plot__axis__tick__line\",style:Va({},o,o.line)})),a?s.a.cloneElement(i,u?Va({},m,{containerWidth:r,tickCount:h.length}):void 0):s.a.createElement(\"text\",Va({},m,{className:\"rv-xy-plot__axis__tick__text\",style:Va({},o,o.text)}),i))}));return s.a.createElement(\"g\",{transform:\"translate(\"+l+\", \"+f+\")\",className:\"rv-xy-plot__axis__ticks\"},b)}}]),t}(s.a.Component);ts.defaultProps={style:{}},ts.displayName=\"AxisTicks\",ts.propTypes=es,ts.requiresSVG=!0;var ns=ts,rs=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function is(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var os=16,as=an.LEFT,ss=an.RIGHT,cs=an.TOP,us=an.BOTTOM,ls={width:i.a.number.isRequired,height:i.a.number.isRequired,orientation:i.a.oneOf([as,ss,cs,us]).isRequired,style:i.a.object,title:i.a.string.isRequired};function fs(e){var t=e.orientation,n=e.position,r=e.width,i=e.height,o=e.style,a=e.title,c=\"translate(\"+(t===as?r:0)+\", \"+(t===cs?i:0)+\")\",u=function(e,t){var n;return is(n={},as,{end:{x:os,y:6,rotation:-90,textAnchor:\"end\"},middle:{x:os,y:t/2-6,rotation:-90,textAnchor:\"middle\"},start:{x:os,y:t-6,rotation:-90,textAnchor:\"start\"}}),is(n,ss,{end:{x:-8,y:6,rotation:-90,textAnchor:\"end\"},middle:{x:-8,y:t/2-6,rotation:-90,textAnchor:\"middle\"},start:{x:-8,y:t-6,rotation:-90,textAnchor:\"start\"}}),is(n,cs,{start:{x:6,y:os,rotation:0,textAnchor:\"start\"},middle:{x:e/2-6,y:os,rotation:0,textAnchor:\"middle\"},end:{x:e-6,y:os,rotation:0,textAnchor:\"end\"}}),is(n,us,{start:{x:6,y:-6,rotation:0,textAnchor:\"start\"},middle:{x:e/2-6,y:-6,rotation:0,textAnchor:\"middle\"},end:{x:e-6,y:-6,rotation:0,textAnchor:\"end\"}}),n}(r,i)[t][n],l=u.x,f=u.y,d=u.rotation,h=u.textAnchor,p=\"translate(\"+l+\", \"+f+\") rotate(\"+d+\")\";return s.a.createElement(\"g\",{transform:c,className:\"rv-xy-plot__axis__title\"},s.a.createElement(\"g\",{style:rs({textAnchor:h},o),transform:p},s.a.createElement(\"text\",{style:o},a)))}fs.displayName=\"AxisTitle\",fs.propTypes=ls,fs.defaultProps={position:\"end\"};var ds=fs,hs=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ps=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function gs(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function ys(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var ms=[\"xRange\",\"yRange\",\"xDomain\",\"yDomain\",\"width\",\"height\",\"marginLeft\",\"marginTop\",\"marginRight\",\"marginBottom\",\"tickSize\",\"tickTotal\",\"tickSizeInner\",\"tickSizeOuter\"],bs=an.LEFT,vs=an.RIGHT,xs=an.TOP,ws=an.BOTTOM,_s={orientation:i.a.oneOf([bs,vs,xs,ws]),attr:i.a.string.isRequired,attrAxis:i.a.string,width:i.a.number,height:i.a.number,top:i.a.number,left:i.a.number,title:i.a.string,style:i.a.object,className:i.a.string,hideTicks:i.a.bool,hideLine:i.a.bool,on0:i.a.bool,tickLabelAngle:i.a.number,tickSize:i.a.number,tickSizeInner:i.a.number,tickSizeOuter:i.a.number,tickPadding:i.a.number,tickValues:i.a.arrayOf(i.a.oneOfType([i.a.number,i.a.string])),tickFormat:i.a.func,tickTotal:i.a.number,marginTop:i.a.number,marginBottom:i.a.number,marginLeft:i.a.number,marginRight:i.a.number,innerWidth:i.a.number,innerHeight:i.a.number},ks={className:\"\",on0:!1,style:{},tickSize:6,tickPadding:8,orientation:ws},Os=function(e){function t(){return gs(this,t),ys(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),ps(t,[{key:\"_getDefaultAxisProps\",value:function(){var e=this.props,t=e.innerWidth,n=e.innerHeight,r=e.marginTop,i=e.marginBottom,o=e.marginLeft,a=e.marginRight,s=e.orientation;return s===ws?{tickTotal:cn(t),top:n+r,left:o,width:t,height:i}:s===xs?{tickTotal:cn(t),top:0,left:o,width:t,height:r}:s===bs?{tickTotal:cn(n),top:r,left:0,width:o,height:n}:{tickTotal:cn(n),top:r,left:o+t,width:a,height:n}}},{key:\"render\",value:function(){var e=this.props.animation;if(e){var n=e.nonAnimatedProps?ms.filter((function(t){return e.nonAnimatedProps.indexOf(t)<0})):ms;return s.a.createElement(y,hs({},this.props,{animatedProps:n}),s.a.createElement(t,hs({},this.props,{animation:null})))}var r=hs({},this._getDefaultAxisProps(),this.props),i=r.attrAxis,o=r.className,a=r.height,c=r.hideLine,u=r.hideTicks,l=r.left,f=r.marginTop,d=r.on0,h=r.orientation,p=r.position,g=r.style,m=r.title,b=r.top,v=r.width,x=[bs,vs].indexOf(h)>-1,w=x?\"rv-xy-plot__axis--vertical\":\"rv-xy-plot__axis--horizontal\",_=l,k=b;if(d){var O=Xe(r,i);x?_=O(0):k=f+O(0)}return s.a.createElement(\"g\",{transform:\"translate(\"+_+\",\"+k+\")\",className:\"rv-xy-plot__axis \"+w+\" \"+o,style:g},!c&&s.a.createElement(Ya,{height:a,width:v,orientation:h,style:hs({},g,g.line)}),!u&&s.a.createElement(ns,hs({},r,{style:hs({},g,g.ticks)})),m?s.a.createElement(ds,{position:p,title:m,height:a,width:v,style:hs({},g,g.title),orientation:h}):null)}}]),t}(a.PureComponent);Os.displayName=\"Axis\",Os.propTypes=_s,Os.defaultProps=ks,Os.requiresSVG=!0;var Es=Os,Ss=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Cs=an.TOP,Ts=an.BOTTOM,js=Ss({},Es.propTypes,{orientation:i.a.oneOf([Cs,Ts])}),As={orientation:Ts,attr:\"x\",attrAxis:\"y\"};function Ms(e){return s.a.createElement(Es,e)}Ms.displayName=\"XAxis\",Ms.propTypes=js,Ms.defaultProps=As,Ms.requiresSVG=!0;var Ps=Ms,Ns=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ds=an.LEFT,Rs=an.RIGHT,Is=Ns({},Es.propTypes,{orientation:i.a.oneOf([Ds,Rs])}),Ls={orientation:Ds,attr:\"y\",attrAxis:\"x\"};function Bs(e){return s.a.createElement(Es,e)}Bs.displayName=\"YAxis\",Bs.propTypes=Is,Bs.defaultProps=Ls,Bs.requiresSVG=!0;var Fs=Bs,zs={className:i.a.string,height:i.a.number,endColor:i.a.string,endTitle:i.a.oneOfType([i.a.number,i.a.string]).isRequired,midColor:i.a.string,midTitle:i.a.oneOfType([i.a.number,i.a.string]),startColor:i.a.string,startTitle:i.a.oneOfType([i.a.number,i.a.string]).isRequired,width:i.a.number},Us={className:\"\",startColor:bt[0],endColor:bt[1]};function Hs(e){var t=e.startColor,n=e.midColor,r=e.endColor,i=e.startTitle,o=e.midTitle,a=e.endTitle,c=e.height,u=e.width,l=e.className,f=[t];return n&&f.push(n),f.push(r),s.a.createElement(\"div\",{className:\"rv-continuous-color-legend \"+l,style:{width:u,height:c}},s.a.createElement(\"div\",{className:\"rv-gradient\",style:{background:\"linear-gradient(to right, \"+f.join(\",\")+\")\"}}),s.a.createElement(\"div\",{className:\"rv-legend-titles\"},s.a.createElement(\"span\",{className:\"rv-legend-titles__left\"},i),s.a.createElement(\"span\",{className:\"rv-legend-titles__right\"},a),o?s.a.createElement(\"span\",{className:\"rv-legend-titles__center\"},o):null))}Hs.displayName=\"ContinuousColorLegend\",Hs.propTypes=zs,Hs.defaultProps=Us;var Ws={className:i.a.string,circlesTotal:i.a.number,endSize:i.a.number,endTitle:i.a.oneOfType([i.a.number,i.a.string]).isRequired,height:i.a.number,startSize:i.a.number,startTitle:i.a.oneOfType([i.a.number,i.a.string]).isRequired,width:i.a.number};function Ys(e){for(var t=e.startTitle,n=e.endTitle,r=e.startSize,i=e.endSize,o=e.circlesTotal,a=e.height,c=e.width,u=e.className,l=[],f=(i-r)/(o-1),d=0;d<o;d++){var h=f*d+r;l.push(s.a.createElement(\"div\",{key:d,className:\"rv-bubble\",style:{width:h,height:h,borderRadius:h/2}})),l.push(\" \")}return s.a.createElement(\"div\",{className:\"rv-continuous-size-legend \"+u,style:{width:c,height:a}},s.a.createElement(\"div\",{className:\"rv-bubbles\",style:{height:i}},l,s.a.createElement(\"div\",{className:\"rv-spacer\"})),s.a.createElement(\"div\",{className:\"rv-legend-titles\"},s.a.createElement(\"span\",{className:\"rv-legend-titles__left\"},t),s.a.createElement(\"span\",{className:\"rv-legend-titles__right\"},n)))}Ys.displayName=\"ContinuousSizeLegend\",Ys.propTypes=Ws,Ys.defaultProps={circlesTotal:10,className:\"\",endSize:20,startSize:2};var Vs=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},qs={dashed:\"6, 2\",solid:null};function $s(e){var t=e.color,n=e.strokeDasharray,r=e.strokeStyle,i=e.strokeWidth,o=e.disabled,a=e.onClick,c=e.orientation,u=e.onMouseEnter,l=e.onMouseLeave,f=e.title,d=\"rv-discrete-color-legend-item \"+c;o&&(d+=\" disabled\"),a&&(d+=\" clickable\");var h=qs[r]||n;return s.a.createElement(\"div\",{className:d,onClick:a,onMouseEnter:u,onMouseLeave:l},s.a.createElement(\"svg\",{className:\"rv-discrete-color-legend-item__color\",height:2,width:14},s.a.createElement(\"path\",{className:\"rv-discrete-color-legend-item__color__path\",d:\"M 0, 1 L 14, 1\",style:Vs({},i?{strokeWidth:i}:{},h?{strokeDasharray:h}:{},{stroke:o?null:t})})),s.a.createElement(\"span\",{className:\"rv-discrete-color-legend-item__title\"},f))}$s.propTypes={color:i.a.string.isRequired,disabled:i.a.bool,title:i.a.oneOfType([i.a.string,i.a.element]).isRequired,onClick:i.a.func,onMouseEnter:i.a.func,onMouseLeave:i.a.func,orientation:i.a.oneOf([\"vertical\",\"horizontal\"]).isRequired,strokeDasharray:i.a.string,strokeWidth:i.a.number,strokeStyle:i.a.oneOf(Object.keys(qs))},$s.defaultProps={disabled:!1,strokeStyle:\"solid\"},$s.displayName=\"DiscreteColorLegendItem\";var Gs=$s,Xs=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function Ks(e){var t=e.className,n=e.colors,r=e.height,i=e.items,o=e.onItemClick,a=e.onItemMouseEnter,c=e.onItemMouseLeave,u=e.orientation,l=e.style,f=e.width;return s.a.createElement(\"div\",{className:\"rv-discrete-color-legend \"+u+\" \"+t,style:Xs({width:f,height:r},l)},i.map((function(e,t){return s.a.createElement(Gs,{title:e.title?e.title:e,color:e.color?e.color:n[t%n.length],strokeDasharray:e.strokeDasharray,strokeStyle:e.strokeStyle,strokeWidth:e.strokeWidth,disabled:Boolean(e.disabled),orientation:u,key:t,onClick:o?function(n){return o(e,t,n)}:null,onMouseEnter:a?function(n){return a(e,t,n)}:null,onMouseLeave:a?function(n){return c(e,t,n)}:null})})))}Ks.displayName=\"DiscreteColorLegendItem\",Ks.propTypes={className:i.a.string,items:i.a.arrayOf(i.a.oneOfType([i.a.shape({title:i.a.oneOfType([i.a.string,i.a.element]).isRequired,color:i.a.string,disabled:i.a.bool}),i.a.string.isRequired,i.a.element])).isRequired,onItemClick:i.a.func,onItemMouseEnter:i.a.func,onItemMouseLeave:i.a.func,height:i.a.number,width:i.a.number,orientation:i.a.oneOf([\"vertical\",\"horizontal\"])},Ks.defaultProps={className:\"\",colors:yt,orientation:\"vertical\"};var Zs=Ks,Js=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Qs=Js({},Zs.propTypes,{searchText:i.a.string,onSearchChange:i.a.func,searchPlaceholder:i.a.string,searchFn:i.a.func}),ec={className:\"\",searchText:\"\",searchFn:function(e,t){return e.filter((function(e){return-1!==String(e.title||e).toLowerCase().indexOf(t)}))}};function tc(e){var t=e.className,n=e.colors,r=e.height,i=e.items,o=e.onItemClick,a=e.onSearchChange,c=e.orientation,u=e.searchFn,l=e.searchPlaceholder,f=e.searchText,d=e.width,h=a?function(e){var t=e.target.value;return a(t)}:null,p=u(i,f);return s.a.createElement(\"div\",{className:\"rv-search-wrapper \"+t,style:{width:d,height:r}},s.a.createElement(\"form\",{className:\"rv-search-wrapper__form\"},s.a.createElement(\"input\",{type:\"search\",placeholder:l,className:\"rv-search-wrapper__form__input\",value:f,onChange:h})),s.a.createElement(\"div\",{className:\"rv-search-wrapper__contents\"},s.a.createElement(Zs,{colors:n,items:p,onItemClick:o,orientation:c})))}tc.propTypes=Qs,tc.defaultProps=ec,tc.displayName=\"SearchableDiscreteColorLegend\";var nc=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),rc=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function ic(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function oc(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var ac=\"rv-parallel-coordinates-chart\",sc=Object(F.b)(\".2r\");function cc(e){var t=e.domains,n=e.style;return t.map((function(e,t){return{x:e.name,y:1.1,label:e.name,style:n}}))}var uc=function(e){function t(){var e,n,r;ic(this,t);for(var i=arguments.length,o=Array(i),a=0;a<i;a++)o[a]=arguments[a];return n=r=oc(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),r.state={brushFilters:{}},oc(r,n)}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),nc(t,[{key:\"render\",value:function(){var e=this,t=this.state.brushFilters,n=this.props,r=n.animation,i=n.brushing,o=n.className,a=n.children,c=n.colorRange,u=n.data,l=n.domains,f=n.height,d=n.hideInnerMostValues,h=n.margin,p=n.onMouseLeave,g=n.onMouseEnter,y=n.showMarks,m=n.style,b=n.tickFormat,v=n.width,x=function(e){var t=e.animation,n=e.domains,r=e.style,i=e.tickFormat;return n.map((function(e,n){var o=e.domain;return s.a.createElement(Gn,{animation:t,key:n+\"-axis\",axisStart:{x:e.name,y:0},axisEnd:{x:e.name,y:1},axisDomain:o,numberOfTicks:5,tickValue:function(t){return e.tickFormat?e.tickFormat(t):i(t)},style:r.axes})}))}({domains:l,animation:r,hideInnerMostValues:d,style:m,tickFormat:b}),w=function(e){var t=e.animation,n=e.brushFilters,r=e.colorRange,i=e.domains,o=e.data,a=e.style,c=e.showMarks,u=i.reduce((function(e,t){var n=t.domain;return e[t.name]=W().domain(n).range([0,1]),e}),{});return o.map((function(e,o){var l=!0,f=i.map((function(t,r){var i=t.getValue,o=t.name,a=u[o](i?i(e):e[o]),s=n[o];return s&&(a<s.min||a>s.max)&&(l=!1),{x:o,y:a}})),d={animation:t,className:l?\"rv-parallel-coordinates-chart-line\":\"rv-parallel-coordinates-chart-line rv-parallel-coordinates-chart-line-unselected\",key:o+\"-polygon\",data:f,color:e.color||r[o%r.length],style:rc({},a.lines,e.style||{})};return l||(d.style=rc({},d.style,a.deselectedLineStyle)),c?s.a.createElement(uo,d):s.a.createElement(Ki,d)}))}({animation:r,brushFilters:t,colorRange:c,domains:l,data:u,showMarks:y,style:m}),_=s.a.createElement(Hi,{animation:!0,key:o,className:\"rv-parallel-coordinates-chart-label\",data:cc({domains:l,style:m.labels})}),k=va(this.props,_a),O=k.marginLeft,E=k.marginRight;return s.a.createElement(Ia,{height:f,width:v,margin:h,dontCheckIfEmpty:!0,className:o+\" \"+ac,onMouseLeave:p,onMouseEnter:g,xType:\"ordinal\",yDomain:[0,1]},a,x.concat(w).concat(_),i&&l.map((function(n){var r=function(r){var i,o,a;e.setState({brushFilters:rc({},t,(i={},o=n.name,a=r?{min:r.bottom,max:r.top}:null,o in i?Object.defineProperty(i,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[o]=a,i))})};return s.a.createElement(jr,{key:n.name,drag:!0,highlightX:n.name,onBrushEnd:r,onDragEnd:r,highlightWidth:(v-O-E)/l.length,enableX:!1})})))}}]),t}(a.Component);uc.displayName=\"ParallelCoordinates\",uc.propTypes={animation:m,brushing:i.a.bool,className:i.a.string,colorType:i.a.string,colorRange:i.a.arrayOf(i.a.string),data:i.a.arrayOf(i.a.object).isRequired,domains:i.a.arrayOf(i.a.shape({name:i.a.string.isRequired,domain:i.a.arrayOf(i.a.number).isRequired,tickFormat:i.a.func})).isRequired,height:i.a.number.isRequired,margin:wa,style:i.a.shape({axes:i.a.object,labels:i.a.object,lines:i.a.object}),showMarks:i.a.bool,tickFormat:i.a.func,width:i.a.number.isRequired},uc.defaultProps={className:\"\",colorType:\"category\",colorRange:yt,style:{axes:{line:{},ticks:{},text:{}},labels:{fontSize:10,textAnchor:\"middle\"},lines:{strokeWidth:1,strokeOpacity:1},deselectedLineStyle:{strokeOpacity:.1}},tickFormat:sc};var lc=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},fc=\"rv-radar-chart\",dc=Object(F.b)(\".2r\");function hc(e){var t=1e-12;return Math.abs(e)<=t?e=0:e>0?Math.abs(e-.5)<=t&&(e=.5):e<0&&Math.abs(e+.5)<=t&&(e=-.5),e}function pc(e){var t=e.domains,n=e.startingAngle,r=e.style;return t.map((function(e,i){var o=e.name,a=i/t.length*Math.PI*2+n;return{x:1.2*Math.cos(a),y:1.2*Math.sin(a),label:o,style:r}}))}function gc(e){var t=e.animation,n=e.className,r=e.children,i=e.colorRange,o=e.data,a=e.domains,c=e.height,u=e.hideInnerMostValues,l=e.margin,f=e.onMouseLeave,d=e.onMouseEnter,h=e.startingAngle,p=e.style,g=e.tickFormat,y=e.width,m=e.renderAxesOverPolygons,b=e.onValueMouseOver,v=e.onValueMouseOut,x=e.onSeriesMouseOver,w=e.onSeriesMouseOut,_=function(e){var t=e.animation,n=e.domains,r=e.startingAngle,i=e.style,o=e.tickFormat,a=e.hideInnerMostValues;return n.map((function(e,c){var u=c/n.length*Math.PI*2+r,l=e.domain;return s.a.createElement(Gn,{animation:t,key:c+\"-axis\",axisStart:{x:0,y:0},axisEnd:{x:hc(Math.cos(u)),y:hc(Math.sin(u))},axisDomain:l,numberOfTicks:5,tickValue:function(t){return a&&t===l[0]?\"\":e.tickFormat?e.tickFormat(t):o(t)},style:i.axes})}))}({domains:a,animation:t,hideInnerMostValues:u,startingAngle:h,style:p,tickFormat:g}),k=function(e){var t=e.animation,n=e.colorRange,r=e.domains,i=e.data,o=e.style,a=e.startingAngle,c=e.onSeriesMouseOver,u=e.onSeriesMouseOut,l=r.reduce((function(e,t){var n=t.domain;return e[t.name]=W().domain(n).range([0,1]),e}),{});return i.map((function(e,i){var f=r.map((function(t,n){var i=t.name,o=t.getValue,s=o?o(e):e[i],c=n/r.length*Math.PI*2+a,u=Math.max(l[i](s),0);return{x:u*Math.cos(c),y:u*Math.sin(c),name:e.name}}));return s.a.createElement(Do,{animation:t,className:\"rv-radar-chart-polygon\",key:i+\"-polygon\",data:f,style:lc({stroke:e.color||e.stroke||n[i%n.length],fill:e.color||e.fill||n[i%n.length]},o.polygons),onSeriesMouseOver:c,onSeriesMouseOut:u})}))}({animation:t,colorRange:i,domains:a,data:o,startingAngle:h,style:p,onSeriesMouseOver:x,onSeriesMouseOut:w}),O=function(e){var t=e.animation,n=e.domains,r=e.data,i=e.startingAngle,o=e.style,a=e.onValueMouseOver,c=e.onValueMouseOut;if(a){var u=n.reduce((function(e,t){var n=t.domain;return e[t.name]=W().domain(n).range([0,1]),e}),{});return r.map((function(e,r){var l=n.map((function(t,r){var o=t.name,a=t.getValue,s=a?a(e):e[o],c=r/n.length*Math.PI*2+i,l=Math.max(u[o](s),0);return{x:l*Math.cos(c),y:l*Math.sin(c),domain:o,value:s,dataName:e.name}}));return s.a.createElement(no,{animation:t,className:\"rv-radar-chart-polygonPoint\",key:r+\"-polygonPoint\",data:l,size:10,style:lc({},o.polygons,{fill:\"transparent\",stroke:\"transparent\"}),onValueMouseOver:a,onValueMouseOut:c})}))}}({animation:t,colorRange:i,domains:a,data:o,startingAngle:h,style:p,onValueMouseOver:b,onValueMouseOut:v}),E=s.a.createElement(Hi,{animation:t,key:n,className:\"rv-radar-chart-label\",data:pc({domains:a,style:p.labels,startingAngle:h})});return s.a.createElement(Ia,{height:c,width:y,margin:l,dontCheckIfEmpty:!0,className:n+\" \"+fc,onMouseLeave:f,onMouseEnter:d,xDomain:[-1,1],yDomain:[-1,1]},r,!m&&_.concat(k).concat(E).concat(O),m&&k.concat(E).concat(_).concat(O))}gc.displayName=\"RadarChart\",gc.propTypes={animation:m,className:i.a.string,colorType:i.a.string,colorRange:i.a.arrayOf(i.a.string),data:i.a.arrayOf(i.a.object).isRequired,domains:i.a.arrayOf(i.a.shape({name:i.a.string.isRequired,domain:i.a.arrayOf(i.a.number).isRequired,tickFormat:i.a.func})).isRequired,height:i.a.number.isRequired,hideInnerMostValues:i.a.bool,margin:wa,startingAngle:i.a.number,style:i.a.shape({axes:i.a.object,labels:i.a.object,polygons:i.a.object}),tickFormat:i.a.func,width:i.a.number.isRequired,renderAxesOverPolygons:i.a.bool,onValueMouseOver:i.a.func,onValueMouseOut:i.a.func,onSeriesMouseOver:i.a.func,onSeriesMouseOut:i.a.func},gc.defaultProps={className:\"\",colorType:\"category\",colorRange:yt,hideInnerMostValues:!0,startingAngle:Math.PI/2,style:{axes:{line:{},ticks:{},text:{}},labels:{fontSize:10,textAnchor:\"middle\"},polygons:{strokeWidth:.5,strokeOpacity:1,fillOpacity:.1}},tickFormat:dc,renderAxesOverPolygons:!1};var yc=n(380),mc=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function bc(e){var t=e.animation,n=e.className,r=e.children,i=e.colorType,o=e.data,a=e.getAngle,c=e.getLabel,u=e.getSubLabel,l=e.height,f=e.hideRootNode,d=e.innerRadius,h=e.labelsAboveChildren,p=e.labelsRadiusMultiplier,g=e.labelsStyle,y=e.margin,m=e.onMouseLeave,b=e.onMouseEnter,v=e.radius,x=e.showLabels,w=e.style,_=e.width,k=function(e){var t=e.data,n=e.getAngle;return Object(yc.a)().sort(null).value(n)(t).reverse().map((function(e,t){return mc({},e.data,{angle0:e.startAngle,angle:e.endAngle,radius0:e.data.innerRadius||0,radius:e.data.radius||1,color:e.data.color||t})}))}({data:o,height:l,hideRootNode:f,width:_,getAngle:a}),O=Tt(k),E=mc({colorType:i},e,{animation:t,radiusDomain:[0,O],data:k,radiusNoFallBack:!0,style:w,arcClassName:\"rv-radial-chart__series--pie__slice\"});v&&(E.radiusDomain=[0,1],E.radiusRange=[d||0,v],E.radiusType=\"linear\");var S=v||function(e,t){return Math.min(e,t)/2-15}(_,l),C=xa(_,l,S),T=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1.1,r=t.getLabel,i=t.getSubLabel;return e.reduce((function(e,t){var o=t.angle,a=t.angle0,s=t.radius,c=(o+a)/2*-1+Math.PI/2,u=[];return r(t)&&u.push({angle:c,radius:s*n,label:r(t)}),i(t)&&u.push({angle:c,radius:s*n,label:i(t),style:{fontSize:10},yOffset:12}),e.concat(u)}),[])}(k,{getLabel:c,getSubLabel:u},p);return s.a.createElement(Ia,{height:l,width:_,margin:mc({},y,C),className:n+\" rv-radial-chart\",onMouseLeave:m,onMouseEnter:b,xDomain:[-O,O],yDomain:[-O,O]},s.a.createElement(Ft,mc({},E,{getAngle:function(e){return e.angle}})),x&&!h&&s.a.createElement(Hi,{data:T,style:g}),r,x&&h&&s.a.createElement(Hi,{data:T,style:g}))}bc.displayName=\"RadialChart\",bc.propTypes={animation:m,className:i.a.string,colorType:i.a.string,data:i.a.arrayOf(i.a.shape({angle:i.a.number,className:i.a.string,label:i.a.string,radius:i.a.number,style:i.a.object})).isRequired,getAngle:i.a.func,getAngle0:i.a.func,padAngle:i.a.oneOfType([i.a.func,i.a.number]),getRadius:i.a.func,getRadius0:i.a.func,getLabel:i.a.func,height:i.a.number.isRequired,labelsAboveChildren:i.a.bool,labelsStyle:i.a.object,margin:wa,onValueClick:i.a.func,onValueMouseOver:i.a.func,onValueMouseOut:i.a.func,showLabels:i.a.bool,style:i.a.object,subLabel:i.a.func,width:i.a.number.isRequired},bc.defaultProps={className:\"\",colorType:\"category\",colorRange:yt,padAngle:0,getAngle:function(e){return e.angle},getAngle0:function(e){return e.angle0},getRadius:function(e){return e.radius},getRadius0:function(e){return e.radius0},getLabel:function(e){return e.label},getSubLabel:function(e){return e.subLabel}};function vc(e){return e.target.depth}function xc(e,t){return e.sourceLinks.length?e.depth:t-1}function wc(e){return function(){return e}}function _c(e,t){return Oc(e.source,t.source)||e.index-t.index}function kc(e,t){return Oc(e.target,t.target)||e.index-t.index}function Oc(e,t){return e.y0-t.y0}function Ec(e){return e.value}function Sc(e){return(e.y0+e.y1)/2}function Cc(e){return Sc(e.source)*e.value}function Tc(e){return Sc(e.target)*e.value}function jc(e){return e.index}function Ac(e){return e.nodes}function Mc(e){return e.links}function Pc(e,t){var n=e.get(t);if(!n)throw new Error(\"missing: \"+t);return n}var Nc=n(173);function Dc(e){return[e.source.x1,e.y0]}function Rc(e){return[e.target.x0,e.y1]}var Ic=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Lc=yt[1];function Bc(e){var t=e.animation,n=e.data,r=e.node,i=e.opacity,o=e.color,a=e.strokeWidth,c=e.style,u=e.onLinkClick,l=e.onLinkMouseOver,f=e.onLinkMouseOut;return t?s.a.createElement(y,Ic({},e,{animatedProps:jt}),s.a.createElement(Bc,Ic({},e,{animation:null}))):s.a.createElement(\"path\",Ic({d:n},c,{className:\"rv-sankey__link\",opacity:Number.isFinite(i)?i:.7,stroke:o||Lc,onClick:function(e){return u(r,e)},onMouseOver:function(e){return l(r,e)},onMouseOut:function(e){return f(r,e)},strokeWidth:a,fill:\"none\"}))}Bc.displayName=\"SankeyLink\",Bc.requiresSVG=!0;var Fc=Bc,zc=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function Uc(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var Hc=function(e){return e},Wc={justify:xc,center:function(e){return e.targetLinks.length?e.depth:e.sourceLinks.length?Object(b.o)(e.sourceLinks,vc)-1:0},left:function(e){return e.depth},right:function(e,t){return t-1-e.height}},Yc={top:20,left:20,right:20,bottom:20};function Vc(e){var t=e.align,n=e.animation,r=e.children,i=e.className,o=e.hasVoronoi,a=e.height,c=e.hideLabels,u=e.labelRotation,l=e.layout,f=e.links,d=e.linkOpacity,h=e.margin,p=e.nodePadding,g=e.nodes,y=e.nodeWidth,m=e.onValueClick,x=e.onValueMouseOver,w=e.onValueMouseOut,_=e.onLinkClick,k=e.onLinkMouseOver,O=e.onLinkMouseOut,E=e.style,S=e.width,C=[].concat(Uc(new Array(g.length))).map((function(e,t){return zc({},g[t])})),T=[].concat(Uc(new Array(f.length))).map((function(e,t){return zc({},f[t])})),j=va({margin:h,height:a,width:S},Yc),A=j.marginLeft,M=j.marginTop,P=j.marginRight,N=j.marginBottom,D=function(){var e=0,t=0,n=1,r=1,i=24,o=8,a=jc,s=xc,c=Ac,u=Mc,l=32;function f(){var e={nodes:c.apply(null,arguments),links:u.apply(null,arguments)};return d(e),h(e),p(e),g(e),y(e),e}function d(e){e.nodes.forEach((function(e,t){e.index=t,e.sourceLinks=[],e.targetLinks=[]}));var t=Object(v.c)(e.nodes,a);e.links.forEach((function(e,n){e.index=n;var r=e.source,i=e.target;\"object\"!==typeof r&&(r=e.source=Pc(t,r)),\"object\"!==typeof i&&(i=e.target=Pc(t,i)),r.sourceLinks.push(e),i.targetLinks.push(e)}))}function h(e){e.nodes.forEach((function(e){e.value=Math.max(Object(b.v)(e.sourceLinks,Ec),Object(b.v)(e.targetLinks,Ec))}))}function p(t){var r,o,a;for(r=t.nodes,o=[],a=0;r.length;++a,r=o,o=[])r.forEach((function(e){e.depth=a,e.sourceLinks.forEach((function(e){o.indexOf(e.target)<0&&o.push(e.target)}))}));for(r=t.nodes,o=[],a=0;r.length;++a,r=o,o=[])r.forEach((function(e){e.height=a,e.targetLinks.forEach((function(e){o.indexOf(e.source)<0&&o.push(e.source)}))}));var c=(n-e-i)/(a-1);t.nodes.forEach((function(t){t.x1=(t.x0=e+Math.max(0,Math.min(a-1,Math.floor(s.call(null,t,a))))*c)+i}))}function g(e){var n=Object(v.d)().key((function(e){return e.x0})).sortKeys(b.a).entries(e.nodes).map((function(e){return e.values}));!function(){var i=Object(b.o)(n,(function(e){return(r-t-(e.length-1)*o)/Object(b.v)(e,Ec)}));n.forEach((function(e){e.forEach((function(e,t){e.y1=(e.y0=t)+e.value*i}))})),e.links.forEach((function(e){e.width=e.value*i}))}(),u();for(var i=1,a=l;a>0;--a)c(i*=.99),u(),s(i),u();function s(e){n.forEach((function(t){t.forEach((function(t){if(t.targetLinks.length){var n=(Object(b.v)(t.targetLinks,Cc)/Object(b.v)(t.targetLinks,Ec)-Sc(t))*e;t.y0+=n,t.y1+=n}}))}))}function c(e){n.slice().reverse().forEach((function(t){t.forEach((function(t){if(t.sourceLinks.length){var n=(Object(b.v)(t.sourceLinks,Tc)/Object(b.v)(t.sourceLinks,Ec)-Sc(t))*e;t.y0+=n,t.y1+=n}}))}))}function u(){n.forEach((function(e){var n,i,a,s=t,c=e.length;for(e.sort(Oc),a=0;a<c;++a)(i=s-(n=e[a]).y0)>0&&(n.y0+=i,n.y1+=i),s=n.y1+o;if((i=s-o-r)>0)for(s=n.y0-=i,n.y1-=i,a=c-2;a>=0;--a)(i=(n=e[a]).y1+o-s)>0&&(n.y0-=i,n.y1-=i),s=n.y0}))}}function y(e){e.nodes.forEach((function(e){e.sourceLinks.sort(kc),e.targetLinks.sort(_c)})),e.nodes.forEach((function(e){var t=e.y0,n=t;e.sourceLinks.forEach((function(e){e.y0=t+e.width/2,t+=e.width})),e.targetLinks.forEach((function(e){e.y1=n+e.width/2,n+=e.width}))}))}return f.update=function(e){return y(e),e},f.nodeId=function(e){return arguments.length?(a=\"function\"===typeof e?e:wc(e),f):a},f.nodeAlign=function(e){return arguments.length?(s=\"function\"===typeof e?e:wc(e),f):s},f.nodeWidth=function(e){return arguments.length?(i=+e,f):i},f.nodePadding=function(e){return arguments.length?(o=+e,f):o},f.nodes=function(e){return arguments.length?(c=\"function\"===typeof e?e:wc(e),f):c},f.links=function(e){return arguments.length?(u=\"function\"===typeof e?e:wc(e),f):u},f.size=function(i){return arguments.length?(e=t=0,n=+i[0],r=+i[1],f):[n-e,r-t]},f.extent=function(i){return arguments.length?(e=+i[0][0],n=+i[1][0],t=+i[0][1],r=+i[1][1],f):[[e,t],[n,r]]},f.iterations=function(e){return arguments.length?(l=+e,f):l},f}().extent([[A,M],[S-P,a-N-M]]).nodeWidth(y).nodePadding(p).nodes(C).links(T).nodeAlign(Wc[t]).iterations(l);D(C);var R=D.nodeWidth(),I=Object(Nc.a)().source(Dc).target(Rc);return s.a.createElement(Ia,zc({},e,{yType:\"literal\",className:\"rv-sankey \"+i}),T.map((function(e,t){return s.a.createElement(Fc,{style:E.links,data:I(e),opacity:e.opacity||d,color:e.color,onLinkClick:_,onLinkMouseOver:k,onLinkMouseOut:O,strokeWidth:Math.max(e.width,1),node:e,nWidth:R,key:\"link-\"+t})})),s.a.createElement(ta,{animation:n,className:i+\" rv-sankey__node\",data:C.map((function(e){return zc({},e,{y:e.y1-M,y0:e.y0-M,x:e.x1,x0:e.x0,color:e.color||yt[0],sourceLinks:null,targetLinks:null})})),style:E.rects,onValueClick:m,onValueMouseOver:x,onValueMouseOut:w,colorType:\"literal\"}),!c&&s.a.createElement(Hi,{animation:n,className:i,rotation:u,labelAnchorY:\"text-before-edge\",data:C.map((function(e,t){return zc({x:e.x0+(e.x0<S/2?R+10:-10),y:(e.y0+e.y1)/2-M,label:e.name,style:zc({textAnchor:e.x0<S/2?\"start\":\"end\",dy:\"-.5em\"},E.labels)},g[t])}))}),o&&s.a.createElement(la,{className:\"rv-sankey__voronoi\",extent:[[-A,-M],[S+P,a+N]],nodes:C,onClick:m,onHover:x,onBlur:w,x:function(e){return e.x0+(e.x1-e.x0)/2},y:function(e){return e.y0+(e.y1-e.y0)/2}}),r)}Vc.defaultProps={align:\"justify\",className:\"\",hasVoronoi:!1,hideLabels:!1,labelRotation:0,layout:50,margin:Yc,nodePadding:10,nodeWidth:10,onValueMouseOver:Hc,onValueClick:Hc,onValueMouseOut:Hc,onLinkClick:Hc,onLinkMouseOver:Hc,onLinkMouseOut:Hc,style:{links:{},rects:{},labels:{}}},Vc.propTypes={align:i.a.oneOf([\"justify\",\"left\",\"right\",\"center\"]),className:i.a.string,hasVoronoi:i.a.bool,height:i.a.number.isRequired,hideLabels:i.a.bool,labelRotation:i.a.number,layout:i.a.number,links:i.a.arrayOf(i.a.shape({source:i.a.oneOfType([i.a.number,i.a.object]).isRequired,target:i.a.oneOfType([i.a.number,i.a.object]).isRequired})).isRequired,margin:wa,nodePadding:i.a.number,nodes:i.a.arrayOf(i.a.object).isRequired,nodeWidth:i.a.number,onValueMouseOver:i.a.func,onValueClick:i.a.func,onValueMouseOut:i.a.func,onLinkClick:i.a.func,onLinkMouseOver:i.a.func,onLinkMouseOut:i.a.func,style:i.a.shape({links:i.a.object,rects:i.a.object,labels:i.a.object}),width:i.a.number.isRequired};var qc=n(281),$c=n(122),Gc=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Xc=[\"onValueMouseOver\",\"onValueMouseOut\",\"onValueClick\",\"onValueRightClick\",\"onSeriesMouseOver\",\"onSeriesMouseOut\",\"onSeriesClick\",\"onSeriesRightClick\"];var Kc=function(){};function Zc(e){var t=e.getAngle,n=e.getAngle0,r=e.animation,i=e.className,o=e.children,a=e.data,c=e.height,u=e.hideRootNode,l=e.getLabel,f=e.width,d=e.getSize,h=e.colorType,p=function(e){var t=e.data,n=e.height,r=e.hideRootNode,i=e.width,o=e.getSize,a=Object(qc.a)(),s=Object($c.c)(t).sum(o),c=Math.min(i,n)/2-10,u=W().range([0,2*Math.PI]),l=Q().range([0,c]);return a(s).descendants().reduce((function(e,t,n){return r&&0===n?e:e.concat([Gc({angle0:Math.max(0,Math.min(2*Math.PI,u(t.x0))),angle:Math.max(0,Math.min(2*Math.PI,u(t.x1))),radius0:Math.max(0,l(t.y0)),radius:Math.max(0,l(t.y1)),depth:t.depth,parent:t.parent},t.data)])}),[])}({data:a,height:c,hideRootNode:u,width:f,getSize:d}),g=Tt(p),y=xa(f,c,g),m=function(e,t){var n=t.getAngle,r=t.getAngle0,i=t.getLabel,o=t.getRadius0;return e.filter(i).map((function(e){var t=-1*n(e)+Math.PI/2,i=(-1*r(e)+Math.PI/2+t)/2,a=!e.dontRotateLabel,s=-i/(2*Math.PI)*360;return Gc({},e,{children:null,angle:null,radius:null,x:o(e)*Math.cos(i),y:o(e)*Math.sin(i),style:Gc({textAnchor:s>90?\"end\":\"start\"},e.labelStyle),rotation:a?s>90?s+180:90===s?90:s:null})}))}(p,{getAngle:t,getAngle0:n,getLabel:l,getRadius0:function(e){return e.radius0}});return s.a.createElement(Ia,{height:c,hasTreeStructure:!0,width:f,className:\"rv-sunburst \"+i,margin:y,xDomain:[-g,g],yDomain:[-g,g]},s.a.createElement(Ft,Gc({colorType:h},e,{animation:r,radiusDomain:[0,g],data:r?p.map((function(e,t){return Gc({},e,{parent:null,children:null,index:t})})):p,_data:r?p:null,arcClassName:\"rv-sunburst__series--radial__arc\"},Xc.reduce((function(t,n){var i,o=e[n];return t[n]=r?(i=o,function(e,t){return i?i(p[e.index],t):Kc}):o,t}),{}))),m.length>0&&s.a.createElement(Hi,{data:m,getLabel:l}),o)}Zc.displayName=\"Sunburst\",Zc.propTypes={animation:m,getAngle:i.a.func,getAngle0:i.a.func,className:i.a.string,colorType:i.a.string,data:i.a.object.isRequired,height:i.a.number.isRequired,hideRootNode:i.a.bool,getLabel:i.a.func,onValueClick:i.a.func,onValueMouseOver:i.a.func,onValueMouseOut:i.a.func,getSize:i.a.func,width:i.a.number.isRequired,padAngle:i.a.oneOfType([i.a.func,i.a.number])},Zc.defaultProps={getAngle:function(e){return e.angle},getAngle0:function(e){return e.angle0},className:\"\",colorType:\"literal\",getColor:function(e){return e.color},hideRootNode:!1,getLabel:function(e){return e.label},getSize:function(e){return e.size},padAngle:0};var Jc=n(121),Qc=n(285),eu=n(98),tu=n(79),nu=n(284),ru=n(283),iu=n(280),ou=n(282),au=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},su=[\"colorRange\",\"colorDomain\",\"color\",\"opacityRange\",\"opacityDomain\",\"opacity\",\"x0\",\"x1\",\"y0\",\"y1\",\"r\"];function cu(e){var t=e.animation,n=e.getLabel,r=e.mode,i=e.node,o=e.onLeafClick,a=e.onLeafMouseOver,c=e.onLeafMouseOut,u=e.r,l=e.scales,f=e.x0,d=e.x1,h=e.y0,p=e.y1,g=e.style;if(t)return s.a.createElement(y,au({},e,{animatedProps:su}),s.a.createElement(cu,au({},e,{animation:null})));var m=\"circlePack\"===r,b=l.color(i),v=l.opacity(i),x=ot(b),w=n(i.data),_=au({top:m?h-u:h,left:m?f-u:f,width:m?2*u:d-f,height:m?2*u:p-h,background:b,opacity:v,color:x},g,i.data.style);return s.a.createElement(\"div\",{className:\"rv-treemap__leaf \"+(m?\"rv-treemap__leaf--circle\":\"\"),onMouseEnter:function(e){return a(i,e)},onMouseLeave:function(e){return c(i,e)},onClick:function(e){return o(i,e)},style:_},s.a.createElement(\"div\",{className:\"rv-treemap__leaf__content\"},w))}cu.propTypes={animation:m,height:i.a.number.isRequired,mode:i.a.string,node:i.a.object.isRequired,onLeafClick:i.a.func,onLeafMouseOver:i.a.func,onLeafMouseOut:i.a.func,scales:i.a.object.isRequired,width:i.a.number.isRequired,r:i.a.number.isRequired,x0:i.a.number.isRequired,x1:i.a.number.isRequired,y0:i.a.number.isRequired,y1:i.a.number.isRequired};var uu=cu,lu=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function fu(e){var t=e.animation,n=e.className,r=e.height,i=e.hideRootNode,o=e.getLabel,a=e.mode,c=e.nodes,u=e.width,l=e.scales,f=e.style,d=\"circlePack\"===a;return s.a.createElement(\"div\",{className:\"rv-treemap \"+(d?\"rv-treemap-circle-packed\":\"\")+\" \"+n,style:{height:r,width:u}},c.map((function(n,r){if(i&&!r)return null;var a=lu({animation:t,node:n,getLabel:o},e,{x0:d?n.x:n.x0,x1:d?n.x:n.x1,y0:d?n.y:n.y0,y1:d?n.y:n.y1,r:d?n.r:1,scales:l,style:f});return s.a.createElement(uu,lu({},a,{key:\"leaf-\"+r}))})))}fu.displayName=\"TreemapDOM\";var du=fu,hu=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},pu=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function gu(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function yu(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var mu=function(e){function t(){return gu(this,t),yu(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),pu(t,[{key:\"getCircularNodes\",value:function(){var e=this.props,t=e.animation,n=e.hideRootNode,r=e.nodes,i=e.onLeafMouseOver,o=e.onLeafMouseOut,a=e.onLeafClick,c=e.scales,u=e.style,l=r.reduce((function(e,t,r){if(!r&&n)return e;var i=t.x,o=t.y,a=t.r;return{maxY:Math.max(o+a,e.maxY),minY:Math.min(o-a,e.minY),maxX:Math.max(i+1.2*a,e.maxX),minX:Math.min(i-1.2*a,e.minX),rows:e.rows.concat([{x:i,y:o,size:a,color:c.color(t)}])}}),{rows:[],maxY:-1/0,minY:1/0,maxX:-1/0,minX:1/0}),f=l.rows,d=l.minY,h=l.maxY,p=l.minX,g=l.maxX;return{updatedNodes:s.a.createElement(no,{animation:t,className:\"rv-treemap__leaf rv-treemap__leaf--circle\",onSeriesMouseEnter:i,onSeriesMouseLeave:o,onSeriesClick:a,data:f,colorType:\"literal\",getColor:function(e){return e.color},sizeType:\"literal\",getSize:function(e){return e.size},style:u}),minY:d,maxY:h,minX:p,maxX:g}}},{key:\"getNonCircularNodes\",value:function(){var e=this.props,t=e.animation,n=e.hideRootNode,r=e.nodes,i=e.onLeafMouseOver,o=e.onLeafMouseOut,a=e.onLeafClick,c=e.scales,u=e.style,l=c.color;return r.reduce((function(e,r,c){if(!c&&n)return e;var f=r.x0,d=r.x1,h=r.y1,p=r.y0,g=f,y=p,m=h-p,b=d-f;e.maxY=Math.max(y+m,e.maxY),e.minY=Math.min(y,e.minY),e.maxX=Math.max(g+b,e.maxX),e.minX=Math.min(g,e.minX);var v=[{x:g,y:y},{x:g,y:y+m},{x:g+b,y:y+m},{x:g+b,y:y}];return e.updatedNodes=e.updatedNodes.concat([s.a.createElement(Do,{animation:t,className:\"rv-treemap__leaf\",key:c,color:l(r),type:\"literal\",onSeriesMouseEnter:i,onSeriesMouseLeave:o,onSeriesClick:a,data:v,style:hu({},u,r.style)})]),e}),{updatedNodes:[],maxY:-1/0,minY:1/0,maxX:-1/0,minX:1/0})}},{key:\"render\",value:function(){var e=this.props,t=e.className,n=e.height,r=e.mode,i=e.nodes,o=e.width,a=\"circlePack\"===r,c=a?this.getCircularNodes():this.getNonCircularNodes(),u=c.minY,l=c.maxY,f=c.minX,d=c.maxX,h=c.updatedNodes,p=i.reduce((function(e,t){return t.data.title?e.concat(hu({},t.data,{x:t.x0||t.x,y:t.y0||t.y,label:\"\"+t.data.title})):e}),[]);return s.a.createElement(Ia,hu({className:\"rv-treemap \"+(a?\"rv-treemap-circle-packed\":\"\")+\" \"+t,width:o,height:n,yDomain:[l,u],xDomain:[f,d],colorType:\"literal\",hasTreeStructure:!0},this.props),h,s.a.createElement(Hi,{data:p}))}}]),t}(s.a.Component);mu.displayName=\"TreemapSVG\";var bu=mu,vu=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),xu=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};var wu={squarify:Jc.a,resquarify:Qc.a,slice:eu.a,dice:tu.a,slicedice:nu.a,binary:ru.a},_u=function(e){return e},ku=[\"opacity\",\"color\"];function Ou(e){var t=e.data.children||[],n=xu({},e,rt(e,t,ku),{_allData:t});return{opacity:Je(n,\"opacity\"),color:Je(n,\"color\")}}var Eu=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state=xu({scales:Ou(e)},va(e,e.margin)),n}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),vu(t,[{key:\"componentWillReceiveProps\",value:function(e){this.setState(xu({scales:Ou(e)},va(e,e.margin)))}},{key:\"_getNodesToRender\",value:function(){var e=this.state,t=e.innerWidth,n=e.innerHeight,r=this.props,i=r.data,o=r.mode,a=r.padding,s=r.sortFunction,c=r.getSize;if(!i)return[];if(\"partition\"===o||\"partition-pivot\"===o){var u=Object(qc.a)().size(\"partition-pivot\"===o?[n,t]:[t,n]).padding(a)(Object($c.c)(i).sum(c).sort((function(e,t){return s(e,t,c)}))).descendants();return\"partition-pivot\"===o?u.map((function(e){return xu({},e,{x0:e.y0,x1:e.y1,y0:e.x0,y1:e.x1})})):u}if(\"circlePack\"===o)return Object(iu.a)().size([t,n]).padding(a)(Object($c.c)(i).sum(c).sort((function(e,t){return s(e,t,c)}))).descendants();var l=wu[o];return Object(ou.a)(l).tile(l).size([t,n]).padding(a)(Object($c.c)(i).sum(c).sort((function(e,t){return s(e,t,c)}))).descendants()}},{key:\"render\",value:function(){var e=this.props.renderMode,t=this.state.scales,n=this._getNodesToRender(),r=\"SVG\"===e?bu:du;return s.a.createElement(r,xu({},this.props,{nodes:n,scales:t}))}}]),t}(s.a.Component);Eu.displayName=\"Treemap\",Eu.propTypes={animation:m,className:i.a.string,data:i.a.object.isRequired,height:i.a.number.isRequired,hideRootNode:i.a.bool,margin:wa,mode:i.a.oneOf(Object.keys(wu).concat([\"circlePack\",\"partition\",\"partition-pivot\"])),onLeafClick:i.a.func,onLeafMouseOver:i.a.func,onLeafMouseOut:i.a.func,useCirclePacking:i.a.bool,padding:i.a.number.isRequired,sortFunction:i.a.func,width:i.a.number.isRequired,getSize:i.a.func,getColor:i.a.func},Eu.defaultProps={className:\"\",colorRange:bt,_colorValue:wt,data:{children:[]},hideRootNode:!1,margin:{left:40,right:10,top:10,bottom:40},mode:\"squarify\",onLeafClick:_u,onLeafMouseOver:_u,onLeafMouseOut:_u,opacityType:xt,_opacityValue:1,padding:1,sortFunction:function(e,t,n){return n?n(e)-n(t):0},getSize:function(e){return e.size},getColor:function(e){return e.color},getLabel:function(e){return e.title}};var Su=n(153),Cu=n.n(Su),Tu=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ju=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var Au=[],Mu=null;function Pu(){Cu.a.clearTimeout(Mu),Mu=Cu.a.setTimeout(Nu,100)}function Nu(){Au.forEach((function(e){return e()}))}function Du(e){return Au.push(e),1===Au.length&&Cu.a.addEventListener(\"resize\",Pu),function(){!function(e){var t=Au.indexOf(e);t>-1&&Au.splice(t,1)}(e),0===Au.length&&(Cu.a.clearTimeout(Mu),Cu.a.removeEventListener(\"resize\",Pu))}}function Ru(e,t,n){var r=function(r){function i(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,i);var t=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}(this,(i.__proto__||Object.getPrototypeOf(i)).call(this,e));return t._onResize=function(){var e=Object(je.a)(t.container),n=e.offsetHeight,r=e.offsetWidth,i=t.state.height===n?{}:{height:n},o=t.state.width===r?{}:{width:r};t.setState(Tu({},i,o))},t.state={height:0,width:0},t}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(i,r),ju(i,null,[{key:\"propTypes\",get:function(){var t=e.propTypes;t.height,t.width;return function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(t,[\"height\",\"width\"])}}]),ju(i,[{key:\"componentDidMount\",value:function(){this._onResize(),this.cancelSubscription=Du(this._onResize)}},{key:\"componentWillReceiveProps\",value:function(){this._onResize()}},{key:\"componentWillUnmount\",value:function(){this.cancelSubscription()}},{key:\"render\",value:function(){var r=this,i=this.state,o=i.height,a=i.width,c=Tu({},this.props,{animation:0===o&&0===a?null:this.props.animation}),u=Tu({},n?{height:o}:{},t?{width:a}:{});return s.a.createElement(\"div\",{ref:function(e){return r.container=e},style:{width:\"100%\",height:\"100%\"}},s.a.createElement(e,Tu({},u,c)))}}]),i}(s.a.Component);return r.displayName=\"Flexible\"+function(e){return e.displayName||e.name||\"Component\"}(e),r}Ru(Ia,!0,!1),function(e){Ru(e,!1,!0)}(Ia),function(e){Ru(e,!0,!0)}(Ia)},function(e,t,n){\"use strict\";e.exports=n(429)},function(e,t,n){\"use strict\";n.r(t);var r=n(147);n.d(t,\"default\",(function(){return r.a}))},function(e,t){e.exports=function(e,t){return e===t||e!==e&&t!==t}},function(e,t,n){var r=n(116),i=n(65);e.exports=function(e){if(!i(e))return!1;var t=r(e);return\"[object Function]\"==t||\"[object GeneratorFunction]\"==t||\"[object AsyncFunction]\"==t||\"[object Proxy]\"==t}},function(e,t,n){var r=n(72).Symbol;e.exports=r},function(e,t,n){(function(e){var r=n(72),i=n(468),o=t&&!t.nodeType&&t,a=o&&\"object\"==typeof e&&e&&!e.nodeType&&e,s=a&&a.exports===o?r.Buffer:void 0,c=(s?s.isBuffer:void 0)||i;e.exports=c}).call(this,n(157)(e))},function(e,t,n){var r=n(477),i=n(235),o=n(478),a=n(303),s=n(479),c=n(116),u=n(292),l=\"[object Map]\",f=\"[object Promise]\",d=\"[object Set]\",h=\"[object WeakMap]\",p=\"[object DataView]\",g=u(r),y=u(i),m=u(o),b=u(a),v=u(s),x=c;(r&&x(new r(new ArrayBuffer(1)))!=p||i&&x(new i)!=l||o&&x(o.resolve())!=f||a&&x(new a)!=d||s&&x(new s)!=h)&&(x=function(e){var t=c(e),n=\"[object Object]\"==t?e.constructor:void 0,r=n?u(n):\"\";if(r)switch(r){case g:return p;case y:return l;case m:return f;case b:return d;case v:return h}return t}),e.exports=x},function(e,t,n){var r=n(116),i=n(76);e.exports=function(e){return\"symbol\"==typeof e||i(e)&&\"[object Symbol]\"==r(e)}},function(e,t,n){var r;try{r={defaults:n(335),each:n(245),isFunction:n(131),isPlainObject:n(339),pick:n(342),has:n(250),range:n(343),uniqueId:n(344)}}catch(i){}r||(r=window._),e.exports=r},function(e,t,n){\"use strict\";n.d(t,\"d\",(function(){return r.a})),n.d(t,\"c\",(function(){return r.b})),n.d(t,\"f\",(function(){return r.c})),n.d(t,\"g\",(function(){return r.d})),n.d(t,\"h\",(function(){return r.e})),n.d(t,\"e\",(function(){return i.a})),n.d(t,\"a\",(function(){return a})),n.d(t,\"b\",(function(){return s}));var r=n(77),i=n(202),o=\"%Y-%m-%dT%H:%M:%S.%LZ\";var a=Date.prototype.toISOString?function(e){return e.toISOString()}:Object(r.d)(o);var s=+new Date(\"2000-01-01T00:00:00.000Z\")?function(e){var t=new Date(e);return isNaN(t)?null:t}:Object(r.e)(o)},function(e,t,n){\"use strict\";function r(e,t,n,r,i){var o=e*e,a=o*e;return((1-3*e+3*o-a)*t+(4-6*o+3*a)*n+(1+3*e+3*o-3*a)*r+a*i)/6}n.d(t,\"a\",(function(){return r})),t.b=function(e){var t=e.length-1;return function(n){var i=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),o=e[i],a=e[i+1],s=i>0?e[i-1]:2*o-a,c=i<t-1?e[i+2]:2*a-o;return r((n-i/t)*t,s,o,a,c)}}},function(e,t,n){\"use strict\";var r=n(35),i=n(120),o=n(199),a=n(198),s=n(55),c=n(200),u=n(197),l=n(149),f=n(103);t.a=function(e,t){var n,d=typeof t;return null==t||\"boolean\"===d?Object(l.a)(t):(\"number\"===d?s.a:\"string\"===d?(n=Object(r.e)(t))?(t=n,i.a):u.a:t instanceof r.e?i.a:t instanceof Date?a.a:Object(f.b)(t)?f.a:Array.isArray(t)?o.b:\"function\"!==typeof t.valueOf&&\"function\"!==typeof t.toString||isNaN(t)?c.a:s.a)(e,t)}},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return i})),n.d(t,\"a\",(function(){return o}));var r=/^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;function i(e){if(!(t=r.exec(e)))throw new Error(\"invalid format: \"+e);var t;return new o({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function o(e){this.fill=void 0===e.fill?\" \":e.fill+\"\",this.align=void 0===e.align?\">\":e.align+\"\",this.sign=void 0===e.sign?\"-\":e.sign+\"\",this.symbol=void 0===e.symbol?\"\":e.symbol+\"\",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?\"\":e.type+\"\"}i.prototype=o.prototype,o.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?\"0\":\"\")+(void 0===this.width?\"\":Math.max(1,0|this.width))+(this.comma?\",\":\"\")+(void 0===this.precision?\"\":\".\"+Math.max(0,0|this.precision))+(this.trim?\"~\":\"\")+this.type}},function(e,t,n){\"use strict\";var r=n(150),i=n(21),o=n(99),a=n(92);t.a=function(){var e=a.a,t=a.b,n=Object(i.a)(!0),s=null,c=o.a,u=null;function l(i){var o,a,l,f=i.length,d=!1;for(null==s&&(u=c(l=Object(r.a)())),o=0;o<=f;++o)!(o<f&&n(a=i[o],o,i))===d&&((d=!d)?u.lineStart():u.lineEnd()),d&&u.point(+e(a,o,i),+t(a,o,i));if(l)return u=null,l+\"\"||null}return l.x=function(t){return arguments.length?(e=\"function\"===typeof t?t:Object(i.a)(+t),l):e},l.y=function(e){return arguments.length?(t=\"function\"===typeof e?e:Object(i.a)(+e),l):t},l.defined=function(e){return arguments.length?(n=\"function\"===typeof e?e:Object(i.a)(!!e),l):n},l.curve=function(e){return arguments.length?(c=e,null!=s&&(u=c(s)),l):c},l.context=function(e){return arguments.length?(null==e?s=u=null:u=c(s=e),l):s},l}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return U}));var r=function(e){return function(){return e}};function i(e){return e[0]}function o(e){return e[1]}function a(){this._=null}function s(e){e.U=e.C=e.L=e.R=e.P=e.N=null}function c(e,t){var n=t,r=t.R,i=n.U;i?i.L===n?i.L=r:i.R=r:e._=r,r.U=i,n.U=r,n.R=r.L,n.R&&(n.R.U=n),r.L=n}function u(e,t){var n=t,r=t.L,i=n.U;i?i.L===n?i.L=r:i.R=r:e._=r,r.U=i,n.U=r,n.L=r.R,n.L&&(n.L.U=n),r.R=n}function l(e){for(;e.L;)e=e.L;return e}a.prototype={constructor:a,insert:function(e,t){var n,r,i;if(e){if(t.P=e,t.N=e.N,e.N&&(e.N.P=t),e.N=t,e.R){for(e=e.R;e.L;)e=e.L;e.L=t}else e.R=t;n=e}else this._?(e=l(this._),t.P=null,t.N=e,e.P=e.L=t,n=e):(t.P=t.N=null,this._=t,n=null);for(t.L=t.R=null,t.U=n,t.C=!0,e=t;n&&n.C;)n===(r=n.U).L?(i=r.R)&&i.C?(n.C=i.C=!1,r.C=!0,e=r):(e===n.R&&(c(this,n),n=(e=n).U),n.C=!1,r.C=!0,u(this,r)):(i=r.L)&&i.C?(n.C=i.C=!1,r.C=!0,e=r):(e===n.L&&(u(this,n),n=(e=n).U),n.C=!1,r.C=!0,c(this,r)),n=e.U;this._.C=!1},remove:function(e){e.N&&(e.N.P=e.P),e.P&&(e.P.N=e.N),e.N=e.P=null;var t,n,r,i=e.U,o=e.L,a=e.R;if(n=o?a?l(a):o:a,i?i.L===e?i.L=n:i.R=n:this._=n,o&&a?(r=n.C,n.C=e.C,n.L=o,o.U=n,n!==a?(i=n.U,n.U=e.U,e=n.R,i.L=e,n.R=a,a.U=n):(n.U=i,i=n,e=n.R)):(r=e.C,e=n),e&&(e.U=i),!r)if(e&&e.C)e.C=!1;else{do{if(e===this._)break;if(e===i.L){if((t=i.R).C&&(t.C=!1,i.C=!0,c(this,i),t=i.R),t.L&&t.L.C||t.R&&t.R.C){t.R&&t.R.C||(t.L.C=!1,t.C=!0,u(this,t),t=i.R),t.C=i.C,i.C=t.R.C=!1,c(this,i),e=this._;break}}else if((t=i.L).C&&(t.C=!1,i.C=!0,u(this,i),t=i.L),t.L&&t.L.C||t.R&&t.R.C){t.L&&t.L.C||(t.R.C=!1,t.C=!0,c(this,t),t=i.L),t.C=i.C,i.C=t.L.C=!1,u(this,i),e=this._;break}t.C=!0,e=i,i=i.U}while(!e.C);e&&(e.C=!1)}}};var f=a;function d(e,t,n,r){var i=[null,null],o=I.push(i)-1;return i.left=e,i.right=t,n&&p(i,e,t,n),r&&p(i,t,e,r),D[e.index].halfedges.push(o),D[t.index].halfedges.push(o),i}function h(e,t,n){var r=[t,n];return r.left=e,r}function p(e,t,n,r){e[0]||e[1]?e.left===n?e[1]=r:e[0]=r:(e[0]=r,e.left=t,e.right=n)}function g(e,t,n,r,i){var o,a=e[0],s=e[1],c=a[0],u=a[1],l=0,f=1,d=s[0]-c,h=s[1]-u;if(o=t-c,d||!(o>0)){if(o/=d,d<0){if(o<l)return;o<f&&(f=o)}else if(d>0){if(o>f)return;o>l&&(l=o)}if(o=r-c,d||!(o<0)){if(o/=d,d<0){if(o>f)return;o>l&&(l=o)}else if(d>0){if(o<l)return;o<f&&(f=o)}if(o=n-u,h||!(o>0)){if(o/=h,h<0){if(o<l)return;o<f&&(f=o)}else if(h>0){if(o>f)return;o>l&&(l=o)}if(o=i-u,h||!(o<0)){if(o/=h,h<0){if(o>f)return;o>l&&(l=o)}else if(h>0){if(o<l)return;o<f&&(f=o)}return!(l>0||f<1)||(l>0&&(e[0]=[c+l*d,u+l*h]),f<1&&(e[1]=[c+f*d,u+f*h]),!0)}}}}}function y(e,t,n,r,i){var o=e[1];if(o)return!0;var a,s,c=e[0],u=e.left,l=e.right,f=u[0],d=u[1],h=l[0],p=l[1],g=(f+h)/2,y=(d+p)/2;if(p===d){if(g<t||g>=r)return;if(f>h){if(c){if(c[1]>=i)return}else c=[g,n];o=[g,i]}else{if(c){if(c[1]<n)return}else c=[g,i];o=[g,n]}}else if(s=y-(a=(f-h)/(p-d))*g,a<-1||a>1)if(f>h){if(c){if(c[1]>=i)return}else c=[(n-s)/a,n];o=[(i-s)/a,i]}else{if(c){if(c[1]<n)return}else c=[(i-s)/a,i];o=[(n-s)/a,n]}else if(d<p){if(c){if(c[0]>=r)return}else c=[t,a*t+s];o=[r,a*r+s]}else{if(c){if(c[0]<t)return}else c=[r,a*r+s];o=[t,a*t+s]}return e[0]=c,e[1]=o,!0}function m(e,t){var n=e.site,r=t.left,i=t.right;return n===i&&(i=r,r=n),i?Math.atan2(i[1]-r[1],i[0]-r[0]):(n===r?(r=t[1],i=t[0]):(r=t[0],i=t[1]),Math.atan2(r[0]-i[0],i[1]-r[1]))}function b(e,t){return t[+(t.left!==e.site)]}function v(e,t){return t[+(t.left===e.site)]}var x,w=[];function _(){s(this),this.x=this.y=this.arc=this.site=this.cy=null}function k(e){var t=e.P,n=e.N;if(t&&n){var r=t.site,i=e.site,o=n.site;if(r!==o){var a=i[0],s=i[1],c=r[0]-a,u=r[1]-s,l=o[0]-a,f=o[1]-s,d=2*(c*f-u*l);if(!(d>=-B)){var h=c*c+u*u,p=l*l+f*f,g=(f*h-u*p)/d,y=(c*p-l*h)/d,m=w.pop()||new _;m.arc=e,m.site=i,m.x=g+a,m.y=(m.cy=y+s)+Math.sqrt(g*g+y*y),e.circle=m;for(var b=null,v=R._;v;)if(m.y<v.y||m.y===v.y&&m.x<=v.x){if(!v.L){b=v.P;break}v=v.L}else{if(!v.R){b=v;break}v=v.R}R.insert(b,m),b||(x=m)}}}}function O(e){var t=e.circle;t&&(t.P||(x=t.N),R.remove(t),w.push(t),s(t),e.circle=null)}var E=[];function S(){s(this),this.edge=this.site=this.circle=null}function C(e){var t=E.pop()||new S;return t.site=e,t}function T(e){O(e),N.remove(e),E.push(e),s(e)}function j(e){var t=e.circle,n=t.x,r=t.cy,i=[n,r],o=e.P,a=e.N,s=[e];T(e);for(var c=o;c.circle&&Math.abs(n-c.circle.x)<L&&Math.abs(r-c.circle.cy)<L;)o=c.P,s.unshift(c),T(c),c=o;s.unshift(c),O(c);for(var u=a;u.circle&&Math.abs(n-u.circle.x)<L&&Math.abs(r-u.circle.cy)<L;)a=u.N,s.push(u),T(u),u=a;s.push(u),O(u);var l,f=s.length;for(l=1;l<f;++l)u=s[l],c=s[l-1],p(u.edge,c.site,u.site,i);c=s[0],(u=s[f-1]).edge=d(c.site,u.site,null,i),k(c),k(u)}function A(e){for(var t,n,r,i,o=e[0],a=e[1],s=N._;s;)if((r=M(s,a)-o)>L)s=s.L;else{if(!((i=o-P(s,a))>L)){r>-L?(t=s.P,n=s):i>-L?(t=s,n=s.N):t=n=s;break}if(!s.R){t=s;break}s=s.R}!function(e){D[e.index]={site:e,halfedges:[]}}(e);var c=C(e);if(N.insert(t,c),t||n){if(t===n)return O(t),n=C(t.site),N.insert(c,n),c.edge=n.edge=d(t.site,c.site),k(t),void k(n);if(n){O(t),O(n);var u=t.site,l=u[0],f=u[1],h=e[0]-l,g=e[1]-f,y=n.site,m=y[0]-l,b=y[1]-f,v=2*(h*b-g*m),x=h*h+g*g,w=m*m+b*b,_=[(b*x-g*w)/v+l,(h*w-m*x)/v+f];p(n.edge,u,y,_),c.edge=d(u,e,null,_),n.edge=d(e,y,null,_),k(t),k(n)}else c.edge=d(t.site,c.site)}}function M(e,t){var n=e.site,r=n[0],i=n[1],o=i-t;if(!o)return r;var a=e.P;if(!a)return-1/0;var s=(n=a.site)[0],c=n[1],u=c-t;if(!u)return s;var l=s-r,f=1/o-1/u,d=l/u;return f?(-d+Math.sqrt(d*d-2*f*(l*l/(-2*u)-c+u/2+i-o/2)))/f+r:(r+s)/2}function P(e,t){var n=e.N;if(n)return M(n,t);var r=e.site;return r[1]===t?r[0]:1/0}var N,D,R,I,L=1e-6,B=1e-12;function F(e,t){return t[1]-e[1]||t[0]-e[0]}function z(e,t){var n,r,i,o=e.sort(F).pop();for(I=[],D=new Array(e.length),N=new f,R=new f;;)if(i=x,o&&(!i||o[1]<i.y||o[1]===i.y&&o[0]<i.x))o[0]===n&&o[1]===r||(A(o),n=o[0],r=o[1]),o=e.pop();else{if(!i)break;j(i.arc)}if(function(){for(var e,t,n,r,i=0,o=D.length;i<o;++i)if((e=D[i])&&(r=(t=e.halfedges).length)){var a=new Array(r),s=new Array(r);for(n=0;n<r;++n)a[n]=n,s[n]=m(e,I[t[n]]);for(a.sort((function(e,t){return s[t]-s[e]})),n=0;n<r;++n)s[n]=t[a[n]];for(n=0;n<r;++n)t[n]=s[n]}}(),t){var a=+t[0][0],s=+t[0][1],c=+t[1][0],u=+t[1][1];!function(e,t,n,r){for(var i,o=I.length;o--;)y(i=I[o],e,t,n,r)&&g(i,e,t,n,r)&&(Math.abs(i[0][0]-i[1][0])>L||Math.abs(i[0][1]-i[1][1])>L)||delete I[o]}(a,s,c,u),function(e,t,n,r){var i,o,a,s,c,u,l,f,d,p,g,y,m=D.length,x=!0;for(i=0;i<m;++i)if(o=D[i]){for(a=o.site,s=(c=o.halfedges).length;s--;)I[c[s]]||c.splice(s,1);for(s=0,u=c.length;s<u;)g=(p=v(o,I[c[s]]))[0],y=p[1],f=(l=b(o,I[c[++s%u]]))[0],d=l[1],(Math.abs(g-f)>L||Math.abs(y-d)>L)&&(c.splice(s,0,I.push(h(a,p,Math.abs(g-e)<L&&r-y>L?[e,Math.abs(f-e)<L?d:r]:Math.abs(y-r)<L&&n-g>L?[Math.abs(d-r)<L?f:n,r]:Math.abs(g-n)<L&&y-t>L?[n,Math.abs(f-n)<L?d:t]:Math.abs(y-t)<L&&g-e>L?[Math.abs(d-t)<L?f:e,t]:null))-1),++u);u&&(x=!1)}if(x){var w,_,k,O=1/0;for(i=0,x=null;i<m;++i)(o=D[i])&&(k=(w=(a=o.site)[0]-e)*w+(_=a[1]-t)*_)<O&&(O=k,x=o);if(x){var E=[e,t],S=[e,r],C=[n,r],T=[n,t];x.halfedges.push(I.push(h(a=x.site,E,S))-1,I.push(h(a,S,C))-1,I.push(h(a,C,T))-1,I.push(h(a,T,E))-1)}}for(i=0;i<m;++i)(o=D[i])&&(o.halfedges.length||delete D[i])}(a,s,c,u)}this.edges=I,this.cells=D,N=R=I=D=null}z.prototype={constructor:z,polygons:function(){var e=this.edges;return this.cells.map((function(t){var n=t.halfedges.map((function(n){return b(t,e[n])}));return n.data=t.site.data,n}))},triangles:function(){var e=[],t=this.edges;return this.cells.forEach((function(n,r){if(o=(i=n.halfedges).length)for(var i,o,a,s,c,u,l=n.site,f=-1,d=t[i[o-1]],h=d.left===l?d.right:d.left;++f<o;)a=h,h=(d=t[i[f]]).left===l?d.right:d.left,a&&h&&r<a.index&&r<h.index&&(c=a,u=h,((s=l)[0]-u[0])*(c[1]-s[1])-(s[0]-c[0])*(u[1]-s[1])<0)&&e.push([l.data,a.data,h.data])})),e},links:function(){return this.edges.filter((function(e){return e.right})).map((function(e){return{source:e.left.data,target:e.right.data}}))},find:function(e,t,n){for(var r,i,o=this,a=o._found||0,s=o.cells.length;!(i=o.cells[a]);)if(++a>=s)return null;var c=e-i.site[0],u=t-i.site[1],l=c*c+u*u;do{i=o.cells[r=a],a=null,i.halfedges.forEach((function(n){var r=o.edges[n],s=r.left;if(s!==i.site&&s||(s=r.right)){var c=e-s[0],u=t-s[1],f=c*c+u*u;f<l&&(l=f,a=s.index)}}))}while(null!==a);return o._found=r,null==n||l<=n*n?i.site:null}};var U=function(){var e=i,t=o,n=null;function a(r){return new z(r.map((function(n,i){var o=[Math.round(e(n,i,r)/L)*L,Math.round(t(n,i,r)/L)*L];return o.index=i,o.data=n,o})),n)}return a.polygons=function(e){return a(e).polygons()},a.links=function(e){return a(e).links()},a.triangles=function(e){return a(e).triangles()},a.x=function(t){return arguments.length?(e=\"function\"===typeof t?t:r(+t),a):e},a.y=function(e){return arguments.length?(t=\"function\"===typeof e?e:r(+e),a):t},a.extent=function(e){return arguments.length?(n=null==e?null:[[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]],a):n&&[[n[0][0],n[0][1]],[n[1][0],n[1][1]]]},a.size=function(e){return arguments.length?(n=null==e?null:[[0,0],[+e[0],+e[1]]],a):n&&[n[1][0]-n[0][0],n[1][1]-n[0][1]]},a}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return p}));var r=n(0),i=n(25),o=!0,a=!1,s=null,c={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,\"datetime-local\":!0};function u(e){e.metaKey||e.altKey||e.ctrlKey||(o=!0)}function l(){o=!1}function f(){\"hidden\"===this.visibilityState&&a&&(o=!0)}function d(e){var t=e.target;try{return t.matches(\":focus-visible\")}catch(n){}return o||function(e){var t=e.type,n=e.tagName;return!(\"INPUT\"!==n||!c[t]||e.readOnly)||\"TEXTAREA\"===n&&!e.readOnly||!!e.isContentEditable}(t)}function h(){a=!0,window.clearTimeout(s),s=window.setTimeout((function(){a=!1}),100)}function p(){return{isFocusVisible:d,onBlurVisible:h,ref:r.useCallback((function(e){var t,n=i.findDOMNode(e);null!=n&&((t=n.ownerDocument).addEventListener(\"keydown\",u,!0),t.addEventListener(\"mousedown\",l,!0),t.addEventListener(\"pointerdown\",l,!0),t.addEventListener(\"touchstart\",l,!0),t.addEventListener(\"visibilitychange\",f,!0))}),[])}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(40);function i(e){return Object(r.a)(e).defaultView||window}},function(e,t,n){\"use strict\";var r=n(70);Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=r(n(0)),o=(0,r(n(75)).default)(i.default.createElement(\"path\",{d:\"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z\"}),\"Refresh\");t.default=o},function(e,t,n){\"use strict\";var r=n(0),i=n.n(r);t.a=i.a.createContext(null)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(6)),s=n(8),c=n(17),u=o.forwardRef((function(e,t){var n=e.children,s=e.classes,u=e.className,l=e.color,f=void 0===l?\"inherit\":l,d=e.component,h=void 0===d?\"svg\":d,p=e.fontSize,g=void 0===p?\"default\":p,y=e.htmlColor,m=e.titleAccess,b=e.viewBox,v=void 0===b?\"0 0 24 24\":b,x=Object(i.a)(e,[\"children\",\"classes\",\"className\",\"color\",\"component\",\"fontSize\",\"htmlColor\",\"titleAccess\",\"viewBox\"]);return o.createElement(h,Object(r.a)({className:Object(a.a)(s.root,u,\"inherit\"!==f&&s[\"color\".concat(Object(c.a)(f))],\"default\"!==g&&s[\"fontSize\".concat(Object(c.a)(g))]),focusable:\"false\",viewBox:v,color:y,\"aria-hidden\":!m||void 0,role:m?\"img\":void 0,ref:t},x),n,m?o.createElement(\"title\",null,m):null)}));u.muiName=\"SvgIcon\",t.a=Object(s.a)((function(e){return{root:{userSelect:\"none\",width:\"1em\",height:\"1em\",display:\"inline-block\",fill:\"currentColor\",flexShrink:0,fontSize:e.typography.pxToRem(24),transition:e.transitions.create(\"fill\",{duration:e.transitions.duration.shorter})},colorPrimary:{color:e.palette.primary.main},colorSecondary:{color:e.palette.secondary.main},colorAction:{color:e.palette.action.active},colorError:{color:e.palette.error.main},colorDisabled:{color:e.palette.action.disabled},fontSizeInherit:{fontSize:\"inherit\"},fontSizeSmall:{fontSize:e.typography.pxToRem(20)},fontSizeLarge:{fontSize:e.typography.pxToRem(35)}}}),{name:\"MuiSvgIcon\"})(u)},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(0);function i(e,t){return r.isValidElement(e)&&-1!==t.indexOf(e.type.muiName)}},function(e,t,n){\"use strict\";t.a=function(e){return function(){return e}}},function(e,t,n){\"use strict\";var r=Math.PI,i=2*r,o=1e-6,a=i-o;function s(){this._x0=this._y0=this._x1=this._y1=null,this._=\"\"}function c(){return new s}s.prototype=c.prototype={constructor:s,moveTo:function(e,t){this._+=\"M\"+(this._x0=this._x1=+e)+\",\"+(this._y0=this._y1=+t)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+=\"Z\")},lineTo:function(e,t){this._+=\"L\"+(this._x1=+e)+\",\"+(this._y1=+t)},quadraticCurveTo:function(e,t,n,r){this._+=\"Q\"+ +e+\",\"+ +t+\",\"+(this._x1=+n)+\",\"+(this._y1=+r)},bezierCurveTo:function(e,t,n,r,i,o){this._+=\"C\"+ +e+\",\"+ +t+\",\"+ +n+\",\"+ +r+\",\"+(this._x1=+i)+\",\"+(this._y1=+o)},arcTo:function(e,t,n,i,a){e=+e,t=+t,n=+n,i=+i,a=+a;var s=this._x1,c=this._y1,u=n-e,l=i-t,f=s-e,d=c-t,h=f*f+d*d;if(a<0)throw new Error(\"negative radius: \"+a);if(null===this._x1)this._+=\"M\"+(this._x1=e)+\",\"+(this._y1=t);else if(h>o)if(Math.abs(d*u-l*f)>o&&a){var p=n-s,g=i-c,y=u*u+l*l,m=p*p+g*g,b=Math.sqrt(y),v=Math.sqrt(h),x=a*Math.tan((r-Math.acos((y+h-m)/(2*b*v)))/2),w=x/v,_=x/b;Math.abs(w-1)>o&&(this._+=\"L\"+(e+w*f)+\",\"+(t+w*d)),this._+=\"A\"+a+\",\"+a+\",0,0,\"+ +(d*p>f*g)+\",\"+(this._x1=e+_*u)+\",\"+(this._y1=t+_*l)}else this._+=\"L\"+(this._x1=e)+\",\"+(this._y1=t);else;},arc:function(e,t,n,s,c,u){e=+e,t=+t,u=!!u;var l=(n=+n)*Math.cos(s),f=n*Math.sin(s),d=e+l,h=t+f,p=1^u,g=u?s-c:c-s;if(n<0)throw new Error(\"negative radius: \"+n);null===this._x1?this._+=\"M\"+d+\",\"+h:(Math.abs(this._x1-d)>o||Math.abs(this._y1-h)>o)&&(this._+=\"L\"+d+\",\"+h),n&&(g<0&&(g=g%i+i),g>a?this._+=\"A\"+n+\",\"+n+\",0,1,\"+p+\",\"+(e-l)+\",\"+(t-f)+\"A\"+n+\",\"+n+\",0,1,\"+p+\",\"+(this._x1=d)+\",\"+(this._y1=h):g>o&&(this._+=\"A\"+n+\",\"+n+\",0,\"+ +(g>=r)+\",\"+p+\",\"+(this._x1=e+n*Math.cos(c))+\",\"+(this._y1=t+n*Math.sin(c))))},rect:function(e,t,n,r){this._+=\"M\"+(this._x0=this._x1=+e)+\",\"+(this._y0=this._y1=+t)+\"h\"+ +n+\"v\"+ +r+\"h\"+-n+\"Z\"},toString:function(){return this._}},t.a=c},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return r})),n.d(t,\"b\",(function(){return i}));var r=Math.PI/180,i=180/Math.PI},function(e,t,n){\"use strict\";var r=n(27),i=1/0,o=i,a=-i,s=a,c={point:function(e,t){e<i&&(i=e);e>a&&(a=e);t<o&&(o=t);t>s&&(s=t)},lineStart:r.a,lineEnd:r.a,polygonStart:r.a,polygonEnd:r.a,result:function(){var e=[[i,o],[a,s]];return a=s=-(o=i=1/0),e}};t.a=c},function(e,t,n){(function(t){var n;n=\"undefined\"!==typeof window?window:\"undefined\"!==typeof t?t:\"undefined\"!==typeof self?self:{},e.exports=n}).call(this,n(113))},,,function(e,t){var n,r,i=e.exports={};function o(){throw new Error(\"setTimeout has not been defined\")}function a(){throw new Error(\"clearTimeout has not been defined\")}function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n=\"function\"===typeof setTimeout?setTimeout:o}catch(e){n=o}try{r=\"function\"===typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var c,u=[],l=!1,f=-1;function d(){l&&c&&(l=!1,c.length?u=c.concat(u):f=-1,u.length&&h())}function h(){if(!l){var e=s(d);l=!0;for(var t=u.length;t;){for(c=u,u=[];++f<t;)c&&c[f].run();f=-1,t=u.length}c=null,l=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===a||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function g(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];u.push(new p(e,t)),1!==u.length||l||s(h)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title=\"browser\",i.browser=!0,i.env={},i.argv=[],i.version=\"\",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.prependListener=g,i.prependOnceListener=g,i.listeners=function(e){return[]},i.binding=function(e){throw new Error(\"process.binding is not supported\")},i.cwd=function(){return\"/\"},i.chdir=function(e){throw new Error(\"process.chdir is not supported\")},i.umask=function(){return 0}},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,\"loaded\",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,\"id\",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return d})),n.d(t,\"a\",(function(){return h})),n.d(t,\"d\",(function(){return x})),n.d(t,\"c\",(function(){return w}));var r=n(56),i=n(35),o=n(151),a=.96422,s=.82521,c=4/29,u=6/29,l=3*u*u;function f(e){if(e instanceof p)return new p(e.l,e.a,e.b,e.opacity);if(e instanceof _)return k(e);e instanceof i.b||(e=Object(i.h)(e));var t,n,r=b(e.r),o=b(e.g),c=b(e.b),u=g((.2225045*r+.7168786*o+.0606169*c)/1);return r===o&&o===c?t=n=u:(t=g((.4360747*r+.3850649*o+.1430804*c)/a),n=g((.0139322*r+.0971045*o+.7141733*c)/s)),new p(116*u-16,500*(t-u),200*(u-n),e.opacity)}function d(e,t){return new p(e,0,0,null==t?1:t)}function h(e,t,n,r){return 1===arguments.length?f(e):new p(e,t,n,null==r?1:r)}function p(e,t,n,r){this.l=+e,this.a=+t,this.b=+n,this.opacity=+r}function g(e){return e>.008856451679035631?Math.pow(e,1/3):e/l+c}function y(e){return e>u?e*e*e:l*(e-c)}function m(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function b(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function v(e){if(e instanceof _)return new _(e.h,e.c,e.l,e.opacity);if(e instanceof p||(e=f(e)),0===e.a&&0===e.b)return new _(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*o.b;return new _(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function x(e,t,n,r){return 1===arguments.length?v(e):new _(n,t,e,null==r?1:r)}function w(e,t,n,r){return 1===arguments.length?v(e):new _(e,t,n,null==r?1:r)}function _(e,t,n,r){this.h=+e,this.c=+t,this.l=+n,this.opacity=+r}function k(e){if(isNaN(e.h))return new p(e.l,0,0,e.opacity);var t=e.h*o.a;return new p(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}Object(r.a)(p,h,Object(r.b)(i.a,{brighter:function(e){return new p(this.l+18*(null==e?1:e),this.a,this.b,this.opacity)},darker:function(e){return new p(this.l-18*(null==e?1:e),this.a,this.b,this.opacity)},rgb:function(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return t=a*y(t),e=1*y(e),n=s*y(n),new i.b(m(3.1338561*t-1.6168667*e-.4906146*n),m(-.9787684*t+1.9161415*e+.033454*n),m(.0719453*t-.2289914*e+1.4052427*n),this.opacity)}})),Object(r.a)(_,w,Object(r.b)(i.a,{brighter:function(e){return new _(this.h,this.c,this.l+18*(null==e?1:e),this.opacity)},darker:function(e){return new _(this.h,this.c,this.l-18*(null==e?1:e),this.opacity)},rgb:function(){return k(this).rgb()}}))},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return a}));var r=n(26),i=n(28),o=Object(r.a)((function(e){e.setTime(e-e.getMilliseconds())}),(function(e,t){e.setTime(+e+t*i.d)}),(function(e,t){return(t-e)/i.d}),(function(e){return e.getUTCSeconds()}));t.a=o;var a=o.range},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return o}));var r=n(26),i=Object(r.a)((function(){}),(function(e,t){e.setTime(+e+t)}),(function(e,t){return t-e}));i.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?Object(r.a)((function(t){t.setTime(Math.floor(t/e)*e)}),(function(t,n){t.setTime(+t+n*e)}),(function(t,n){return(n-t)/e})):i:null},t.a=i;var o=i.range},function(e,t,n){var r=n(179),i=n(180);e.exports=function(e,t,n,o){var a=!n;n||(n={});for(var s=-1,c=t.length;++s<c;){var u=t[s],l=o?o(n[u],e[u],u,n,e):void 0;void 0===l&&(l=e[u]),a?i(n,u,l):r(n,u,l)}return n}},function(e,t,n){var r=n(467),i=n(76),o=Object.prototype,a=o.hasOwnProperty,s=o.propertyIsEnumerable,c=r(function(){return arguments}())?r:function(e){return i(e)&&a.call(e,\"callee\")&&!s.call(e,\"callee\")};e.exports=c},function(e,t,n){var r=n(469),i=n(182),o=n(239),a=o&&o.isTypedArray,s=a?i(a):r;e.exports=s},function(e,t,n){var r=n(135);e.exports=function(e){if(\"string\"==typeof e||r(e))return e;var t=e+\"\";return\"0\"==t&&1/e==-Infinity?\"-0\":t}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=new(n(628).default)({r:0,g:0,b:0,a:0},\"transparent\");t.default=r},function(e,t,n){\"use strict\";var r=n(371),i=\"function\"===typeof Symbol&&\"symbol\"===typeof Symbol(\"foo\"),o=Object.prototype.toString,a=Array.prototype.concat,s=Object.defineProperty,c=s&&function(){var e={};try{for(var t in s(e,\"x\",{enumerable:!1,value:e}),e)return!1;return e.x===e}catch(n){return!1}}(),u=function(e,t,n,r){var i;(!(t in e)||\"function\"===typeof(i=r)&&\"[object Function]\"===o.call(i)&&r())&&(c?s(e,t,{configurable:!0,enumerable:!1,value:n,writable:!0}):e[t]=n)},l=function(e,t){var n=arguments.length>2?arguments[2]:{},o=r(t);i&&(o=a.call(o,Object.getOwnPropertySymbols(t)));for(var s=0;s<o.length;s+=1)u(e,o[s],t[o[s]],n[o[s]])};l.supportsDescriptors=!!c,e.exports=l},function(e,t,n){\"use strict\";var r=n(682);e.exports=Function.prototype.bind||r},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return a}));var r=n(26),i=n(28),o=Object(r.a)((function(e){e.setHours(0,0,0,0)}),(function(e,t){e.setDate(e.getDate()+t)}),(function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*i.c)/i.a}),(function(e){return e.getDate()-1}));t.b=o;var a=o.range},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return a}));var r=n(26),i=n(28),o=Object(r.a)((function(e){e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+t)}),(function(e,t){return(t-e)/i.a}),(function(e){return e.getUTCDate()-1}));t.a=o;var a=o.range},function(e,t,n){\"use strict\";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return r}));var r=Array.prototype.slice},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return i})),n.d(t,\"c\",(function(){return o})),n.d(t,\"a\",(function(){return s}));var r,i,o,a=n(205);function s(e){return r=Object(a.a)(e),i=r.format,o=r.formatPrefix,r}s({decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],minus:\"-\"})},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return p})),n.d(t,\"c\",(function(){return g})),n.d(t,\"b\",(function(){return y}));var r=n(150),i=n(171),o=n(21),a=n(92),s=n(124);function c(e){return e.source}function u(e){return e.target}function l(e){var t=c,n=u,s=a.a,l=a.b,f=null;function d(){var o,a=i.a.call(arguments),c=t.apply(this,a),u=n.apply(this,a);if(f||(f=o=Object(r.a)()),e(f,+s.apply(this,(a[0]=c,a)),+l.apply(this,a),+s.apply(this,(a[0]=u,a)),+l.apply(this,a)),o)return f=null,o+\"\"||null}return d.source=function(e){return arguments.length?(t=e,d):t},d.target=function(e){return arguments.length?(n=e,d):n},d.x=function(e){return arguments.length?(s=\"function\"===typeof e?e:Object(o.a)(+e),d):s},d.y=function(e){return arguments.length?(l=\"function\"===typeof e?e:Object(o.a)(+e),d):l},d.context=function(e){return arguments.length?(f=null==e?null:e,d):f},d}function f(e,t,n,r,i){e.moveTo(t,n),e.bezierCurveTo(t=(t+r)/2,n,t,i,r,i)}function d(e,t,n,r,i){e.moveTo(t,n),e.bezierCurveTo(t,n=(n+i)/2,r,n,r,i)}function h(e,t,n,r,i){var o=Object(s.a)(t,n),a=Object(s.a)(t,n=(n+i)/2),c=Object(s.a)(r,n),u=Object(s.a)(r,i);e.moveTo(o[0],o[1]),e.bezierCurveTo(a[0],a[1],c[0],c[1],u[0],u[1])}function p(){return l(f)}function g(){return l(d)}function y(){var e=l(h);return e.angle=e.x,delete e.x,e.radius=e.y,delete e.y,e}},function(e,t,n){var r=n(175),i=n(442),o=n(443),a=n(444),s=n(445),c=n(446);function u(e){var t=this.__data__=new r(e);this.size=t.size}u.prototype.clear=i,u.prototype.delete=o,u.prototype.get=a,u.prototype.has=s,u.prototype.set=c,e.exports=u},function(e,t,n){var r=n(437),i=n(438),o=n(439),a=n(440),s=n(441);function c(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=i,c.prototype.get=o,c.prototype.has=a,c.prototype.set=s,e.exports=c},function(e,t,n){var r=n(130);e.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},function(e,t,n){var r=n(115)(Object,\"create\");e.exports=r},function(e,t,n){var r=n(461);e.exports=function(e,t){var n=e.__data__;return r(t)?n[\"string\"==typeof t?\"string\":\"hash\"]:n.map}},function(e,t,n){var r=n(180),i=n(130),o=Object.prototype.hasOwnProperty;e.exports=function(e,t,n){var a=e[t];o.call(e,t)&&i(a,n)&&(void 0!==n||t in e)||r(e,t,n)}},function(e,t,n){var r=n(293);e.exports=function(e,t,n){\"__proto__\"==t&&r?r(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}},function(e,t){var n=/^(?:0|[1-9]\\d*)$/;e.exports=function(e,t){var r=typeof e;return!!(t=null==t?9007199254740991:t)&&(\"number\"==r||\"symbol\"!=r&&n.test(e))&&e>-1&&e%1==0&&e<t}},function(e,t){e.exports=function(e){return function(t){return e(t)}}},function(e,t){var n=Object.prototype;e.exports=function(e){var t=e&&e.constructor;return e===(\"function\"==typeof t&&t.prototype||n)}},function(e,t,n){var r=n(295)(Object.getPrototypeOf,Object);e.exports=r},function(e,t,n){var r=n(246),i=n(490)(r);e.exports=i},function(e,t,n){var r=n(187),i=n(164);e.exports=function(e,t){for(var n=0,o=(t=r(t,e)).length;null!=e&&n<o;)e=e[i(t[n++])];return n&&n==o?e:void 0}},function(e,t,n){var r=n(39),i=n(249),o=n(504),a=n(317);e.exports=function(e,t){return r(e)?e:i(e,t)?[e]:o(a(e))}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}},function(e,t,n){var r=n(118),i=n(325),o=n(326);e.exports=function(e,t){return o(i(e,t,r),e+\"\")}},function(e,t,n){var r=n(130),i=n(87),o=n(181),a=n(65);e.exports=function(e,t,n){if(!a(n))return!1;var s=typeof t;return!!(\"number\"==s?i(n)&&o(t,n.length):\"string\"==s&&t in n)&&r(n[t],e)}},function(e,t,n){\"use strict\";var r=n(33);e.exports={longestPath:function(e){var t={};r.forEach(e.sources(),(function n(i){var o=e.node(i);if(r.has(t,i))return o.rank;t[i]=!0;var a=r.min(r.map(e.outEdges(i),(function(t){return n(t.w)-e.edge(t).minlen})));return a!==Number.POSITIVE_INFINITY&&void 0!==a&&null!==a||(a=0),o.rank=a}))},slack:function(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(67),i=n(165),o=n(73),a=n(193);t.default=function(e,t,n,s){if(void 0===n&&(n=0),void 0===s&&(s=1),\"number\"!==typeof e)return a.default(e,{a:t});var c=i.default.set({r:r.default.channel.clamp.r(e),g:r.default.channel.clamp.g(t),b:r.default.channel.clamp.b(n),a:r.default.channel.clamp.a(s)});return o.default.stringify(c)}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(67),i=n(73);t.default=function(e,t){var n=i.default.parse(e);for(var o in t)n[o]=r.default.channel.clamp[o](t[o]);return i.default.stringify(n)}},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=\"number\"===typeof e[n]?e[n]:e[n].val);return t},e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){return e.parent===t.parent?1:2}function i(e,t){return e+t.x}function o(e,t){return Math.max(e,t.y)}n.d(t,\"a\",(function(){return a})),n.d(t,\"b\",(function(){return s.c})),n.d(t,\"c\",(function(){return c.a})),n.d(t,\"e\",(function(){return u.a})),n.d(t,\"d\",(function(){return l.a})),n.d(t,\"f\",(function(){return f.a})),n.d(t,\"g\",(function(){return m})),n.d(t,\"h\",(function(){return O})),n.d(t,\"i\",(function(){return E.a})),n.d(t,\"j\",(function(){return S.a})),n.d(t,\"k\",(function(){return C.a})),n.d(t,\"m\",(function(){return T.a})),n.d(t,\"n\",(function(){return j.a})),n.d(t,\"o\",(function(){return A.a})),n.d(t,\"l\",(function(){return M.a}));var a=function(){var e=r,t=1,n=1,a=!1;function s(r){var s,c=0;r.eachAfter((function(t){var n=t.children;n?(t.x=function(e){return e.reduce(i,0)/e.length}(n),t.y=function(e){return 1+e.reduce(o,0)}(n)):(t.x=s?c+=e(t,s):0,t.y=0,s=t)}));var u=function(e){for(var t;t=e.children;)e=t[0];return e}(r),l=function(e){for(var t;t=e.children;)e=t[t.length-1];return e}(r),f=u.x-e(u,l)/2,d=l.x+e(l,u)/2;return r.eachAfter(a?function(e){e.x=(e.x-r.x)*t,e.y=(r.y-e.y)*n}:function(e){e.x=(e.x-f)/(d-f)*t,e.y=(1-(r.y?e.y/r.y:1))*n})}return s.separation=function(t){return arguments.length?(e=t,s):e},s.size=function(e){return arguments.length?(a=!1,t=+e[0],n=+e[1],s):a?null:[t,n]},s.nodeSize=function(e){return arguments.length?(a=!0,t=+e[0],n=+e[1],s):a?[t,n]:null},s},s=n(122),c=n(280),u=n(201),l=n(206),f=n(281),d=n(123),h={depth:-1},p={};function g(e){return e.id}function y(e){return e.parentId}var m=function(){var e=g,t=y;function n(n){var r,i,o,a,c,u,l,f=n.length,d=new Array(f),g={};for(i=0;i<f;++i)r=n[i],c=d[i]=new s.a(r),null!=(u=e(r,i,n))&&(u+=\"\")&&(g[l=\"$\"+(c.id=u)]=l in g?p:c);for(i=0;i<f;++i)if(c=d[i],null!=(u=t(n[i],i,n))&&(u+=\"\")){if(!(a=g[\"$\"+u]))throw new Error(\"missing: \"+u);if(a===p)throw new Error(\"ambiguous: \"+u);a.children?a.children.push(c):a.children=[c],c.parent=a}else{if(o)throw new Error(\"multiple roots\");o=c}if(!o)throw new Error(\"no root\");if(o.parent=h,o.eachBefore((function(e){e.depth=e.parent.depth+1,--f})).eachBefore(s.b),o.parent=null,f>0)throw new Error(\"cycle\");return o}return n.id=function(t){return arguments.length?(e=Object(d.b)(t),n):e},n.parentId=function(e){return arguments.length?(t=Object(d.b)(e),n):t},n};function b(e,t){return e.parent===t.parent?1:2}function v(e){var t=e.children;return t?t[0]:e.t}function x(e){var t=e.children;return t?t[t.length-1]:e.t}function w(e,t,n){var r=n/(t.i-e.i);t.c-=r,t.s+=n,e.c+=r,t.z+=n,t.m+=n}function _(e,t,n){return e.a.parent===t.parent?e.a:n}function k(e,t){this._=e,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=t}k.prototype=Object.create(s.a.prototype);var O=function(){var e=b,t=1,n=1,r=null;function i(i){var c=function(e){for(var t,n,r,i,o,a=new k(e,0),s=[a];t=s.pop();)if(r=t._.children)for(t.children=new Array(o=r.length),i=o-1;i>=0;--i)s.push(n=t.children[i]=new k(r[i],i)),n.parent=t;return(a.parent=new k(null,0)).children=[a],a}(i);if(c.eachAfter(o),c.parent.m=-c.z,c.eachBefore(a),r)i.eachBefore(s);else{var u=i,l=i,f=i;i.eachBefore((function(e){e.x<u.x&&(u=e),e.x>l.x&&(l=e),e.depth>f.depth&&(f=e)}));var d=u===l?1:e(u,l)/2,h=d-u.x,p=t/(l.x+d+h),g=n/(f.depth||1);i.eachBefore((function(e){e.x=(e.x+h)*p,e.y=e.depth*g}))}return i}function o(t){var n=t.children,r=t.parent.children,i=t.i?r[t.i-1]:null;if(n){!function(e){for(var t,n=0,r=0,i=e.children,o=i.length;--o>=0;)(t=i[o]).z+=n,t.m+=n,n+=t.s+(r+=t.c)}(t);var o=(n[0].z+n[n.length-1].z)/2;i?(t.z=i.z+e(t._,i._),t.m=t.z-o):t.z=o}else i&&(t.z=i.z+e(t._,i._));t.parent.A=function(t,n,r){if(n){for(var i,o=t,a=t,s=n,c=o.parent.children[0],u=o.m,l=a.m,f=s.m,d=c.m;s=x(s),o=v(o),s&&o;)c=v(c),(a=x(a)).a=t,(i=s.z+f-o.z-u+e(s._,o._))>0&&(w(_(s,t,r),t,i),u+=i,l+=i),f+=s.m,u+=o.m,d+=c.m,l+=a.m;s&&!x(a)&&(a.t=s,a.m+=f-l),o&&!v(c)&&(c.t=o,c.m+=u-d,r=t)}return r}(t,i,t.parent.A||r[0])}function a(e){e._.x=e.z+e.parent.m,e.m+=e.parent.m}function s(e){e.x*=t,e.y=e.depth*n}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(e){return arguments.length?(r=!1,t=+e[0],n=+e[1],i):r?null:[t,n]},i.nodeSize=function(e){return arguments.length?(r=!0,t=+e[0],n=+e[1],i):r?[t,n]:null},i},E=n(282),S=n(283),C=n(79),T=n(98),j=n(284),A=n(121),M=n(285)},function(e,t,n){\"use strict\";var r=n(138);t.a=function(e){var t=e.length;return function(n){var i=Math.floor(((n%=1)<0?++n:n)*t),o=e[(i+t-1)%t],a=e[i%t],s=e[(i+1)%t],c=e[(i+2)%t];return Object(r.a)((n-i/t)*t,o,a,s,c)}}},function(e,t,n){\"use strict\";var r=n(55),i=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,o=new RegExp(i.source,\"g\");t.a=function(e,t){var n,a,s,c=i.lastIndex=o.lastIndex=0,u=-1,l=[],f=[];for(e+=\"\",t+=\"\";(n=i.exec(e))&&(a=o.exec(t));)(s=a.index)>c&&(s=t.slice(c,s),l[u]?l[u]+=s:l[++u]=s),(n=n[0])===(a=a[0])?l[u]?l[u]+=a:l[++u]=a:(l[++u]=null,f.push({i:u,x:Object(r.a)(n,a)})),c=o.lastIndex;return c<t.length&&(s=t.slice(c),l[u]?l[u]+=s:l[++u]=s),l.length<2?f[0]?function(e){return function(t){return e(t)+\"\"}}(f[0].x):function(e){return function(){return e}}(t):(t=f.length,function(e){for(var n,r=0;r<t;++r)l[(n=f[r]).i]=n.x(e);return l.join(\"\")})}},function(e,t,n){\"use strict\";t.a=function(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return o}));var r=n(139),i=n(103);function o(e,t){var n,i=t?t.length:0,o=e?Math.min(i,e.length):0,a=new Array(o),s=new Array(i);for(n=0;n<o;++n)a[n]=Object(r.a)(e[n],t[n]);for(;n<i;++n)s[n]=t[n];return function(e){for(n=0;n<o;++n)s[n]=a[n](e);return s}}t.a=function(e,t){return(Object(i.b)(t)?i.a:o)(e,t)}},function(e,t,n){\"use strict\";var r=n(139);t.a=function(e,t){var n,i={},o={};for(n in null!==e&&\"object\"===typeof e||(e={}),null!==t&&\"object\"===typeof t||(t={}),t)n in e?i[n]=Object(r.a)(e[n],t[n]):o[n]=t[n];return function(e){for(n in i)o[n]=i[n](e);return o}}},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return c}));var r=n(206);function i(e,t,n){var r,i,o,a,s=e.x-t.x,c=e.y-t.y,u=s*s+c*c;u?(i=t.r+n.r,i*=i,a=e.r+n.r,i>(a*=a)?(r=(u+a-i)/(2*u),o=Math.sqrt(Math.max(0,a/u-r*r)),n.x=e.x-r*s-o*c,n.y=e.y-r*c+o*s):(r=(u+i-a)/(2*u),o=Math.sqrt(Math.max(0,i/u-r*r)),n.x=t.x+r*s-o*c,n.y=t.y+r*c+o*s)):(n.x=t.x+n.r,n.y=t.y)}function o(e,t){var n=e.r+t.r-1e-6,r=t.x-e.x,i=t.y-e.y;return n>0&&n*n>r*r+i*i}function a(e){var t=e._,n=e.next._,r=t.r+n.r,i=(t.x*n.r+n.x*t.r)/r,o=(t.y*n.r+n.y*t.r)/r;return i*i+o*o}function s(e){this._=e,this.next=null,this.previous=null}function c(e){if(!(u=e.length))return 0;var t,n,c,u,l,f,d,h,p,g,y;if((t=e[0]).x=0,t.y=0,!(u>1))return t.r;if(n=e[1],t.x=-n.r,n.x=t.r,n.y=0,!(u>2))return t.r+n.r;i(n,t,c=e[2]),t=new s(t),n=new s(n),c=new s(c),t.next=c.previous=n,n.next=t.previous=c,c.next=n.previous=t;e:for(d=3;d<u;++d){i(t._,n._,c=e[d]),c=new s(c),h=n.next,p=t.previous,g=n._.r,y=t._.r;do{if(g<=y){if(o(h._,c._)){n=h,t.next=n,n.previous=t,--d;continue e}g+=h._.r,h=h.next}else{if(o(p._,c._)){(t=p).next=n,n.previous=t,--d;continue e}y+=p._.r,p=p.previous}}while(h!==p.next);for(c.previous=t,c.next=n,t.next=n.previous=n=c,l=a(t);(c=c.next)!==n;)(f=a(c))<l&&(t=c,l=f);n=t.next}for(t=[n._],c=n;(c=c.next)!==n;)t.push(c._);for(c=Object(r.a)(t),d=0;d<u;++d)(t=e[d]).x-=c.x,t.y-=c.y;return c.r}t.a=function(e){return c(e),e}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return d}));var r=n(31),i=n(169),o=n(30),a=n(168),s=n(107),c=n(108);function u(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function l(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function f(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function d(e){var t=e.dateTime,n=e.date,s=e.time,c=e.periods,d=e.days,p=e.shortDays,g=e.months,y=e.shortMonths,m=v(c),b=x(c),J=v(d),be=x(d),Ae=v(p),Me=x(p),Pe=v(g),Ne=x(g),De=v(y),Re=x(y),Ie={a:function(e){return p[e.getDay()]},A:function(e){return d[e.getDay()]},b:function(e){return y[e.getMonth()]},B:function(e){return g[e.getMonth()]},c:null,d:U,e:U,f:q,g:re,G:oe,H:H,I:W,j:Y,L:V,m:$,M:G,p:function(e){return c[+(e.getHours()>=12)]},q:function(e){return 1+~~(e.getMonth()/3)},Q:Te,s:je,S:X,u:K,U:Z,V:Q,w:ee,W:te,x:null,X:null,y:ne,Y:ie,Z:ae,\"%\":Ce},Le={a:function(e){return p[e.getUTCDay()]},A:function(e){return d[e.getUTCDay()]},b:function(e){return y[e.getUTCMonth()]},B:function(e){return g[e.getUTCMonth()]},c:null,d:se,e:se,f:de,g:ke,G:Ee,H:ce,I:ue,j:le,L:fe,m:he,M:pe,p:function(e){return c[+(e.getUTCHours()>=12)]},q:function(e){return 1+~~(e.getUTCMonth()/3)},Q:Te,s:je,S:ge,u:ye,U:me,V:ve,w:xe,W:we,x:null,X:null,y:_e,Y:Oe,Z:Se,\"%\":Ce},Be={a:function(e,t,n){var r=Ae.exec(t.slice(n));return r?(e.w=Me[r[0].toLowerCase()],n+r[0].length):-1},A:function(e,t,n){var r=J.exec(t.slice(n));return r?(e.w=be[r[0].toLowerCase()],n+r[0].length):-1},b:function(e,t,n){var r=De.exec(t.slice(n));return r?(e.m=Re[r[0].toLowerCase()],n+r[0].length):-1},B:function(e,t,n){var r=Pe.exec(t.slice(n));return r?(e.m=Ne[r[0].toLowerCase()],n+r[0].length):-1},c:function(e,n,r){return Ue(e,t,n,r)},d:M,e:M,f:L,g:C,G:S,H:N,I:N,j:P,L:I,m:A,M:D,p:function(e,t,n){var r=m.exec(t.slice(n));return r?(e.p=b[r[0].toLowerCase()],n+r[0].length):-1},q:j,Q:F,s:z,S:R,u:_,U:k,V:O,w:w,W:E,x:function(e,t,r){return Ue(e,n,t,r)},X:function(e,t,n){return Ue(e,s,t,n)},y:C,Y:S,Z:T,\"%\":B};function Fe(e,t){return function(n){var r,i,o,a=[],s=-1,c=0,u=e.length;for(n instanceof Date||(n=new Date(+n));++s<u;)37===e.charCodeAt(s)&&(a.push(e.slice(c,s)),null!=(i=h[r=e.charAt(++s)])?r=e.charAt(++s):i=\"e\"===r?\" \":\"0\",(o=t[r])&&(r=o(n,i)),a.push(r),c=s+1);return a.push(e.slice(c,s)),a.join(\"\")}}function ze(e,t){return function(n){var s,c,d=f(1900,void 0,1);if(Ue(d,e,n+=\"\",0)!=n.length)return null;if(\"Q\"in d)return new Date(d.Q);if(\"s\"in d)return new Date(1e3*d.s+(\"L\"in d?d.L:0));if(t&&!(\"Z\"in d)&&(d.Z=0),\"p\"in d&&(d.H=d.H%12+12*d.p),void 0===d.m&&(d.m=\"q\"in d?d.q:0),\"V\"in d){if(d.V<1||d.V>53)return null;\"w\"in d||(d.w=1),\"Z\"in d?(c=(s=l(f(d.y,0,1))).getUTCDay(),s=c>4||0===c?r.c.ceil(s):Object(r.c)(s),s=i.a.offset(s,7*(d.V-1)),d.y=s.getUTCFullYear(),d.m=s.getUTCMonth(),d.d=s.getUTCDate()+(d.w+6)%7):(c=(s=u(f(d.y,0,1))).getDay(),s=c>4||0===c?o.c.ceil(s):Object(o.c)(s),s=a.b.offset(s,7*(d.V-1)),d.y=s.getFullYear(),d.m=s.getMonth(),d.d=s.getDate()+(d.w+6)%7)}else(\"W\"in d||\"U\"in d)&&(\"w\"in d||(d.w=\"u\"in d?d.u%7:\"W\"in d?1:0),c=\"Z\"in d?l(f(d.y,0,1)).getUTCDay():u(f(d.y,0,1)).getDay(),d.m=0,d.d=\"W\"in d?(d.w+6)%7+7*d.W-(c+5)%7:d.w+7*d.U-(c+6)%7);return\"Z\"in d?(d.H+=d.Z/100|0,d.M+=d.Z%100,l(d)):u(d)}}function Ue(e,t,n,r){for(var i,o,a=0,s=t.length,c=n.length;a<s;){if(r>=c)return-1;if(37===(i=t.charCodeAt(a++))){if(i=t.charAt(a++),!(o=Be[i in h?t.charAt(a++):i])||(r=o(e,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}return Ie.x=Fe(n,Ie),Ie.X=Fe(s,Ie),Ie.c=Fe(t,Ie),Le.x=Fe(n,Le),Le.X=Fe(s,Le),Le.c=Fe(t,Le),{format:function(e){var t=Fe(e+=\"\",Ie);return t.toString=function(){return e},t},parse:function(e){var t=ze(e+=\"\",!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=Fe(e+=\"\",Le);return t.toString=function(){return e},t},utcParse:function(e){var t=ze(e+=\"\",!0);return t.toString=function(){return e},t}}}var h={\"-\":\"\",_:\" \",0:\"0\"},p=/^\\s*\\d+/,g=/^%/,y=/[\\\\^$*+?|[\\]().{}]/g;function m(e,t,n){var r=e<0?\"-\":\"\",i=(r?-e:e)+\"\",o=i.length;return r+(o<n?new Array(n-o+1).join(t)+i:i)}function b(e){return e.replace(y,\"\\\\$&\")}function v(e){return new RegExp(\"^(?:\"+e.map(b).join(\"|\")+\")\",\"i\")}function x(e){for(var t={},n=-1,r=e.length;++n<r;)t[e[n].toLowerCase()]=n;return t}function w(e,t,n){var r=p.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function _(e,t,n){var r=p.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function k(e,t,n){var r=p.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function O(e,t,n){var r=p.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function E(e,t,n){var r=p.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function S(e,t,n){var r=p.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function C(e,t,n){var r=p.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function T(e,t,n){var r=/^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||\"00\")),n+r[0].length):-1}function j(e,t,n){var r=p.exec(t.slice(n,n+1));return r?(e.q=3*r[0]-3,n+r[0].length):-1}function A(e,t,n){var r=p.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function M(e,t,n){var r=p.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function P(e,t,n){var r=p.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function N(e,t,n){var r=p.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function D(e,t,n){var r=p.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function R(e,t,n){var r=p.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function I(e,t,n){var r=p.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function L(e,t,n){var r=p.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function B(e,t,n){var r=g.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function F(e,t,n){var r=p.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function z(e,t,n){var r=p.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function U(e,t){return m(e.getDate(),t,2)}function H(e,t){return m(e.getHours(),t,2)}function W(e,t){return m(e.getHours()%12||12,t,2)}function Y(e,t){return m(1+a.b.count(Object(s.a)(e),e),t,3)}function V(e,t){return m(e.getMilliseconds(),t,3)}function q(e,t){return V(e,t)+\"000\"}function $(e,t){return m(e.getMonth()+1,t,2)}function G(e,t){return m(e.getMinutes(),t,2)}function X(e,t){return m(e.getSeconds(),t,2)}function K(e){var t=e.getDay();return 0===t?7:t}function Z(e,t){return m(o.g.count(Object(s.a)(e)-1,e),t,2)}function J(e){var t=e.getDay();return t>=4||0===t?Object(o.i)(e):o.i.ceil(e)}function Q(e,t){return e=J(e),m(o.i.count(Object(s.a)(e),e)+(4===Object(s.a)(e).getDay()),t,2)}function ee(e){return e.getDay()}function te(e,t){return m(o.c.count(Object(s.a)(e)-1,e),t,2)}function ne(e,t){return m(e.getFullYear()%100,t,2)}function re(e,t){return m((e=J(e)).getFullYear()%100,t,2)}function ie(e,t){return m(e.getFullYear()%1e4,t,4)}function oe(e,t){var n=e.getDay();return m((e=n>=4||0===n?Object(o.i)(e):o.i.ceil(e)).getFullYear()%1e4,t,4)}function ae(e){var t=e.getTimezoneOffset();return(t>0?\"-\":(t*=-1,\"+\"))+m(t/60|0,\"0\",2)+m(t%60,\"0\",2)}function se(e,t){return m(e.getUTCDate(),t,2)}function ce(e,t){return m(e.getUTCHours(),t,2)}function ue(e,t){return m(e.getUTCHours()%12||12,t,2)}function le(e,t){return m(1+i.a.count(Object(c.a)(e),e),t,3)}function fe(e,t){return m(e.getUTCMilliseconds(),t,3)}function de(e,t){return fe(e,t)+\"000\"}function he(e,t){return m(e.getUTCMonth()+1,t,2)}function pe(e,t){return m(e.getUTCMinutes(),t,2)}function ge(e,t){return m(e.getUTCSeconds(),t,2)}function ye(e){var t=e.getUTCDay();return 0===t?7:t}function me(e,t){return m(r.g.count(Object(c.a)(e)-1,e),t,2)}function be(e){var t=e.getUTCDay();return t>=4||0===t?Object(r.i)(e):r.i.ceil(e)}function ve(e,t){return e=be(e),m(r.i.count(Object(c.a)(e),e)+(4===Object(c.a)(e).getUTCDay()),t,2)}function xe(e){return e.getUTCDay()}function we(e,t){return m(r.c.count(Object(c.a)(e)-1,e),t,2)}function _e(e,t){return m(e.getUTCFullYear()%100,t,2)}function ke(e,t){return m((e=be(e)).getUTCFullYear()%100,t,2)}function Oe(e,t){return m(e.getUTCFullYear()%1e4,t,4)}function Ee(e,t){var n=e.getUTCDay();return m((e=n>=4||0===n?Object(r.i)(e):r.i.ceil(e)).getUTCFullYear()%1e4,t,4)}function Se(){return\"+0000\"}function Ce(){return\"%\"}function Te(e){return+e}function je(e){return Math.floor(+e/1e3)}},function(e,t,n){\"use strict\";var r=n(150),i=n(21),o=n(99),a=n(141),s=n(92);t.a=function(){var e=s.a,t=null,n=Object(i.a)(0),c=s.b,u=Object(i.a)(!0),l=null,f=o.a,d=null;function h(i){var o,a,s,h,p,g=i.length,y=!1,m=new Array(g),b=new Array(g);for(null==l&&(d=f(p=Object(r.a)())),o=0;o<=g;++o){if(!(o<g&&u(h=i[o],o,i))===y)if(y=!y)a=o,d.areaStart(),d.lineStart();else{for(d.lineEnd(),d.lineStart(),s=o-1;s>=a;--s)d.point(m[s],b[s]);d.lineEnd(),d.areaEnd()}y&&(m[o]=+e(h,o,i),b[o]=+n(h,o,i),d.point(t?+t(h,o,i):m[o],c?+c(h,o,i):b[o]))}if(p)return d=null,p+\"\"||null}function p(){return Object(a.a)().defined(u).curve(f).context(l)}return h.x=function(n){return arguments.length?(e=\"function\"===typeof n?n:Object(i.a)(+n),t=null,h):e},h.x0=function(t){return arguments.length?(e=\"function\"===typeof t?t:Object(i.a)(+t),h):e},h.x1=function(e){return arguments.length?(t=null==e?null:\"function\"===typeof e?e:Object(i.a)(+e),h):t},h.y=function(e){return arguments.length?(n=\"function\"===typeof e?e:Object(i.a)(+e),c=null,h):n},h.y0=function(e){return arguments.length?(n=\"function\"===typeof e?e:Object(i.a)(+e),h):n},h.y1=function(e){return arguments.length?(c=null==e?null:\"function\"===typeof e?e:Object(i.a)(+e),h):c},h.lineX0=h.lineY0=function(){return p().x(e).y(n)},h.lineY1=function(){return p().x(e).y(c)},h.lineX1=function(){return p().x(t).y(n)},h.defined=function(e){return arguments.length?(u=\"function\"===typeof e?e:Object(i.a)(!!e),h):u},h.curve=function(e){return arguments.length?(f=e,null!=l&&(d=f(l)),h):f},h.context=function(e){return arguments.length?(null==e?l=d=null:d=f(l=e),h):l},h}},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return d})),n.d(t,\"a\",(function(){return b}));var r=n(12),i=Array.prototype.slice,o=function(e,t){return e-t},a=function(e){return function(){return e}},s=function(e,t){for(var n,r=-1,i=t.length;++r<i;)if(n=c(e,t[r]))return n;return 0};function c(e,t){for(var n=t[0],r=t[1],i=-1,o=0,a=e.length,s=a-1;o<a;s=o++){var c=e[o],l=c[0],f=c[1],d=e[s],h=d[0],p=d[1];if(u(c,d,t))return 0;f>r!==p>r&&n<(h-l)*(r-f)/(p-f)+l&&(i=-i)}return i}function u(e,t,n){var r,i,o,a;return function(e,t,n){return(t[0]-e[0])*(n[1]-e[1])===(n[0]-e[0])*(t[1]-e[1])}(e,t,n)&&(i=e[r=+(e[0]===t[0])],o=n[r],a=t[r],i<=o&&o<=a||a<=o&&o<=i)}var l=function(){},f=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]],d=function(){var e=1,t=1,n=r.y,c=p;function u(e){var t=n(e);if(Array.isArray(t))t=t.slice().sort(o);else{var i=Object(r.i)(e),a=i[0],s=i[1];t=Object(r.A)(a,s,t),t=Object(r.s)(Math.floor(a/t)*t,Math.floor(s/t)*t,t)}return t.map((function(t){return d(e,t)}))}function d(n,r){var i=[],o=[];return function(n,r,i){var o,a,s,c,u,l,d=new Array,p=new Array;o=a=-1,c=n[0]>=r,f[c<<1].forEach(g);for(;++o<e-1;)s=c,c=n[o+1]>=r,f[s|c<<1].forEach(g);f[c<<0].forEach(g);for(;++a<t-1;){for(o=-1,c=n[a*e+e]>=r,u=n[a*e]>=r,f[c<<1|u<<2].forEach(g);++o<e-1;)s=c,c=n[a*e+e+o+1]>=r,l=u,u=n[a*e+o+1]>=r,f[s|c<<1|u<<2|l<<3].forEach(g);f[c|u<<3].forEach(g)}o=-1,u=n[a*e]>=r,f[u<<2].forEach(g);for(;++o<e-1;)l=u,u=n[a*e+o+1]>=r,f[u<<2|l<<3].forEach(g);function g(e){var t,n,r=[e[0][0]+o,e[0][1]+a],s=[e[1][0]+o,e[1][1]+a],c=h(r),u=h(s);(t=p[c])?(n=d[u])?(delete p[t.end],delete d[n.start],t===n?(t.ring.push(s),i(t.ring)):d[t.start]=p[n.end]={start:t.start,end:n.end,ring:t.ring.concat(n.ring)}):(delete p[t.end],t.ring.push(s),p[t.end=u]=t):(t=d[u])?(n=p[c])?(delete d[t.start],delete p[n.end],t===n?(t.ring.push(s),i(t.ring)):d[n.start]=p[t.end]={start:n.start,end:t.end,ring:n.ring.concat(t.ring)}):(delete d[t.start],t.ring.unshift(r),d[t.start=c]=t):d[c]=p[u]={start:c,end:u,ring:[r,s]}}f[u<<3].forEach(g)}(n,r,(function(e){c(e,n,r),function(e){for(var t=0,n=e.length,r=e[n-1][1]*e[0][0]-e[n-1][0]*e[0][1];++t<n;)r+=e[t-1][1]*e[t][0]-e[t-1][0]*e[t][1];return r}(e)>0?i.push([e]):o.push(e)})),o.forEach((function(e){for(var t,n=0,r=i.length;n<r;++n)if(-1!==s((t=i[n])[0],e))return void t.push(e)})),{type:\"MultiPolygon\",value:r,coordinates:i}}function h(t){return 2*t[0]+t[1]*(e+1)*4}function p(n,r,i){n.forEach((function(n){var o,a=n[0],s=n[1],c=0|a,u=0|s,l=r[u*e+c];a>0&&a<e&&c===a&&(o=r[u*e+c-1],n[0]=a+(i-o)/(l-o)-.5),s>0&&s<t&&u===s&&(o=r[(u-1)*e+c],n[1]=s+(i-o)/(l-o)-.5)}))}return u.contour=d,u.size=function(n){if(!arguments.length)return[e,t];var r=Math.ceil(n[0]),i=Math.ceil(n[1]);if(!(r>0)||!(i>0))throw new Error(\"invalid size\");return e=r,t=i,u},u.thresholds=function(e){return arguments.length?(n=\"function\"===typeof e?e:Array.isArray(e)?a(i.call(e)):a(e),u):n},u.smooth=function(e){return arguments.length?(c=e?p:l,u):c===p},u};function h(e,t,n){for(var r=e.width,i=e.height,o=1+(n<<1),a=0;a<i;++a)for(var s=0,c=0;s<r+n;++s)s<r&&(c+=e.data[s+a*r]),s>=n&&(s>=o&&(c-=e.data[s-o+a*r]),t.data[s-n+a*r]=c/Math.min(s+1,r-1+o-s,o))}function p(e,t,n){for(var r=e.width,i=e.height,o=1+(n<<1),a=0;a<r;++a)for(var s=0,c=0;s<i+n;++s)s<i&&(c+=e.data[a+s*r]),s>=n&&(s>=o&&(c-=e.data[a+(s-o)*r]),t.data[a+(s-n)*r]=c/Math.min(s+1,i-1+o-s,o))}function g(e){return e[0]}function y(e){return e[1]}function m(){return 1}var b=function(){var e=g,t=y,n=m,o=960,s=500,c=20,u=2,l=3*c,f=o+2*l>>u,b=s+2*l>>u,v=a(20);function x(i){var o=new Float32Array(f*b),a=new Float32Array(f*b);i.forEach((function(r,i,a){var s=+e(r,i,a)+l>>u,c=+t(r,i,a)+l>>u,d=+n(r,i,a);s>=0&&s<f&&c>=0&&c<b&&(o[s+c*f]+=d)})),h({width:f,height:b,data:o},{width:f,height:b,data:a},c>>u),p({width:f,height:b,data:a},{width:f,height:b,data:o},c>>u),h({width:f,height:b,data:o},{width:f,height:b,data:a},c>>u),p({width:f,height:b,data:a},{width:f,height:b,data:o},c>>u),h({width:f,height:b,data:o},{width:f,height:b,data:a},c>>u),p({width:f,height:b,data:a},{width:f,height:b,data:o},c>>u);var s=v(o);if(!Array.isArray(s)){var g=Object(r.k)(o);s=Object(r.A)(0,g,s),(s=Object(r.s)(0,Math.floor(g/s)*s,s)).shift()}return d().thresholds(s).size([f,b])(o).map(w)}function w(e){return e.value*=Math.pow(2,-2*u),e.coordinates.forEach(_),e}function _(e){e.forEach(k)}function k(e){e.forEach(O)}function O(e){e[0]=e[0]*Math.pow(2,u)-l,e[1]=e[1]*Math.pow(2,u)-l}function E(){return f=o+2*(l=3*c)>>u,b=s+2*l>>u,x}return x.x=function(t){return arguments.length?(e=\"function\"===typeof t?t:a(+t),x):e},x.y=function(e){return arguments.length?(t=\"function\"===typeof e?e:a(+e),x):t},x.weight=function(e){return arguments.length?(n=\"function\"===typeof e?e:a(+e),x):n},x.size=function(e){if(!arguments.length)return[o,s];var t=Math.ceil(e[0]),n=Math.ceil(e[1]);if(!(t>=0)&&!(t>=0))throw new Error(\"invalid size\");return o=t,s=n,E()},x.cellSize=function(e){if(!arguments.length)return 1<<u;if(!((e=+e)>=1))throw new Error(\"invalid cell size\");return u=Math.floor(Math.log(e)/Math.LN2),E()},x.thresholds=function(e){return arguments.length?(v=\"function\"===typeof e?e:Array.isArray(e)?a(i.call(e)):a(e),x):v},x.bandwidth=function(e){if(!arguments.length)return Math.sqrt(c*(c+1));if(!((e=+e)>=0))throw new Error(\"invalid bandwidth\");return c=Math.round((Math.sqrt(4*e*e+1)-1)/2),E()},x}},function(e,t,n){\"use strict\";var r,i=n(84),o=n(140),a=n(91),s=function(e,t){var n=Object(a.b)(e,t);if(!n)return e+\"\";var r=n[0],i=n[1];return i<0?\"0.\"+new Array(-i).join(\"0\")+r:r.length>i+1?r.slice(0,i+1)+\".\"+r.slice(i+1):r+new Array(i-r.length+2).join(\"0\")},c={\"%\":function(e,t){return(100*e).toFixed(t)},b:function(e){return Math.round(e).toString(2)},c:function(e){return e+\"\"},d:a.a,e:function(e,t){return e.toExponential(t)},f:function(e,t){return e.toFixed(t)},g:function(e,t){return e.toPrecision(t)},o:function(e){return Math.round(e).toString(8)},p:function(e,t){return s(100*e,t)},r:s,s:function(e,t){var n=Object(a.b)(e,t);if(!n)return e+\"\";var i=n[0],o=n[1],s=o-(r=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,c=i.length;return s===c?i:s>c?i+new Array(s-c+1).join(\"0\"):s>0?i.slice(0,s)+\".\"+i.slice(s):\"0.\"+new Array(1-s).join(\"0\")+Object(a.b)(e,Math.max(0,t+s-1))[0]},X:function(e){return Math.round(e).toString(16).toUpperCase()},x:function(e){return Math.round(e).toString(16)}},u=function(e){return e},l=Array.prototype.map,f=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"\\xb5\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];t.a=function(e){var t,n,a=void 0===e.grouping||void 0===e.thousands?u:(t=l.call(e.grouping,Number),n=e.thousands+\"\",function(e,r){for(var i=e.length,o=[],a=0,s=t[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),o.push(e.substring(i-=s,i+s)),!((c+=s+1)>r));)s=t[a=(a+1)%t.length];return o.reverse().join(n)}),s=void 0===e.currency?\"\":e.currency[0]+\"\",d=void 0===e.currency?\"\":e.currency[1]+\"\",h=void 0===e.decimal?\".\":e.decimal+\"\",p=void 0===e.numerals?u:function(e){return function(t){return t.replace(/[0-9]/g,(function(t){return e[+t]}))}}(l.call(e.numerals,String)),g=void 0===e.percent?\"%\":e.percent+\"\",y=void 0===e.minus?\"-\":e.minus+\"\",m=void 0===e.nan?\"NaN\":e.nan+\"\";function b(e){var t=(e=Object(o.b)(e)).fill,n=e.align,i=e.sign,u=e.symbol,l=e.zero,b=e.width,v=e.comma,x=e.precision,w=e.trim,_=e.type;\"n\"===_?(v=!0,_=\"g\"):c[_]||(void 0===x&&(x=12),w=!0,_=\"g\"),(l||\"0\"===t&&\"=\"===n)&&(l=!0,t=\"0\",n=\"=\");var k=\"$\"===u?s:\"#\"===u&&/[boxX]/.test(_)?\"0\"+_.toLowerCase():\"\",O=\"$\"===u?d:/[%p]/.test(_)?g:\"\",E=c[_],S=/[defgprs%]/.test(_);function C(e){var o,s,c,u=k,d=O;if(\"c\"===_)d=E(e)+d,e=\"\";else{var g=(e=+e)<0||1/e<0;if(e=isNaN(e)?m:E(Math.abs(e),x),w&&(e=function(e){e:for(var t,n=e.length,r=1,i=-1;r<n;++r)switch(e[r]){case\".\":i=t=r;break;case\"0\":0===i&&(i=r),t=r;break;default:if(!+e[r])break e;i>0&&(i=0)}return i>0?e.slice(0,i)+e.slice(t+1):e}(e)),g&&0===+e&&\"+\"!==i&&(g=!1),u=(g?\"(\"===i?i:y:\"-\"===i||\"(\"===i?\"\":i)+u,d=(\"s\"===_?f[8+r/3]:\"\")+d+(g&&\"(\"===i?\")\":\"\"),S)for(o=-1,s=e.length;++o<s;)if(48>(c=e.charCodeAt(o))||c>57){d=(46===c?h+e.slice(o+1):e.slice(o))+d,e=e.slice(0,o);break}}v&&!l&&(e=a(e,1/0));var C=u.length+e.length+d.length,T=C<b?new Array(b-C+1).join(t):\"\";switch(v&&l&&(e=a(T+e,T.length?b-d.length:1/0),T=\"\"),n){case\"<\":e=u+e+d+T;break;case\"=\":e=u+T+e+d;break;case\"^\":e=T.slice(0,C=T.length>>1)+u+e+d+T.slice(C);break;default:e=T+u+e+d}return p(e)}return x=void 0===x?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,x)):Math.max(0,Math.min(20,x)),C.toString=function(){return e+\"\"},C}return{format:b,formatPrefix:function(e,t){var n=b(((e=Object(o.b)(e)).type=\"f\",e)),r=3*Math.max(-8,Math.min(8,Math.floor(Object(i.a)(t)/3))),a=Math.pow(10,-r),s=f[8+r/3];return function(e){return n(a*e)+s}}}}},function(e,t,n){\"use strict\";var r=Array.prototype.slice;t.a=function(e){for(var t,n,o=0,s=(e=function(e){for(var t,n,r=e.length;r;)n=Math.random()*r--|0,t=e[r],e[r]=e[n],e[n]=t;return e}(r.call(e))).length,u=[];o<s;)t=e[o],n&&a(n,t)?++o:(n=c(u=i(u,t)),o=0);return n};function i(e,t){var n,r;if(s(t,e))return[t];for(n=0;n<e.length;++n)if(o(t,e[n])&&s(u(e[n],t),e))return[e[n],t];for(n=0;n<e.length-1;++n)for(r=n+1;r<e.length;++r)if(o(u(e[n],e[r]),t)&&o(u(e[n],t),e[r])&&o(u(e[r],t),e[n])&&s(l(e[n],e[r],t),e))return[e[n],e[r],t];throw new Error}function o(e,t){var n=e.r-t.r,r=t.x-e.x,i=t.y-e.y;return n<0||n*n<r*r+i*i}function a(e,t){var n=e.r-t.r+1e-6,r=t.x-e.x,i=t.y-e.y;return n>0&&n*n>r*r+i*i}function s(e,t){for(var n=0;n<t.length;++n)if(!a(e,t[n]))return!1;return!0}function c(e){switch(e.length){case 1:return{x:(t=e[0]).x,y:t.y,r:t.r};case 2:return u(e[0],e[1]);case 3:return l(e[0],e[1],e[2])}var t}function u(e,t){var n=e.x,r=e.y,i=e.r,o=t.x,a=t.y,s=t.r,c=o-n,u=a-r,l=s-i,f=Math.sqrt(c*c+u*u);return{x:(n+o+c/f*l)/2,y:(r+a+u/f*l)/2,r:(f+i+s)/2}}function l(e,t,n){var r=e.x,i=e.y,o=e.r,a=t.x,s=t.y,c=t.r,u=n.x,l=n.y,f=n.r,d=r-a,h=r-u,p=i-s,g=i-l,y=c-o,m=f-o,b=r*r+i*i-o*o,v=b-a*a-s*s+c*c,x=b-u*u-l*l+f*f,w=h*p-d*g,_=(p*x-g*v)/(2*w)-r,k=(g*y-p*m)/w,O=(h*v-d*x)/(2*w)-i,E=(d*m-h*y)/w,S=k*k+E*E-1,C=2*(o+_*k+O*E),T=_*_+O*O-o*o,j=-(S?(C+Math.sqrt(C*C-4*S*T))/(2*S):T/C);return{x:r+_+k*j,y:i+O+E*j,r:j}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return a}));n(61),n(3);var r=n(78),i=(n(1),n(100),{xs:0,sm:600,md:960,lg:1280,xl:1920}),o={keys:[\"xs\",\"sm\",\"md\",\"lg\",\"xl\"],up:function(e){return\"@media (min-width:\".concat(i[e],\"px)\")}};function a(e,t,n){if(Array.isArray(t)){var i=e.theme.breakpoints||o;return t.reduce((function(e,r,o){return e[i.up(i.keys[o])]=n(t[o]),e}),{})}if(\"object\"===Object(r.a)(t)){var a=e.theme.breakpoints||o;return Object.keys(t).reduce((function(e,r){return e[a.up(r)]=n(t[r]),e}),{})}return n(t)}},function(e,t,n){\"use strict\";t.a={mobileStepper:1e3,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500}},function(e,t,n){\"use strict\";var r=n(128),i={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function c(e){return r.isMemo(e)?a:s[e.$$typeof]||i}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=a;var u=Object.defineProperty,l=Object.getOwnPropertyNames,f=Object.getOwnPropertySymbols,d=Object.getOwnPropertyDescriptor,h=Object.getPrototypeOf,p=Object.prototype;e.exports=function e(t,n,r){if(\"string\"!==typeof n){if(p){var i=h(n);i&&i!==p&&e(t,i,r)}var a=l(n);f&&(a=a.concat(f(n)));for(var s=c(t),g=c(n),y=0;y<a.length;++y){var m=a[y];if(!o[m]&&(!r||!r[m])&&(!g||!g[m])&&(!s||!s[m])){var b=d(n,m);try{u(t,m,b)}catch(v){}}}}return t}},function(e,t,n){\"use strict\";var r=n(0),i=n.n(r).a.createContext(null);t.a=i},function(e,t,n){\"use strict\";var r=\"function\"===typeof Symbol&&Symbol.for;t.a=r?Symbol.for(\"mui.nested\"):\"__THEME_NESTED__\"},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return s}));var r=n(3),i=n(0),o=n.n(i),a=n(147);function s(e,t){var n=o.a.memo(o.a.forwardRef((function(t,n){return o.a.createElement(a.a,Object(r.a)({ref:n},t),e)})));return n.muiName=a.a.muiName,n}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(0);function i(e){var t=r.useState(e),n=t[0],i=t[1],o=e||n;return r.useEffect((function(){null==n&&i(\"mui-\".concat(Math.round(1e5*Math.random())))}),[n]),o}},function(e,t,n){\"use strict\";function r(){var e=document.createElement(\"div\");e.style.width=\"99px\",e.style.height=\"99px\",e.style.position=\"absolute\",e.style.top=\"-9999px\",e.style.overflow=\"scroll\",document.body.appendChild(e);var t=e.offsetWidth-e.clientWidth;return document.body.removeChild(e),t}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";var r=n(0),i=r.createContext();t.a=i},function(e,t,n){\"use strict\";var r=n(3),i=n(32),o=n(7),a=n(0),s=(n(1),n(6)),c=n(102),u=n(60),l=n(8),f=n(702),d=a.forwardRef((function(e,t){var n=e.autoFocus,l=e.checked,d=e.checkedIcon,h=e.classes,p=e.className,g=e.defaultChecked,y=e.disabled,m=e.icon,b=e.id,v=e.inputProps,x=e.inputRef,w=e.name,_=e.onBlur,k=e.onChange,O=e.onFocus,E=e.readOnly,S=e.required,C=e.tabIndex,T=e.type,j=e.value,A=Object(o.a)(e,[\"autoFocus\",\"checked\",\"checkedIcon\",\"classes\",\"className\",\"defaultChecked\",\"disabled\",\"icon\",\"id\",\"inputProps\",\"inputRef\",\"name\",\"onBlur\",\"onChange\",\"onFocus\",\"readOnly\",\"required\",\"tabIndex\",\"type\",\"value\"]),M=Object(c.a)({controlled:l,default:Boolean(g),name:\"SwitchBase\",state:\"checked\"}),P=Object(i.a)(M,2),N=P[0],D=P[1],R=Object(u.a)(),I=y;R&&\"undefined\"===typeof I&&(I=R.disabled);var L=\"checkbox\"===T||\"radio\"===T;return a.createElement(f.a,Object(r.a)({component:\"span\",className:Object(s.a)(h.root,p,N&&h.checked,I&&h.disabled),disabled:I,tabIndex:null,role:void 0,onFocus:function(e){O&&O(e),R&&R.onFocus&&R.onFocus(e)},onBlur:function(e){_&&_(e),R&&R.onBlur&&R.onBlur(e)},ref:t},A),a.createElement(\"input\",Object(r.a)({autoFocus:n,checked:l,defaultChecked:g,className:h.input,disabled:I,id:L&&b,name:w,onChange:function(e){var t=e.target.checked;D(t),k&&k(e,t)},readOnly:E,ref:x,required:S,tabIndex:C,type:T,value:j},v)),N?d:m)}));t.a=Object(l.a)({root:{padding:9},checked:{},disabled:{},input:{cursor:\"inherit\",position:\"absolute\",opacity:0,width:\"100%\",height:\"100%\",top:0,left:0,margin:0,padding:0,zIndex:1}},{name:\"PrivateSwitchBase\"})(d)},function(e,t,n){\"use strict\";var r=n(70);Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=r(n(0)),o=(0,r(n(75)).default)(i.default.createElement(\"path\",{d:\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"}),\"Close\");t.default=o},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(170);function i(e,t){if(e){if(\"string\"===typeof e)return Object(r.a)(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Object(r.a)(e,t):void 0}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return g}));var r=n(56),i=n(35),o=n(151),a=-.14861,s=1.78277,c=-.29227,u=-.90649,l=1.97294,f=l*u,d=l*s,h=s*c-u*a;function p(e){if(e instanceof y)return new y(e.h,e.s,e.l,e.opacity);e instanceof i.b||(e=Object(i.h)(e));var t=e.r/255,n=e.g/255,r=e.b/255,a=(h*r+f*t-d*n)/(h+f-d),s=r-a,p=(l*(n-a)-c*s)/u,g=Math.sqrt(p*p+s*s)/(l*a*(1-a)),m=g?Math.atan2(p,s)*o.b-120:NaN;return new y(m<0?m+360:m,g,a,e.opacity)}function g(e,t,n,r){return 1===arguments.length?p(e):new y(e,t,n,null==r?1:r)}function y(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Object(r.a)(y,g,Object(r.b)(i.a,{brighter:function(e){return e=null==e?i.c:Math.pow(i.c,e),new y(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?i.d:Math.pow(i.d,e),new y(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=isNaN(this.h)?0:(this.h+120)*o.a,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),r=Math.cos(e),f=Math.sin(e);return new i.b(255*(t+n*(a*r+s*f)),255*(t+n*(c*r+u*f)),255*(t+n*(l*r)),this.opacity)}}))},function(e,t,n){\"use strict\";t.a=function(e){e.x0=Math.round(e.x0),e.y0=Math.round(e.y0),e.x1=Math.round(e.x1),e.y1=Math.round(e.y1)}},function(e,t,n){\"use strict\";var r=n(0),i=r.createContext();t.a=i},function(e,t,n){\"use strict\";var r=n(70);Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=r(n(0)),o=(0,r(n(75)).default)(i.default.createElement(i.default.Fragment,null,i.default.createElement(\"path\",{fill:\"none\",d:\"M0 0h24v24H0V0z\",opacity:\".87\"}),i.default.createElement(\"path\",{d:\"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm3.59-13L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41z\"})),\"CancelOutlined\");t.default=o},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return o}));var r=n(170);var i=n(218);function o(e){return function(e){if(Array.isArray(e))return Object(r.a)(e)}(e)||function(e){if(\"undefined\"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||Object(i.a)(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=n.n(o),s=(n(1),n(25)),c=n(6),u=n(22),l=n(42),f=n(8),d=n(143),h=n(61),p=n(51),g=n(82),y=n(47),m=n(146);function b(e,t){var n=Object.create(null);return e&&o.Children.map(e,(function(e){return e})).forEach((function(e){n[e.key]=function(e){return t&&Object(o.isValidElement)(e)?t(e):e}(e)})),n}function v(e,t,n){return null!=n[t]?n[t]:e.props[t]}function x(e,t,n){var r=b(e.children),i=function(e,t){function n(n){return n in t?t[n]:e[n]}e=e||{},t=t||{};var r,i=Object.create(null),o=[];for(var a in e)a in t?o.length&&(i[a]=o,o=[]):o.push(a);var s={};for(var c in t){if(i[c])for(r=0;r<i[c].length;r++){var u=i[c][r];s[i[c][r]]=n(u)}s[c]=n(c)}for(r=0;r<o.length;r++)s[o[r]]=n(o[r]);return s}(t,r);return Object.keys(i).forEach((function(a){var s=i[a];if(Object(o.isValidElement)(s)){var c=a in t,u=a in r,l=t[a],f=Object(o.isValidElement)(l)&&!l.props.in;!u||c&&!f?u||!c||f?u&&c&&Object(o.isValidElement)(l)&&(i[a]=Object(o.cloneElement)(s,{onExited:n.bind(null,s),in:l.props.in,exit:v(s,\"exit\",e),enter:v(s,\"enter\",e)})):i[a]=Object(o.cloneElement)(s,{in:!1}):i[a]=Object(o.cloneElement)(s,{onExited:n.bind(null,s),in:!0,exit:v(s,\"exit\",e),enter:v(s,\"enter\",e)})}})),i}var w=Object.values||function(e){return Object.keys(e).map((function(t){return e[t]}))},_=function(e){function t(t,n){var r,i=(r=e.call(this,t,n)||this).handleExited.bind(Object(g.a)(r));return r.state={contextValue:{isMounting:!0},handleExited:i,firstRender:!0},r}Object(y.a)(t,e);var n=t.prototype;return n.componentDidMount=function(){this.mounted=!0,this.setState({contextValue:{isMounting:!1}})},n.componentWillUnmount=function(){this.mounted=!1},t.getDerivedStateFromProps=function(e,t){var n,r,i=t.children,a=t.handleExited;return{children:t.firstRender?(n=e,r=a,b(n.children,(function(e){return Object(o.cloneElement)(e,{onExited:r.bind(null,e),in:!0,appear:v(e,\"appear\",n),enter:v(e,\"enter\",n),exit:v(e,\"exit\",n)})}))):x(e,i,a),firstRender:!1}},n.handleExited=function(e,t){var n=b(this.props.children);e.key in n||(e.props.onExited&&e.props.onExited(t),this.mounted&&this.setState((function(t){var n=Object(r.a)({},t.children);return delete n[e.key],{children:n}})))},n.render=function(){var e=this.props,t=e.component,n=e.childFactory,r=Object(p.a)(e,[\"component\",\"childFactory\"]),i=this.state.contextValue,o=w(this.state.children).map(n);return delete r.appear,delete r.enter,delete r.exit,null===t?a.a.createElement(m.a.Provider,{value:i},o):a.a.createElement(m.a.Provider,{value:i},a.a.createElement(t,r,o))},t}(a.a.Component);_.propTypes={},_.defaultProps={component:\"div\",childFactory:function(e){return e}};var k=_,O=\"undefined\"===typeof window?o.useEffect:o.useLayoutEffect;var E=function(e){var t=e.classes,n=e.pulsate,r=void 0!==n&&n,i=e.rippleX,a=e.rippleY,s=e.rippleSize,u=e.in,f=e.onExited,d=void 0===f?function(){}:f,h=e.timeout,p=o.useState(!1),g=p[0],y=p[1],m=Object(c.a)(t.ripple,t.rippleVisible,r&&t.ripplePulsate),b={width:s,height:s,top:-s/2+a,left:-s/2+i},v=Object(c.a)(t.child,g&&t.childLeaving,r&&t.childPulsate),x=Object(l.a)(d);return O((function(){if(!u){y(!0);var e=setTimeout(x,h);return function(){clearTimeout(e)}}}),[x,u,h]),o.createElement(\"span\",{className:m,style:b},o.createElement(\"span\",{className:v}))},S=o.forwardRef((function(e,t){var n=e.center,a=void 0!==n&&n,s=e.classes,u=e.className,l=Object(i.a)(e,[\"center\",\"classes\",\"className\"]),f=o.useState([]),d=f[0],p=f[1],g=o.useRef(0),y=o.useRef(null);o.useEffect((function(){y.current&&(y.current(),y.current=null)}),[d]);var m=o.useRef(!1),b=o.useRef(null),v=o.useRef(null),x=o.useRef(null);o.useEffect((function(){return function(){clearTimeout(b.current)}}),[]);var w=o.useCallback((function(e){var t=e.pulsate,n=e.rippleX,r=e.rippleY,i=e.rippleSize,a=e.cb;p((function(e){return[].concat(Object(h.a)(e),[o.createElement(E,{key:g.current,classes:s,timeout:550,pulsate:t,rippleX:n,rippleY:r,rippleSize:i})])})),g.current+=1,y.current=a}),[s]),_=o.useCallback((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=t.pulsate,i=void 0!==r&&r,o=t.center,s=void 0===o?a||t.pulsate:o,c=t.fakeElement,u=void 0!==c&&c;if(\"mousedown\"===e.type&&m.current)m.current=!1;else{\"touchstart\"===e.type&&(m.current=!0);var l,f,d,h=u?null:x.current,p=h?h.getBoundingClientRect():{width:0,height:0,left:0,top:0};if(s||0===e.clientX&&0===e.clientY||!e.clientX&&!e.touches)l=Math.round(p.width/2),f=Math.round(p.height/2);else{var g=e.touches?e.touches[0]:e,y=g.clientX,_=g.clientY;l=Math.round(y-p.left),f=Math.round(_-p.top)}if(s)(d=Math.sqrt((2*Math.pow(p.width,2)+Math.pow(p.height,2))/3))%2===0&&(d+=1);else{var k=2*Math.max(Math.abs((h?h.clientWidth:0)-l),l)+2,O=2*Math.max(Math.abs((h?h.clientHeight:0)-f),f)+2;d=Math.sqrt(Math.pow(k,2)+Math.pow(O,2))}e.touches?null===v.current&&(v.current=function(){w({pulsate:i,rippleX:l,rippleY:f,rippleSize:d,cb:n})},b.current=setTimeout((function(){v.current&&(v.current(),v.current=null)}),80)):w({pulsate:i,rippleX:l,rippleY:f,rippleSize:d,cb:n})}}),[a,w]),O=o.useCallback((function(){_({},{pulsate:!0})}),[_]),S=o.useCallback((function(e,t){if(clearTimeout(b.current),\"touchend\"===e.type&&v.current)return e.persist(),v.current(),v.current=null,void(b.current=setTimeout((function(){S(e,t)})));v.current=null,p((function(e){return e.length>0?e.slice(1):e})),y.current=t}),[]);return o.useImperativeHandle(t,(function(){return{pulsate:O,start:_,stop:S}}),[O,_,S]),o.createElement(\"span\",Object(r.a)({className:Object(c.a)(s.root,u),ref:x},l),o.createElement(k,{component:null,exit:!0},d))})),C=Object(f.a)((function(e){return{root:{overflow:\"hidden\",pointerEvents:\"none\",position:\"absolute\",zIndex:0,top:0,right:0,bottom:0,left:0,borderRadius:\"inherit\"},ripple:{opacity:0,position:\"absolute\"},rippleVisible:{opacity:.3,transform:\"scale(1)\",animation:\"$enter \".concat(550,\"ms \").concat(e.transitions.easing.easeInOut)},ripplePulsate:{animationDuration:\"\".concat(e.transitions.duration.shorter,\"ms\")},child:{opacity:1,display:\"block\",width:\"100%\",height:\"100%\",borderRadius:\"50%\",backgroundColor:\"currentColor\"},childLeaving:{opacity:0,animation:\"$exit \".concat(550,\"ms \").concat(e.transitions.easing.easeInOut)},childPulsate:{position:\"absolute\",left:0,top:0,animation:\"$pulsate 2500ms \".concat(e.transitions.easing.easeInOut,\" 200ms infinite\")},\"@keyframes enter\":{\"0%\":{transform:\"scale(0)\",opacity:.1},\"100%\":{transform:\"scale(1)\",opacity:.3}},\"@keyframes exit\":{\"0%\":{opacity:1},\"100%\":{opacity:0}},\"@keyframes pulsate\":{\"0%\":{transform:\"scale(1)\"},\"50%\":{transform:\"scale(0.92)\"},\"100%\":{transform:\"scale(1)\"}}}}),{flip:!1,name:\"MuiTouchRipple\"})(o.memo(S)),T=o.forwardRef((function(e,t){var n=e.action,a=e.buttonRef,f=e.centerRipple,h=void 0!==f&&f,p=e.children,g=e.classes,y=e.className,m=e.component,b=void 0===m?\"button\":m,v=e.disabled,x=void 0!==v&&v,w=e.disableRipple,_=void 0!==w&&w,k=e.disableTouchRipple,O=void 0!==k&&k,E=e.focusRipple,S=void 0!==E&&E,T=e.focusVisibleClassName,j=e.onBlur,A=e.onClick,M=e.onFocus,P=e.onFocusVisible,N=e.onKeyDown,D=e.onKeyUp,R=e.onMouseDown,I=e.onMouseLeave,L=e.onMouseUp,B=e.onTouchEnd,F=e.onTouchMove,z=e.onTouchStart,U=e.onDragLeave,H=e.tabIndex,W=void 0===H?0:H,Y=e.TouchRippleProps,V=e.type,q=void 0===V?\"button\":V,$=Object(i.a)(e,[\"action\",\"buttonRef\",\"centerRipple\",\"children\",\"classes\",\"className\",\"component\",\"disabled\",\"disableRipple\",\"disableTouchRipple\",\"focusRipple\",\"focusVisibleClassName\",\"onBlur\",\"onClick\",\"onFocus\",\"onFocusVisible\",\"onKeyDown\",\"onKeyUp\",\"onMouseDown\",\"onMouseLeave\",\"onMouseUp\",\"onTouchEnd\",\"onTouchMove\",\"onTouchStart\",\"onDragLeave\",\"tabIndex\",\"TouchRippleProps\",\"type\"]),G=o.useRef(null);var X=o.useRef(null),K=o.useState(!1),Z=K[0],J=K[1];x&&Z&&J(!1);var Q=Object(d.a)(),ee=Q.isFocusVisible,te=Q.onBlurVisible,ne=Q.ref;function re(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:O;return Object(l.a)((function(r){return t&&t(r),!n&&X.current&&X.current[e](r),!0}))}o.useImperativeHandle(n,(function(){return{focusVisible:function(){J(!0),G.current.focus()}}}),[]),o.useEffect((function(){Z&&S&&!_&&X.current.pulsate()}),[_,S,Z]);var ie=re(\"start\",R),oe=re(\"stop\",U),ae=re(\"stop\",L),se=re(\"stop\",(function(e){Z&&e.preventDefault(),I&&I(e)})),ce=re(\"start\",z),ue=re(\"stop\",B),le=re(\"stop\",F),fe=re(\"stop\",(function(e){Z&&(te(e),J(!1)),j&&j(e)}),!1),de=Object(l.a)((function(e){G.current||(G.current=e.currentTarget),ee(e)&&(J(!0),P&&P(e)),M&&M(e)})),he=function(){var e=s.findDOMNode(G.current);return b&&\"button\"!==b&&!(\"A\"===e.tagName&&e.href)},pe=o.useRef(!1),ge=Object(l.a)((function(e){S&&!pe.current&&Z&&X.current&&\" \"===e.key&&(pe.current=!0,e.persist(),X.current.stop(e,(function(){X.current.start(e)}))),e.target===e.currentTarget&&he()&&\" \"===e.key&&e.preventDefault(),N&&N(e),e.target===e.currentTarget&&he()&&\"Enter\"===e.key&&!x&&(e.preventDefault(),A&&A(e))})),ye=Object(l.a)((function(e){S&&\" \"===e.key&&X.current&&Z&&!e.defaultPrevented&&(pe.current=!1,e.persist(),X.current.stop(e,(function(){X.current.pulsate(e)}))),D&&D(e),A&&e.target===e.currentTarget&&he()&&\" \"===e.key&&!e.defaultPrevented&&A(e)})),me=b;\"button\"===me&&$.href&&(me=\"a\");var be={};\"button\"===me?(be.type=q,be.disabled=x):(\"a\"===me&&$.href||(be.role=\"button\"),be[\"aria-disabled\"]=x);var ve=Object(u.a)(a,t),xe=Object(u.a)(ne,G),we=Object(u.a)(ve,xe),_e=o.useState(!1),ke=_e[0],Oe=_e[1];o.useEffect((function(){Oe(!0)}),[]);var Ee=ke&&!_&&!x;return o.createElement(me,Object(r.a)({className:Object(c.a)(g.root,y,Z&&[g.focusVisible,T],x&&g.disabled),onBlur:fe,onClick:A,onFocus:de,onKeyDown:ge,onKeyUp:ye,onMouseDown:ie,onMouseLeave:se,onMouseUp:ae,onDragLeave:oe,onTouchEnd:ue,onTouchMove:le,onTouchStart:ce,ref:we,tabIndex:x?-1:W},be,$),p,Ee?o.createElement(C,Object(r.a)({ref:X,center:h},Y)):null)}));t.a=Object(f.a)({root:{display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",position:\"relative\",WebkitTapHighlightColor:\"transparent\",backgroundColor:\"transparent\",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:\"pointer\",userSelect:\"none\",verticalAlign:\"middle\",\"-moz-appearance\":\"none\",\"-webkit-appearance\":\"none\",textDecoration:\"none\",color:\"inherit\",\"&::-moz-focus-inner\":{borderStyle:\"none\"},\"&$disabled\":{pointerEvents:\"none\",cursor:\"default\"},\"@media print\":{colorAdjust:\"exact\"}},disabled:{},focusVisible:{}},{name:\"MuiButtonBase\"})(T)},,function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return a}));var r=n(219),i=n(29);function o(e){return function t(n){function o(t,o){var a=e((t=Object(r.a)(t)).h,(o=Object(r.a)(o)).h),s=Object(i.a)(t.s,o.s),c=Object(i.a)(t.l,o.l),u=Object(i.a)(t.opacity,o.opacity);return function(e){return t.h=a(e),t.s=s(e),t.l=c(Math.pow(e,n)),t.opacity=u(e),t+\"\"}}return n=+n,o.gamma=t,o}(1)}t.b=o(i.c);var a=o(i.a)},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return o}));var r=n(26),i=Object(r.a)((function(e){e.setDate(1),e.setHours(0,0,0,0)}),(function(e,t){e.setMonth(e.getMonth()+t)}),(function(e,t){return t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear())}),(function(e){return e.getMonth()}));t.a=i;var o=i.range},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return a}));var r=n(26),i=n(28),o=Object(r.a)((function(e){e.setTime(e-e.getMilliseconds()-e.getSeconds()*i.d-e.getMinutes()*i.c)}),(function(e,t){e.setTime(+e+t*i.b)}),(function(e,t){return(t-e)/i.b}),(function(e){return e.getHours()}));t.a=o;var a=o.range},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return a}));var r=n(26),i=n(28),o=Object(r.a)((function(e){e.setTime(e-e.getMilliseconds()-e.getSeconds()*i.d)}),(function(e,t){e.setTime(+e+t*i.c)}),(function(e,t){return(t-e)/i.c}),(function(e){return e.getMinutes()}));t.a=o;var a=o.range},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return o}));var r=n(26),i=Object(r.a)((function(e){e.setUTCDate(1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCMonth(e.getUTCMonth()+t)}),(function(e,t){return t.getUTCMonth()-e.getUTCMonth()+12*(t.getUTCFullYear()-e.getUTCFullYear())}),(function(e){return e.getUTCMonth()}));t.a=i;var o=i.range},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return a}));var r=n(26),i=n(28),o=Object(r.a)((function(e){e.setUTCMinutes(0,0,0)}),(function(e,t){e.setTime(+e+t*i.b)}),(function(e,t){return(t-e)/i.b}),(function(e){return e.getUTCHours()}));t.a=o;var a=o.range},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return a}));var r=n(26),i=n(28),o=Object(r.a)((function(e){e.setUTCSeconds(0,0)}),(function(e,t){e.setTime(+e+t*i.c)}),(function(e,t){return(t-e)/i.c}),(function(e){return e.getUTCMinutes()}));t.a=o;var a=o.range},function(e,t,n){var r=n(435);e.exports={Graph:r.Graph,json:n(537),alg:n(538),version:r.version}},function(e,t,n){\"use strict\";var r=n(64);e.exports=o;var i=\"\\0\";function o(e){this._isDirected=!r.has(e,\"directed\")||e.directed,this._isMultigraph=!!r.has(e,\"multigraph\")&&e.multigraph,this._isCompound=!!r.has(e,\"compound\")&&e.compound,this._label=void 0,this._defaultNodeLabelFn=r.constant(void 0),this._defaultEdgeLabelFn=r.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[\"\\0\"]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function a(e,t){e[t]?e[t]++:e[t]=1}function s(e,t){--e[t]||delete e[t]}function c(e,t,n,i){var o=\"\"+t,a=\"\"+n;if(!e&&o>a){var s=o;o=a,a=s}return o+\"\\x01\"+a+\"\\x01\"+(r.isUndefined(i)?\"\\0\":i)}function u(e,t,n,r){var i=\"\"+t,o=\"\"+n;if(!e&&i>o){var a=i;i=o,o=a}var s={v:i,w:o};return r&&(s.name=r),s}function l(e,t){return c(e,t.v,t.w,t.name)}o.prototype._nodeCount=0,o.prototype._edgeCount=0,o.prototype.isDirected=function(){return this._isDirected},o.prototype.isMultigraph=function(){return this._isMultigraph},o.prototype.isCompound=function(){return this._isCompound},o.prototype.setGraph=function(e){return this._label=e,this},o.prototype.graph=function(){return this._label},o.prototype.setDefaultNodeLabel=function(e){return r.isFunction(e)||(e=r.constant(e)),this._defaultNodeLabelFn=e,this},o.prototype.nodeCount=function(){return this._nodeCount},o.prototype.nodes=function(){return r.keys(this._nodes)},o.prototype.sources=function(){var e=this;return r.filter(this.nodes(),(function(t){return r.isEmpty(e._in[t])}))},o.prototype.sinks=function(){var e=this;return r.filter(this.nodes(),(function(t){return r.isEmpty(e._out[t])}))},o.prototype.setNodes=function(e,t){var n=arguments,i=this;return r.each(e,(function(e){n.length>1?i.setNode(e,t):i.setNode(e)})),this},o.prototype.setNode=function(e,t){return r.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=i,this._children[e]={},this._children[\"\\0\"][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},o.prototype.node=function(e){return this._nodes[e]},o.prototype.hasNode=function(e){return r.has(this._nodes,e)},o.prototype.removeNode=function(e){var t=this;if(r.has(this._nodes,e)){var n=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],r.each(this.children(e),(function(e){t.setParent(e)})),delete this._children[e]),r.each(r.keys(this._in[e]),n),delete this._in[e],delete this._preds[e],r.each(r.keys(this._out[e]),n),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},o.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error(\"Cannot set parent in a non-compound graph\");if(r.isUndefined(t))t=i;else{for(var n=t+=\"\";!r.isUndefined(n);n=this.parent(n))if(n===e)throw new Error(\"Setting \"+t+\" as parent of \"+e+\" would create a cycle\");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},o.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},o.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==i)return t}},o.prototype.children=function(e){if(r.isUndefined(e)&&(e=i),this._isCompound){var t=this._children[e];if(t)return r.keys(t)}else{if(e===i)return this.nodes();if(this.hasNode(e))return[]}},o.prototype.predecessors=function(e){var t=this._preds[e];if(t)return r.keys(t)},o.prototype.successors=function(e){var t=this._sucs[e];if(t)return r.keys(t)},o.prototype.neighbors=function(e){var t=this.predecessors(e);if(t)return r.union(t,this.successors(e))},o.prototype.isLeaf=function(e){return 0===(this.isDirected()?this.successors(e):this.neighbors(e)).length},o.prototype.filterNodes=function(e){var t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph());var n=this;r.each(this._nodes,(function(n,r){e(r)&&t.setNode(r,n)})),r.each(this._edgeObjs,(function(e){t.hasNode(e.v)&&t.hasNode(e.w)&&t.setEdge(e,n.edge(e))}));var i={};function o(e){var r=n.parent(e);return void 0===r||t.hasNode(r)?(i[e]=r,r):r in i?i[r]:o(r)}return this._isCompound&&r.each(t.nodes(),(function(e){t.setParent(e,o(e))})),t},o.prototype.setDefaultEdgeLabel=function(e){return r.isFunction(e)||(e=r.constant(e)),this._defaultEdgeLabelFn=e,this},o.prototype.edgeCount=function(){return this._edgeCount},o.prototype.edges=function(){return r.values(this._edgeObjs)},o.prototype.setPath=function(e,t){var n=this,i=arguments;return r.reduce(e,(function(e,r){return i.length>1?n.setEdge(e,r,t):n.setEdge(e,r),r})),this},o.prototype.setEdge=function(){var e,t,n,i,o=!1,s=arguments[0];\"object\"===typeof s&&null!==s&&\"v\"in s?(e=s.v,t=s.w,n=s.name,2===arguments.length&&(i=arguments[1],o=!0)):(e=s,t=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=\"\"+e,t=\"\"+t,r.isUndefined(n)||(n=\"\"+n);var l=c(this._isDirected,e,t,n);if(r.has(this._edgeLabels,l))return o&&(this._edgeLabels[l]=i),this;if(!r.isUndefined(n)&&!this._isMultigraph)throw new Error(\"Cannot set a named edge when isMultigraph = false\");this.setNode(e),this.setNode(t),this._edgeLabels[l]=o?i:this._defaultEdgeLabelFn(e,t,n);var f=u(this._isDirected,e,t,n);return e=f.v,t=f.w,Object.freeze(f),this._edgeObjs[l]=f,a(this._preds[t],e),a(this._sucs[e],t),this._in[t][l]=f,this._out[e][l]=f,this._edgeCount++,this},o.prototype.edge=function(e,t,n){var r=1===arguments.length?l(this._isDirected,arguments[0]):c(this._isDirected,e,t,n);return this._edgeLabels[r]},o.prototype.hasEdge=function(e,t,n){var i=1===arguments.length?l(this._isDirected,arguments[0]):c(this._isDirected,e,t,n);return r.has(this._edgeLabels,i)},o.prototype.removeEdge=function(e,t,n){var r=1===arguments.length?l(this._isDirected,arguments[0]):c(this._isDirected,e,t,n),i=this._edgeObjs[r];return i&&(e=i.v,t=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],s(this._preds[t],e),s(this._sucs[e],t),delete this._in[t][r],delete this._out[e][r],this._edgeCount--),this},o.prototype.inEdges=function(e,t){var n=this._in[e];if(n){var i=r.values(n);return t?r.filter(i,(function(e){return e.v===t})):i}},o.prototype.outEdges=function(e,t){var n=this._out[e];if(n){var i=r.values(n);return t?r.filter(i,(function(e){return e.w===t})):i}},o.prototype.nodeEdges=function(e,t){var n=this.inEdges(e,t);if(n)return n.concat(this.outEdges(e,t))}},function(e,t,n){var r=n(115)(n(72),\"Map\");e.exports=r},function(e,t,n){var r=n(453),i=n(460),o=n(462),a=n(463),s=n(464);function c(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=i,c.prototype.get=o,c.prototype.has=a,c.prototype.set=s,e.exports=c},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}},function(e,t){e.exports=function(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},function(e,t,n){(function(e){var r=n(291),i=t&&!t.nodeType&&t,o=i&&\"object\"==typeof e&&e&&!e.nodeType&&e,a=o&&o.exports===i&&r.process,s=function(){try{var e=o&&o.require&&o.require(\"util\").types;return e||a&&a.binding&&a.binding(\"util\")}catch(t){}}();e.exports=s}).call(this,n(157)(e))},function(e,t,n){var r=n(183),i=n(470),o=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return i(e);var t=[];for(var n in Object(e))o.call(e,n)&&\"constructor\"!=n&&t.push(n);return t}},function(e,t,n){var r=n(298),i=n(299),o=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(e){return null==e?[]:(e=Object(e),r(a(e),(function(t){return o.call(e,t)})))}:i;e.exports=s},function(e,t){e.exports=function(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}},function(e,t,n){var r=n(304);e.exports=function(e){var t=new e.constructor(e.byteLength);return new r(t).set(new r(e)),t}},function(e,t){e.exports=function(e){return function(){return e}}},function(e,t,n){e.exports=n(308)},function(e,t,n){var r=n(247),i=n(95);e.exports=function(e,t){return e&&r(e,t,i)}},function(e,t,n){var r=n(489)();e.exports=r},function(e,t){e.exports=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}},function(e,t,n){var r=n(39),i=n(135),o=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,a=/^\\w*$/;e.exports=function(e,t){if(r(e))return!1;var n=typeof e;return!(\"number\"!=n&&\"symbol\"!=n&&\"boolean\"!=n&&null!=e&&!i(e))||(a.test(e)||!o.test(e)||null!=t&&e in Object(t))}},function(e,t,n){var r=n(511),i=n(319);e.exports=function(e,t){return null!=e&&i(e,t,r)}},function(e,t,n){var r=n(242),i=n(523);e.exports=function e(t,n,o,a,s){var c=-1,u=t.length;for(o||(o=i),s||(s=[]);++c<u;){var l=t[c];n>0&&o(l)?n>1?e(l,n-1,o,a,s):r(s,l):a||(s[s.length]=l)}return s}},function(e,t,n){var r=n(135);e.exports=function(e,t,n){for(var i=-1,o=e.length;++i<o;){var a=e[i],s=t(a);if(null!=s&&(void 0===c?s===s&&!r(s):n(s,c)))var c=s,u=a}return u}},function(e,t){e.exports=function(e,t,n,r){var i=e.x,o=e.y,a=i-r.x,s=o-r.y,c=Math.sqrt(t*t*s*s+n*n*a*a),u=Math.abs(t*n*a/c);r.x<i&&(u=-u);var l=Math.abs(t*n*s/c);r.y<o&&(l=-l);return{x:i+u,y:o+l}}},function(e,t,n){var r=n(611),i=n(351),o=n(612);e.exports=function(e,t,n){var a=t.label,s=e.append(\"g\");\"svg\"===t.labelType?o(s,t):\"string\"!==typeof a||\"html\"===t.labelType?i(s,t):r(s,t);var c,u=s.node().getBBox();switch(n){case\"top\":c=-t.height/2;break;case\"bottom\":c=t.height/2-u.height;break;default:c=-u.height/2}return s.attr(\"transform\",\"translate(\"+-u.width/2+\",\"+c+\")\"),s}},function(e,t,n){\"use strict\";var r;Object.defineProperty(t,\"__esModule\",{value:!0}),function(e){e[e.ALL=0]=\"ALL\",e[e.RGB=1]=\"RGB\",e[e.HSL=2]=\"HSL\"}(r||(r={})),t.TYPE=r},function(e,t,n){\"use strict\";(function(t){var r=n(57),i=n(658),o=n(364),a={\"Content-Type\":\"application/x-www-form-urlencoded\"};function s(e,t){!r.isUndefined(e)&&r.isUndefined(e[\"Content-Type\"])&&(e[\"Content-Type\"]=t)}var c={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:function(){var e;return(\"undefined\"!==typeof XMLHttpRequest||\"undefined\"!==typeof t&&\"[object process]\"===Object.prototype.toString.call(t))&&(e=n(365)),e}(),transformRequest:[function(e,t){return i(t,\"Accept\"),i(t,\"Content-Type\"),r.isFormData(e)||r.isArrayBuffer(e)||r.isBuffer(e)||r.isStream(e)||r.isFile(e)||r.isBlob(e)?e:r.isArrayBufferView(e)?e.buffer:r.isURLSearchParams(e)?(s(t,\"application/x-www-form-urlencoded;charset=utf-8\"),e.toString()):r.isObject(e)||t&&\"application/json\"===t[\"Content-Type\"]?(s(t,\"application/json\"),JSON.stringify(e)):e}],transformResponse:[function(e){var t=this.transitional,n=t&&t.silentJSONParsing,i=t&&t.forcedJSONParsing,a=!n&&\"json\"===this.responseType;if(a||i&&r.isString(e)&&e.length)try{return JSON.parse(e)}catch(s){if(a){if(\"SyntaxError\"===s.name)throw o(s,this,\"E_JSON_PARSE\");throw s}}return e}],timeout:0,xsrfCookieName:\"XSRF-TOKEN\",xsrfHeaderName:\"X-XSRF-TOKEN\",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:\"application/json, text/plain, */*\"}}};r.forEach([\"delete\",\"get\",\"head\"],(function(e){c.headers[e]={}})),r.forEach([\"post\",\"put\",\"patch\"],(function(e){c.headers[e]=r.merge(a)})),e.exports=c}).call(this,n(156))},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=0);return t},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e,t,n,i,o,a,s){var c=n+(-o*(t-i)+-a*n)*e,u=t+c*e;if(Math.abs(c)<s&&Math.abs(u-i)<s)return r[0]=i,r[1]=0,r;return r[0]=u,r[1]=c,r};var r=[0,0];e.exports=t.default},function(e,t,n){(function(t){(function(){var n,r,i;\"undefined\"!==typeof performance&&null!==performance&&performance.now?e.exports=function(){return performance.now()}:\"undefined\"!==typeof t&&null!==t&&t.hrtime?(e.exports=function(){return(n()-i)/1e6},r=t.hrtime,i=(n=function(){var e;return 1e9*(e=r())[0]+e[1]})()):Date.now?(e.exports=function(){return Date.now()-i},i=Date.now()):(e.exports=function(){return(new Date).getTime()-i},i=(new Date).getTime())}).call(this)}).call(this,n(156))},function(e,t,n){(function(t){for(var r=n(672),i=\"undefined\"===typeof window?t:window,o=[\"moz\",\"webkit\"],a=\"AnimationFrame\",s=i[\"request\"+a],c=i[\"cancel\"+a]||i[\"cancelRequest\"+a],u=0;!s&&u<o.length;u++)s=i[o[u]+\"Request\"+a],c=i[o[u]+\"Cancel\"+a]||i[o[u]+\"CancelRequest\"+a];if(!s||!c){var l=0,f=0,d=[];s=function(e){if(0===d.length){var t=r(),n=Math.max(0,16.666666666666668-(t-l));l=n+t,setTimeout((function(){var e=d.slice(0);d.length=0;for(var t=0;t<e.length;t++)if(!e[t].cancelled)try{e[t].callback(l)}catch(n){setTimeout((function(){throw n}),0)}}),Math.round(n))}return d.push({handle:++f,callback:e,cancelled:!1}),f},c=function(e){for(var t=0;t<d.length;t++)d[t].handle===e&&(d[t].cancelled=!0)}}e.exports=function(e){return s.call(i,e)},e.exports.cancel=function(){c.apply(i,arguments)},e.exports.polyfill=function(e){e||(e=i),e.requestAnimationFrame=s,e.cancelAnimationFrame=c}}).call(this,n(113))},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e,t,n){for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)){if(0!==n[r])return!1;var i=\"number\"===typeof t[r]?t[r]:t[r].val;if(e[r]!==i)return!1}return!0},e.exports=t.default},function(e,t,n){\"use strict\";(function(t){var r=t.Symbol,i=n(684);e.exports=function(){return\"function\"===typeof r&&(\"function\"===typeof Symbol&&(\"symbol\"===typeof r(\"foo\")&&(\"symbol\"===typeof Symbol(\"bar\")&&i())))}}).call(this,n(113))},function(e,t,n){\"use strict\";n.d(t,\"c\",(function(){return v})),n.d(t,\"h\",(function(){return fe})),n.d(t,\"i\",(function(){return ke})),n.d(t,\"j\",(function(){return De})),n.d(t,\"k\",(function(){return $e})),n.d(t,\"l\",(function(){return Ge})),n.d(t,\"m\",(function(){return tt})),n.d(t,\"n\",(function(){return Ze})),n.d(t,\"u\",(function(){return vt})),n.d(t,\"v\",(function(){return lt})),n.d(t,\"C\",(function(){return _t})),n.d(t,\"D\",(function(){return kt})),n.d(t,\"F\",(function(){return Ot})),n.d(t,\"G\",(function(){return st})),n.d(t,\"N\",(function(){return Et.a})),n.d(t,\"a\",(function(){return qt})),n.d(t,\"b\",(function(){return $t})),n.d(t,\"d\",(function(){return Zt})),n.d(t,\"e\",(function(){return Kt})),n.d(t,\"f\",(function(){return Qt})),n.d(t,\"g\",(function(){return Jt})),n.d(t,\"o\",(function(){return an})),n.d(t,\"p\",(function(){return on})),n.d(t,\"q\",(function(){return Vt})),n.d(t,\"r\",(function(){return Yt})),n.d(t,\"s\",(function(){return ln})),n.d(t,\"t\",(function(){return un})),n.d(t,\"w\",(function(){return mn})),n.d(t,\"x\",(function(){return yn})),n.d(t,\"y\",(function(){return cn})),n.d(t,\"z\",(function(){return sn})),n.d(t,\"A\",(function(){return vn})),n.d(t,\"B\",(function(){return bn})),n.d(t,\"E\",(function(){return xn})),n.d(t,\"O\",(function(){return Ut})),n.d(t,\"P\",(function(){return Ht})),n.d(t,\"H\",(function(){return tn})),n.d(t,\"I\",(function(){return en})),n.d(t,\"J\",(function(){return _n})),n.d(t,\"K\",(function(){return wn})),n.d(t,\"L\",(function(){return On})),n.d(t,\"M\",(function(){return kn})),n.d(t,\"R\",(function(){return Sn})),n.d(t,\"S\",(function(){return En})),n.d(t,\"V\",(function(){return Tn})),n.d(t,\"W\",(function(){return Cn})),n.d(t,\"Q\",(function(){return Me})),n.d(t,\"T\",(function(){return f.a})),n.d(t,\"U\",(function(){return Ct}));var r,i,o,a,s,c=n(54),u=n(2),l=n(27),f=n(45),d=Object(c.a)(),h=Object(c.a)(),p={point:l.a,lineStart:l.a,lineEnd:l.a,polygonStart:function(){d.reset(),p.lineStart=g,p.lineEnd=y},polygonEnd:function(){var e=+d;h.add(e<0?u.w+e:e),this.lineStart=this.lineEnd=this.point=l.a},sphere:function(){h.add(u.w)}};function g(){p.point=m}function y(){b(r,i)}function m(e,t){p.point=b,r=e,i=t,e*=u.r,t*=u.r,o=e,a=Object(u.g)(t=t/2+u.q),s=Object(u.t)(t)}function b(e,t){e*=u.r,t=(t*=u.r)/2+u.q;var n=e-o,r=n>=0?1:-1,i=r*n,c=Object(u.g)(t),l=Object(u.t)(t),f=s*l,h=a*c+f*Object(u.g)(i),p=f*r*Object(u.t)(i);d.add(Object(u.e)(p,h)),o=e,a=c,s=l}var v=function(e){return h.reset(),Object(f.a)(e,p),2*h};function x(e){return[Object(u.e)(e[1],e[0]),Object(u.c)(e[2])]}function w(e){var t=e[0],n=e[1],r=Object(u.g)(n);return[r*Object(u.g)(t),r*Object(u.t)(t),Object(u.t)(n)]}function _(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function k(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function O(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function E(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function S(e){var t=Object(u.u)(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}var C,T,j,A,M,P,N,D,R,I,L=Object(c.a)(),B={point:F,lineStart:U,lineEnd:H,polygonStart:function(){B.point=W,B.lineStart=Y,B.lineEnd=V,L.reset(),p.polygonStart()},polygonEnd:function(){p.polygonEnd(),B.point=F,B.lineStart=U,B.lineEnd=H,d<0?(C=-(j=180),T=-(A=90)):L>u.i?A=90:L<-u.i&&(T=-90),I[0]=C,I[1]=j},sphere:function(){C=-(j=180),T=-(A=90)}};function F(e,t){R.push(I=[C=e,j=e]),t<T&&(T=t),t>A&&(A=t)}function z(e,t){var n=w([e*u.r,t*u.r]);if(D){var r=k(D,n),i=k([r[1],-r[0],0],r);S(i),i=x(i);var o,a=e-M,s=a>0?1:-1,c=i[0]*u.h*s,l=Object(u.a)(a)>180;l^(s*M<c&&c<s*e)?(o=i[1]*u.h)>A&&(A=o):l^(s*M<(c=(c+360)%360-180)&&c<s*e)?(o=-i[1]*u.h)<T&&(T=o):(t<T&&(T=t),t>A&&(A=t)),l?e<M?q(C,e)>q(C,j)&&(j=e):q(e,j)>q(C,j)&&(C=e):j>=C?(e<C&&(C=e),e>j&&(j=e)):e>M?q(C,e)>q(C,j)&&(j=e):q(e,j)>q(C,j)&&(C=e)}else R.push(I=[C=e,j=e]);t<T&&(T=t),t>A&&(A=t),D=n,M=e}function U(){B.point=z}function H(){I[0]=C,I[1]=j,B.point=F,D=null}function W(e,t){if(D){var n=e-M;L.add(Object(u.a)(n)>180?n+(n>0?360:-360):n)}else P=e,N=t;p.point(e,t),z(e,t)}function Y(){p.lineStart()}function V(){W(P,N),p.lineEnd(),Object(u.a)(L)>u.i&&(C=-(j=180)),I[0]=C,I[1]=j,D=null}function q(e,t){return(t-=e)<0?t+360:t}function $(e,t){return e[0]-t[0]}function G(e,t){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}var X,K,Z,J,Q,ee,te,ne,re,ie,oe,ae,se,ce,ue,le,fe=function(e){var t,n,r,i,o,a,s;if(A=j=-(C=T=1/0),R=[],Object(f.a)(e,B),n=R.length){for(R.sort($),t=1,o=[r=R[0]];t<n;++t)G(r,(i=R[t])[0])||G(r,i[1])?(q(r[0],i[1])>q(r[0],r[1])&&(r[1]=i[1]),q(i[0],r[1])>q(r[0],r[1])&&(r[0]=i[0])):o.push(r=i);for(a=-1/0,t=0,r=o[n=o.length-1];t<=n;r=i,++t)i=o[t],(s=q(r[1],i[0]))>a&&(a=s,C=i[0],j=r[1])}return R=I=null,C===1/0||T===1/0?[[NaN,NaN],[NaN,NaN]]:[[C,T],[j,A]]},de={sphere:l.a,point:he,lineStart:ge,lineEnd:be,polygonStart:function(){de.lineStart=ve,de.lineEnd=xe},polygonEnd:function(){de.lineStart=ge,de.lineEnd=be}};function he(e,t){e*=u.r,t*=u.r;var n=Object(u.g)(t);pe(n*Object(u.g)(e),n*Object(u.t)(e),Object(u.t)(t))}function pe(e,t,n){++X,Z+=(e-Z)/X,J+=(t-J)/X,Q+=(n-Q)/X}function ge(){de.point=ye}function ye(e,t){e*=u.r,t*=u.r;var n=Object(u.g)(t);ce=n*Object(u.g)(e),ue=n*Object(u.t)(e),le=Object(u.t)(t),de.point=me,pe(ce,ue,le)}function me(e,t){e*=u.r,t*=u.r;var n=Object(u.g)(t),r=n*Object(u.g)(e),i=n*Object(u.t)(e),o=Object(u.t)(t),a=Object(u.e)(Object(u.u)((a=ue*o-le*i)*a+(a=le*r-ce*o)*a+(a=ce*i-ue*r)*a),ce*r+ue*i+le*o);K+=a,ee+=a*(ce+(ce=r)),te+=a*(ue+(ue=i)),ne+=a*(le+(le=o)),pe(ce,ue,le)}function be(){de.point=he}function ve(){de.point=we}function xe(){_e(ae,se),de.point=he}function we(e,t){ae=e,se=t,e*=u.r,t*=u.r,de.point=_e;var n=Object(u.g)(t);ce=n*Object(u.g)(e),ue=n*Object(u.t)(e),le=Object(u.t)(t),pe(ce,ue,le)}function _e(e,t){e*=u.r,t*=u.r;var n=Object(u.g)(t),r=n*Object(u.g)(e),i=n*Object(u.t)(e),o=Object(u.t)(t),a=ue*o-le*i,s=le*r-ce*o,c=ce*i-ue*r,l=Object(u.u)(a*a+s*s+c*c),f=Object(u.c)(l),d=l&&-f/l;re+=d*a,ie+=d*s,oe+=d*c,K+=f,ee+=f*(ce+(ce=r)),te+=f*(ue+(ue=i)),ne+=f*(le+(le=o)),pe(ce,ue,le)}var ke=function(e){X=K=Z=J=Q=ee=te=ne=re=ie=oe=0,Object(f.a)(e,de);var t=re,n=ie,r=oe,i=t*t+n*n+r*r;return i<u.j&&(t=ee,n=te,r=ne,K<u.i&&(t=Z,n=J,r=Q),(i=t*t+n*n+r*r)<u.j)?[NaN,NaN]:[Object(u.e)(n,t)*u.h,Object(u.c)(r/Object(u.u)(i))*u.h]},Oe=function(e){return function(){return e}},Ee=function(e,t){function n(n,r){return n=e(n,r),t(n[0],n[1])}return e.invert&&t.invert&&(n.invert=function(n,r){return(n=t.invert(n,r))&&e.invert(n[0],n[1])}),n};function Se(e,t){return[Object(u.a)(e)>u.o?e+Math.round(-e/u.w)*u.w:e,t]}function Ce(e,t,n){return(e%=u.w)?t||n?Ee(je(e),Ae(t,n)):je(e):t||n?Ae(t,n):Se}function Te(e){return function(t,n){return[(t+=e)>u.o?t-u.w:t<-u.o?t+u.w:t,n]}}function je(e){var t=Te(e);return t.invert=Te(-e),t}function Ae(e,t){var n=Object(u.g)(e),r=Object(u.t)(e),i=Object(u.g)(t),o=Object(u.t)(t);function a(e,t){var a=Object(u.g)(t),s=Object(u.g)(e)*a,c=Object(u.t)(e)*a,l=Object(u.t)(t),f=l*n+s*r;return[Object(u.e)(c*i-f*o,s*n-l*r),Object(u.c)(f*i+c*o)]}return a.invert=function(e,t){var a=Object(u.g)(t),s=Object(u.g)(e)*a,c=Object(u.t)(e)*a,l=Object(u.t)(t),f=l*i-c*o;return[Object(u.e)(c*i+l*o,s*n+f*r),Object(u.c)(f*n-s*r)]},a}Se.invert=Se;var Me=function(e){function t(t){return(t=e(t[0]*u.r,t[1]*u.r))[0]*=u.h,t[1]*=u.h,t}return e=Ce(e[0]*u.r,e[1]*u.r,e.length>2?e[2]*u.r:0),t.invert=function(t){return(t=e.invert(t[0]*u.r,t[1]*u.r))[0]*=u.h,t[1]*=u.h,t},t};function Pe(e,t,n,r,i,o){if(n){var a=Object(u.g)(t),s=Object(u.t)(t),c=r*n;null==i?(i=t+r*u.w,o=t-c/2):(i=Ne(a,i),o=Ne(a,o),(r>0?i<o:i>o)&&(i+=r*u.w));for(var l,f=i;r>0?f>o:f<o;f-=c)l=x([a,-s*Object(u.g)(f),-s*Object(u.t)(f)]),e.point(l[0],l[1])}}function Ne(e,t){(t=w(t))[0]-=e,S(t);var n=Object(u.b)(-t[1]);return((-t[2]<0?-n:n)+u.w-u.i)%u.w}var De=function(){var e,t,n=Oe([0,0]),r=Oe(90),i=Oe(6),o={point:function(n,r){e.push(n=t(n,r)),n[0]*=u.h,n[1]*=u.h}};function a(){var a=n.apply(this,arguments),s=r.apply(this,arguments)*u.r,c=i.apply(this,arguments)*u.r;return e=[],t=Ce(-a[0]*u.r,-a[1]*u.r,0).invert,Pe(o,s,c,1),a={type:\"Polygon\",coordinates:[e]},e=t=null,a}return a.center=function(e){return arguments.length?(n=\"function\"===typeof e?e:Oe([+e[0],+e[1]]),a):n},a.radius=function(e){return arguments.length?(r=\"function\"===typeof e?e:Oe(+e),a):r},a.precision=function(e){return arguments.length?(i=\"function\"===typeof e?e:Oe(+e),a):i},a},Re=function(){var e,t=[];return{point:function(t,n,r){e.push([t,n,r])},lineStart:function(){t.push(e=[])},lineEnd:l.a,rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))},result:function(){var n=t;return t=[],e=null,n}}},Ie=function(e,t){return Object(u.a)(e[0]-t[0])<u.i&&Object(u.a)(e[1]-t[1])<u.i};function Le(e,t,n,r){this.x=e,this.z=t,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}var Be=function(e,t,n,r,i){var o,a,s=[],c=[];if(e.forEach((function(e){if(!((t=e.length-1)<=0)){var t,n,r=e[0],a=e[t];if(Ie(r,a)){if(!r[2]&&!a[2]){for(i.lineStart(),o=0;o<t;++o)i.point((r=e[o])[0],r[1]);return void i.lineEnd()}a[0]+=2*u.i}s.push(n=new Le(r,e,null,!0)),c.push(n.o=new Le(r,null,n,!1)),s.push(n=new Le(a,e,null,!1)),c.push(n.o=new Le(a,null,n,!0))}})),s.length){for(c.sort(t),Fe(s),Fe(c),o=0,a=c.length;o<a;++o)c[o].e=n=!n;for(var l,f,d=s[0];;){for(var h=d,p=!0;h.v;)if((h=h.n)===d)return;l=h.z,i.lineStart();do{if(h.v=h.o.v=!0,h.e){if(p)for(o=0,a=l.length;o<a;++o)i.point((f=l[o])[0],f[1]);else r(h.x,h.n.x,1,i);h=h.n}else{if(p)for(l=h.p.z,o=l.length-1;o>=0;--o)i.point((f=l[o])[0],f[1]);else r(h.x,h.p.x,-1,i);h=h.p}l=(h=h.o).z,p=!p}while(!h.v);i.lineEnd()}}};function Fe(e){if(t=e.length){for(var t,n,r=0,i=e[0];++r<t;)i.n=n=e[r],n.p=i,i=n;i.n=n=e[0],n.p=i}}var ze=Object(c.a)();function Ue(e){return Object(u.a)(e[0])<=u.o?e[0]:Object(u.s)(e[0])*((Object(u.a)(e[0])+u.o)%u.w-u.o)}var He=function(e,t){var n=Ue(t),r=t[1],i=Object(u.t)(r),o=[Object(u.t)(n),-Object(u.g)(n),0],a=0,s=0;ze.reset(),1===i?r=u.l+u.i:-1===i&&(r=-u.l-u.i);for(var c=0,l=e.length;c<l;++c)if(d=(f=e[c]).length)for(var f,d,h=f[d-1],p=Ue(h),g=h[1]/2+u.q,y=Object(u.t)(g),m=Object(u.g)(g),b=0;b<d;++b,p=x,y=O,m=E,h=v){var v=f[b],x=Ue(v),_=v[1]/2+u.q,O=Object(u.t)(_),E=Object(u.g)(_),C=x-p,T=C>=0?1:-1,j=T*C,A=j>u.o,M=y*O;if(ze.add(Object(u.e)(M*T*Object(u.t)(j),m*E+M*Object(u.g)(j))),a+=A?C+T*u.w:C,A^p>=n^x>=n){var P=k(w(h),w(v));S(P);var N=k(o,P);S(N);var D=(A^C>=0?-1:1)*Object(u.c)(N[2]);(r>D||r===D&&(P[0]||P[1]))&&(s+=A^C>=0?1:-1)}}return(a<-u.i||a<u.i&&ze<-u.i)^1&s},We=n(12),Ye=function(e,t,n,r){return function(i){var o,a,s,c=t(i),u=Re(),l=t(u),f=!1,d={point:h,lineStart:g,lineEnd:y,polygonStart:function(){d.point=m,d.lineStart=b,d.lineEnd=v,a=[],o=[]},polygonEnd:function(){d.point=h,d.lineStart=g,d.lineEnd=y,a=Object(We.n)(a);var e=He(o,r);a.length?(f||(i.polygonStart(),f=!0),Be(a,qe,e,n,i)):e&&(f||(i.polygonStart(),f=!0),i.lineStart(),n(null,null,1,i),i.lineEnd()),f&&(i.polygonEnd(),f=!1),a=o=null},sphere:function(){i.polygonStart(),i.lineStart(),n(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function h(t,n){e(t,n)&&i.point(t,n)}function p(e,t){c.point(e,t)}function g(){d.point=p,c.lineStart()}function y(){d.point=h,c.lineEnd()}function m(e,t){s.push([e,t]),l.point(e,t)}function b(){l.lineStart(),s=[]}function v(){m(s[0][0],s[0][1]),l.lineEnd();var e,t,n,r,c=l.clean(),d=u.result(),h=d.length;if(s.pop(),o.push(s),s=null,h)if(1&c){if((t=(n=d[0]).length-1)>0){for(f||(i.polygonStart(),f=!0),i.lineStart(),e=0;e<t;++e)i.point((r=n[e])[0],r[1]);i.lineEnd()}}else h>1&&2&c&&d.push(d.pop().concat(d.shift())),a.push(d.filter(Ve))}return d}};function Ve(e){return e.length>1}function qe(e,t){return((e=e.x)[0]<0?e[1]-u.l-u.i:u.l-e[1])-((t=t.x)[0]<0?t[1]-u.l-u.i:u.l-t[1])}var $e=Ye((function(){return!0}),(function(e){var t,n=NaN,r=NaN,i=NaN;return{lineStart:function(){e.lineStart(),t=1},point:function(o,a){var s=o>0?u.o:-u.o,c=Object(u.a)(o-n);Object(u.a)(c-u.o)<u.i?(e.point(n,r=(r+a)/2>0?u.l:-u.l),e.point(i,r),e.lineEnd(),e.lineStart(),e.point(s,r),e.point(o,r),t=0):i!==s&&c>=u.o&&(Object(u.a)(n-i)<u.i&&(n-=i*u.i),Object(u.a)(o-s)<u.i&&(o-=s*u.i),r=function(e,t,n,r){var i,o,a=Object(u.t)(e-n);return Object(u.a)(a)>u.i?Object(u.d)((Object(u.t)(t)*(o=Object(u.g)(r))*Object(u.t)(n)-Object(u.t)(r)*(i=Object(u.g)(t))*Object(u.t)(e))/(i*o*a)):(t+r)/2}(n,r,o,a),e.point(i,r),e.lineEnd(),e.lineStart(),e.point(s,r),t=0),e.point(n=o,r=a),i=s},lineEnd:function(){e.lineEnd(),n=r=NaN},clean:function(){return 2-t}}}),(function(e,t,n,r){var i;if(null==e)i=n*u.l,r.point(-u.o,i),r.point(0,i),r.point(u.o,i),r.point(u.o,0),r.point(u.o,-i),r.point(0,-i),r.point(-u.o,-i),r.point(-u.o,0),r.point(-u.o,i);else if(Object(u.a)(e[0]-t[0])>u.i){var o=e[0]<t[0]?u.o:-u.o;i=n*o/2,r.point(-o,i),r.point(0,i),r.point(o,i)}else r.point(t[0],t[1])}),[-u.o,-u.l]);var Ge=function(e){var t=Object(u.g)(e),n=6*u.r,r=t>0,i=Object(u.a)(t)>u.i;function o(e,n){return Object(u.g)(e)*Object(u.g)(n)>t}function a(e,n,r){var i=[1,0,0],o=k(w(e),w(n)),a=_(o,o),s=o[0],c=a-s*s;if(!c)return!r&&e;var l=t*a/c,f=-t*s/c,d=k(i,o),h=E(i,l);O(h,E(o,f));var p=d,g=_(h,p),y=_(p,p),m=g*g-y*(_(h,h)-1);if(!(m<0)){var b=Object(u.u)(m),v=E(p,(-g-b)/y);if(O(v,h),v=x(v),!r)return v;var S,C=e[0],T=n[0],j=e[1],A=n[1];T<C&&(S=C,C=T,T=S);var M=T-C,P=Object(u.a)(M-u.o)<u.i;if(!P&&A<j&&(S=j,j=A,A=S),P||M<u.i?P?j+A>0^v[1]<(Object(u.a)(v[0]-C)<u.i?j:A):j<=v[1]&&v[1]<=A:M>u.o^(C<=v[0]&&v[0]<=T)){var N=E(p,(-g+b)/y);return O(N,h),[v,x(N)]}}}function s(t,n){var i=r?e:u.o-e,o=0;return t<-i?o|=1:t>i&&(o|=2),n<-i?o|=4:n>i&&(o|=8),o}return Ye(o,(function(e){var t,n,c,l,f;return{lineStart:function(){l=c=!1,f=1},point:function(d,h){var p,g=[d,h],y=o(d,h),m=r?y?0:s(d,h):y?s(d+(d<0?u.o:-u.o),h):0;if(!t&&(l=c=y)&&e.lineStart(),y!==c&&(!(p=a(t,g))||Ie(t,p)||Ie(g,p))&&(g[2]=1),y!==c)f=0,y?(e.lineStart(),p=a(g,t),e.point(p[0],p[1])):(p=a(t,g),e.point(p[0],p[1],2),e.lineEnd()),t=p;else if(i&&t&&r^y){var b;m&n||!(b=a(g,t,!0))||(f=0,r?(e.lineStart(),e.point(b[0][0],b[0][1]),e.point(b[1][0],b[1][1]),e.lineEnd()):(e.point(b[1][0],b[1][1]),e.lineEnd(),e.lineStart(),e.point(b[0][0],b[0][1],3)))}!y||t&&Ie(t,g)||e.point(g[0],g[1]),t=g,c=y,n=m},lineEnd:function(){c&&e.lineEnd(),t=null},clean:function(){return f|(l&&c)<<1}}}),(function(t,r,i,o){Pe(o,e,n,i,t,r)}),r?[0,-e]:[-u.o,e-u.o])},Xe=1e9,Ke=-Xe;function Ze(e,t,n,r){function i(i,o){return e<=i&&i<=n&&t<=o&&o<=r}function o(i,o,s,u){var l=0,f=0;if(null==i||(l=a(i,s))!==(f=a(o,s))||c(i,o)<0^s>0)do{u.point(0===l||3===l?e:n,l>1?r:t)}while((l=(l+s+4)%4)!==f);else u.point(o[0],o[1])}function a(r,i){return Object(u.a)(r[0]-e)<u.i?i>0?0:3:Object(u.a)(r[0]-n)<u.i?i>0?2:1:Object(u.a)(r[1]-t)<u.i?i>0?1:0:i>0?3:2}function s(e,t){return c(e.x,t.x)}function c(e,t){var n=a(e,1),r=a(t,1);return n!==r?n-r:0===n?t[1]-e[1]:1===n?e[0]-t[0]:2===n?e[1]-t[1]:t[0]-e[0]}return function(a){var c,u,l,f,d,h,p,g,y,m,b,v=a,x=Re(),w={point:_,lineStart:function(){w.point=k,u&&u.push(l=[]);m=!0,y=!1,p=g=NaN},lineEnd:function(){c&&(k(f,d),h&&y&&x.rejoin(),c.push(x.result()));w.point=_,y&&v.lineEnd()},polygonStart:function(){v=x,c=[],u=[],b=!0},polygonEnd:function(){var t=function(){for(var t=0,n=0,i=u.length;n<i;++n)for(var o,a,s=u[n],c=1,l=s.length,f=s[0],d=f[0],h=f[1];c<l;++c)o=d,a=h,d=(f=s[c])[0],h=f[1],a<=r?h>r&&(d-o)*(r-a)>(h-a)*(e-o)&&++t:h<=r&&(d-o)*(r-a)<(h-a)*(e-o)&&--t;return t}(),n=b&&t,i=(c=Object(We.n)(c)).length;(n||i)&&(a.polygonStart(),n&&(a.lineStart(),o(null,null,1,a),a.lineEnd()),i&&Be(c,s,t,o,a),a.polygonEnd());v=a,c=u=l=null}};function _(e,t){i(e,t)&&v.point(e,t)}function k(o,a){var s=i(o,a);if(u&&l.push([o,a]),m)f=o,d=a,h=s,m=!1,s&&(v.lineStart(),v.point(o,a));else if(s&&y)v.point(o,a);else{var c=[p=Math.max(Ke,Math.min(Xe,p)),g=Math.max(Ke,Math.min(Xe,g))],x=[o=Math.max(Ke,Math.min(Xe,o)),a=Math.max(Ke,Math.min(Xe,a))];!function(e,t,n,r,i,o){var a,s=e[0],c=e[1],u=0,l=1,f=t[0]-s,d=t[1]-c;if(a=n-s,f||!(a>0)){if(a/=f,f<0){if(a<u)return;a<l&&(l=a)}else if(f>0){if(a>l)return;a>u&&(u=a)}if(a=i-s,f||!(a<0)){if(a/=f,f<0){if(a>l)return;a>u&&(u=a)}else if(f>0){if(a<u)return;a<l&&(l=a)}if(a=r-c,d||!(a>0)){if(a/=d,d<0){if(a<u)return;a<l&&(l=a)}else if(d>0){if(a>l)return;a>u&&(u=a)}if(a=o-c,d||!(a<0)){if(a/=d,d<0){if(a>l)return;a>u&&(u=a)}else if(d>0){if(a<u)return;a<l&&(l=a)}return u>0&&(e[0]=s+u*f,e[1]=c+u*d),l<1&&(t[0]=s+l*f,t[1]=c+l*d),!0}}}}}(c,x,e,t,n,r)?s&&(v.lineStart(),v.point(o,a),b=!1):(y||(v.lineStart(),v.point(c[0],c[1])),v.point(x[0],x[1]),s||v.lineEnd(),b=!1)}p=o,g=a,y=s}return w}}var Je,Qe,et,tt=function(){var e,t,n,r=0,i=0,o=960,a=500;return n={stream:function(n){return e&&t===n?e:e=Ze(r,i,o,a)(t=n)},extent:function(s){return arguments.length?(r=+s[0][0],i=+s[0][1],o=+s[1][0],a=+s[1][1],e=t=null,n):[[r,i],[o,a]]}}},nt=Object(c.a)(),rt={sphere:l.a,point:l.a,lineStart:function(){rt.point=ot,rt.lineEnd=it},lineEnd:l.a,polygonStart:l.a,polygonEnd:l.a};function it(){rt.point=rt.lineEnd=l.a}function ot(e,t){e*=u.r,t*=u.r,Je=e,Qe=Object(u.t)(t),et=Object(u.g)(t),rt.point=at}function at(e,t){e*=u.r,t*=u.r;var n=Object(u.t)(t),r=Object(u.g)(t),i=Object(u.a)(e-Je),o=Object(u.g)(i),a=r*Object(u.t)(i),s=et*n-Qe*r*o,c=Qe*n+et*r*o;nt.add(Object(u.e)(Object(u.u)(a*a+s*s),c)),Je=e,Qe=n,et=r}var st=function(e){return nt.reset(),Object(f.a)(e,rt),+nt},ct=[null,null],ut={type:\"LineString\",coordinates:ct},lt=function(e,t){return ct[0]=e,ct[1]=t,st(ut)},ft={Feature:function(e,t){return ht(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,i=n.length;++r<i;)if(ht(n[r].geometry,t))return!0;return!1}},dt={Sphere:function(){return!0},Point:function(e,t){return pt(e.coordinates,t)},MultiPoint:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)if(pt(n[r],t))return!0;return!1},LineString:function(e,t){return gt(e.coordinates,t)},MultiLineString:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)if(gt(n[r],t))return!0;return!1},Polygon:function(e,t){return yt(e.coordinates,t)},MultiPolygon:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)if(yt(n[r],t))return!0;return!1},GeometryCollection:function(e,t){for(var n=e.geometries,r=-1,i=n.length;++r<i;)if(ht(n[r],t))return!0;return!1}};function ht(e,t){return!(!e||!dt.hasOwnProperty(e.type))&&dt[e.type](e,t)}function pt(e,t){return 0===lt(e,t)}function gt(e,t){for(var n,r,i,o=0,a=e.length;o<a;o++){if(0===(r=lt(e[o],t)))return!0;if(o>0&&(i=lt(e[o],e[o-1]))>0&&n<=i&&r<=i&&(n+r-i)*(1-Math.pow((n-r)/i,2))<u.j*i)return!0;n=r}return!1}function yt(e,t){return!!He(e.map(mt),bt(t))}function mt(e){return(e=e.map(bt)).pop(),e}function bt(e){return[e[0]*u.r,e[1]*u.r]}var vt=function(e,t){return(e&&ft.hasOwnProperty(e.type)?ft[e.type]:ht)(e,t)};function xt(e,t,n){var r=Object(We.s)(e,t-u.i,n).concat(t);return function(e){return r.map((function(t){return[e,t]}))}}function wt(e,t,n){var r=Object(We.s)(e,t-u.i,n).concat(t);return function(e){return r.map((function(t){return[t,e]}))}}function _t(){var e,t,n,r,i,o,a,s,c,l,f,d,h=10,p=h,g=90,y=360,m=2.5;function b(){return{type:\"MultiLineString\",coordinates:v()}}function v(){return Object(We.s)(Object(u.f)(r/g)*g,n,g).map(f).concat(Object(We.s)(Object(u.f)(s/y)*y,a,y).map(d)).concat(Object(We.s)(Object(u.f)(t/h)*h,e,h).filter((function(e){return Object(u.a)(e%g)>u.i})).map(c)).concat(Object(We.s)(Object(u.f)(o/p)*p,i,p).filter((function(e){return Object(u.a)(e%y)>u.i})).map(l))}return b.lines=function(){return v().map((function(e){return{type:\"LineString\",coordinates:e}}))},b.outline=function(){return{type:\"Polygon\",coordinates:[f(r).concat(d(a).slice(1),f(n).reverse().slice(1),d(s).reverse().slice(1))]}},b.extent=function(e){return arguments.length?b.extentMajor(e).extentMinor(e):b.extentMinor()},b.extentMajor=function(e){return arguments.length?(r=+e[0][0],n=+e[1][0],s=+e[0][1],a=+e[1][1],r>n&&(e=r,r=n,n=e),s>a&&(e=s,s=a,a=e),b.precision(m)):[[r,s],[n,a]]},b.extentMinor=function(n){return arguments.length?(t=+n[0][0],e=+n[1][0],o=+n[0][1],i=+n[1][1],t>e&&(n=t,t=e,e=n),o>i&&(n=o,o=i,i=n),b.precision(m)):[[t,o],[e,i]]},b.step=function(e){return arguments.length?b.stepMajor(e).stepMinor(e):b.stepMinor()},b.stepMajor=function(e){return arguments.length?(g=+e[0],y=+e[1],b):[g,y]},b.stepMinor=function(e){return arguments.length?(h=+e[0],p=+e[1],b):[h,p]},b.precision=function(u){return arguments.length?(m=+u,c=xt(o,i,90),l=wt(t,e,m),f=xt(s,a,90),d=wt(r,n,m),b):m},b.extentMajor([[-180,-90+u.i],[180,90-u.i]]).extentMinor([[-180,-80-u.i],[180,80+u.i]])}function kt(){return _t()()}var Ot=function(e,t){var n=e[0]*u.r,r=e[1]*u.r,i=t[0]*u.r,o=t[1]*u.r,a=Object(u.g)(r),s=Object(u.t)(r),c=Object(u.g)(o),l=Object(u.t)(o),f=a*Object(u.g)(n),d=a*Object(u.t)(n),h=c*Object(u.g)(i),p=c*Object(u.t)(i),g=2*Object(u.c)(Object(u.u)(Object(u.m)(o-r)+a*c*Object(u.m)(i-n))),y=Object(u.t)(g),m=g?function(e){var t=Object(u.t)(e*=g)/y,n=Object(u.t)(g-e)/y,r=n*f+t*h,i=n*d+t*p,o=n*s+t*l;return[Object(u.e)(i,r)*u.h,Object(u.e)(o,Object(u.u)(r*r+i*i))*u.h]}:function(){return[n*u.h,r*u.h]};return m.distance=g,m},Et=n(379),St=n(106),Ct=function(e){return{stream:Tt(e)}};function Tt(e){return function(t){var n=new jt;for(var r in e)n[r]=e[r];return n.stream=t,n}}function jt(){}jt.prototype={constructor:jt,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var At=n(152);function Mt(e,t,n){var r=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),null!=r&&e.clipExtent(null),Object(f.a)(n,e.stream(At.a)),t(At.a.result()),null!=r&&e.clipExtent(r),e}function Pt(e,t,n){return Mt(e,(function(n){var r=t[1][0]-t[0][0],i=t[1][1]-t[0][1],o=Math.min(r/(n[1][0]-n[0][0]),i/(n[1][1]-n[0][1])),a=+t[0][0]+(r-o*(n[1][0]+n[0][0]))/2,s=+t[0][1]+(i-o*(n[1][1]+n[0][1]))/2;e.scale(150*o).translate([a,s])}),n)}function Nt(e,t,n){return Pt(e,[[0,0],t],n)}function Dt(e,t,n){return Mt(e,(function(n){var r=+t,i=r/(n[1][0]-n[0][0]),o=(r-i*(n[1][0]+n[0][0]))/2,a=-i*n[0][1];e.scale(150*i).translate([o,a])}),n)}function Rt(e,t,n){return Mt(e,(function(n){var r=+t,i=r/(n[1][1]-n[0][1]),o=-i*n[0][0],a=(r-i*(n[1][1]+n[0][1]))/2;e.scale(150*i).translate([o,a])}),n)}var It=Object(u.g)(30*u.r),Lt=function(e,t){return+t?function(e,t){function n(r,i,o,a,s,c,l,f,d,h,p,g,y,m){var b=l-r,v=f-i,x=b*b+v*v;if(x>4*t&&y--){var w=a+h,_=s+p,k=c+g,O=Object(u.u)(w*w+_*_+k*k),E=Object(u.c)(k/=O),S=Object(u.a)(Object(u.a)(k)-1)<u.i||Object(u.a)(o-d)<u.i?(o+d)/2:Object(u.e)(_,w),C=e(S,E),T=C[0],j=C[1],A=T-r,M=j-i,P=v*A-b*M;(P*P/x>t||Object(u.a)((b*A+v*M)/x-.5)>.3||a*h+s*p+c*g<It)&&(n(r,i,o,a,s,c,T,j,S,w/=O,_/=O,k,y,m),m.point(T,j),n(T,j,S,w,_,k,l,f,d,h,p,g,y,m))}}return function(t){var r,i,o,a,s,c,u,l,f,d,h,p,g={point:y,lineStart:m,lineEnd:v,polygonStart:function(){t.polygonStart(),g.lineStart=x},polygonEnd:function(){t.polygonEnd(),g.lineStart=m}};function y(n,r){n=e(n,r),t.point(n[0],n[1])}function m(){l=NaN,g.point=b,t.lineStart()}function b(r,i){var o=w([r,i]),a=e(r,i);n(l,f,u,d,h,p,l=a[0],f=a[1],u=r,d=o[0],h=o[1],p=o[2],16,t),t.point(l,f)}function v(){g.point=y,t.lineEnd()}function x(){m(),g.point=_,g.lineEnd=k}function _(e,t){b(r=e,t),i=l,o=f,a=d,s=h,c=p,g.point=b}function k(){n(l,f,u,d,h,p,i,o,r,a,s,c,16,t),g.lineEnd=v,v()}return g}}(e,t):function(e){return Tt({point:function(t,n){t=e(t,n),this.stream.point(t[0],t[1])}})}(e)};var Bt=Tt({point:function(e,t){this.stream.point(e*u.r,t*u.r)}});function Ft(e,t,n,r,i){function o(o,a){return[t+e*(o*=r),n-e*(a*=i)]}return o.invert=function(o,a){return[(o-t)/e*r,(n-a)/e*i]},o}function zt(e,t,n,r,i,o){var a=Object(u.g)(o),s=Object(u.t)(o),c=a*e,l=s*e,f=a/e,d=s/e,h=(s*n-a*t)/e,p=(s*t+a*n)/e;function g(e,o){return[c*(e*=r)-l*(o*=i)+t,n-l*e-c*o]}return g.invert=function(e,t){return[r*(f*e-d*t+h),i*(p-d*e-f*t)]},g}function Ut(e){return Ht((function(){return e}))()}function Ht(e){var t,n,r,i,o,a,s,c,l,f,d=150,h=480,p=250,g=0,y=0,m=0,b=0,v=0,x=0,w=1,_=1,k=null,O=$e,E=null,S=St.a,C=.5;function T(e){return c(e[0]*u.r,e[1]*u.r)}function j(e){return(e=c.invert(e[0],e[1]))&&[e[0]*u.h,e[1]*u.h]}function A(){var e=zt(d,0,0,w,_,x).apply(null,t(g,y)),r=(x?zt:Ft)(d,h-e[0],p-e[1],w,_,x);return n=Ce(m,b,v),s=Ee(t,r),c=Ee(n,s),a=Lt(s,C),M()}function M(){return l=f=null,T}return T.stream=function(e){return l&&f===e?l:l=Bt(function(e){return Tt({point:function(t,n){var r=e(t,n);return this.stream.point(r[0],r[1])}})}(n)(O(a(S(f=e)))))},T.preclip=function(e){return arguments.length?(O=e,k=void 0,M()):O},T.postclip=function(e){return arguments.length?(S=e,E=r=i=o=null,M()):S},T.clipAngle=function(e){return arguments.length?(O=+e?Ge(k=e*u.r):(k=null,$e),M()):k*u.h},T.clipExtent=function(e){return arguments.length?(S=null==e?(E=r=i=o=null,St.a):Ze(E=+e[0][0],r=+e[0][1],i=+e[1][0],o=+e[1][1]),M()):null==E?null:[[E,r],[i,o]]},T.scale=function(e){return arguments.length?(d=+e,A()):d},T.translate=function(e){return arguments.length?(h=+e[0],p=+e[1],A()):[h,p]},T.center=function(e){return arguments.length?(g=e[0]%360*u.r,y=e[1]%360*u.r,A()):[g*u.h,y*u.h]},T.rotate=function(e){return arguments.length?(m=e[0]%360*u.r,b=e[1]%360*u.r,v=e.length>2?e[2]%360*u.r:0,A()):[m*u.h,b*u.h,v*u.h]},T.angle=function(e){return arguments.length?(x=e%360*u.r,A()):x*u.h},T.reflectX=function(e){return arguments.length?(w=e?-1:1,A()):w<0},T.reflectY=function(e){return arguments.length?(_=e?-1:1,A()):_<0},T.precision=function(e){return arguments.length?(a=Lt(s,C=e*e),M()):Object(u.u)(C)},T.fitExtent=function(e,t){return Pt(T,e,t)},T.fitSize=function(e,t){return Nt(T,e,t)},T.fitWidth=function(e,t){return Dt(T,e,t)},T.fitHeight=function(e,t){return Rt(T,e,t)},function(){return t=e.apply(this,arguments),T.invert=t.invert&&j,A()}}function Wt(e){var t=0,n=u.o/3,r=Ht(e),i=r(t,n);return i.parallels=function(e){return arguments.length?r(t=e[0]*u.r,n=e[1]*u.r):[t*u.h,n*u.h]},i}function Yt(e,t){var n=Object(u.t)(e),r=(n+Object(u.t)(t))/2;if(Object(u.a)(r)<u.i)return function(e){var t=Object(u.g)(e);function n(e,n){return[e*t,Object(u.t)(n)/t]}return n.invert=function(e,n){return[e/t,Object(u.c)(n*t)]},n}(e);var i=1+n*(2*r-n),o=Object(u.u)(i)/r;function a(e,t){var n=Object(u.u)(i-2*r*Object(u.t)(t))/r;return[n*Object(u.t)(e*=r),o-n*Object(u.g)(e)]}return a.invert=function(e,t){var n=o-t,a=Object(u.e)(e,Object(u.a)(n))*Object(u.s)(n);return n*r<0&&(a-=u.o*Object(u.s)(e)*Object(u.s)(n)),[a/r,Object(u.c)((i-(e*e+n*n)*r*r)/(2*r))]},a}var Vt=function(){return Wt(Yt).scale(155.424).center([0,33.6442])},qt=function(){return Vt().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])};var $t=function(){var e,t,n,r,i,o,a=qt(),s=Vt().rotate([154,0]).center([-2,58.5]).parallels([55,65]),c=Vt().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(e,t){o=[e,t]}};function f(e){var t=e[0],a=e[1];return o=null,n.point(t,a),o||(r.point(t,a),o)||(i.point(t,a),o)}function d(){return e=t=null,f}return f.invert=function(e){var t=a.scale(),n=a.translate(),r=(e[0]-n[0])/t,i=(e[1]-n[1])/t;return(i>=.12&&i<.234&&r>=-.425&&r<-.214?s:i>=.166&&i<.234&&r>=-.214&&r<-.115?c:a).invert(e)},f.stream=function(n){return e&&t===n?e:e=function(e){var t=e.length;return{point:function(n,r){for(var i=-1;++i<t;)e[i].point(n,r)},sphere:function(){for(var n=-1;++n<t;)e[n].sphere()},lineStart:function(){for(var n=-1;++n<t;)e[n].lineStart()},lineEnd:function(){for(var n=-1;++n<t;)e[n].lineEnd()},polygonStart:function(){for(var n=-1;++n<t;)e[n].polygonStart()},polygonEnd:function(){for(var n=-1;++n<t;)e[n].polygonEnd()}}}([a.stream(t=n),s.stream(n),c.stream(n)])},f.precision=function(e){return arguments.length?(a.precision(e),s.precision(e),c.precision(e),d()):a.precision()},f.scale=function(e){return arguments.length?(a.scale(e),s.scale(.35*e),c.scale(e),f.translate(a.translate())):a.scale()},f.translate=function(e){if(!arguments.length)return a.translate();var t=a.scale(),o=+e[0],f=+e[1];return n=a.translate(e).clipExtent([[o-.455*t,f-.238*t],[o+.455*t,f+.238*t]]).stream(l),r=s.translate([o-.307*t,f+.201*t]).clipExtent([[o-.425*t+u.i,f+.12*t+u.i],[o-.214*t-u.i,f+.234*t-u.i]]).stream(l),i=c.translate([o-.205*t,f+.212*t]).clipExtent([[o-.214*t+u.i,f+.166*t+u.i],[o-.115*t-u.i,f+.234*t-u.i]]).stream(l),d()},f.fitExtent=function(e,t){return Pt(f,e,t)},f.fitSize=function(e,t){return Nt(f,e,t)},f.fitWidth=function(e,t){return Dt(f,e,t)},f.fitHeight=function(e,t){return Rt(f,e,t)},f.scale(1070)};function Gt(e){return function(t,n){var r=Object(u.g)(t),i=Object(u.g)(n),o=e(r*i);return[o*i*Object(u.t)(t),o*Object(u.t)(n)]}}function Xt(e){return function(t,n){var r=Object(u.u)(t*t+n*n),i=e(r),o=Object(u.t)(i),a=Object(u.g)(i);return[Object(u.e)(t*o,r*a),Object(u.c)(r&&n*o/r)]}}var Kt=Gt((function(e){return Object(u.u)(2/(1+e))}));Kt.invert=Xt((function(e){return 2*Object(u.c)(e/2)}));var Zt=function(){return Ut(Kt).scale(124.75).clipAngle(179.999)},Jt=Gt((function(e){return(e=Object(u.b)(e))&&e/Object(u.t)(e)}));Jt.invert=Xt((function(e){return e}));var Qt=function(){return Ut(Jt).scale(79.4188).clipAngle(179.999)};function en(e,t){return[e,Object(u.n)(Object(u.v)((u.l+t)/2))]}en.invert=function(e,t){return[e,2*Object(u.d)(Object(u.k)(t))-u.l]};var tn=function(){return nn(en).scale(961/u.w)};function nn(e){var t,n,r,i=Ut(e),o=i.center,a=i.scale,s=i.translate,c=i.clipExtent,l=null;function f(){var o=u.o*a(),s=i(Me(i.rotate()).invert([0,0]));return c(null==l?[[s[0]-o,s[1]-o],[s[0]+o,s[1]+o]]:e===en?[[Math.max(s[0]-o,l),t],[Math.min(s[0]+o,n),r]]:[[l,Math.max(s[1]-o,t)],[n,Math.min(s[1]+o,r)]])}return i.scale=function(e){return arguments.length?(a(e),f()):a()},i.translate=function(e){return arguments.length?(s(e),f()):s()},i.center=function(e){return arguments.length?(o(e),f()):o()},i.clipExtent=function(e){return arguments.length?(null==e?l=t=n=r=null:(l=+e[0][0],t=+e[0][1],n=+e[1][0],r=+e[1][1]),f()):null==l?null:[[l,t],[n,r]]},f()}function rn(e){return Object(u.v)((u.l+e)/2)}function on(e,t){var n=Object(u.g)(e),r=e===t?Object(u.t)(e):Object(u.n)(n/Object(u.g)(t))/Object(u.n)(rn(t)/rn(e)),i=n*Object(u.p)(rn(e),r)/r;if(!r)return en;function o(e,t){i>0?t<-u.l+u.i&&(t=-u.l+u.i):t>u.l-u.i&&(t=u.l-u.i);var n=i/Object(u.p)(rn(t),r);return[n*Object(u.t)(r*e),i-n*Object(u.g)(r*e)]}return o.invert=function(e,t){var n=i-t,o=Object(u.s)(r)*Object(u.u)(e*e+n*n),a=Object(u.e)(e,Object(u.a)(n))*Object(u.s)(n);return n*r<0&&(a-=u.o*Object(u.s)(e)*Object(u.s)(n)),[a/r,2*Object(u.d)(Object(u.p)(i/o,1/r))-u.l]},o}var an=function(){return Wt(on).scale(109.5).parallels([30,30])};function sn(e,t){return[e,t]}sn.invert=sn;var cn=function(){return Ut(sn).scale(152.63)};function un(e,t){var n=Object(u.g)(e),r=e===t?Object(u.t)(e):(n-Object(u.g)(t))/(t-e),i=n/r+e;if(Object(u.a)(r)<u.i)return sn;function o(e,t){var n=i-t,o=r*e;return[n*Object(u.t)(o),i-n*Object(u.g)(o)]}return o.invert=function(e,t){var n=i-t,o=Object(u.e)(e,Object(u.a)(n))*Object(u.s)(n);return n*r<0&&(o-=u.o*Object(u.s)(e)*Object(u.s)(n)),[o/r,i-Object(u.s)(r)*Object(u.u)(e*e+n*n)]},o}var ln=function(){return Wt(un).scale(131.154).center([0,13.9389])},fn=1.340264,dn=-.081106,hn=893e-6,pn=.003796,gn=Object(u.u)(3)/2;function yn(e,t){var n=Object(u.c)(gn*Object(u.t)(t)),r=n*n,i=r*r*r;return[e*Object(u.g)(n)/(gn*(fn+3*dn*r+i*(7*hn+9*pn*r))),n*(fn+dn*r+i*(hn+pn*r))]}yn.invert=function(e,t){for(var n,r=t,i=r*r,o=i*i*i,a=0;a<12&&(o=(i=(r-=n=(r*(fn+dn*i+o*(hn+pn*i))-t)/(fn+3*dn*i+o*(7*hn+9*pn*i)))*r)*i*i,!(Object(u.a)(n)<u.j));++a);return[gn*e*(fn+3*dn*i+o*(7*hn+9*pn*i))/Object(u.g)(r),Object(u.c)(Object(u.t)(r)/gn)]};var mn=function(){return Ut(yn).scale(177.158)};function bn(e,t){var n=Object(u.g)(t),r=Object(u.g)(e)*n;return[n*Object(u.t)(e)/r,Object(u.t)(t)/r]}bn.invert=Xt(u.d);var vn=function(){return Ut(bn).scale(144.049).clipAngle(60)},xn=function(){var e,t,n,r,i,o,a,s=1,c=0,l=0,f=1,d=1,h=0,p=null,g=1,y=1,m=Tt({point:function(e,t){var n=x([e,t]);this.stream.point(n[0],n[1])}}),b=St.a;function v(){return g=s*f,y=s*d,o=a=null,x}function x(n){var r=n[0]*g,i=n[1]*y;if(h){var o=i*e-r*t;r=r*e+i*t,i=o}return[r+c,i+l]}return x.invert=function(n){var r=n[0]-c,i=n[1]-l;if(h){var o=i*e+r*t;r=r*e-i*t,i=o}return[r/g,i/y]},x.stream=function(e){return o&&a===e?o:o=m(b(a=e))},x.postclip=function(e){return arguments.length?(b=e,p=n=r=i=null,v()):b},x.clipExtent=function(e){return arguments.length?(b=null==e?(p=n=r=i=null,St.a):Ze(p=+e[0][0],n=+e[0][1],r=+e[1][0],i=+e[1][1]),v()):null==p?null:[[p,n],[r,i]]},x.scale=function(e){return arguments.length?(s=+e,v()):s},x.translate=function(e){return arguments.length?(c=+e[0],l=+e[1],v()):[c,l]},x.angle=function(n){return arguments.length?(h=n%360*u.r,t=Object(u.t)(h),e=Object(u.g)(h),v()):h*u.h},x.reflectX=function(e){return arguments.length?(f=e?-1:1,v()):f<0},x.reflectY=function(e){return arguments.length?(d=e?-1:1,v()):d<0},x.fitExtent=function(e,t){return Pt(x,e,t)},x.fitSize=function(e,t){return Nt(x,e,t)},x.fitWidth=function(e,t){return Dt(x,e,t)},x.fitHeight=function(e,t){return Rt(x,e,t)},x};function wn(e,t){var n=t*t,r=n*n;return[e*(.8707-.131979*n+r*(r*(.003971*n-.001529*r)-.013791)),t*(1.007226+n*(.015085+r*(.028874*n-.044475-.005916*r)))]}wn.invert=function(e,t){var n,r=t,i=25;do{var o=r*r,a=o*o;r-=n=(r*(1.007226+o*(.015085+a*(.028874*o-.044475-.005916*a)))-t)/(1.007226+o*(.045255+a*(.259866*o-.311325-.005916*11*a)))}while(Object(u.a)(n)>u.i&&--i>0);return[e/(.8707+(o=r*r)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),r]};var _n=function(){return Ut(wn).scale(175.295)};function kn(e,t){return[Object(u.g)(t)*Object(u.t)(e),Object(u.t)(t)]}kn.invert=Xt(u.c);var On=function(){return Ut(kn).scale(249.5).clipAngle(90+u.i)};function En(e,t){var n=Object(u.g)(t),r=1+Object(u.g)(e)*n;return[n*Object(u.t)(e)/r,Object(u.t)(t)/r]}En.invert=Xt((function(e){return 2*Object(u.d)(e)}));var Sn=function(){return Ut(En).scale(250).clipAngle(142)};function Cn(e,t){return[Object(u.n)(Object(u.v)((u.l+t)/2)),-e]}Cn.invert=function(e,t){return[-t,2*Object(u.d)(Object(u.k)(e))-u.l]};var Tn=function(){var e=nn(Cn),t=e.center,n=e.rotate;return e.center=function(e){return arguments.length?t([-e[1],e[0]]):[(e=t())[1],-e[0]]},e.rotate=function(e){return arguments.length?n([e[0],e[1],e.length>2?e[2]+90:90]):[(e=n())[0],e[1],e[2]-90]},n([0,0,90]).scale(159.155)}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return d})),n.d(t,\"b\",(function(){return h}));var r,i,o,a,s=n(55),c=180/Math.PI,u={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},l=function(e,t,n,r,i,o){var a,s,u;return(a=Math.sqrt(e*e+t*t))&&(e/=a,t/=a),(u=e*n+t*r)&&(n-=e*u,r-=t*u),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,u/=s),e*r<t*n&&(e=-e,t=-t,u=-u,a=-a),{translateX:i,translateY:o,rotate:Math.atan2(t,e)*c,skewX:Math.atan(u)*c,scaleX:a,scaleY:s}};function f(e,t,n,r){function i(e){return e.length?e.pop()+\" \":\"\"}return function(o,a){var c=[],u=[];return o=e(o),a=e(a),function(e,r,i,o,a,c){if(e!==i||r!==o){var u=a.push(\"translate(\",null,t,null,n);c.push({i:u-4,x:Object(s.a)(e,i)},{i:u-2,x:Object(s.a)(r,o)})}else(i||o)&&a.push(\"translate(\"+i+t+o+n)}(o.translateX,o.translateY,a.translateX,a.translateY,c,u),function(e,t,n,o){e!==t?(e-t>180?t+=360:t-e>180&&(e+=360),o.push({i:n.push(i(n)+\"rotate(\",null,r)-2,x:Object(s.a)(e,t)})):t&&n.push(i(n)+\"rotate(\"+t+r)}(o.rotate,a.rotate,c,u),function(e,t,n,o){e!==t?o.push({i:n.push(i(n)+\"skewX(\",null,r)-2,x:Object(s.a)(e,t)}):t&&n.push(i(n)+\"skewX(\"+t+r)}(o.skewX,a.skewX,c,u),function(e,t,n,r,o,a){if(e!==n||t!==r){var c=o.push(i(o)+\"scale(\",null,\",\",null,\")\");a.push({i:c-4,x:Object(s.a)(e,n)},{i:c-2,x:Object(s.a)(t,r)})}else 1===n&&1===r||o.push(i(o)+\"scale(\"+n+\",\"+r+\")\")}(o.scaleX,o.scaleY,a.scaleX,a.scaleY,c,u),o=a=null,function(e){for(var t,n=-1,r=u.length;++n<r;)c[(t=u[n]).i]=t.x(e);return c.join(\"\")}}}var d=f((function(e){return\"none\"===e?u:(r||(r=document.createElement(\"DIV\"),i=document.documentElement,o=document.defaultView),r.style.transform=e,e=o.getComputedStyle(i.appendChild(r),null).getPropertyValue(\"transform\"),i.removeChild(r),e=e.slice(7,-1).split(\",\"),l(+e[0],+e[1],+e[2],+e[3],+e[4],+e[5]))}),\"px, \",\"px)\",\"deg)\"),h=f((function(e){return null==e?u:(a||(a=document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\")),a.setAttribute(\"transform\",e),(e=a.transform.baseVal.consolidate())?(e=e.matrix,l(e.a,e.b,e.c,e.d,e.e,e.f)):u)}),\", \",\")\",\")\")},function(e,t,n){\"use strict\";var r=n(70);Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=r(n(0)),o=(0,r(n(75)).default)(i.default.createElement(\"path\",{d:\"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7l-4-4zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm3-10H5V5h10v4z\"}),\"Save\");t.default=o},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return a}));var r=n(0),i=n.n(r),o=n(210);function a(){return i.a.useContext(o.a)}},function(e,t,n){\"use strict\";var r=n(7),i=n(3),o=n(0),a=(n(1),n(6)),s=n(8),c=o.forwardRef((function(e,t){var n=e.classes,s=e.className,c=e.component,u=void 0===c?\"div\":c,l=e.square,f=void 0!==l&&l,d=e.elevation,h=void 0===d?1:d,p=e.variant,g=void 0===p?\"elevation\":p,y=Object(r.a)(e,[\"classes\",\"className\",\"component\",\"square\",\"elevation\",\"variant\"]);return o.createElement(u,Object(i.a)({className:Object(a.a)(n.root,s,\"outlined\"===g?n.outlined:n[\"elevation\".concat(h)],!f&&n.rounded),ref:t},y))}));t.a=Object(s.a)((function(e){var t={};return e.shadows.forEach((function(e,n){t[\"elevation\".concat(n)]={boxShadow:e}})),Object(i.a)({root:{backgroundColor:e.palette.background.paper,color:e.palette.text.primary,transition:e.transitions.create(\"box-shadow\")},rounded:{borderRadius:e.shape.borderRadius},outlined:{border:\"1px solid \".concat(e.palette.divider)}},t)}),{name:\"MuiPaper\"})(c)},,,,,,,,,function(e,t,n){\"use strict\";var r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function a(e){if(null===e||void 0===e)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String(\"abc\");if(e[5]=\"de\",\"5\"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t[\"_\"+String.fromCharCode(n)]=n;if(\"0123456789\"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(\"\"))return!1;var r={};return\"abcdefghijklmnopqrst\".split(\"\").forEach((function(e){r[e]=e})),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},r)).join(\"\")}catch(i){return!1}}()?Object.assign:function(e,t){for(var n,s,c=a(e),u=1;u<arguments.length;u++){for(var l in n=Object(arguments[u]))i.call(n,l)&&(c[l]=n[l]);if(r){s=r(n);for(var f=0;f<s.length;f++)o.call(n,s[f])&&(c[s[f]]=n[s[f]])}}return c}},function(e,t,n){\"use strict\";var r=n(84);t.a=function(e){return Math.max(0,-Object(r.a)(Math.abs(e)))}},function(e,t,n){\"use strict\";var r=n(84);t.a=function(e,t){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Object(r.a)(t)/3)))-Object(r.a)(Math.abs(e)))}},function(e,t,n){\"use strict\";var r=n(84);t.a=function(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Object(r.a)(t)-Object(r.a)(e))+1}},function(e,t,n){\"use strict\";var r=n(201),i=n(123),o=n(48);function a(e){return Math.sqrt(e.value)}function s(e){return function(t){t.children||(t.r=Math.max(0,+e(t)||0))}}function c(e,t){return function(n){if(i=n.children){var i,o,a,s=i.length,c=e(n)*t||0;if(c)for(o=0;o<s;++o)i[o].r+=c;if(a=Object(r.b)(i),c)for(o=0;o<s;++o)i[o].r-=c;n.r=a+c}}}function u(e){return function(t){var n=t.parent;t.r*=e,n&&(t.x=n.x+e*t.x,t.y=n.y+e*t.y)}}t.a=function(){var e=null,t=1,n=1,r=o.a;function l(i){return i.x=t/2,i.y=n/2,e?i.eachBefore(s(e)).eachAfter(c(r,.5)).eachBefore(u(1)):i.eachBefore(s(a)).eachAfter(c(o.a,1)).eachAfter(c(r,i.r/Math.min(t,n))).eachBefore(u(Math.min(t,n)/(2*i.r))),i}return l.radius=function(t){return arguments.length?(e=Object(i.a)(t),l):e},l.size=function(e){return arguments.length?(t=+e[0],n=+e[1],l):[t,n]},l.padding=function(e){return arguments.length?(r=\"function\"===typeof e?e:Object(o.b)(+e),l):r},l}},function(e,t,n){\"use strict\";var r=n(220),i=n(79);t.a=function(){var e=1,t=1,n=0,o=!1;function a(a){var s=a.height+1;return a.x0=a.y0=n,a.x1=e,a.y1=t/s,a.eachBefore(function(e,t){return function(r){r.children&&Object(i.a)(r,r.x0,e*(r.depth+1)/t,r.x1,e*(r.depth+2)/t);var o=r.x0,a=r.y0,s=r.x1-n,c=r.y1-n;s<o&&(o=s=(o+s)/2),c<a&&(a=c=(a+c)/2),r.x0=o,r.y0=a,r.x1=s,r.y1=c}}(t,s)),o&&a.eachBefore(r.a),a}return a.round=function(e){return arguments.length?(o=!!e,a):o},a.size=function(n){return arguments.length?(e=+n[0],t=+n[1],a):[e,t]},a.padding=function(e){return arguments.length?(n=+e,a):n},a}},function(e,t,n){\"use strict\";var r=n(220),i=n(121),o=n(123),a=n(48);t.a=function(){var e=i.a,t=!1,n=1,s=1,c=[0],u=a.a,l=a.a,f=a.a,d=a.a,h=a.a;function p(e){return e.x0=e.y0=0,e.x1=n,e.y1=s,e.eachBefore(g),c=[0],t&&e.eachBefore(r.a),e}function g(t){var n=c[t.depth],r=t.x0+n,i=t.y0+n,o=t.x1-n,a=t.y1-n;o<r&&(r=o=(r+o)/2),a<i&&(i=a=(i+a)/2),t.x0=r,t.y0=i,t.x1=o,t.y1=a,t.children&&(n=c[t.depth+1]=u(t)/2,r+=h(t)-n,i+=l(t)-n,(o-=f(t)-n)<r&&(r=o=(r+o)/2),(a-=d(t)-n)<i&&(i=a=(i+a)/2),e(t,r,i,o,a))}return p.round=function(e){return arguments.length?(t=!!e,p):t},p.size=function(e){return arguments.length?(n=+e[0],s=+e[1],p):[n,s]},p.tile=function(t){return arguments.length?(e=Object(o.b)(t),p):e},p.padding=function(e){return arguments.length?p.paddingInner(e).paddingOuter(e):p.paddingInner()},p.paddingInner=function(e){return arguments.length?(u=\"function\"===typeof e?e:Object(a.b)(+e),p):u},p.paddingOuter=function(e){return arguments.length?p.paddingTop(e).paddingRight(e).paddingBottom(e).paddingLeft(e):p.paddingTop()},p.paddingTop=function(e){return arguments.length?(l=\"function\"===typeof e?e:Object(a.b)(+e),p):l},p.paddingRight=function(e){return arguments.length?(f=\"function\"===typeof e?e:Object(a.b)(+e),p):f},p.paddingBottom=function(e){return arguments.length?(d=\"function\"===typeof e?e:Object(a.b)(+e),p):d},p.paddingLeft=function(e){return arguments.length?(h=\"function\"===typeof e?e:Object(a.b)(+e),p):h},p}},function(e,t,n){\"use strict\";t.a=function(e,t,n,r,i){var o,a,s=e.children,c=s.length,u=new Array(c+1);for(u[0]=a=o=0;o<c;++o)u[o+1]=a+=s[o].value;!function e(t,n,r,i,o,a,c){if(t>=n-1){var l=s[t];return l.x0=i,l.y0=o,l.x1=a,void(l.y1=c)}var f=u[t],d=r/2+f,h=t+1,p=n-1;for(;h<p;){var g=h+p>>>1;u[g]<d?h=g+1:p=g}d-u[h-1]<u[h]-d&&t+1<h&&--h;var y=u[h]-f,m=r-y;if(a-i>c-o){var b=(i*m+a*y)/r;e(t,h,y,i,o,b,c),e(h,n,m,b,o,a,c)}else{var v=(o*m+c*y)/r;e(t,h,y,i,o,a,v),e(h,n,m,i,v,a,c)}}(0,c,e.value,t,n,r,i)}},function(e,t,n){\"use strict\";var r=n(79),i=n(98);t.a=function(e,t,n,o,a){(1&e.depth?i.a:r.a)(e,t,n,o,a)}},function(e,t,n){\"use strict\";var r=n(79),i=n(98),o=n(121);t.a=function e(t){function n(e,n,a,s,c){if((u=e._squarify)&&u.ratio===t)for(var u,l,f,d,h,p=-1,g=u.length,y=e.value;++p<g;){for(f=(l=u[p]).children,d=l.value=0,h=f.length;d<h;++d)l.value+=f[d].value;l.dice?Object(r.a)(l,n,a,s,a+=(c-a)*l.value/y):Object(i.a)(l,n,a,n+=(s-n)*l.value/y,c),y-=l.value}else e._squarify=u=Object(o.c)(t,e,n,a,s,c),u.ratio=t}return n.ratio=function(t){return e((t=+t)>1?t:1)},n}(o.b)},function(e,t,n){\"use strict\";t.a=function(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}},function(e,t,n){\"use strict\";var r=Math.SQRT2;function i(e){return((e=Math.exp(e))+1/e)/2}t.a=function(e,t){var n,o,a=e[0],s=e[1],c=e[2],u=t[0],l=t[1],f=t[2],d=u-a,h=l-s,p=d*d+h*h;if(p<1e-12)o=Math.log(f/c)/r,n=function(e){return[a+e*d,s+e*h,c*Math.exp(r*e*o)]};else{var g=Math.sqrt(p),y=(f*f-c*c+4*p)/(2*c*2*g),m=(f*f-c*c-4*p)/(2*f*2*g),b=Math.log(Math.sqrt(y*y+1)-y),v=Math.log(Math.sqrt(m*m+1)-m);o=(v-b)/r,n=function(e){var t,n=e*o,u=i(b),l=c/(2*g)*(u*(t=r*n+b,((t=Math.exp(2*t))-1)/(t+1))-function(e){return((e=Math.exp(e))-1/e)/2}(b));return[a+l*d,s+l*h,c*u/i(r*n+b)]}}return n.duration=1e3*o,n}},function(e,t,n){\"use strict\";var r=n(150),i=n(21),o=n(14);function a(e){return e.innerRadius}function s(e){return e.outerRadius}function c(e){return e.startAngle}function u(e){return e.endAngle}function l(e){return e&&e.padAngle}function f(e,t,n,r,i,a,s,c){var u=n-e,l=r-t,f=s-i,d=c-a,h=d*u-f*l;if(!(h*h<o.f))return[e+(h=(f*(t-a)-d*(e-i))/h)*u,t+h*l]}function d(e,t,n,r,i,a,s){var c=e-n,u=t-r,l=(s?a:-a)/Object(o.l)(c*c+u*u),f=l*u,d=-l*c,h=e+f,p=t+d,g=n+f,y=r+d,m=(h+g)/2,b=(p+y)/2,v=g-h,x=y-p,w=v*v+x*x,_=i-a,k=h*y-g*p,O=(x<0?-1:1)*Object(o.l)(Object(o.h)(0,_*_*w-k*k)),E=(k*x-v*O)/w,S=(-k*v-x*O)/w,C=(k*x+v*O)/w,T=(-k*v+x*O)/w,j=E-m,A=S-b,M=C-m,P=T-b;return j*j+A*A>M*M+P*P&&(E=C,S=T),{cx:E,cy:S,x01:-f,y01:-d,x11:E*(i/_-1),y11:S*(i/_-1)}}t.a=function(){var e=a,t=s,n=Object(i.a)(0),h=null,p=c,g=u,y=l,m=null;function b(){var i,a,s=+e.apply(this,arguments),c=+t.apply(this,arguments),u=p.apply(this,arguments)-o.g,l=g.apply(this,arguments)-o.g,b=Object(o.a)(l-u),v=l>u;if(m||(m=i=Object(r.a)()),c<s&&(a=c,c=s,s=a),c>o.f)if(b>o.m-o.f)m.moveTo(c*Object(o.e)(u),c*Object(o.k)(u)),m.arc(0,0,c,u,l,!v),s>o.f&&(m.moveTo(s*Object(o.e)(l),s*Object(o.k)(l)),m.arc(0,0,s,l,u,v));else{var x,w,_=u,k=l,O=u,E=l,S=b,C=b,T=y.apply(this,arguments)/2,j=T>o.f&&(h?+h.apply(this,arguments):Object(o.l)(s*s+c*c)),A=Object(o.i)(Object(o.a)(c-s)/2,+n.apply(this,arguments)),M=A,P=A;if(j>o.f){var N=Object(o.c)(j/s*Object(o.k)(T)),D=Object(o.c)(j/c*Object(o.k)(T));(S-=2*N)>o.f?(O+=N*=v?1:-1,E-=N):(S=0,O=E=(u+l)/2),(C-=2*D)>o.f?(_+=D*=v?1:-1,k-=D):(C=0,_=k=(u+l)/2)}var R=c*Object(o.e)(_),I=c*Object(o.k)(_),L=s*Object(o.e)(E),B=s*Object(o.k)(E);if(A>o.f){var F,z=c*Object(o.e)(k),U=c*Object(o.k)(k),H=s*Object(o.e)(O),W=s*Object(o.k)(O);if(b<o.j&&(F=f(R,I,H,W,z,U,L,B))){var Y=R-F[0],V=I-F[1],q=z-F[0],$=U-F[1],G=1/Object(o.k)(Object(o.b)((Y*q+V*$)/(Object(o.l)(Y*Y+V*V)*Object(o.l)(q*q+$*$)))/2),X=Object(o.l)(F[0]*F[0]+F[1]*F[1]);M=Object(o.i)(A,(s-X)/(G-1)),P=Object(o.i)(A,(c-X)/(G+1))}}C>o.f?P>o.f?(x=d(H,W,R,I,c,P,v),w=d(z,U,L,B,c,P,v),m.moveTo(x.cx+x.x01,x.cy+x.y01),P<A?m.arc(x.cx,x.cy,P,Object(o.d)(x.y01,x.x01),Object(o.d)(w.y01,w.x01),!v):(m.arc(x.cx,x.cy,P,Object(o.d)(x.y01,x.x01),Object(o.d)(x.y11,x.x11),!v),m.arc(0,0,c,Object(o.d)(x.cy+x.y11,x.cx+x.x11),Object(o.d)(w.cy+w.y11,w.cx+w.x11),!v),m.arc(w.cx,w.cy,P,Object(o.d)(w.y11,w.x11),Object(o.d)(w.y01,w.x01),!v))):(m.moveTo(R,I),m.arc(0,0,c,_,k,!v)):m.moveTo(R,I),s>o.f&&S>o.f?M>o.f?(x=d(L,B,z,U,s,-M,v),w=d(R,I,H,W,s,-M,v),m.lineTo(x.cx+x.x01,x.cy+x.y01),M<A?m.arc(x.cx,x.cy,M,Object(o.d)(x.y01,x.x01),Object(o.d)(w.y01,w.x01),!v):(m.arc(x.cx,x.cy,M,Object(o.d)(x.y01,x.x01),Object(o.d)(x.y11,x.x11),!v),m.arc(0,0,s,Object(o.d)(x.cy+x.y11,x.cx+x.x11),Object(o.d)(w.cy+w.y11,w.cx+w.x11),v),m.arc(w.cx,w.cy,M,Object(o.d)(w.y11,w.x11),Object(o.d)(w.y01,w.x01),!v))):m.arc(0,0,s,E,O,v):m.lineTo(L,B)}else m.moveTo(0,0);if(m.closePath(),i)return m=null,i+\"\"||null}return b.centroid=function(){var n=(+e.apply(this,arguments)+ +t.apply(this,arguments))/2,r=(+p.apply(this,arguments)+ +g.apply(this,arguments))/2-o.j/2;return[Object(o.e)(r)*n,Object(o.k)(r)*n]},b.innerRadius=function(t){return arguments.length?(e=\"function\"===typeof t?t:Object(i.a)(+t),b):e},b.outerRadius=function(e){return arguments.length?(t=\"function\"===typeof e?e:Object(i.a)(+e),b):t},b.cornerRadius=function(e){return arguments.length?(n=\"function\"===typeof e?e:Object(i.a)(+e),b):n},b.padRadius=function(e){return arguments.length?(h=null==e?null:\"function\"===typeof e?e:Object(i.a)(+e),b):h},b.startAngle=function(e){return arguments.length?(p=\"function\"===typeof e?e:Object(i.a)(+e),b):p},b.endAngle=function(e){return arguments.length?(g=\"function\"===typeof e?e:Object(i.a)(+e),b):g},b.padAngle=function(e){return arguments.length?(y=\"function\"===typeof e?e:Object(i.a)(+e),b):y},b.context=function(e){return arguments.length?(m=null==e?null:e,b):m},b}},function(e,t,n){e.exports={graphlib:n(71),layout:n(547),debug:n(603),util:{time:n(49).time,notime:n(49).notime},version:n(604)}},function(e,t,n){var r=n(174),i=n(237),o=n(179),a=n(465),s=n(471),c=n(296),u=n(297),l=n(474),f=n(475),d=n(301),h=n(476),p=n(134),g=n(480),y=n(481),m=n(306),b=n(39),v=n(133),x=n(485),w=n(65),_=n(487),k=n(95),O=n(117),E=\"[object Arguments]\",S=\"[object Function]\",C=\"[object Object]\",T={};T[E]=T[\"[object Array]\"]=T[\"[object ArrayBuffer]\"]=T[\"[object DataView]\"]=T[\"[object Boolean]\"]=T[\"[object Date]\"]=T[\"[object Float32Array]\"]=T[\"[object Float64Array]\"]=T[\"[object Int8Array]\"]=T[\"[object Int16Array]\"]=T[\"[object Int32Array]\"]=T[\"[object Map]\"]=T[\"[object Number]\"]=T[C]=T[\"[object RegExp]\"]=T[\"[object Set]\"]=T[\"[object String]\"]=T[\"[object Symbol]\"]=T[\"[object Uint8Array]\"]=T[\"[object Uint8ClampedArray]\"]=T[\"[object Uint16Array]\"]=T[\"[object Uint32Array]\"]=!0,T[\"[object Error]\"]=T[S]=T[\"[object WeakMap]\"]=!1,e.exports=function e(t,n,j,A,M,P){var N,D=1&n,R=2&n,I=4&n;if(j&&(N=M?j(t,A,M,P):j(t)),void 0!==N)return N;if(!w(t))return t;var L=b(t);if(L){if(N=g(t),!D)return u(t,N)}else{var B=p(t),F=B==S||\"[object GeneratorFunction]\"==B;if(v(t))return c(t,D);if(B==C||B==E||F&&!M){if(N=R||F?{}:m(t),!D)return R?f(t,s(N,t)):l(t,a(N,t))}else{if(!T[B])return M?t:{};N=y(t,B,D)}}P||(P=new r);var z=P.get(t);if(z)return z;P.set(t,N),_(t)?t.forEach((function(r){N.add(e(r,n,j,r,t,P))})):x(t)&&t.forEach((function(r,i){N.set(i,e(r,n,j,i,t,P))}));var U=L?void 0:(I?R?h:d:R?O:k)(t);return i(U||t,(function(r,i){U&&(r=t[i=r]),o(N,i,e(r,n,j,i,t,P))})),N}},function(e,t,n){(function(t){var n=\"object\"==typeof t&&t&&t.Object===Object&&t;e.exports=n}).call(this,n(113))},function(e,t){var n=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return n.call(e)}catch(t){}try{return e+\"\"}catch(t){}}return\"\"}},function(e,t,n){var r=n(115),i=function(){try{var e=r(Object,\"defineProperty\");return e({},\"\",{}),e}catch(t){}}();e.exports=i},function(e,t,n){var r=n(466),i=n(162),o=n(39),a=n(133),s=n(181),c=n(163),u=Object.prototype.hasOwnProperty;e.exports=function(e,t){var n=o(e),l=!n&&i(e),f=!n&&!l&&a(e),d=!n&&!l&&!f&&c(e),h=n||l||f||d,p=h?r(e.length,String):[],g=p.length;for(var y in e)!t&&!u.call(e,y)||h&&(\"length\"==y||f&&(\"offset\"==y||\"parent\"==y)||d&&(\"buffer\"==y||\"byteLength\"==y||\"byteOffset\"==y)||s(y,g))||p.push(y);return p}},function(e,t){e.exports=function(e,t){return function(n){return e(t(n))}}},function(e,t,n){(function(e){var r=n(72),i=t&&!t.nodeType&&t,o=i&&\"object\"==typeof e&&e&&!e.nodeType&&e,a=o&&o.exports===i?r.Buffer:void 0,s=a?a.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var n=e.length,r=s?s(n):new e.constructor(n);return e.copy(r),r}}).call(this,n(157)(e))},function(e,t){e.exports=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,i=0,o=[];++n<r;){var a=e[n];t(a,n,e)&&(o[i++]=a)}return o}},function(e,t){e.exports=function(){return[]}},function(e,t,n){var r=n(242),i=n(184),o=n(241),a=n(299),s=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)r(t,o(e)),e=i(e);return t}:a;e.exports=s},function(e,t,n){var r=n(302),i=n(241),o=n(95);e.exports=function(e){return r(e,o,i)}},function(e,t,n){var r=n(242),i=n(39);e.exports=function(e,t,n){var o=t(e);return i(e)?o:r(o,n(e))}},function(e,t,n){var r=n(115)(n(72),\"Set\");e.exports=r},function(e,t,n){var r=n(72).Uint8Array;e.exports=r},function(e,t,n){var r=n(243);e.exports=function(e,t){var n=t?r(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}},function(e,t,n){var r=n(307),i=n(184),o=n(183);e.exports=function(e){return\"function\"!=typeof e.constructor||o(e)?{}:r(i(e))}},function(e,t,n){var r=n(65),i=Object.create,o=function(){function e(){}return function(t){if(!r(t))return{};if(i)return i(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();e.exports=o},function(e,t,n){var r=n(237),i=n(185),o=n(309),a=n(39);e.exports=function(e,t){return(a(e)?r:i)(e,o(t))}},function(e,t,n){var r=n(118);e.exports=function(e){return\"function\"==typeof e?e:r}},function(e,t,n){var r=n(298),i=n(491),o=n(88),a=n(39);e.exports=function(e,t){return(a(e)?r:i)(e,o(t,3))}},function(e,t,n){var r=n(494),i=n(76);e.exports=function e(t,n,o,a,s){return t===n||(null==t||null==n||!i(t)&&!i(n)?t!==t&&n!==n:r(t,n,o,a,e,s))}},function(e,t,n){var r=n(313),i=n(497),o=n(314);e.exports=function(e,t,n,a,s,c){var u=1&n,l=e.length,f=t.length;if(l!=f&&!(u&&f>l))return!1;var d=c.get(e),h=c.get(t);if(d&&h)return d==t&&h==e;var p=-1,g=!0,y=2&n?new r:void 0;for(c.set(e,t),c.set(t,e);++p<l;){var m=e[p],b=t[p];if(a)var v=u?a(b,m,p,t,e,c):a(m,b,p,e,t,c);if(void 0!==v){if(v)continue;g=!1;break}if(y){if(!i(t,(function(e,t){if(!o(y,t)&&(m===e||s(m,e,n,a,c)))return y.push(t)}))){g=!1;break}}else if(m!==b&&!s(m,b,n,a,c)){g=!1;break}}return c.delete(e),c.delete(t),g}},function(e,t,n){var r=n(236),i=n(495),o=n(496);function a(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new r;++t<n;)this.add(e[t])}a.prototype.add=a.prototype.push=i,a.prototype.has=o,e.exports=a},function(e,t){e.exports=function(e,t){return e.has(t)}},function(e,t,n){var r=n(65);e.exports=function(e){return e===e&&!r(e)}},function(e,t){e.exports=function(e,t){return function(n){return null!=n&&(n[e]===t&&(void 0!==t||e in Object(n)))}}},function(e,t,n){var r=n(507);e.exports=function(e){return null==e?\"\":r(e)}},function(e,t,n){var r=n(508),i=n(319);e.exports=function(e,t){return null!=e&&i(e,t,r)}},function(e,t,n){var r=n(187),i=n(162),o=n(39),a=n(181),s=n(238),c=n(164);e.exports=function(e,t,n){for(var u=-1,l=(t=r(t,e)).length,f=!1;++u<l;){var d=c(t[u]);if(!(f=null!=e&&n(e,d)))break;e=e[d]}return f||++u!=l?f:!!(l=null==e?0:e.length)&&s(l)&&a(d,l)&&(o(e)||i(e))}},function(e,t){e.exports=function(e){return function(t){return null==t?void 0:t[e]}}},function(e,t){e.exports=function(e){return void 0===e}},function(e,t,n){var r=n(188),i=n(88),o=n(323),a=n(39);e.exports=function(e,t){return(a(e)?r:o)(e,i(t,3))}},function(e,t,n){var r=n(185),i=n(87);e.exports=function(e,t){var n=-1,o=i(e)?Array(e.length):[];return r(e,(function(e,r,i){o[++n]=t(e,r,i)})),o}},function(e,t,n){var r=n(513),i=n(185),o=n(88),a=n(514),s=n(39);e.exports=function(e,t,n){var c=s(e)?r:a,u=arguments.length<3;return c(e,o(t,4),n,u,i)}},function(e,t,n){var r=n(524),i=Math.max;e.exports=function(e,t,n){return t=i(void 0===t?e.length-1:t,0),function(){for(var o=arguments,a=-1,s=i(o.length-t,0),c=Array(s);++a<s;)c[a]=o[t+a];a=-1;for(var u=Array(t+1);++a<t;)u[a]=o[a];return u[t]=n(c),r(e,this,u)}}},function(e,t,n){var r=n(525),i=n(526)(r);e.exports=i},function(e,t){e.exports=function(e,t,n,r){for(var i=e.length,o=n+(r?1:-1);r?o--:++o<i;)if(t(e[o],o,e))return o;return-1}},function(e,t,n){var r=n(87),i=n(76);e.exports=function(e){return i(e)&&r(e)}},function(e,t,n){var r=n(535),i=n(95);e.exports=function(e){return null==e?[]:r(e,i(e))}},function(e,t,n){var r=n(64),i=n(331);e.exports=function(e,t,n,r){return function(e,t,n,r){var o,a,s={},c=new i,u=function(e){var t=e.v!==o?e.v:e.w,r=s[t],i=n(e),u=a.distance+i;if(i<0)throw new Error(\"dijkstra does not allow negative edge weights. Bad edge: \"+e+\" Weight: \"+i);u<r.distance&&(r.distance=u,r.predecessor=o,c.decrease(t,u))};e.nodes().forEach((function(e){var n=e===t?0:Number.POSITIVE_INFINITY;s[e]={distance:n},c.add(e,n)}));for(;c.size()>0&&(o=c.removeMin(),(a=s[o]).distance!==Number.POSITIVE_INFINITY);)r(o).forEach(u);return s}(e,String(t),n||o,r||function(t){return e.outEdges(t)})};var o=r.constant(1)},function(e,t,n){var r=n(64);function i(){this._arr=[],this._keyIndices={}}e.exports=i,i.prototype.size=function(){return this._arr.length},i.prototype.keys=function(){return this._arr.map((function(e){return e.key}))},i.prototype.has=function(e){return r.has(this._keyIndices,e)},i.prototype.priority=function(e){var t=this._keyIndices[e];if(void 0!==t)return this._arr[t].priority},i.prototype.min=function(){if(0===this.size())throw new Error(\"Queue underflow\");return this._arr[0].key},i.prototype.add=function(e,t){var n=this._keyIndices;if(e=String(e),!r.has(n,e)){var i=this._arr,o=i.length;return n[e]=o,i.push({key:e,priority:t}),this._decrease(o),!0}return!1},i.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},i.prototype.decrease=function(e,t){var n=this._keyIndices[e];if(t>this._arr[n].priority)throw new Error(\"New priority is greater than current priority. Key: \"+e+\" Old: \"+this._arr[n].priority+\" New: \"+t);this._arr[n].priority=t,this._decrease(n)},i.prototype._heapify=function(e){var t=this._arr,n=2*e,r=n+1,i=e;n<t.length&&(i=t[n].priority<t[i].priority?n:i,r<t.length&&(i=t[r].priority<t[i].priority?r:i),i!==e&&(this._swap(e,i),this._heapify(i)))},i.prototype._decrease=function(e){for(var t,n=this._arr,r=n[e].priority;0!==e&&!(n[t=e>>1].priority<r);)this._swap(e,t),e=t},i.prototype._swap=function(e,t){var n=this._arr,r=this._keyIndices,i=n[e],o=n[t];n[e]=o,n[t]=i,r[o.key]=e,r[i.key]=t}},function(e,t,n){var r=n(64);e.exports=function(e){var t=0,n=[],i={},o=[];function a(s){var c=i[s]={onStack:!0,lowlink:t,index:t++};if(n.push(s),e.successors(s).forEach((function(e){r.has(i,e)?i[e].onStack&&(c.lowlink=Math.min(c.lowlink,i[e].index)):(a(e),c.lowlink=Math.min(c.lowlink,i[e].lowlink))})),c.lowlink===c.index){var u,l=[];do{u=n.pop(),i[u].onStack=!1,l.push(u)}while(s!==u);o.push(l)}}return e.nodes().forEach((function(e){r.has(i,e)||a(e)})),o}},function(e,t,n){var r=n(64);function i(e){var t={},n={},i=[];if(r.each(e.sinks(),(function a(s){if(r.has(n,s))throw new o;r.has(t,s)||(n[s]=!0,t[s]=!0,r.each(e.predecessors(s),a),delete n[s],i.push(s))})),r.size(t)!==e.nodeCount())throw new o;return i}function o(){}e.exports=i,i.CycleException=o,o.prototype=new Error},function(e,t,n){var r=n(64);function i(e,t,n,o,a,s){r.has(o,t)||(o[t]=!0,n||s.push(t),r.each(a(t),(function(t){i(e,t,n,o,a,s)})),n&&s.push(t))}e.exports=function(e,t,n){r.isArray(t)||(t=[t]);var o=(e.isDirected()?e.successors:e.neighbors).bind(e),a=[],s={};return r.each(t,(function(t){if(!e.hasNode(t))throw new Error(\"Graph does not have node: \"+t);i(e,t,\"post\"===n,s,o,a)})),a}},function(e,t,n){var r=n(189),i=n(130),o=n(190),a=n(117),s=Object.prototype,c=s.hasOwnProperty,u=r((function(e,t){e=Object(e);var n=-1,r=t.length,u=r>2?t[2]:void 0;for(u&&o(t[0],t[1],u)&&(r=1);++n<r;)for(var l=t[n],f=a(l),d=-1,h=f.length;++d<h;){var p=f[d],g=e[p];(void 0===g||i(g,s[p])&&!c.call(e,p))&&(e[p]=l[p])}return e}));e.exports=u},function(e,t,n){var r=n(553),i=1/0;e.exports=function(e){return e?(e=r(e))===i||e===-1/0?17976931348623157e292*(e<0?-1:1):e===e?e:0:0===e?e:0}},function(e,t,n){var r=n(251);e.exports=function(e){return(null==e?0:e.length)?r(e,1):[]}},function(e,t,n){var r=n(180),i=n(130);e.exports=function(e,t,n){(void 0!==n&&!i(e[t],n)||void 0===n&&!(t in e))&&r(e,t,n)}},function(e,t,n){var r=n(116),i=n(184),o=n(76),a=Function.prototype,s=Object.prototype,c=a.toString,u=s.hasOwnProperty,l=c.call(Object);e.exports=function(e){if(!o(e)||\"[object Object]\"!=r(e))return!1;var t=i(e);if(null===t)return!0;var n=u.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof n&&n instanceof n&&c.call(n)==l}},function(e,t){e.exports=function(e,t){if((\"constructor\"!==t||\"function\"!==typeof e[t])&&\"__proto__\"!=t)return e[t]}},function(e,t){e.exports=function(e,t){return e<t}},function(e,t,n){var r=n(569),i=n(572)((function(e,t){return null==e?{}:r(e,t)}));e.exports=i},function(e,t,n){var r=n(573)();e.exports=r},function(e,t,n){var r=n(317),i=0;e.exports=function(e){var t=++i;return r(e)+t}},function(e,t,n){\"use strict\";var r=n(33),i=n(71).Graph,o=n(191).slack;function a(e,t){return r.forEach(e.nodes(),(function n(i){r.forEach(t.nodeEdges(i),(function(r){var a=r.v,s=i===a?r.w:a;e.hasNode(s)||o(t,r)||(e.setNode(s,{}),e.setEdge(i,s,{}),n(s))}))})),e.nodeCount()}function s(e,t){return r.minBy(t.edges(),(function(n){if(e.hasNode(n.v)!==e.hasNode(n.w))return o(t,n)}))}function c(e,t,n){r.forEach(e.nodes(),(function(e){t.node(e).rank+=n}))}e.exports=function(e){var t,n,r=new i({directed:!1}),u=e.nodes()[0],l=e.nodeCount();r.setNode(u,{});for(;a(r,e)<l;)t=s(r,e),n=r.hasNode(t.v)?o(e,t):-o(e,t),c(r,e,n);return r}},function(e,t,n){var r;try{r=n(289)}catch(i){}r||(r=window.dagre),e.exports=r},function(e,t){e.exports=function(e,t){return e.intersect(t)}},function(e,t,n){var r=n(253);e.exports=function(e,t,n){return r(e,t,t,n)}},function(e,t,n){var r=n(608);e.exports=function(e,t,n){var i=e.x,o=e.y,a=[],s=Number.POSITIVE_INFINITY,c=Number.POSITIVE_INFINITY;t.forEach((function(e){s=Math.min(s,e.x),c=Math.min(c,e.y)}));for(var u=i-e.width/2-s,l=o-e.height/2-c,f=0;f<t.length;f++){var d=t[f],h=t[f<t.length-1?f+1:0],p=r(e,n,{x:u+d.x,y:l+d.y},{x:u+h.x,y:l+h.y});p&&a.push(p)}if(!a.length)return console.log(\"NO INTERSECTION FOUND, RETURN NODE CENTER\",e),e;a.length>1&&a.sort((function(e,t){var r=e.x-n.x,i=e.y-n.y,o=Math.sqrt(r*r+i*i),a=t.x-n.x,s=t.y-n.y,c=Math.sqrt(a*a+s*s);return o<c?-1:o===c?0:1}));return a[0]}},function(e,t){e.exports=function(e,t){var n,r,i=e.x,o=e.y,a=t.x-i,s=t.y-o,c=e.width/2,u=e.height/2;Math.abs(s)*c>Math.abs(a)*u?(s<0&&(u=-u),n=0===s?0:u*a/s,r=u):(a<0&&(c=-c),n=c,r=0===a?0:c*s/a);return{x:i+n,y:o+r}}},function(e,t,n){var r=n(66);e.exports=function(e,t){var n=e.append(\"foreignObject\").attr(\"width\",\"100000\"),i=n.append(\"xhtml:div\");i.attr(\"xmlns\",\"http://www.w3.org/1999/xhtml\");var o=t.label;switch(typeof o){case\"function\":i.insert(o);break;case\"object\":i.insert((function(){return o}));break;default:i.html(o)}r.applyStyle(i,t.labelStyle),i.style(\"display\",\"inline-block\"),i.style(\"white-space\",\"nowrap\");var a=i.node().getBoundingClientRect();return n.attr(\"width\",a.width).attr(\"height\",a.height),n}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(67),i=n(165),o=n(630),a={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:function(e){if(35===e.charCodeAt(0)){var t=e.match(a.re);if(t){var n=t[1],r=parseInt(n,16),o=n.length,s=o%4===0,c=o>4,u=c?1:17,l=c?8:4,f=s?0:-1,d=c?255:15;return i.default.set({r:(r>>l*(f+3)&d)*u,g:(r>>l*(f+2)&d)*u,b:(r>>l*(f+1)&d)*u,a:s?(r&d)*u/255:1},e)}}},stringify:function(e){return e.a<1?\"#\"+o.DEC2HEX[Math.round(e.r)]+o.DEC2HEX[Math.round(e.g)]+o.DEC2HEX[Math.round(e.b)]+r.default.unit.frac2hex(e.a):\"#\"+o.DEC2HEX[Math.round(e.r)]+o.DEC2HEX[Math.round(e.g)]+o.DEC2HEX[Math.round(e.b)]}};t.default=a},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(67),i=n(165),o=n(73);t.default=function(e,t,n,a){void 0===a&&(a=1);var s=i.default.set({h:r.default.channel.clamp.h(e),s:r.default.channel.clamp.s(t),l:r.default.channel.clamp.l(n),a:r.default.channel.clamp.a(a)});return o.default.stringify(s)}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(97);t.default=function(e){return r.default(e,\"a\")}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(67),i=n(73);t.default=function(e){var t=i.default.parse(e),n=t.r,o=t.g,a=t.b,s=.2126*r.default.channel.toLinear(n)+.7152*r.default.channel.toLinear(o)+.0722*r.default.channel.toLinear(a);return r.default.lang.round(s)}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(355);t.default=function(e){return r.default(e)>=.5}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(119);t.default=function(e,t){return r.default(e,\"a\",t)}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(119);t.default=function(e,t){return r.default(e,\"a\",-t)}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(73),i=n(193);t.default=function(e,t){var n=r.default.parse(e),o={};for(var a in t)t[a]&&(o[a]=n[a]+t[a]);return i.default(e,o)}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(73),i=n(192);t.default=function(e,t,n){void 0===n&&(n=50);var o=r.default.parse(e),a=o.r,s=o.g,c=o.b,u=o.a,l=r.default.parse(t),f=l.r,d=l.g,h=l.b,p=l.a,g=n/100,y=2*g-1,m=u-p,b=((y*m===-1?y:(y+m)/(1+y*m))+1)/2,v=1-b,x=a*b+f*v,w=s*b+d*v,_=c*b+h*v,k=u*g+p*(1-g);return i.default(x,w,_,k)}},function(e,t){},function(e,t,n){\"use strict\";e.exports=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];return e.apply(t,n)}}},function(e,t,n){\"use strict\";var r=n(57);function i(e){return encodeURIComponent(e).replace(/%3A/gi,\":\").replace(/%24/g,\"$\").replace(/%2C/gi,\",\").replace(/%20/g,\"+\").replace(/%5B/gi,\"[\").replace(/%5D/gi,\"]\")}e.exports=function(e,t,n){if(!t)return e;var o;if(n)o=n(t);else if(r.isURLSearchParams(t))o=t.toString();else{var a=[];r.forEach(t,(function(e,t){null!==e&&\"undefined\"!==typeof e&&(r.isArray(e)?t+=\"[]\":e=[e],r.forEach(e,(function(e){r.isDate(e)?e=e.toISOString():r.isObject(e)&&(e=JSON.stringify(e)),a.push(i(t)+\"=\"+i(e))})))})),o=a.join(\"&\")}if(o){var s=e.indexOf(\"#\");-1!==s&&(e=e.slice(0,s)),e+=(-1===e.indexOf(\"?\")?\"?\":\"&\")+o}return e}},function(e,t,n){\"use strict\";e.exports=function(e,t,n,r,i){return e.config=t,n&&(e.code=n),e.request=r,e.response=i,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}},function(e,t,n){\"use strict\";var r=n(57),i=n(659),o=n(660),a=n(363),s=n(661),c=n(664),u=n(665),l=n(366);e.exports=function(e){return new Promise((function(t,n){var f=e.data,d=e.headers,h=e.responseType;r.isFormData(f)&&delete d[\"Content-Type\"];var p=new XMLHttpRequest;if(e.auth){var g=e.auth.username||\"\",y=e.auth.password?unescape(encodeURIComponent(e.auth.password)):\"\";d.Authorization=\"Basic \"+btoa(g+\":\"+y)}var m=s(e.baseURL,e.url);function b(){if(p){var r=\"getAllResponseHeaders\"in p?c(p.getAllResponseHeaders()):null,o={data:h&&\"text\"!==h&&\"json\"!==h?p.response:p.responseText,status:p.status,statusText:p.statusText,headers:r,config:e,request:p};i(t,n,o),p=null}}if(p.open(e.method.toUpperCase(),a(m,e.params,e.paramsSerializer),!0),p.timeout=e.timeout,\"onloadend\"in p?p.onloadend=b:p.onreadystatechange=function(){p&&4===p.readyState&&(0!==p.status||p.responseURL&&0===p.responseURL.indexOf(\"file:\"))&&setTimeout(b)},p.onabort=function(){p&&(n(l(\"Request aborted\",e,\"ECONNABORTED\",p)),p=null)},p.onerror=function(){n(l(\"Network Error\",e,null,p)),p=null},p.ontimeout=function(){var t=\"timeout of \"+e.timeout+\"ms exceeded\";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(l(t,e,e.transitional&&e.transitional.clarifyTimeoutError?\"ETIMEDOUT\":\"ECONNABORTED\",p)),p=null},r.isStandardBrowserEnv()){var v=(e.withCredentials||u(m))&&e.xsrfCookieName?o.read(e.xsrfCookieName):void 0;v&&(d[e.xsrfHeaderName]=v)}\"setRequestHeader\"in p&&r.forEach(d,(function(e,t){\"undefined\"===typeof f&&\"content-type\"===t.toLowerCase()?delete d[t]:p.setRequestHeader(t,e)})),r.isUndefined(e.withCredentials)||(p.withCredentials=!!e.withCredentials),h&&\"json\"!==h&&(p.responseType=e.responseType),\"function\"===typeof e.onDownloadProgress&&p.addEventListener(\"progress\",e.onDownloadProgress),\"function\"===typeof e.onUploadProgress&&p.upload&&p.upload.addEventListener(\"progress\",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){p&&(p.abort(),n(e),p=null)})),f||(f=null),p.send(f)}))}},function(e,t,n){\"use strict\";var r=n(364);e.exports=function(e,t,n,i,o){var a=new Error(e);return r(a,t,n,i,o)}},function(e,t,n){\"use strict\";e.exports=function(e){return!(!e||!e.__CANCEL__)}},function(e,t,n){\"use strict\";var r=n(57);e.exports=function(e,t){t=t||{};var n={},i=[\"url\",\"method\",\"data\"],o=[\"headers\",\"auth\",\"proxy\",\"params\"],a=[\"baseURL\",\"transformRequest\",\"transformResponse\",\"paramsSerializer\",\"timeout\",\"timeoutMessage\",\"withCredentials\",\"adapter\",\"responseType\",\"xsrfCookieName\",\"xsrfHeaderName\",\"onUploadProgress\",\"onDownloadProgress\",\"decompress\",\"maxContentLength\",\"maxBodyLength\",\"maxRedirects\",\"transport\",\"httpAgent\",\"httpsAgent\",\"cancelToken\",\"socketPath\",\"responseEncoding\"],s=[\"validateStatus\"];function c(e,t){return r.isPlainObject(e)&&r.isPlainObject(t)?r.merge(e,t):r.isPlainObject(t)?r.merge({},t):r.isArray(t)?t.slice():t}function u(i){r.isUndefined(t[i])?r.isUndefined(e[i])||(n[i]=c(void 0,e[i])):n[i]=c(e[i],t[i])}r.forEach(i,(function(e){r.isUndefined(t[e])||(n[e]=c(void 0,t[e]))})),r.forEach(o,u),r.forEach(a,(function(i){r.isUndefined(t[i])?r.isUndefined(e[i])||(n[i]=c(void 0,e[i])):n[i]=c(void 0,t[i])})),r.forEach(s,(function(r){r in t?n[r]=c(e[r],t[r]):r in e&&(n[r]=c(void 0,e[r]))}));var l=i.concat(o).concat(a).concat(s),f=Object.keys(e).concat(Object.keys(t)).filter((function(e){return-1===l.indexOf(e)}));return r.forEach(f,u),n}},function(e,t,n){\"use strict\";function r(e){this.message=e}r.prototype.toString=function(){return\"Cancel\"+(this.message?\": \"+this.message:\"\")},r.prototype.__CANCEL__=!0,e.exports=r},function(e,t,n){\"use strict\";t.__esModule=!0,t.default={noWobble:{stiffness:170,damping:26},gentle:{stiffness:120,damping:14},wobbly:{stiffness:180,damping:12},stiff:{stiffness:210,damping:20}},e.exports=t.default},function(e,t,n){\"use strict\";var r=Array.prototype.slice,i=n(372),o=Object.keys,a=o?function(e){return o(e)}:n(678),s=Object.keys;a.shim=function(){if(Object.keys){var e=function(){var e=Object.keys(arguments);return e&&e.length===arguments.length}(1,2);e||(Object.keys=function(e){return i(e)?s(r.call(e)):s(e)})}else Object.keys=a;return Object.keys||a},e.exports=a},function(e,t,n){\"use strict\";var r=Object.prototype.toString;e.exports=function(e){var t=r.call(e),n=\"[object Arguments]\"===t;return n||(n=\"[object Array]\"!==t&&null!==e&&\"object\"===typeof e&&\"number\"===typeof e.length&&e.length>=0&&\"[object Function]\"===r.call(e.callee)),n}},function(e,t,n){\"use strict\";var r=function(e){return e!==e};e.exports=function(e,t){return 0===e&&0===t?1/e===1/t:e===t||!(!r(e)||!r(t))}},function(e,t,n){\"use strict\";var r=n(373);e.exports=function(){return\"function\"===typeof Object.is?Object.is:r}},function(e,t,n){\"use strict\";var r=Object,i=TypeError;e.exports=function(){if(null!=this&&this!==r(this))throw new i(\"RegExp.prototype.flags getter called on non-object\");var e=\"\";return this.global&&(e+=\"g\"),this.ignoreCase&&(e+=\"i\"),this.multiline&&(e+=\"m\"),this.dotAll&&(e+=\"s\"),this.unicode&&(e+=\"u\"),this.sticky&&(e+=\"y\"),e}},function(e,t,n){\"use strict\";var r=n(375),i=n(166).supportsDescriptors,o=Object.getOwnPropertyDescriptor,a=TypeError;e.exports=function(){if(!i)throw new a(\"RegExp.prototype.flags requires a true ES5 environment that supports property descriptors\");if(\"gim\"===/a/gim.flags){var e=o(RegExp.prototype,\"flags\");if(e&&\"function\"===typeof e.get&&\"boolean\"===typeof/a/.dotAll)return e.get}return r}},,function(e,t,n){\"use strict\";n.r(t),n.d(t,\"version\",(function(){return r})),n.d(t,\"bisect\",(function(){return i.b})),n.d(t,\"bisectRight\",(function(){return i.d})),n.d(t,\"bisectLeft\",(function(){return i.c})),n.d(t,\"ascending\",(function(){return i.a})),n.d(t,\"bisector\",(function(){return i.e})),n.d(t,\"cross\",(function(){return i.f})),n.d(t,\"descending\",(function(){return i.g})),n.d(t,\"deviation\",(function(){return i.h})),n.d(t,\"extent\",(function(){return i.i})),n.d(t,\"histogram\",(function(){return i.j})),n.d(t,\"thresholdFreedmanDiaconis\",(function(){return i.w})),n.d(t,\"thresholdScott\",(function(){return i.x})),n.d(t,\"thresholdSturges\",(function(){return i.y})),n.d(t,\"max\",(function(){return i.k})),n.d(t,\"mean\",(function(){return i.l})),n.d(t,\"median\",(function(){return i.m})),n.d(t,\"merge\",(function(){return i.n})),n.d(t,\"min\",(function(){return i.o})),n.d(t,\"pairs\",(function(){return i.p})),n.d(t,\"permute\",(function(){return i.q})),n.d(t,\"quantile\",(function(){return i.r})),n.d(t,\"range\",(function(){return i.s})),n.d(t,\"scan\",(function(){return i.t})),n.d(t,\"shuffle\",(function(){return i.u})),n.d(t,\"sum\",(function(){return i.v})),n.d(t,\"ticks\",(function(){return i.B})),n.d(t,\"tickIncrement\",(function(){return i.z})),n.d(t,\"tickStep\",(function(){return i.A})),n.d(t,\"transpose\",(function(){return i.C})),n.d(t,\"variance\",(function(){return i.D})),n.d(t,\"zip\",(function(){return i.E})),n.d(t,\"axisTop\",(function(){return p})),n.d(t,\"axisRight\",(function(){return g})),n.d(t,\"axisBottom\",(function(){return y})),n.d(t,\"axisLeft\",(function(){return m})),n.d(t,\"brush\",(function(){return In})),n.d(t,\"brushX\",(function(){return Dn})),n.d(t,\"brushY\",(function(){return Rn})),n.d(t,\"brushSelection\",(function(){return Nn})),n.d(t,\"chord\",(function(){return Vn})),n.d(t,\"ribbon\",(function(){return er})),n.d(t,\"nest\",(function(){return tr.d})),n.d(t,\"set\",(function(){return tr.e})),n.d(t,\"map\",(function(){return tr.c})),n.d(t,\"keys\",(function(){return tr.b})),n.d(t,\"values\",(function(){return tr.f})),n.d(t,\"entries\",(function(){return tr.a})),n.d(t,\"color\",(function(){return nr.a})),n.d(t,\"rgb\",(function(){return nr.h})),n.d(t,\"hsl\",(function(){return nr.e})),n.d(t,\"lab\",(function(){return nr.f})),n.d(t,\"hcl\",(function(){return nr.d})),n.d(t,\"lch\",(function(){return nr.g})),n.d(t,\"gray\",(function(){return nr.c})),n.d(t,\"cubehelix\",(function(){return nr.b})),n.d(t,\"contours\",(function(){return rr.b})),n.d(t,\"contourDensity\",(function(){return rr.a})),n.d(t,\"dispatch\",(function(){return O})),n.d(t,\"drag\",(function(){return lr})),n.d(t,\"dragDisable\",(function(){return Fe})),n.d(t,\"dragEnable\",(function(){return ze})),n.d(t,\"dsvFormat\",(function(){return mr})),n.d(t,\"csvParse\",(function(){return vr})),n.d(t,\"csvParseRows\",(function(){return xr})),n.d(t,\"csvFormat\",(function(){return wr})),n.d(t,\"csvFormatBody\",(function(){return _r})),n.d(t,\"csvFormatRows\",(function(){return kr})),n.d(t,\"csvFormatRow\",(function(){return Or})),n.d(t,\"csvFormatValue\",(function(){return Er})),n.d(t,\"tsvParse\",(function(){return Cr})),n.d(t,\"tsvParseRows\",(function(){return Tr})),n.d(t,\"tsvFormat\",(function(){return jr})),n.d(t,\"tsvFormatBody\",(function(){return Ar})),n.d(t,\"tsvFormatRows\",(function(){return Mr})),n.d(t,\"tsvFormatRow\",(function(){return Pr})),n.d(t,\"tsvFormatValue\",(function(){return Nr})),n.d(t,\"autoType\",(function(){return Dr})),n.d(t,\"easeLinear\",(function(){return Ir})),n.d(t,\"easeQuad\",(function(){return Fr})),n.d(t,\"easeQuadIn\",(function(){return Lr})),n.d(t,\"easeQuadOut\",(function(){return Br})),n.d(t,\"easeQuadInOut\",(function(){return Fr})),n.d(t,\"easeCubic\",(function(){return nn})),n.d(t,\"easeCubicIn\",(function(){return en})),n.d(t,\"easeCubicOut\",(function(){return tn})),n.d(t,\"easeCubicInOut\",(function(){return nn})),n.d(t,\"easePoly\",(function(){return Hr})),n.d(t,\"easePolyIn\",(function(){return zr})),n.d(t,\"easePolyOut\",(function(){return Ur})),n.d(t,\"easePolyInOut\",(function(){return Hr})),n.d(t,\"easeSin\",(function(){return $r})),n.d(t,\"easeSinIn\",(function(){return Vr})),n.d(t,\"easeSinOut\",(function(){return qr})),n.d(t,\"easeSinInOut\",(function(){return $r})),n.d(t,\"easeExp\",(function(){return Zr})),n.d(t,\"easeExpIn\",(function(){return Xr})),n.d(t,\"easeExpOut\",(function(){return Kr})),n.d(t,\"easeExpInOut\",(function(){return Zr})),n.d(t,\"easeCircle\",(function(){return ei})),n.d(t,\"easeCircleIn\",(function(){return Jr})),n.d(t,\"easeCircleOut\",(function(){return Qr})),n.d(t,\"easeCircleInOut\",(function(){return ei})),n.d(t,\"easeBounce\",(function(){return ii})),n.d(t,\"easeBounceIn\",(function(){return ri})),n.d(t,\"easeBounceOut\",(function(){return ii})),n.d(t,\"easeBounceInOut\",(function(){return oi})),n.d(t,\"easeBack\",(function(){return ui})),n.d(t,\"easeBackIn\",(function(){return si})),n.d(t,\"easeBackOut\",(function(){return ci})),n.d(t,\"easeBackInOut\",(function(){return ui})),n.d(t,\"easeElastic\",(function(){return di})),n.d(t,\"easeElasticIn\",(function(){return fi})),n.d(t,\"easeElasticOut\",(function(){return di})),n.d(t,\"easeElasticInOut\",(function(){return hi})),n.d(t,\"blob\",(function(){return gi})),n.d(t,\"buffer\",(function(){return mi})),n.d(t,\"dsv\",(function(){return wi})),n.d(t,\"csv\",(function(){return _i})),n.d(t,\"tsv\",(function(){return ki})),n.d(t,\"image\",(function(){return Oi})),n.d(t,\"json\",(function(){return Si})),n.d(t,\"text\",(function(){return vi})),n.d(t,\"xml\",(function(){return Ti})),n.d(t,\"html\",(function(){return ji})),n.d(t,\"svg\",(function(){return Ai})),n.d(t,\"forceCenter\",(function(){return Mi})),n.d(t,\"forceCollide\",(function(){return Yi})),n.d(t,\"forceLink\",(function(){return $i})),n.d(t,\"forceManyBody\",(function(){return Ji})),n.d(t,\"forceRadial\",(function(){return Qi})),n.d(t,\"forceSimulation\",(function(){return Zi})),n.d(t,\"forceX\",(function(){return eo})),n.d(t,\"forceY\",(function(){return to})),n.d(t,\"formatDefaultLocale\",(function(){return no.c})),n.d(t,\"format\",(function(){return no.b})),n.d(t,\"formatPrefix\",(function(){return no.e})),n.d(t,\"formatLocale\",(function(){return no.d})),n.d(t,\"formatSpecifier\",(function(){return no.f})),n.d(t,\"FormatSpecifier\",(function(){return no.a})),n.d(t,\"precisionFixed\",(function(){return no.g})),n.d(t,\"precisionPrefix\",(function(){return no.h})),n.d(t,\"precisionRound\",(function(){return no.i})),n.d(t,\"geoArea\",(function(){return ro.c})),n.d(t,\"geoBounds\",(function(){return ro.h})),n.d(t,\"geoCentroid\",(function(){return ro.i})),n.d(t,\"geoCircle\",(function(){return ro.j})),n.d(t,\"geoClipAntimeridian\",(function(){return ro.k})),n.d(t,\"geoClipCircle\",(function(){return ro.l})),n.d(t,\"geoClipExtent\",(function(){return ro.m})),n.d(t,\"geoClipRectangle\",(function(){return ro.n})),n.d(t,\"geoContains\",(function(){return ro.u})),n.d(t,\"geoDistance\",(function(){return ro.v})),n.d(t,\"geoGraticule\",(function(){return ro.C})),n.d(t,\"geoGraticule10\",(function(){return ro.D})),n.d(t,\"geoInterpolate\",(function(){return ro.F})),n.d(t,\"geoLength\",(function(){return ro.G})),n.d(t,\"geoPath\",(function(){return ro.N})),n.d(t,\"geoAlbers\",(function(){return ro.a})),n.d(t,\"geoAlbersUsa\",(function(){return ro.b})),n.d(t,\"geoAzimuthalEqualArea\",(function(){return ro.d})),n.d(t,\"geoAzimuthalEqualAreaRaw\",(function(){return ro.e})),n.d(t,\"geoAzimuthalEquidistant\",(function(){return ro.f})),n.d(t,\"geoAzimuthalEquidistantRaw\",(function(){return ro.g})),n.d(t,\"geoConicConformal\",(function(){return ro.o})),n.d(t,\"geoConicConformalRaw\",(function(){return ro.p})),n.d(t,\"geoConicEqualArea\",(function(){return ro.q})),n.d(t,\"geoConicEqualAreaRaw\",(function(){return ro.r})),n.d(t,\"geoConicEquidistant\",(function(){return ro.s})),n.d(t,\"geoConicEquidistantRaw\",(function(){return ro.t})),n.d(t,\"geoEqualEarth\",(function(){return ro.w})),n.d(t,\"geoEqualEarthRaw\",(function(){return ro.x})),n.d(t,\"geoEquirectangular\",(function(){return ro.y})),n.d(t,\"geoEquirectangularRaw\",(function(){return ro.z})),n.d(t,\"geoGnomonic\",(function(){return ro.A})),n.d(t,\"geoGnomonicRaw\",(function(){return ro.B})),n.d(t,\"geoIdentity\",(function(){return ro.E})),n.d(t,\"geoProjection\",(function(){return ro.O})),n.d(t,\"geoProjectionMutator\",(function(){return ro.P})),n.d(t,\"geoMercator\",(function(){return ro.H})),n.d(t,\"geoMercatorRaw\",(function(){return ro.I})),n.d(t,\"geoNaturalEarth1\",(function(){return ro.J})),n.d(t,\"geoNaturalEarth1Raw\",(function(){return ro.K})),n.d(t,\"geoOrthographic\",(function(){return ro.L})),n.d(t,\"geoOrthographicRaw\",(function(){return ro.M})),n.d(t,\"geoStereographic\",(function(){return ro.R})),n.d(t,\"geoStereographicRaw\",(function(){return ro.S})),n.d(t,\"geoTransverseMercator\",(function(){return ro.V})),n.d(t,\"geoTransverseMercatorRaw\",(function(){return ro.W})),n.d(t,\"geoRotation\",(function(){return ro.Q})),n.d(t,\"geoStream\",(function(){return ro.T})),n.d(t,\"geoTransform\",(function(){return ro.U})),n.d(t,\"cluster\",(function(){return io.a})),n.d(t,\"hierarchy\",(function(){return io.b})),n.d(t,\"pack\",(function(){return io.c})),n.d(t,\"packSiblings\",(function(){return io.e})),n.d(t,\"packEnclose\",(function(){return io.d})),n.d(t,\"partition\",(function(){return io.f})),n.d(t,\"stratify\",(function(){return io.g})),n.d(t,\"tree\",(function(){return io.h})),n.d(t,\"treemap\",(function(){return io.i})),n.d(t,\"treemapBinary\",(function(){return io.j})),n.d(t,\"treemapDice\",(function(){return io.k})),n.d(t,\"treemapSlice\",(function(){return io.m})),n.d(t,\"treemapSliceDice\",(function(){return io.n})),n.d(t,\"treemapSquarify\",(function(){return io.o})),n.d(t,\"treemapResquarify\",(function(){return io.l})),n.d(t,\"interpolate\",(function(){return oo.a})),n.d(t,\"interpolateArray\",(function(){return oo.b})),n.d(t,\"interpolateBasis\",(function(){return oo.c})),n.d(t,\"interpolateBasisClosed\",(function(){return oo.d})),n.d(t,\"interpolateDate\",(function(){return oo.g})),n.d(t,\"interpolateDiscrete\",(function(){return oo.h})),n.d(t,\"interpolateHue\",(function(){return oo.m})),n.d(t,\"interpolateNumber\",(function(){return oo.o})),n.d(t,\"interpolateNumberArray\",(function(){return oo.p})),n.d(t,\"interpolateObject\",(function(){return oo.q})),n.d(t,\"interpolateRound\",(function(){return oo.u})),n.d(t,\"interpolateString\",(function(){return oo.v})),n.d(t,\"interpolateTransformCss\",(function(){return oo.w})),n.d(t,\"interpolateTransformSvg\",(function(){return oo.x})),n.d(t,\"interpolateZoom\",(function(){return oo.y})),n.d(t,\"interpolateRgb\",(function(){return oo.r})),n.d(t,\"interpolateRgbBasis\",(function(){return oo.s})),n.d(t,\"interpolateRgbBasisClosed\",(function(){return oo.t})),n.d(t,\"interpolateHsl\",(function(){return oo.k})),n.d(t,\"interpolateHslLong\",(function(){return oo.l})),n.d(t,\"interpolateLab\",(function(){return oo.n})),n.d(t,\"interpolateHcl\",(function(){return oo.i})),n.d(t,\"interpolateHclLong\",(function(){return oo.j})),n.d(t,\"interpolateCubehelix\",(function(){return oo.e})),n.d(t,\"interpolateCubehelixLong\",(function(){return oo.f})),n.d(t,\"piecewise\",(function(){return oo.z})),n.d(t,\"quantize\",(function(){return oo.A})),n.d(t,\"path\",(function(){return ao.a})),n.d(t,\"polygonArea\",(function(){return so})),n.d(t,\"polygonCentroid\",(function(){return co})),n.d(t,\"polygonHull\",(function(){return fo})),n.d(t,\"polygonContains\",(function(){return ho})),n.d(t,\"polygonLength\",(function(){return po})),n.d(t,\"quadtree\",(function(){return Bi})),n.d(t,\"randomUniform\",(function(){return yo})),n.d(t,\"randomNormal\",(function(){return mo})),n.d(t,\"randomLogNormal\",(function(){return bo})),n.d(t,\"randomBates\",(function(){return xo})),n.d(t,\"randomIrwinHall\",(function(){return vo})),n.d(t,\"randomExponential\",(function(){return wo})),n.d(t,\"scaleBand\",(function(){return jo})),n.d(t,\"scalePoint\",(function(){return Mo})),n.d(t,\"scaleIdentity\",(function(){return Zo})),n.d(t,\"scaleLinear\",(function(){return Ko})),n.d(t,\"scaleLog\",(function(){return aa})),n.d(t,\"scaleSymlog\",(function(){return la})),n.d(t,\"scaleOrdinal\",(function(){return To})),n.d(t,\"scaleImplicit\",(function(){return Co})),n.d(t,\"scalePow\",(function(){return ga})),n.d(t,\"scaleSqrt\",(function(){return ya})),n.d(t,\"scaleQuantile\",(function(){return ma})),n.d(t,\"scaleQuantize\",(function(){return ba})),n.d(t,\"scaleThreshold\",(function(){return va})),n.d(t,\"scaleTime\",(function(){return Ba})),n.d(t,\"scaleUtc\",(function(){return Va})),n.d(t,\"scaleSequential\",(function(){return Ga})),n.d(t,\"scaleSequentialLog\",(function(){return Xa})),n.d(t,\"scaleSequentialPow\",(function(){return Za})),n.d(t,\"scaleSequentialSqrt\",(function(){return Ja})),n.d(t,\"scaleSequentialSymlog\",(function(){return Ka})),n.d(t,\"scaleSequentialQuantile\",(function(){return Qa})),n.d(t,\"scaleDiverging\",(function(){return ts})),n.d(t,\"scaleDivergingLog\",(function(){return ns})),n.d(t,\"scaleDivergingPow\",(function(){return is})),n.d(t,\"scaleDivergingSqrt\",(function(){return os})),n.d(t,\"scaleDivergingSymlog\",(function(){return rs})),n.d(t,\"tickFormat\",(function(){return Go})),n.d(t,\"schemeCategory10\",(function(){return ss})),n.d(t,\"schemeAccent\",(function(){return cs})),n.d(t,\"schemeDark2\",(function(){return us})),n.d(t,\"schemePaired\",(function(){return ls})),n.d(t,\"schemePastel1\",(function(){return fs})),n.d(t,\"schemePastel2\",(function(){return ds})),n.d(t,\"schemeSet1\",(function(){return hs})),n.d(t,\"schemeSet2\",(function(){return ps})),n.d(t,\"schemeSet3\",(function(){return gs})),n.d(t,\"schemeTableau10\",(function(){return ys})),n.d(t,\"interpolateBrBG\",(function(){return vs})),n.d(t,\"schemeBrBG\",(function(){return bs})),n.d(t,\"interpolatePRGn\",(function(){return ws})),n.d(t,\"schemePRGn\",(function(){return xs})),n.d(t,\"interpolatePiYG\",(function(){return ks})),n.d(t,\"schemePiYG\",(function(){return _s})),n.d(t,\"interpolatePuOr\",(function(){return Es})),n.d(t,\"schemePuOr\",(function(){return Os})),n.d(t,\"interpolateRdBu\",(function(){return Cs})),n.d(t,\"schemeRdBu\",(function(){return Ss})),n.d(t,\"interpolateRdGy\",(function(){return js})),n.d(t,\"schemeRdGy\",(function(){return Ts})),n.d(t,\"interpolateRdYlBu\",(function(){return Ms})),n.d(t,\"schemeRdYlBu\",(function(){return As})),n.d(t,\"interpolateRdYlGn\",(function(){return Ns})),n.d(t,\"schemeRdYlGn\",(function(){return Ps})),n.d(t,\"interpolateSpectral\",(function(){return Rs})),n.d(t,\"schemeSpectral\",(function(){return Ds})),n.d(t,\"interpolateBuGn\",(function(){return Ls})),n.d(t,\"schemeBuGn\",(function(){return Is})),n.d(t,\"interpolateBuPu\",(function(){return Fs})),n.d(t,\"schemeBuPu\",(function(){return Bs})),n.d(t,\"interpolateGnBu\",(function(){return Us})),n.d(t,\"schemeGnBu\",(function(){return zs})),n.d(t,\"interpolateOrRd\",(function(){return Ws})),n.d(t,\"schemeOrRd\",(function(){return Hs})),n.d(t,\"interpolatePuBuGn\",(function(){return Vs})),n.d(t,\"schemePuBuGn\",(function(){return Ys})),n.d(t,\"interpolatePuBu\",(function(){return $s})),n.d(t,\"schemePuBu\",(function(){return qs})),n.d(t,\"interpolatePuRd\",(function(){return Xs})),n.d(t,\"schemePuRd\",(function(){return Gs})),n.d(t,\"interpolateRdPu\",(function(){return Zs})),n.d(t,\"schemeRdPu\",(function(){return Ks})),n.d(t,\"interpolateYlGnBu\",(function(){return Qs})),n.d(t,\"schemeYlGnBu\",(function(){return Js})),n.d(t,\"interpolateYlGn\",(function(){return tc})),n.d(t,\"schemeYlGn\",(function(){return ec})),n.d(t,\"interpolateYlOrBr\",(function(){return rc})),n.d(t,\"schemeYlOrBr\",(function(){return nc})),n.d(t,\"interpolateYlOrRd\",(function(){return oc})),n.d(t,\"schemeYlOrRd\",(function(){return ic})),n.d(t,\"interpolateBlues\",(function(){return sc})),n.d(t,\"schemeBlues\",(function(){return ac})),n.d(t,\"interpolateGreens\",(function(){return uc})),n.d(t,\"schemeGreens\",(function(){return cc})),n.d(t,\"interpolateGreys\",(function(){return fc})),n.d(t,\"schemeGreys\",(function(){return lc})),n.d(t,\"interpolatePurples\",(function(){return hc})),n.d(t,\"schemePurples\",(function(){return dc})),n.d(t,\"interpolateReds\",(function(){return gc})),n.d(t,\"schemeReds\",(function(){return pc})),n.d(t,\"interpolateOranges\",(function(){return mc})),n.d(t,\"schemeOranges\",(function(){return yc})),n.d(t,\"interpolateCividis\",(function(){return bc})),n.d(t,\"interpolateCubehelixDefault\",(function(){return wc})),n.d(t,\"interpolateRainbow\",(function(){return Ec})),n.d(t,\"interpolateWarm\",(function(){return _c})),n.d(t,\"interpolateCool\",(function(){return kc})),n.d(t,\"interpolateSinebow\",(function(){return jc})),n.d(t,\"interpolateTurbo\",(function(){return Ac})),n.d(t,\"interpolateViridis\",(function(){return Pc})),n.d(t,\"interpolateMagma\",(function(){return Nc})),n.d(t,\"interpolateInferno\",(function(){return Dc})),n.d(t,\"interpolatePlasma\",(function(){return Rc})),n.d(t,\"create\",(function(){return Ic})),n.d(t,\"creator\",(function(){return ye})),n.d(t,\"local\",(function(){return Bc})),n.d(t,\"matcher\",(function(){return j})),n.d(t,\"mouse\",(function(){return $e})),n.d(t,\"namespace\",(function(){return L})),n.d(t,\"namespaces\",(function(){return I})),n.d(t,\"clientPoint\",(function(){return Ve})),n.d(t,\"select\",(function(){return Ie})),n.d(t,\"selectAll\",(function(){return zc})),n.d(t,\"selection\",(function(){return Re})),n.d(t,\"selector\",(function(){return S})),n.d(t,\"selectorAll\",(function(){return T})),n.d(t,\"style\",(function(){return G})),n.d(t,\"touch\",(function(){return qe})),n.d(t,\"touches\",(function(){return Uc})),n.d(t,\"window\",(function(){return Y})),n.d(t,\"event\",(function(){return _e})),n.d(t,\"customEvent\",(function(){return Te})),n.d(t,\"arc\",(function(){return Hc.arc})),n.d(t,\"area\",(function(){return Hc.area})),n.d(t,\"line\",(function(){return Hc.line})),n.d(t,\"pie\",(function(){return Hc.pie})),n.d(t,\"areaRadial\",(function(){return Hc.areaRadial})),n.d(t,\"radialArea\",(function(){return Hc.radialArea})),n.d(t,\"lineRadial\",(function(){return Hc.lineRadial})),n.d(t,\"radialLine\",(function(){return Hc.radialLine})),n.d(t,\"pointRadial\",(function(){return Hc.pointRadial})),n.d(t,\"linkHorizontal\",(function(){return Hc.linkHorizontal})),n.d(t,\"linkVertical\",(function(){return Hc.linkVertical})),n.d(t,\"linkRadial\",(function(){return Hc.linkRadial})),n.d(t,\"symbol\",(function(){return Hc.symbol})),n.d(t,\"symbols\",(function(){return Hc.symbols})),n.d(t,\"symbolCircle\",(function(){return Hc.symbolCircle})),n.d(t,\"symbolCross\",(function(){return Hc.symbolCross})),n.d(t,\"symbolDiamond\",(function(){return Hc.symbolDiamond})),n.d(t,\"symbolSquare\",(function(){return Hc.symbolSquare})),n.d(t,\"symbolStar\",(function(){return Hc.symbolStar})),n.d(t,\"symbolTriangle\",(function(){return Hc.symbolTriangle})),n.d(t,\"symbolWye\",(function(){return Hc.symbolWye})),n.d(t,\"curveBasisClosed\",(function(){return Hc.curveBasisClosed})),n.d(t,\"curveBasisOpen\",(function(){return Hc.curveBasisOpen})),n.d(t,\"curveBasis\",(function(){return Hc.curveBasis})),n.d(t,\"curveBundle\",(function(){return Hc.curveBundle})),n.d(t,\"curveCardinalClosed\",(function(){return Hc.curveCardinalClosed})),n.d(t,\"curveCardinalOpen\",(function(){return Hc.curveCardinalOpen})),n.d(t,\"curveCardinal\",(function(){return Hc.curveCardinal})),n.d(t,\"curveCatmullRomClosed\",(function(){return Hc.curveCatmullRomClosed})),n.d(t,\"curveCatmullRomOpen\",(function(){return Hc.curveCatmullRomOpen})),n.d(t,\"curveCatmullRom\",(function(){return Hc.curveCatmullRom})),n.d(t,\"curveLinearClosed\",(function(){return Hc.curveLinearClosed})),n.d(t,\"curveLinear\",(function(){return Hc.curveLinear})),n.d(t,\"curveMonotoneX\",(function(){return Hc.curveMonotoneX})),n.d(t,\"curveMonotoneY\",(function(){return Hc.curveMonotoneY})),n.d(t,\"curveNatural\",(function(){return Hc.curveNatural})),n.d(t,\"curveStep\",(function(){return Hc.curveStep})),n.d(t,\"curveStepAfter\",(function(){return Hc.curveStepAfter})),n.d(t,\"curveStepBefore\",(function(){return Hc.curveStepBefore})),n.d(t,\"stack\",(function(){return Hc.stack})),n.d(t,\"stackOffsetExpand\",(function(){return Hc.stackOffsetExpand})),n.d(t,\"stackOffsetDiverging\",(function(){return Hc.stackOffsetDiverging})),n.d(t,\"stackOffsetNone\",(function(){return Hc.stackOffsetNone})),n.d(t,\"stackOffsetSilhouette\",(function(){return Hc.stackOffsetSilhouette})),n.d(t,\"stackOffsetWiggle\",(function(){return Hc.stackOffsetWiggle})),n.d(t,\"stackOrderAppearance\",(function(){return Hc.stackOrderAppearance})),n.d(t,\"stackOrderAscending\",(function(){return Hc.stackOrderAscending})),n.d(t,\"stackOrderDescending\",(function(){return Hc.stackOrderDescending})),n.d(t,\"stackOrderInsideOut\",(function(){return Hc.stackOrderInsideOut})),n.d(t,\"stackOrderNone\",(function(){return Hc.stackOrderNone})),n.d(t,\"stackOrderReverse\",(function(){return Hc.stackOrderReverse})),n.d(t,\"timeInterval\",(function(){return Wc.g})),n.d(t,\"timeMillisecond\",(function(){return Wc.h})),n.d(t,\"timeMilliseconds\",(function(){return Wc.i})),n.d(t,\"utcMillisecond\",(function(){return Wc.L})),n.d(t,\"utcMilliseconds\",(function(){return Wc.M})),n.d(t,\"timeSecond\",(function(){return Wc.r})),n.d(t,\"timeSeconds\",(function(){return Wc.s})),n.d(t,\"utcSecond\",(function(){return Wc.V})),n.d(t,\"utcSeconds\",(function(){return Wc.W})),n.d(t,\"timeMinute\",(function(){return Wc.j})),n.d(t,\"timeMinutes\",(function(){return Wc.k})),n.d(t,\"timeHour\",(function(){return Wc.e})),n.d(t,\"timeHours\",(function(){return Wc.f})),n.d(t,\"timeDay\",(function(){return Wc.a})),n.d(t,\"timeDays\",(function(){return Wc.b})),n.d(t,\"timeWeek\",(function(){return Wc.B})),n.d(t,\"timeWeeks\",(function(){return Wc.C})),n.d(t,\"timeSunday\",(function(){return Wc.t})),n.d(t,\"timeSundays\",(function(){return Wc.u})),n.d(t,\"timeMonday\",(function(){return Wc.l})),n.d(t,\"timeMondays\",(function(){return Wc.m})),n.d(t,\"timeTuesday\",(function(){return Wc.x})),n.d(t,\"timeTuesdays\",(function(){return Wc.y})),n.d(t,\"timeWednesday\",(function(){return Wc.z})),n.d(t,\"timeWednesdays\",(function(){return Wc.A})),n.d(t,\"timeThursday\",(function(){return Wc.v})),n.d(t,\"timeThursdays\",(function(){return Wc.w})),n.d(t,\"timeFriday\",(function(){return Wc.c})),n.d(t,\"timeFridays\",(function(){return Wc.d})),n.d(t,\"timeSaturday\",(function(){return Wc.p})),n.d(t,\"timeSaturdays\",(function(){return Wc.q})),n.d(t,\"timeMonth\",(function(){return Wc.n})),n.d(t,\"timeMonths\",(function(){return Wc.o})),n.d(t,\"timeYear\",(function(){return Wc.D})),n.d(t,\"timeYears\",(function(){return Wc.E})),n.d(t,\"utcMinute\",(function(){return Wc.N})),n.d(t,\"utcMinutes\",(function(){return Wc.O})),n.d(t,\"utcHour\",(function(){return Wc.J})),n.d(t,\"utcHours\",(function(){return Wc.K})),n.d(t,\"utcDay\",(function(){return Wc.F})),n.d(t,\"utcDays\",(function(){return Wc.G})),n.d(t,\"utcWeek\",(function(){return Wc.fb})),n.d(t,\"utcWeeks\",(function(){return Wc.gb})),n.d(t,\"utcSunday\",(function(){return Wc.X})),n.d(t,\"utcSundays\",(function(){return Wc.Y})),n.d(t,\"utcMonday\",(function(){return Wc.P})),n.d(t,\"utcMondays\",(function(){return Wc.Q})),n.d(t,\"utcTuesday\",(function(){return Wc.bb})),n.d(t,\"utcTuesdays\",(function(){return Wc.cb})),n.d(t,\"utcWednesday\",(function(){return Wc.db})),n.d(t,\"utcWednesdays\",(function(){return Wc.eb})),n.d(t,\"utcThursday\",(function(){return Wc.Z})),n.d(t,\"utcThursdays\",(function(){return Wc.ab})),n.d(t,\"utcFriday\",(function(){return Wc.H})),n.d(t,\"utcFridays\",(function(){return Wc.I})),n.d(t,\"utcSaturday\",(function(){return Wc.T})),n.d(t,\"utcSaturdays\",(function(){return Wc.U})),n.d(t,\"utcMonth\",(function(){return Wc.R})),n.d(t,\"utcMonths\",(function(){return Wc.S})),n.d(t,\"utcYear\",(function(){return Wc.hb})),n.d(t,\"utcYears\",(function(){return Wc.ib})),n.d(t,\"timeFormatDefaultLocale\",(function(){return Yc.d})),n.d(t,\"timeFormat\",(function(){return Yc.c})),n.d(t,\"timeParse\",(function(){return Yc.f})),n.d(t,\"utcFormat\",(function(){return Yc.g})),n.d(t,\"utcParse\",(function(){return Yc.h})),n.d(t,\"timeFormatLocale\",(function(){return Yc.e})),n.d(t,\"isoFormat\",(function(){return Yc.a})),n.d(t,\"isoParse\",(function(){return Yc.b})),n.d(t,\"now\",(function(){return nt})),n.d(t,\"timer\",(function(){return ot})),n.d(t,\"timerFlush\",(function(){return at})),n.d(t,\"timeout\",(function(){return lt})),n.d(t,\"interval\",(function(){return Vc})),n.d(t,\"transition\",(function(){return Zt})),n.d(t,\"active\",(function(){return sn})),n.d(t,\"interrupt\",(function(){return mt})),n.d(t,\"voronoi\",(function(){return qc.a})),n.d(t,\"zoom\",(function(){return su})),n.d(t,\"zoomTransform\",(function(){return Jc})),n.d(t,\"zoomIdentity\",(function(){return Zc}));var r=\"5.16.0\",i=n(12),o=Array.prototype.slice,a=function(e){return e},s=1e-6;function c(e){return\"translate(\"+(e+.5)+\",0)\"}function u(e){return\"translate(0,\"+(e+.5)+\")\"}function l(e){return function(t){return+e(t)}}function f(e){var t=Math.max(0,e.bandwidth()-1)/2;return e.round()&&(t=Math.round(t)),function(n){return+e(n)+t}}function d(){return!this.__axis}function h(e,t){var n=[],r=null,i=null,h=6,p=6,g=3,y=1===e||4===e?-1:1,m=4===e||2===e?\"x\":\"y\",b=1===e||3===e?c:u;function v(o){var c=null==r?t.ticks?t.ticks.apply(t,n):t.domain():r,u=null==i?t.tickFormat?t.tickFormat.apply(t,n):a:i,v=Math.max(h,0)+g,x=t.range(),w=+x[0]+.5,_=+x[x.length-1]+.5,k=(t.bandwidth?f:l)(t.copy()),O=o.selection?o.selection():o,E=O.selectAll(\".domain\").data([null]),S=O.selectAll(\".tick\").data(c,t).order(),C=S.exit(),T=S.enter().append(\"g\").attr(\"class\",\"tick\"),j=S.select(\"line\"),A=S.select(\"text\");E=E.merge(E.enter().insert(\"path\",\".tick\").attr(\"class\",\"domain\").attr(\"stroke\",\"currentColor\")),S=S.merge(T),j=j.merge(T.append(\"line\").attr(\"stroke\",\"currentColor\").attr(m+\"2\",y*h)),A=A.merge(T.append(\"text\").attr(\"fill\",\"currentColor\").attr(m,y*v).attr(\"dy\",1===e?\"0em\":3===e?\"0.71em\":\"0.32em\")),o!==O&&(E=E.transition(o),S=S.transition(o),j=j.transition(o),A=A.transition(o),C=C.transition(o).attr(\"opacity\",s).attr(\"transform\",(function(e){return isFinite(e=k(e))?b(e):this.getAttribute(\"transform\")})),T.attr(\"opacity\",s).attr(\"transform\",(function(e){var t=this.parentNode.__axis;return b(t&&isFinite(t=t(e))?t:k(e))}))),C.remove(),E.attr(\"d\",4===e||2==e?p?\"M\"+y*p+\",\"+w+\"H0.5V\"+_+\"H\"+y*p:\"M0.5,\"+w+\"V\"+_:p?\"M\"+w+\",\"+y*p+\"V0.5H\"+_+\"V\"+y*p:\"M\"+w+\",0.5H\"+_),S.attr(\"opacity\",1).attr(\"transform\",(function(e){return b(k(e))})),j.attr(m+\"2\",y*h),A.attr(m,y*v).text(u),O.filter(d).attr(\"fill\",\"none\").attr(\"font-size\",10).attr(\"font-family\",\"sans-serif\").attr(\"text-anchor\",2===e?\"start\":4===e?\"end\":\"middle\"),O.each((function(){this.__axis=k}))}return v.scale=function(e){return arguments.length?(t=e,v):t},v.ticks=function(){return n=o.call(arguments),v},v.tickArguments=function(e){return arguments.length?(n=null==e?[]:o.call(e),v):n.slice()},v.tickValues=function(e){return arguments.length?(r=null==e?null:o.call(e),v):r&&r.slice()},v.tickFormat=function(e){return arguments.length?(i=e,v):i},v.tickSize=function(e){return arguments.length?(h=p=+e,v):h},v.tickSizeInner=function(e){return arguments.length?(h=+e,v):h},v.tickSizeOuter=function(e){return arguments.length?(p=+e,v):p},v.tickPadding=function(e){return arguments.length?(g=+e,v):g},v}function p(e){return h(1,e)}function g(e){return h(2,e)}function y(e){return h(3,e)}function m(e){return h(4,e)}var b={value:function(){}};function v(){for(var e,t=0,n=arguments.length,r={};t<n;++t){if(!(e=arguments[t]+\"\")||e in r||/[\\s.]/.test(e))throw new Error(\"illegal type: \"+e);r[e]=[]}return new x(r)}function x(e){this._=e}function w(e,t){return e.trim().split(/^|\\s+/).map((function(e){var n=\"\",r=e.indexOf(\".\");if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw new Error(\"unknown type: \"+e);return{type:e,name:n}}))}function _(e,t){for(var n,r=0,i=e.length;r<i;++r)if((n=e[r]).name===t)return n.value}function k(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=b,e=e.slice(0,r).concat(e.slice(r+1));break}return null!=n&&e.push({name:t,value:n}),e}x.prototype=v.prototype={constructor:x,on:function(e,t){var n,r=this._,i=w(e+\"\",r),o=-1,a=i.length;if(!(arguments.length<2)){if(null!=t&&\"function\"!==typeof t)throw new Error(\"invalid callback: \"+t);for(;++o<a;)if(n=(e=i[o]).type)r[n]=k(r[n],e.name,t);else if(null==t)for(n in r)r[n]=k(r[n],e.name,null);return this}for(;++o<a;)if((n=(e=i[o]).type)&&(n=_(r[n],e.name)))return n},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new x(e)},call:function(e,t){if((n=arguments.length-2)>0)for(var n,r,i=new Array(n),o=0;o<n;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(e))throw new Error(\"unknown type: \"+e);for(o=0,n=(r=this._[e]).length;o<n;++o)r[o].value.apply(t,i)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error(\"unknown type: \"+e);for(var r=this._[e],i=0,o=r.length;i<o;++i)r[i].value.apply(t,n)}};var O=v;function E(){}var S=function(e){return null==e?E:function(){return this.querySelector(e)}};function C(){return[]}var T=function(e){return null==e?C:function(){return this.querySelectorAll(e)}},j=function(e){return function(){return this.matches(e)}},A=function(e){return new Array(e.length)};function M(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}M.prototype={constructor:M,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function P(e,t,n,r,i,o){for(var a,s=0,c=t.length,u=o.length;s<u;++s)(a=t[s])?(a.__data__=o[s],r[s]=a):n[s]=new M(e,o[s]);for(;s<c;++s)(a=t[s])&&(i[s]=a)}function N(e,t,n,r,i,o,a){var s,c,u,l={},f=t.length,d=o.length,h=new Array(f);for(s=0;s<f;++s)(c=t[s])&&(h[s]=u=\"$\"+a.call(c,c.__data__,s,t),u in l?i[s]=c:l[u]=c);for(s=0;s<d;++s)(c=l[u=\"$\"+a.call(e,o[s],s,o)])?(r[s]=c,c.__data__=o[s],l[u]=null):n[s]=new M(e,o[s]);for(s=0;s<f;++s)(c=t[s])&&l[h[s]]===c&&(i[s]=c)}function D(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}var R=\"http://www.w3.org/1999/xhtml\",I={svg:\"http://www.w3.org/2000/svg\",xhtml:R,xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\",xmlns:\"http://www.w3.org/2000/xmlns/\"},L=function(e){var t=e+=\"\",n=t.indexOf(\":\");return n>=0&&\"xmlns\"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),I.hasOwnProperty(t)?{space:I[t],local:e}:e};function B(e){return function(){this.removeAttribute(e)}}function F(e){return function(){this.removeAttributeNS(e.space,e.local)}}function z(e,t){return function(){this.setAttribute(e,t)}}function U(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function H(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}function W(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}var Y=function(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView};function V(e){return function(){this.style.removeProperty(e)}}function q(e,t,n){return function(){this.style.setProperty(e,t,n)}}function $(e,t,n){return function(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function G(e,t){return e.style.getPropertyValue(t)||Y(e).getComputedStyle(e,null).getPropertyValue(t)}function X(e){return function(){delete this[e]}}function K(e,t){return function(){this[e]=t}}function Z(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}function J(e){return e.trim().split(/^|\\s+/)}function Q(e){return e.classList||new ee(e)}function ee(e){this._node=e,this._names=J(e.getAttribute(\"class\")||\"\")}function te(e,t){for(var n=Q(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function ne(e,t){for(var n=Q(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function re(e){return function(){te(this,e)}}function ie(e){return function(){ne(this,e)}}function oe(e,t){return function(){(t.apply(this,arguments)?te:ne)(this,e)}}ee.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute(\"class\",this._names.join(\" \")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute(\"class\",this._names.join(\" \")))},contains:function(e){return this._names.indexOf(e)>=0}};function ae(){this.textContent=\"\"}function se(e){return function(){this.textContent=e}}function ce(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?\"\":t}}function ue(){this.innerHTML=\"\"}function le(e){return function(){this.innerHTML=e}}function fe(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?\"\":t}}function de(){this.nextSibling&&this.parentNode.appendChild(this)}function he(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function pe(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===R&&t.documentElement.namespaceURI===R?t.createElement(e):t.createElementNS(n,e)}}function ge(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}var ye=function(e){var t=L(e);return(t.local?ge:pe)(t)};function me(){return null}function be(){var e=this.parentNode;e&&e.removeChild(this)}function ve(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function xe(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}var we={},_e=null;\"undefined\"!==typeof document&&(\"onmouseenter\"in document.documentElement||(we={mouseenter:\"mouseover\",mouseleave:\"mouseout\"}));function ke(e,t,n){return e=Oe(e,t,n),function(t){var n=t.relatedTarget;n&&(n===this||8&n.compareDocumentPosition(this))||e.call(this,t)}}function Oe(e,t,n){return function(r){var i=_e;_e=r;try{e.call(this,this.__data__,t,n)}finally{_e=i}}}function Ee(e){return e.trim().split(/^|\\s+/).map((function(e){var t=\"\",n=e.indexOf(\".\");return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}}))}function Se(e){return function(){var t=this.__on;if(t){for(var n,r=0,i=-1,o=t.length;r<o;++r)n=t[r],e.type&&n.type!==e.type||n.name!==e.name?t[++i]=n:this.removeEventListener(n.type,n.listener,n.capture);++i?t.length=i:delete this.__on}}}function Ce(e,t,n){var r=we.hasOwnProperty(e.type)?ke:Oe;return function(i,o,a){var s,c=this.__on,u=r(t,o,a);if(c)for(var l=0,f=c.length;l<f;++l)if((s=c[l]).type===e.type&&s.name===e.name)return this.removeEventListener(s.type,s.listener,s.capture),this.addEventListener(s.type,s.listener=u,s.capture=n),void(s.value=t);this.addEventListener(e.type,u,n),s={type:e.type,name:e.name,value:t,listener:u,capture:n},c?c.push(s):this.__on=[s]}}function Te(e,t,n,r){var i=_e;e.sourceEvent=_e,_e=e;try{return t.apply(n,r)}finally{_e=i}}function je(e,t,n){var r=Y(e),i=r.CustomEvent;\"function\"===typeof i?i=new i(t,n):(i=r.document.createEvent(\"Event\"),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function Ae(e,t){return function(){return je(this,e,t)}}function Me(e,t){return function(){return je(this,e,t.apply(this,arguments))}}var Pe=[null];function Ne(e,t){this._groups=e,this._parents=t}function De(){return new Ne([[document.documentElement]],Pe)}Ne.prototype=De.prototype={constructor:Ne,select:function(e){\"function\"!==typeof e&&(e=S(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o,a,s=t[i],c=s.length,u=r[i]=new Array(c),l=0;l<c;++l)(o=s[l])&&(a=e.call(o,o.__data__,l,s))&&(\"__data__\"in o&&(a.__data__=o.__data__),u[l]=a);return new Ne(r,this._parents)},selectAll:function(e){\"function\"!==typeof e&&(e=T(e));for(var t=this._groups,n=t.length,r=[],i=[],o=0;o<n;++o)for(var a,s=t[o],c=s.length,u=0;u<c;++u)(a=s[u])&&(r.push(e.call(a,a.__data__,u,s)),i.push(a));return new Ne(r,i)},filter:function(e){\"function\"!==typeof e&&(e=j(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o,a=t[i],s=a.length,c=r[i]=[],u=0;u<s;++u)(o=a[u])&&e.call(o,o.__data__,u,a)&&c.push(o);return new Ne(r,this._parents)},data:function(e,t){if(!e)return p=new Array(this.size()),l=-1,this.each((function(e){p[++l]=e})),p;var n,r=t?N:P,i=this._parents,o=this._groups;\"function\"!==typeof e&&(n=e,e=function(){return n});for(var a=o.length,s=new Array(a),c=new Array(a),u=new Array(a),l=0;l<a;++l){var f=i[l],d=o[l],h=d.length,p=e.call(f,f&&f.__data__,l,i),g=p.length,y=c[l]=new Array(g),m=s[l]=new Array(g);r(f,d,y,m,u[l]=new Array(h),p,t);for(var b,v,x=0,w=0;x<g;++x)if(b=y[x]){for(x>=w&&(w=x+1);!(v=m[w])&&++w<g;);b._next=v||null}}return(s=new Ne(s,i))._enter=c,s._exit=u,s},enter:function(){return new Ne(this._enter||this._groups.map(A),this._parents)},exit:function(){return new Ne(this._exit||this._groups.map(A),this._parents)},join:function(e,t,n){var r=this.enter(),i=this,o=this.exit();return r=\"function\"===typeof e?e(r):r.append(e+\"\"),null!=t&&(i=t(i)),null==n?o.remove():n(o),r&&i?r.merge(i).order():i},merge:function(e){for(var t=this._groups,n=e._groups,r=t.length,i=n.length,o=Math.min(r,i),a=new Array(r),s=0;s<o;++s)for(var c,u=t[s],l=n[s],f=u.length,d=a[s]=new Array(f),h=0;h<f;++h)(c=u[h]||l[h])&&(d[h]=c);for(;s<r;++s)a[s]=t[s];return new Ne(a,this._parents)},order:function(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r,i=e[t],o=i.length-1,a=i[o];--o>=0;)(r=i[o])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=D);for(var n=this._groups,r=n.length,i=new Array(r),o=0;o<r;++o){for(var a,s=n[o],c=s.length,u=i[o]=new Array(c),l=0;l<c;++l)(a=s[l])&&(u[l]=a);u.sort(t)}return new Ne(i,this._parents).order()},call:function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},nodes:function(){var e=new Array(this.size()),t=-1;return this.each((function(){e[++t]=this})),e},node:function(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,o=r.length;i<o;++i){var a=r[i];if(a)return a}return null},size:function(){var e=0;return this.each((function(){++e})),e},empty:function(){return!this.node()},each:function(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i,o=t[n],a=0,s=o.length;a<s;++a)(i=o[a])&&e.call(i,i.__data__,a,o);return this},attr:function(e,t){var n=L(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==t?n.local?F:B:\"function\"===typeof t?n.local?W:H:n.local?U:z)(n,t))},style:function(e,t,n){return arguments.length>1?this.each((null==t?V:\"function\"===typeof t?$:q)(e,t,null==n?\"\":n)):G(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?X:\"function\"===typeof t?Z:K)(e,t)):this.node()[e]},classed:function(e,t){var n=J(e+\"\");if(arguments.length<2){for(var r=Q(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each((\"function\"===typeof t?oe:t?re:ie)(n,t))},text:function(e){return arguments.length?this.each(null==e?ae:(\"function\"===typeof e?ce:se)(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?ue:(\"function\"===typeof e?fe:le)(e)):this.node().innerHTML},raise:function(){return this.each(de)},lower:function(){return this.each(he)},append:function(e){var t=\"function\"===typeof e?e:ye(e);return this.select((function(){return this.appendChild(t.apply(this,arguments))}))},insert:function(e,t){var n=\"function\"===typeof e?e:ye(e),r=null==t?me:\"function\"===typeof t?t:S(t);return this.select((function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)}))},remove:function(){return this.each(be)},clone:function(e){return this.select(e?xe:ve)},datum:function(e){return arguments.length?this.property(\"__data__\",e):this.node().__data__},on:function(e,t,n){var r,i,o=Ee(e+\"\"),a=o.length;if(!(arguments.length<2)){for(s=t?Ce:Se,null==n&&(n=!1),r=0;r<a;++r)this.each(s(o[r],t,n));return this}var s=this.node().__on;if(s)for(var c,u=0,l=s.length;u<l;++u)for(r=0,c=s[u];r<a;++r)if((i=o[r]).type===c.type&&i.name===c.name)return c.value},dispatch:function(e,t){return this.each((\"function\"===typeof t?Me:Ae)(e,t))}};var Re=De,Ie=function(e){return\"string\"===typeof e?new Ne([[document.querySelector(e)]],[document.documentElement]):new Ne([[e]],Pe)};function Le(){_e.stopImmediatePropagation()}var Be=function(){_e.preventDefault(),_e.stopImmediatePropagation()},Fe=function(e){var t=e.document.documentElement,n=Ie(e).on(\"dragstart.drag\",Be,!0);\"onselectstart\"in t?n.on(\"selectstart.drag\",Be,!0):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect=\"none\")};function ze(e,t){var n=e.document.documentElement,r=Ie(e).on(\"dragstart.drag\",null);t&&(r.on(\"click.drag\",Be,!0),setTimeout((function(){r.on(\"click.drag\",null)}),0)),\"onselectstart\"in n?r.on(\"selectstart.drag\",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var Ue,He,We=n(139),Ye=function(){for(var e,t=_e;e=t.sourceEvent;)t=e;return t},Ve=function(e,t){var n=e.ownerSVGElement||e;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,[(r=r.matrixTransform(e.getScreenCTM().inverse())).x,r.y]}var i=e.getBoundingClientRect();return[t.clientX-i.left-e.clientLeft,t.clientY-i.top-e.clientTop]},qe=function(e,t,n){arguments.length<3&&(n=t,t=Ye().changedTouches);for(var r,i=0,o=t?t.length:0;i<o;++i)if((r=t[i]).identifier===n)return Ve(e,r);return null},$e=function(e){var t=Ye();return t.changedTouches&&(t=t.changedTouches[0]),Ve(e,t)},Ge=0,Xe=0,Ke=0,Ze=0,Je=0,Qe=0,et=\"object\"===typeof performance&&performance.now?performance:Date,tt=\"object\"===typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function nt(){return Je||(tt(rt),Je=et.now()+Qe)}function rt(){Je=0}function it(){this._call=this._time=this._next=null}function ot(e,t,n){var r=new it;return r.restart(e,t,n),r}function at(){nt(),++Ge;for(var e,t=Ue;t;)(e=Je-t._time)>=0&&t._call.call(null,e),t=t._next;--Ge}function st(){Je=(Ze=et.now())+Qe,Ge=Xe=0;try{at()}finally{Ge=0,function(){var e,t,n=Ue,r=1/0;for(;n;)n._call?(r>n._time&&(r=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:Ue=t);He=e,ut(r)}(),Je=0}}function ct(){var e=et.now(),t=e-Ze;t>1e3&&(Qe-=t,Ze=e)}function ut(e){Ge||(Xe&&(Xe=clearTimeout(Xe)),e-Je>24?(e<1/0&&(Xe=setTimeout(st,e-et.now()-Qe)),Ke&&(Ke=clearInterval(Ke))):(Ke||(Ze=et.now(),Ke=setInterval(ct,1e3)),Ge=1,tt(st)))}it.prototype=ot.prototype={constructor:it,restart:function(e,t,n){if(\"function\"!==typeof e)throw new TypeError(\"callback is not a function\");n=(null==n?nt():+n)+(null==t?0:+t),this._next||He===this||(He?He._next=this:Ue=this,He=this),this._call=e,this._time=n,ut()},stop:function(){this._call&&(this._call=null,this._time=1/0,ut())}};var lt=function(e,t,n){var r=new it;return t=null==t?0:+t,r.restart((function(n){r.stop(),e(n+t)}),t,n),r},ft=O(\"start\",\"end\",\"cancel\",\"interrupt\"),dt=[],ht=function(e,t,n,r,i,o){var a=e.__transition;if(a){if(n in a)return}else e.__transition={};!function(e,t,n){var r,i=e.__transition;function o(e){n.state=1,n.timer.restart(a,n.delay,n.time),n.delay<=e&&a(e-n.delay)}function a(o){var u,l,f,d;if(1!==n.state)return c();for(u in i)if((d=i[u]).name===n.name){if(3===d.state)return lt(a);4===d.state?(d.state=6,d.timer.stop(),d.on.call(\"interrupt\",e,e.__data__,d.index,d.group),delete i[u]):+u<t&&(d.state=6,d.timer.stop(),d.on.call(\"cancel\",e,e.__data__,d.index,d.group),delete i[u])}if(lt((function(){3===n.state&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(o))})),n.state=2,n.on.call(\"start\",e,e.__data__,n.index,n.group),2===n.state){for(n.state=3,r=new Array(f=n.tween.length),u=0,l=-1;u<f;++u)(d=n.tween[u].value.call(e,e.__data__,n.index,n.group))&&(r[++l]=d);r.length=l+1}}function s(t){for(var i=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(c),n.state=5,1),o=-1,a=r.length;++o<a;)r[o].call(e,i);5===n.state&&(n.on.call(\"end\",e,e.__data__,n.index,n.group),c())}function c(){for(var r in n.state=6,n.timer.stop(),delete i[t],i)return;delete e.__transition}i[t]=n,n.timer=ot(o,0,n.time)}(e,n,{name:t,index:r,group:i,on:ft,tween:dt,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})};function pt(e,t){var n=yt(e,t);if(n.state>0)throw new Error(\"too late; already scheduled\");return n}function gt(e,t){var n=yt(e,t);if(n.state>3)throw new Error(\"too late; already running\");return n}function yt(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error(\"transition not found\");return n}var mt=function(e,t){var n,r,i,o=e.__transition,a=!0;if(o){for(i in t=null==t?null:t+\"\",o)(n=o[i]).name===t?(r=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?\"interrupt\":\"cancel\",e,e.__data__,n.index,n.group),delete o[i]):a=!1;a&&delete e.__transition}},bt=n(264);function vt(e,t){var n,r;return function(){var i=gt(this,e),o=i.tween;if(o!==n)for(var a=0,s=(r=n=o).length;a<s;++a)if(r[a].name===t){(r=r.slice()).splice(a,1);break}i.tween=r}}function xt(e,t,n){var r,i;if(\"function\"!==typeof n)throw new Error;return function(){var o=gt(this,e),a=o.tween;if(a!==r){i=(r=a).slice();for(var s={name:t,value:n},c=0,u=i.length;c<u;++c)if(i[c].name===t){i[c]=s;break}c===u&&i.push(s)}o.tween=i}}function wt(e,t,n){var r=e._id;return e.each((function(){var e=gt(this,r);(e.value||(e.value={}))[t]=n.apply(this,arguments)})),function(e){return yt(e,r).value[t]}}var _t=n(35),kt=n(55),Ot=n(120),Et=n(197),St=function(e,t){var n;return(\"number\"===typeof t?kt.a:t instanceof _t.e?Ot.a:(n=Object(_t.e)(t))?(t=n,Ot.a):Et.a)(e,t)};function Ct(e){return function(){this.removeAttribute(e)}}function Tt(e){return function(){this.removeAttributeNS(e.space,e.local)}}function jt(e,t,n){var r,i,o=n+\"\";return function(){var a=this.getAttribute(e);return a===o?null:a===r?i:i=t(r=a,n)}}function At(e,t,n){var r,i,o=n+\"\";return function(){var a=this.getAttributeNS(e.space,e.local);return a===o?null:a===r?i:i=t(r=a,n)}}function Mt(e,t,n){var r,i,o;return function(){var a,s,c=n(this);if(null!=c)return(a=this.getAttribute(e))===(s=c+\"\")?null:a===r&&s===i?o:(i=s,o=t(r=a,c));this.removeAttribute(e)}}function Pt(e,t,n){var r,i,o;return function(){var a,s,c=n(this);if(null!=c)return(a=this.getAttributeNS(e.space,e.local))===(s=c+\"\")?null:a===r&&s===i?o:(i=s,o=t(r=a,c));this.removeAttributeNS(e.space,e.local)}}function Nt(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function Dt(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function Rt(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Dt(e,i)),n}return i._value=t,i}function It(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Nt(e,i)),n}return i._value=t,i}function Lt(e,t){return function(){pt(this,e).delay=+t.apply(this,arguments)}}function Bt(e,t){return t=+t,function(){pt(this,e).delay=t}}function Ft(e,t){return function(){gt(this,e).duration=+t.apply(this,arguments)}}function zt(e,t){return t=+t,function(){gt(this,e).duration=t}}function Ut(e,t){if(\"function\"!==typeof t)throw new Error;return function(){gt(this,e).ease=t}}function Ht(e,t,n){var r,i,o=function(e){return(e+\"\").trim().split(/^|\\s+/).every((function(e){var t=e.indexOf(\".\");return t>=0&&(e=e.slice(0,t)),!e||\"start\"===e}))}(t)?pt:gt;return function(){var a=o(this,e),s=a.on;s!==r&&(i=(r=s).copy()).on(t,n),a.on=i}}var Wt=Re.prototype.constructor;function Yt(e){return function(){this.style.removeProperty(e)}}function Vt(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function qt(e,t,n){var r,i;function o(){var o=t.apply(this,arguments);return o!==i&&(r=(i=o)&&Vt(e,o,n)),r}return o._value=t,o}function $t(e){return function(t){this.textContent=e.call(this,t)}}function Gt(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&$t(r)),t}return r._value=e,r}var Xt=0;function Kt(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function Zt(e){return Re().transition(e)}function Jt(){return++Xt}var Qt=Re.prototype;function en(e){return e*e*e}function tn(e){return--e*e*e+1}function nn(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}Kt.prototype=Zt.prototype={constructor:Kt,select:function(e){var t=this._name,n=this._id;\"function\"!==typeof e&&(e=S(e));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a<i;++a)for(var s,c,u=r[a],l=u.length,f=o[a]=new Array(l),d=0;d<l;++d)(s=u[d])&&(c=e.call(s,s.__data__,d,u))&&(\"__data__\"in s&&(c.__data__=s.__data__),f[d]=c,ht(f[d],t,n,d,f,yt(s,n)));return new Kt(o,this._parents,t,n)},selectAll:function(e){var t=this._name,n=this._id;\"function\"!==typeof e&&(e=T(e));for(var r=this._groups,i=r.length,o=[],a=[],s=0;s<i;++s)for(var c,u=r[s],l=u.length,f=0;f<l;++f)if(c=u[f]){for(var d,h=e.call(c,c.__data__,f,u),p=yt(c,n),g=0,y=h.length;g<y;++g)(d=h[g])&&ht(d,t,n,g,h,p);o.push(h),a.push(c)}return new Kt(o,a,t,n)},filter:function(e){\"function\"!==typeof e&&(e=j(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o,a=t[i],s=a.length,c=r[i]=[],u=0;u<s;++u)(o=a[u])&&e.call(o,o.__data__,u,a)&&c.push(o);return new Kt(r,this._parents,this._name,this._id)},merge:function(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,r=t.length,i=n.length,o=Math.min(r,i),a=new Array(r),s=0;s<o;++s)for(var c,u=t[s],l=n[s],f=u.length,d=a[s]=new Array(f),h=0;h<f;++h)(c=u[h]||l[h])&&(d[h]=c);for(;s<r;++s)a[s]=t[s];return new Kt(a,this._parents,this._name,this._id)},selection:function(){return new Wt(this._groups,this._parents)},transition:function(){for(var e=this._name,t=this._id,n=Jt(),r=this._groups,i=r.length,o=0;o<i;++o)for(var a,s=r[o],c=s.length,u=0;u<c;++u)if(a=s[u]){var l=yt(a,t);ht(a,e,n,u,s,{time:l.time+l.delay+l.duration,delay:0,duration:l.duration,ease:l.ease})}return new Kt(r,this._parents,e,n)},call:Qt.call,nodes:Qt.nodes,node:Qt.node,size:Qt.size,empty:Qt.empty,each:Qt.each,on:function(e,t){var n=this._id;return arguments.length<2?yt(this.node(),n).on.on(e):this.each(Ht(n,e,t))},attr:function(e,t){var n=L(e),r=\"transform\"===n?bt.b:St;return this.attrTween(e,\"function\"===typeof t?(n.local?Pt:Mt)(n,r,wt(this,\"attr.\"+e,t)):null==t?(n.local?Tt:Ct)(n):(n.local?At:jt)(n,r,t))},attrTween:function(e,t){var n=\"attr.\"+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if(\"function\"!==typeof t)throw new Error;var r=L(e);return this.tween(n,(r.local?Rt:It)(r,t))},style:function(e,t,n){var r=\"transform\"===(e+=\"\")?bt.a:St;return null==t?this.styleTween(e,function(e,t){var n,r,i;return function(){var o=G(this,e),a=(this.style.removeProperty(e),G(this,e));return o===a?null:o===n&&a===r?i:i=t(n=o,r=a)}}(e,r)).on(\"end.style.\"+e,Yt(e)):\"function\"===typeof t?this.styleTween(e,function(e,t,n){var r,i,o;return function(){var a=G(this,e),s=n(this),c=s+\"\";return null==s&&(this.style.removeProperty(e),c=s=G(this,e)),a===c?null:a===r&&c===i?o:(i=c,o=t(r=a,s))}}(e,r,wt(this,\"style.\"+e,t))).each(function(e,t){var n,r,i,o,a=\"style.\"+t,s=\"end.\"+a;return function(){var c=gt(this,e),u=c.on,l=null==c.value[a]?o||(o=Yt(t)):void 0;u===n&&i===l||(r=(n=u).copy()).on(s,i=l),c.on=r}}(this._id,e)):this.styleTween(e,function(e,t,n){var r,i,o=n+\"\";return function(){var a=G(this,e);return a===o?null:a===r?i:i=t(r=a,n)}}(e,r,t),n).on(\"end.style.\"+e,null)},styleTween:function(e,t,n){var r=\"style.\"+(e+=\"\");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==t)return this.tween(r,null);if(\"function\"!==typeof t)throw new Error;return this.tween(r,qt(e,t,null==n?\"\":n))},text:function(e){return this.tween(\"text\",\"function\"===typeof e?function(e){return function(){var t=e(this);this.textContent=null==t?\"\":t}}(wt(this,\"text\",e)):function(e){return function(){this.textContent=e}}(null==e?\"\":e+\"\"))},textTween:function(e){var t=\"text\";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(null==e)return this.tween(t,null);if(\"function\"!==typeof e)throw new Error;return this.tween(t,Gt(e))},remove:function(){return this.on(\"end.remove\",(e=this._id,function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}));var e},tween:function(e,t){var n=this._id;if(e+=\"\",arguments.length<2){for(var r,i=yt(this.node(),n).tween,o=0,a=i.length;o<a;++o)if((r=i[o]).name===e)return r.value;return null}return this.each((null==t?vt:xt)(n,e,t))},delay:function(e){var t=this._id;return arguments.length?this.each((\"function\"===typeof e?Lt:Bt)(t,e)):yt(this.node(),t).delay},duration:function(e){var t=this._id;return arguments.length?this.each((\"function\"===typeof e?Ft:zt)(t,e)):yt(this.node(),t).duration},ease:function(e){var t=this._id;return arguments.length?this.each(Ut(t,e)):yt(this.node(),t).ease},end:function(){var e,t,n=this,r=n._id,i=n.size();return new Promise((function(o,a){var s={value:a},c={value:function(){0===--i&&o()}};n.each((function(){var n=gt(this,r),i=n.on;i!==e&&((t=(e=i).copy())._.cancel.push(s),t._.interrupt.push(s),t._.end.push(c)),n.on=t}))}))}};var rn={time:null,delay:0,duration:250,ease:nn};function on(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))return rn.time=nt(),rn;return n}Re.prototype.interrupt=function(e){return this.each((function(){mt(this,e)}))},Re.prototype.transition=function(e){var t,n;e instanceof Kt?(t=e._id,e=e._name):(t=Jt(),(n=rn).time=nt(),e=null==e?null:e+\"\");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var a,s=r[o],c=s.length,u=0;u<c;++u)(a=s[u])&&ht(a,e,t,u,s,n||on(a,t));return new Kt(r,this._parents,e,t)};var an=[null],sn=function(e,t){var n,r,i=e.__transition;if(i)for(r in t=null==t?null:t+\"\",i)if((n=i[r]).state>1&&n.name===t)return new Kt([[e]],an,t,+r);return null},cn=function(e){return function(){return e}},un=function(e,t,n){this.target=e,this.type=t,this.selection=n};function ln(){_e.stopImmediatePropagation()}var fn=function(){_e.preventDefault(),_e.stopImmediatePropagation()},dn={name:\"drag\"},hn={name:\"space\"},pn={name:\"handle\"},gn={name:\"center\"};function yn(e){return[+e[0],+e[1]]}function mn(e){return[yn(e[0]),yn(e[1])]}function bn(e){return function(t){return qe(t,_e.touches,e)}}var vn={name:\"x\",handles:[\"w\",\"e\"].map(Cn),input:function(e,t){return null==e?null:[[+e[0],t[0][1]],[+e[1],t[1][1]]]},output:function(e){return e&&[e[0][0],e[1][0]]}},xn={name:\"y\",handles:[\"n\",\"s\"].map(Cn),input:function(e,t){return null==e?null:[[t[0][0],+e[0]],[t[1][0],+e[1]]]},output:function(e){return e&&[e[0][1],e[1][1]]}},wn={name:\"xy\",handles:[\"n\",\"w\",\"e\",\"s\",\"nw\",\"ne\",\"sw\",\"se\"].map(Cn),input:function(e){return null==e?null:mn(e)},output:function(e){return e}},_n={overlay:\"crosshair\",selection:\"move\",n:\"ns-resize\",e:\"ew-resize\",s:\"ns-resize\",w:\"ew-resize\",nw:\"nwse-resize\",ne:\"nesw-resize\",se:\"nwse-resize\",sw:\"nesw-resize\"},kn={e:\"w\",w:\"e\",nw:\"ne\",ne:\"nw\",se:\"sw\",sw:\"se\"},On={n:\"s\",s:\"n\",nw:\"sw\",ne:\"se\",se:\"ne\",sw:\"nw\"},En={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},Sn={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function Cn(e){return{type:e}}function Tn(){return!_e.ctrlKey&&!_e.button}function jn(){var e=this.ownerSVGElement||this;return e.hasAttribute(\"viewBox\")?[[(e=e.viewBox.baseVal).x,e.y],[e.x+e.width,e.y+e.height]]:[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]}function An(){return navigator.maxTouchPoints||\"ontouchstart\"in this}function Mn(e){for(;!e.__brush;)if(!(e=e.parentNode))return;return e.__brush}function Pn(e){return e[0][0]===e[1][0]||e[0][1]===e[1][1]}function Nn(e){var t=e.__brush;return t?t.dim.output(t.selection):null}function Dn(){return Ln(vn)}function Rn(){return Ln(xn)}var In=function(){return Ln(wn)};function Ln(e){var t,n=jn,r=Tn,i=An,o=!0,a=O(\"start\",\"brush\",\"end\"),s=6;function c(t){var n=t.property(\"__brush\",g).selectAll(\".overlay\").data([Cn(\"overlay\")]);n.enter().append(\"rect\").attr(\"class\",\"overlay\").attr(\"pointer-events\",\"all\").attr(\"cursor\",_n.overlay).merge(n).each((function(){var e=Mn(this).extent;Ie(this).attr(\"x\",e[0][0]).attr(\"y\",e[0][1]).attr(\"width\",e[1][0]-e[0][0]).attr(\"height\",e[1][1]-e[0][1])})),t.selectAll(\".selection\").data([Cn(\"selection\")]).enter().append(\"rect\").attr(\"class\",\"selection\").attr(\"cursor\",_n.selection).attr(\"fill\",\"#777\").attr(\"fill-opacity\",.3).attr(\"stroke\",\"#fff\").attr(\"shape-rendering\",\"crispEdges\");var r=t.selectAll(\".handle\").data(e.handles,(function(e){return e.type}));r.exit().remove(),r.enter().append(\"rect\").attr(\"class\",(function(e){return\"handle handle--\"+e.type})).attr(\"cursor\",(function(e){return _n[e.type]})),t.each(u).attr(\"fill\",\"none\").attr(\"pointer-events\",\"all\").on(\"mousedown.brush\",d).filter(i).on(\"touchstart.brush\",d).on(\"touchmove.brush\",h).on(\"touchend.brush touchcancel.brush\",p).style(\"touch-action\",\"none\").style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\")}function u(){var e=Ie(this),t=Mn(this).selection;t?(e.selectAll(\".selection\").style(\"display\",null).attr(\"x\",t[0][0]).attr(\"y\",t[0][1]).attr(\"width\",t[1][0]-t[0][0]).attr(\"height\",t[1][1]-t[0][1]),e.selectAll(\".handle\").style(\"display\",null).attr(\"x\",(function(e){return\"e\"===e.type[e.type.length-1]?t[1][0]-s/2:t[0][0]-s/2})).attr(\"y\",(function(e){return\"s\"===e.type[0]?t[1][1]-s/2:t[0][1]-s/2})).attr(\"width\",(function(e){return\"n\"===e.type||\"s\"===e.type?t[1][0]-t[0][0]+s:s})).attr(\"height\",(function(e){return\"e\"===e.type||\"w\"===e.type?t[1][1]-t[0][1]+s:s}))):e.selectAll(\".selection,.handle\").style(\"display\",\"none\").attr(\"x\",null).attr(\"y\",null).attr(\"width\",null).attr(\"height\",null)}function l(e,t,n){var r=e.__brush.emitter;return!r||n&&r.clean?new f(e,t,n):r}function f(e,t,n){this.that=e,this.args=t,this.state=e.__brush,this.active=0,this.clean=n}function d(){if((!t||_e.touches)&&r.apply(this,arguments)){var n,i,a,s,c,f,d,h,p,g,y,m=this,b=_e.target.__data__.type,v=\"selection\"===(o&&_e.metaKey?b=\"overlay\":b)?dn:o&&_e.altKey?gn:pn,x=e===xn?null:En[b],w=e===vn?null:Sn[b],_=Mn(m),k=_.extent,O=_.selection,E=k[0][0],S=k[0][1],C=k[1][0],T=k[1][1],j=0,A=0,M=x&&w&&o&&_e.shiftKey,P=_e.touches?bn(_e.changedTouches[0].identifier):$e,N=P(m),D=N,R=l(m,arguments,!0).beforestart();\"overlay\"===b?(O&&(p=!0),_.selection=O=[[n=e===xn?E:N[0],a=e===vn?S:N[1]],[c=e===xn?C:n,d=e===vn?T:a]]):(n=O[0][0],a=O[0][1],c=O[1][0],d=O[1][1]),i=n,s=a,f=c,h=d;var I=Ie(m).attr(\"pointer-events\",\"none\"),L=I.selectAll(\".overlay\").attr(\"cursor\",_n[b]);if(_e.touches)R.moved=F,R.ended=U;else{var B=Ie(_e.view).on(\"mousemove.brush\",F,!0).on(\"mouseup.brush\",U,!0);o&&B.on(\"keydown.brush\",H,!0).on(\"keyup.brush\",W,!0),Fe(_e.view)}ln(),mt(m),u.call(m),R.start()}function F(){var e=P(m);!M||g||y||(Math.abs(e[0]-D[0])>Math.abs(e[1]-D[1])?y=!0:g=!0),D=e,p=!0,fn(),z()}function z(){var e;switch(j=D[0]-N[0],A=D[1]-N[1],v){case hn:case dn:x&&(j=Math.max(E-n,Math.min(C-c,j)),i=n+j,f=c+j),w&&(A=Math.max(S-a,Math.min(T-d,A)),s=a+A,h=d+A);break;case pn:x<0?(j=Math.max(E-n,Math.min(C-n,j)),i=n+j,f=c):x>0&&(j=Math.max(E-c,Math.min(C-c,j)),i=n,f=c+j),w<0?(A=Math.max(S-a,Math.min(T-a,A)),s=a+A,h=d):w>0&&(A=Math.max(S-d,Math.min(T-d,A)),s=a,h=d+A);break;case gn:x&&(i=Math.max(E,Math.min(C,n-j*x)),f=Math.max(E,Math.min(C,c+j*x))),w&&(s=Math.max(S,Math.min(T,a-A*w)),h=Math.max(S,Math.min(T,d+A*w)))}f<i&&(x*=-1,e=n,n=c,c=e,e=i,i=f,f=e,b in kn&&L.attr(\"cursor\",_n[b=kn[b]])),h<s&&(w*=-1,e=a,a=d,d=e,e=s,s=h,h=e,b in On&&L.attr(\"cursor\",_n[b=On[b]])),_.selection&&(O=_.selection),g&&(i=O[0][0],f=O[1][0]),y&&(s=O[0][1],h=O[1][1]),O[0][0]===i&&O[0][1]===s&&O[1][0]===f&&O[1][1]===h||(_.selection=[[i,s],[f,h]],u.call(m),R.brush())}function U(){if(ln(),_e.touches){if(_e.touches.length)return;t&&clearTimeout(t),t=setTimeout((function(){t=null}),500)}else ze(_e.view,p),B.on(\"keydown.brush keyup.brush mousemove.brush mouseup.brush\",null);I.attr(\"pointer-events\",\"all\"),L.attr(\"cursor\",_n.overlay),_.selection&&(O=_.selection),Pn(O)&&(_.selection=null,u.call(m)),R.end()}function H(){switch(_e.keyCode){case 16:M=x&&w;break;case 18:v===pn&&(x&&(c=f-j*x,n=i+j*x),w&&(d=h-A*w,a=s+A*w),v=gn,z());break;case 32:v!==pn&&v!==gn||(x<0?c=f-j:x>0&&(n=i-j),w<0?d=h-A:w>0&&(a=s-A),v=hn,L.attr(\"cursor\",_n.selection),z());break;default:return}fn()}function W(){switch(_e.keyCode){case 16:M&&(g=y=M=!1,z());break;case 18:v===gn&&(x<0?c=f:x>0&&(n=i),w<0?d=h:w>0&&(a=s),v=pn,z());break;case 32:v===hn&&(_e.altKey?(x&&(c=f-j*x,n=i+j*x),w&&(d=h-A*w,a=s+A*w),v=gn):(x<0?c=f:x>0&&(n=i),w<0?d=h:w>0&&(a=s),v=pn),L.attr(\"cursor\",_n[b]),z());break;default:return}fn()}}function h(){l(this,arguments).moved()}function p(){l(this,arguments).ended()}function g(){var t=this.__brush||{selection:null};return t.extent=mn(n.apply(this,arguments)),t.dim=e,t}return c.move=function(t,n){t.selection?t.on(\"start.brush\",(function(){l(this,arguments).beforestart().start()})).on(\"interrupt.brush end.brush\",(function(){l(this,arguments).end()})).tween(\"brush\",(function(){var t=this,r=t.__brush,i=l(t,arguments),o=r.selection,a=e.input(\"function\"===typeof n?n.apply(this,arguments):n,r.extent),s=Object(We.a)(o,a);function c(e){r.selection=1===e&&null===a?null:s(e),u.call(t),i.brush()}return null!==o&&null!==a?c:c(1)})):t.each((function(){var t=this,r=arguments,i=t.__brush,o=e.input(\"function\"===typeof n?n.apply(t,r):n,i.extent),a=l(t,r).beforestart();mt(t),i.selection=null===o?null:o,u.call(t),a.start().brush().end()}))},c.clear=function(e){c.move(e,null)},f.prototype={beforestart:function(){return 1===++this.active&&(this.state.emitter=this,this.starting=!0),this},start:function(){return this.starting?(this.starting=!1,this.emit(\"start\")):this.emit(\"brush\"),this},brush:function(){return this.emit(\"brush\"),this},end:function(){return 0===--this.active&&(delete this.state.emitter,this.emit(\"end\")),this},emit:function(t){Te(new un(c,t,e.output(this.state.selection)),a.apply,a,[t,this.that,this.args])}},c.extent=function(e){return arguments.length?(n=\"function\"===typeof e?e:cn(mn(e)),c):n},c.filter=function(e){return arguments.length?(r=\"function\"===typeof e?e:cn(!!e),c):r},c.touchable=function(e){return arguments.length?(i=\"function\"===typeof e?e:cn(!!e),c):i},c.handleSize=function(e){return arguments.length?(s=+e,c):s},c.keyModifiers=function(e){return arguments.length?(o=!!e,c):o},c.on=function(){var e=a.on.apply(a,arguments);return e===a?c:e},c}var Bn=Math.cos,Fn=Math.sin,zn=Math.PI,Un=zn/2,Hn=2*zn,Wn=Math.max;function Yn(e){return function(t,n){return e(t.source.value+t.target.value,n.source.value+n.target.value)}}var Vn=function(){var e=0,t=null,n=null,r=null;function o(o){var a,s,c,u,l,f,d=o.length,h=[],p=Object(i.s)(d),g=[],y=[],m=y.groups=new Array(d),b=new Array(d*d);for(a=0,l=-1;++l<d;){for(s=0,f=-1;++f<d;)s+=o[l][f];h.push(s),g.push(Object(i.s)(d)),a+=s}for(t&&p.sort((function(e,n){return t(h[e],h[n])})),n&&g.forEach((function(e,t){e.sort((function(e,r){return n(o[t][e],o[t][r])}))})),u=(a=Wn(0,Hn-e*d)/a)?e:Hn/d,s=0,l=-1;++l<d;){for(c=s,f=-1;++f<d;){var v=p[l],x=g[v][f],w=o[v][x],_=s,k=s+=w*a;b[x*d+v]={index:v,subindex:x,startAngle:_,endAngle:k,value:w}}m[v]={index:v,startAngle:c,endAngle:s,value:h[v]},s+=u}for(l=-1;++l<d;)for(f=l-1;++f<d;){var O=b[f*d+l],E=b[l*d+f];(O.value||E.value)&&y.push(O.value<E.value?{source:E,target:O}:{source:O,target:E})}return r?y.sort(r):y}return o.padAngle=function(t){return arguments.length?(e=Wn(0,t),o):e},o.sortGroups=function(e){return arguments.length?(t=e,o):t},o.sortSubgroups=function(e){return arguments.length?(n=e,o):n},o.sortChords=function(e){return arguments.length?(null==e?r=null:(r=Yn(e))._=e,o):r&&r._},o},qn=Array.prototype.slice,$n=function(e){return function(){return e}},Gn=n(150);function Xn(e){return e.source}function Kn(e){return e.target}function Zn(e){return e.radius}function Jn(e){return e.startAngle}function Qn(e){return e.endAngle}var er=function(){var e=Xn,t=Kn,n=Zn,r=Jn,i=Qn,o=null;function a(){var a,s=qn.call(arguments),c=e.apply(this,s),u=t.apply(this,s),l=+n.apply(this,(s[0]=c,s)),f=r.apply(this,s)-Un,d=i.apply(this,s)-Un,h=l*Bn(f),p=l*Fn(f),g=+n.apply(this,(s[0]=u,s)),y=r.apply(this,s)-Un,m=i.apply(this,s)-Un;if(o||(o=a=Object(Gn.a)()),o.moveTo(h,p),o.arc(0,0,l,f,d),f===y&&d===m||(o.quadraticCurveTo(0,0,g*Bn(y),g*Fn(y)),o.arc(0,0,g,y,m)),o.quadraticCurveTo(0,0,h,p),o.closePath(),a)return o=null,a+\"\"||null}return a.radius=function(e){return arguments.length?(n=\"function\"===typeof e?e:$n(+e),a):n},a.startAngle=function(e){return arguments.length?(r=\"function\"===typeof e?e:$n(+e),a):r},a.endAngle=function(e){return arguments.length?(i=\"function\"===typeof e?e:$n(+e),a):i},a.source=function(t){return arguments.length?(e=t,a):e},a.target=function(e){return arguments.length?(t=e,a):t},a.context=function(e){return arguments.length?(o=null==e?null:e,a):o},a},tr=n(46),nr=n(41),rr=n(204),ir=function(e){return function(){return e}};function or(e,t,n,r,i,o,a,s,c,u){this.target=e,this.type=t,this.subject=n,this.identifier=r,this.active=i,this.x=o,this.y=a,this.dx=s,this.dy=c,this._=u}function ar(){return!_e.ctrlKey&&!_e.button}function sr(){return this.parentNode}function cr(e){return null==e?{x:_e.x,y:_e.y}:e}function ur(){return navigator.maxTouchPoints||\"ontouchstart\"in this}or.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};var lr=function(){var e,t,n,r,i=ar,o=sr,a=cr,s=ur,c={},u=O(\"start\",\"drag\",\"end\"),l=0,f=0;function d(e){e.on(\"mousedown.drag\",h).filter(s).on(\"touchstart.drag\",y).on(\"touchmove.drag\",m).on(\"touchend.drag touchcancel.drag\",b).style(\"touch-action\",\"none\").style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\")}function h(){if(!r&&i.apply(this,arguments)){var a=v(\"mouse\",o.apply(this,arguments),$e,this,arguments);a&&(Ie(_e.view).on(\"mousemove.drag\",p,!0).on(\"mouseup.drag\",g,!0),Fe(_e.view),Le(),n=!1,e=_e.clientX,t=_e.clientY,a(\"start\"))}}function p(){if(Be(),!n){var r=_e.clientX-e,i=_e.clientY-t;n=r*r+i*i>f}c.mouse(\"drag\")}function g(){Ie(_e.view).on(\"mousemove.drag mouseup.drag\",null),ze(_e.view,n),Be(),c.mouse(\"end\")}function y(){if(i.apply(this,arguments)){var e,t,n=_e.changedTouches,r=o.apply(this,arguments),a=n.length;for(e=0;e<a;++e)(t=v(n[e].identifier,r,qe,this,arguments))&&(Le(),t(\"start\"))}}function m(){var e,t,n=_e.changedTouches,r=n.length;for(e=0;e<r;++e)(t=c[n[e].identifier])&&(Be(),t(\"drag\"))}function b(){var e,t,n=_e.changedTouches,i=n.length;for(r&&clearTimeout(r),r=setTimeout((function(){r=null}),500),e=0;e<i;++e)(t=c[n[e].identifier])&&(Le(),t(\"end\"))}function v(e,t,n,r,i){var o,s,f,h=n(t,e),p=u.copy();if(Te(new or(d,\"beforestart\",o,e,l,h[0],h[1],0,0,p),(function(){return null!=(_e.subject=o=a.apply(r,i))&&(s=o.x-h[0]||0,f=o.y-h[1]||0,!0)})))return function a(u){var g,y=h;switch(u){case\"start\":c[e]=a,g=l++;break;case\"end\":delete c[e],--l;case\"drag\":h=n(t,e),g=l}Te(new or(d,u,o,e,g,h[0]+s,h[1]+f,h[0]-y[0],h[1]-y[1],p),p.apply,p,[u,r,i])}}return d.filter=function(e){return arguments.length?(i=\"function\"===typeof e?e:ir(!!e),d):i},d.container=function(e){return arguments.length?(o=\"function\"===typeof e?e:ir(e),d):o},d.subject=function(e){return arguments.length?(a=\"function\"===typeof e?e:ir(e),d):a},d.touchable=function(e){return arguments.length?(s=\"function\"===typeof e?e:ir(!!e),d):s},d.on=function(){var e=u.on.apply(u,arguments);return e===u?d:e},d.clickDistance=function(e){return arguments.length?(f=(e=+e)*e,d):Math.sqrt(f)},d},fr={},dr={};function hr(e){return new Function(\"d\",\"return {\"+e.map((function(e,t){return JSON.stringify(e)+\": d[\"+t+'] || \"\"'})).join(\",\")+\"}\")}function pr(e){var t=Object.create(null),n=[];return e.forEach((function(e){for(var r in e)r in t||n.push(t[r]=r)})),n}function gr(e,t){var n=e+\"\",r=n.length;return r<t?new Array(t-r+1).join(0)+n:n}function yr(e){var t,n=e.getUTCHours(),r=e.getUTCMinutes(),i=e.getUTCSeconds(),o=e.getUTCMilliseconds();return isNaN(e)?\"Invalid Date\":((t=e.getUTCFullYear())<0?\"-\"+gr(-t,6):t>9999?\"+\"+gr(t,6):gr(t,4))+\"-\"+gr(e.getUTCMonth()+1,2)+\"-\"+gr(e.getUTCDate(),2)+(o?\"T\"+gr(n,2)+\":\"+gr(r,2)+\":\"+gr(i,2)+\".\"+gr(o,3)+\"Z\":i?\"T\"+gr(n,2)+\":\"+gr(r,2)+\":\"+gr(i,2)+\"Z\":r||n?\"T\"+gr(n,2)+\":\"+gr(r,2)+\"Z\":\"\")}var mr=function(e){var t=new RegExp('[\"'+e+\"\\n\\r]\"),n=e.charCodeAt(0);function r(e,t){var r,i=[],o=e.length,a=0,s=0,c=o<=0,u=!1;function l(){if(c)return dr;if(u)return u=!1,fr;var t,r,i=a;if(34===e.charCodeAt(i)){for(;a++<o&&34!==e.charCodeAt(a)||34===e.charCodeAt(++a););return(t=a)>=o?c=!0:10===(r=e.charCodeAt(a++))?u=!0:13===r&&(u=!0,10===e.charCodeAt(a)&&++a),e.slice(i+1,t-1).replace(/\"\"/g,'\"')}for(;a<o;){if(10===(r=e.charCodeAt(t=a++)))u=!0;else if(13===r)u=!0,10===e.charCodeAt(a)&&++a;else if(r!==n)continue;return e.slice(i,t)}return c=!0,e.slice(i,o)}for(10===e.charCodeAt(o-1)&&--o,13===e.charCodeAt(o-1)&&--o;(r=l())!==dr;){for(var f=[];r!==fr&&r!==dr;)f.push(r),r=l();t&&null==(f=t(f,s++))||i.push(f)}return i}function i(t,n){return t.map((function(t){return n.map((function(e){return a(t[e])})).join(e)}))}function o(t){return t.map(a).join(e)}function a(e){return null==e?\"\":e instanceof Date?yr(e):t.test(e+=\"\")?'\"'+e.replace(/\"/g,'\"\"')+'\"':e}return{parse:function(e,t){var n,i,o=r(e,(function(e,r){if(n)return n(e,r-1);i=e,n=t?function(e,t){var n=hr(e);return function(r,i){return t(n(r),i,e)}}(e,t):hr(e)}));return o.columns=i||[],o},parseRows:r,format:function(t,n){return null==n&&(n=pr(t)),[n.map(a).join(e)].concat(i(t,n)).join(\"\\n\")},formatBody:function(e,t){return null==t&&(t=pr(e)),i(e,t).join(\"\\n\")},formatRows:function(e){return e.map(o).join(\"\\n\")},formatRow:o,formatValue:a}},br=mr(\",\"),vr=br.parse,xr=br.parseRows,wr=br.format,_r=br.formatBody,kr=br.formatRows,Or=br.formatRow,Er=br.formatValue,Sr=mr(\"\\t\"),Cr=Sr.parse,Tr=Sr.parseRows,jr=Sr.format,Ar=Sr.formatBody,Mr=Sr.formatRows,Pr=Sr.formatRow,Nr=Sr.formatValue;function Dr(e){for(var t in e){var n,r,i=e[t].trim();if(i)if(\"true\"===i)i=!0;else if(\"false\"===i)i=!1;else if(\"NaN\"===i)i=NaN;else if(isNaN(n=+i)){if(!(r=i.match(/^([-+]\\d{2})?\\d{4}(-\\d{2}(-\\d{2})?)?(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{3})?)?(Z|[-+]\\d{2}:\\d{2})?)?$/)))continue;Rr&&r[4]&&!r[7]&&(i=i.replace(/-/g,\"/\").replace(/T/,\" \")),i=new Date(i)}else i=n;else i=null;e[t]=i}return e}var Rr=new Date(\"2019-01-01T00:00\").getHours()||new Date(\"2019-07-01T00:00\").getHours();function Ir(e){return+e}function Lr(e){return e*e}function Br(e){return e*(2-e)}function Fr(e){return((e*=2)<=1?e*e:--e*(2-e)+1)/2}var zr=function e(t){function n(e){return Math.pow(e,t)}return t=+t,n.exponent=e,n}(3),Ur=function e(t){function n(e){return 1-Math.pow(1-e,t)}return t=+t,n.exponent=e,n}(3),Hr=function e(t){function n(e){return((e*=2)<=1?Math.pow(e,t):2-Math.pow(2-e,t))/2}return t=+t,n.exponent=e,n}(3),Wr=Math.PI,Yr=Wr/2;function Vr(e){return 1===+e?1:1-Math.cos(e*Yr)}function qr(e){return Math.sin(e*Yr)}function $r(e){return(1-Math.cos(Wr*e))/2}function Gr(e){return 1.0009775171065494*(Math.pow(2,-10*e)-.0009765625)}function Xr(e){return Gr(1-+e)}function Kr(e){return 1-Gr(e)}function Zr(e){return((e*=2)<=1?Gr(1-e):2-Gr(e-1))/2}function Jr(e){return 1-Math.sqrt(1-e*e)}function Qr(e){return Math.sqrt(1- --e*e)}function ei(e){return((e*=2)<=1?1-Math.sqrt(1-e*e):Math.sqrt(1-(e-=2)*e)+1)/2}var ti=4/11,ni=7.5625;function ri(e){return 1-ii(1-e)}function ii(e){return(e=+e)<ti?ni*e*e:e<.7272727272727273?ni*(e-=.5454545454545454)*e+.75:e<.9090909090909091?ni*(e-=.8181818181818182)*e+.9375:ni*(e-=.9545454545454546)*e+.984375}function oi(e){return((e*=2)<=1?1-ii(1-e):ii(e-1)+1)/2}var ai=1.70158,si=function e(t){function n(e){return(e=+e)*e*(t*(e-1)+e)}return t=+t,n.overshoot=e,n}(ai),ci=function e(t){function n(e){return--e*e*((e+1)*t+e)+1}return t=+t,n.overshoot=e,n}(ai),ui=function e(t){function n(e){return((e*=2)<1?e*e*((t+1)*e-t):(e-=2)*e*((t+1)*e+t)+2)/2}return t=+t,n.overshoot=e,n}(ai),li=2*Math.PI,fi=function e(t,n){var r=Math.asin(1/(t=Math.max(1,t)))*(n/=li);function i(e){return t*Gr(- --e)*Math.sin((r-e)/n)}return i.amplitude=function(t){return e(t,n*li)},i.period=function(n){return e(t,n)},i}(1,.3),di=function e(t,n){var r=Math.asin(1/(t=Math.max(1,t)))*(n/=li);function i(e){return 1-t*Gr(e=+e)*Math.sin((e+r)/n)}return i.amplitude=function(t){return e(t,n*li)},i.period=function(n){return e(t,n)},i}(1,.3),hi=function e(t,n){var r=Math.asin(1/(t=Math.max(1,t)))*(n/=li);function i(e){return((e=2*e-1)<0?t*Gr(-e)*Math.sin((r-e)/n):2-t*Gr(e)*Math.sin((r+e)/n))/2}return i.amplitude=function(t){return e(t,n*li)},i.period=function(n){return e(t,n)},i}(1,.3);function pi(e){if(!e.ok)throw new Error(e.status+\" \"+e.statusText);return e.blob()}var gi=function(e,t){return fetch(e,t).then(pi)};function yi(e){if(!e.ok)throw new Error(e.status+\" \"+e.statusText);return e.arrayBuffer()}var mi=function(e,t){return fetch(e,t).then(yi)};function bi(e){if(!e.ok)throw new Error(e.status+\" \"+e.statusText);return e.text()}var vi=function(e,t){return fetch(e,t).then(bi)};function xi(e){return function(t,n,r){return 2===arguments.length&&\"function\"===typeof n&&(r=n,n=void 0),vi(t,n).then((function(t){return e(t,r)}))}}function wi(e,t,n,r){3===arguments.length&&\"function\"===typeof n&&(r=n,n=void 0);var i=mr(e);return vi(t,n).then((function(e){return i.parse(e,r)}))}var _i=xi(vr),ki=xi(Cr),Oi=function(e,t){return new Promise((function(n,r){var i=new Image;for(var o in t)i[o]=t[o];i.onerror=r,i.onload=function(){n(i)},i.src=e}))};function Ei(e){if(!e.ok)throw new Error(e.status+\" \"+e.statusText);if(204!==e.status&&205!==e.status)return e.json()}var Si=function(e,t){return fetch(e,t).then(Ei)};function Ci(e){return function(t,n){return vi(t,n).then((function(t){return(new DOMParser).parseFromString(t,e)}))}}var Ti=Ci(\"application/xml\"),ji=Ci(\"text/html\"),Ai=Ci(\"image/svg+xml\"),Mi=function(e,t){var n;function r(){var r,i,o=n.length,a=0,s=0;for(r=0;r<o;++r)a+=(i=n[r]).x,s+=i.y;for(a=a/o-e,s=s/o-t,r=0;r<o;++r)(i=n[r]).x-=a,i.y-=s}return null==e&&(e=0),null==t&&(t=0),r.initialize=function(e){n=e},r.x=function(t){return arguments.length?(e=+t,r):e},r.y=function(e){return arguments.length?(t=+e,r):t},r},Pi=function(e){return function(){return e}},Ni=function(){return 1e-6*(Math.random()-.5)};function Di(e,t,n,r){if(isNaN(t)||isNaN(n))return e;var i,o,a,s,c,u,l,f,d,h=e._root,p={data:r},g=e._x0,y=e._y0,m=e._x1,b=e._y1;if(!h)return e._root=p,e;for(;h.length;)if((u=t>=(o=(g+m)/2))?g=o:m=o,(l=n>=(a=(y+b)/2))?y=a:b=a,i=h,!(h=h[f=l<<1|u]))return i[f]=p,e;if(s=+e._x.call(null,h.data),c=+e._y.call(null,h.data),t===s&&n===c)return p.next=h,i?i[f]=p:e._root=p,e;do{i=i?i[f]=new Array(4):e._root=new Array(4),(u=t>=(o=(g+m)/2))?g=o:m=o,(l=n>=(a=(y+b)/2))?y=a:b=a}while((f=l<<1|u)===(d=(c>=a)<<1|s>=o));return i[d]=h,i[f]=p,e}var Ri=function(e,t,n,r,i){this.node=e,this.x0=t,this.y0=n,this.x1=r,this.y1=i};function Ii(e){return e[0]}function Li(e){return e[1]}function Bi(e,t,n){var r=new Fi(null==t?Ii:t,null==n?Li:n,NaN,NaN,NaN,NaN);return null==e?r:r.addAll(e)}function Fi(e,t,n,r,i,o){this._x=e,this._y=t,this._x0=n,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function zi(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}var Ui=Bi.prototype=Fi.prototype;function Hi(e){return e.x+e.vx}function Wi(e){return e.y+e.vy}Ui.copy=function(){var e,t,n=new Fi(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return n;if(!r.length)return n._root=zi(r),n;for(e=[{source:r,target:n._root=new Array(4)}];r=e.pop();)for(var i=0;i<4;++i)(t=r.source[i])&&(t.length?e.push({source:t,target:r.target[i]=new Array(4)}):r.target[i]=zi(t));return n},Ui.add=function(e){var t=+this._x.call(null,e),n=+this._y.call(null,e);return Di(this.cover(t,n),t,n,e)},Ui.addAll=function(e){var t,n,r,i,o=e.length,a=new Array(o),s=new Array(o),c=1/0,u=1/0,l=-1/0,f=-1/0;for(n=0;n<o;++n)isNaN(r=+this._x.call(null,t=e[n]))||isNaN(i=+this._y.call(null,t))||(a[n]=r,s[n]=i,r<c&&(c=r),r>l&&(l=r),i<u&&(u=i),i>f&&(f=i));if(c>l||u>f)return this;for(this.cover(c,u).cover(l,f),n=0;n<o;++n)Di(this,a[n],s[n],e[n]);return this},Ui.cover=function(e,t){if(isNaN(e=+e)||isNaN(t=+t))return this;var n=this._x0,r=this._y0,i=this._x1,o=this._y1;if(isNaN(n))i=(n=Math.floor(e))+1,o=(r=Math.floor(t))+1;else{for(var a,s,c=i-n,u=this._root;n>e||e>=i||r>t||t>=o;)switch(s=(t<r)<<1|e<n,(a=new Array(4))[s]=u,u=a,c*=2,s){case 0:i=n+c,o=r+c;break;case 1:n=i-c,o=r+c;break;case 2:i=n+c,r=o-c;break;case 3:n=i-c,r=o-c}this._root&&this._root.length&&(this._root=u)}return this._x0=n,this._y0=r,this._x1=i,this._y1=o,this},Ui.data=function(){var e=[];return this.visit((function(t){if(!t.length)do{e.push(t.data)}while(t=t.next)})),e},Ui.extent=function(e){return arguments.length?this.cover(+e[0][0],+e[0][1]).cover(+e[1][0],+e[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},Ui.find=function(e,t,n){var r,i,o,a,s,c,u,l=this._x0,f=this._y0,d=this._x1,h=this._y1,p=[],g=this._root;for(g&&p.push(new Ri(g,l,f,d,h)),null==n?n=1/0:(l=e-n,f=t-n,d=e+n,h=t+n,n*=n);c=p.pop();)if(!(!(g=c.node)||(i=c.x0)>d||(o=c.y0)>h||(a=c.x1)<l||(s=c.y1)<f))if(g.length){var y=(i+a)/2,m=(o+s)/2;p.push(new Ri(g[3],y,m,a,s),new Ri(g[2],i,m,y,s),new Ri(g[1],y,o,a,m),new Ri(g[0],i,o,y,m)),(u=(t>=m)<<1|e>=y)&&(c=p[p.length-1],p[p.length-1]=p[p.length-1-u],p[p.length-1-u]=c)}else{var b=e-+this._x.call(null,g.data),v=t-+this._y.call(null,g.data),x=b*b+v*v;if(x<n){var w=Math.sqrt(n=x);l=e-w,f=t-w,d=e+w,h=t+w,r=g.data}}return r},Ui.remove=function(e){if(isNaN(o=+this._x.call(null,e))||isNaN(a=+this._y.call(null,e)))return this;var t,n,r,i,o,a,s,c,u,l,f,d,h=this._root,p=this._x0,g=this._y0,y=this._x1,m=this._y1;if(!h)return this;if(h.length)for(;;){if((u=o>=(s=(p+y)/2))?p=s:y=s,(l=a>=(c=(g+m)/2))?g=c:m=c,t=h,!(h=h[f=l<<1|u]))return this;if(!h.length)break;(t[f+1&3]||t[f+2&3]||t[f+3&3])&&(n=t,d=f)}for(;h.data!==e;)if(r=h,!(h=h.next))return this;return(i=h.next)&&delete h.next,r?(i?r.next=i:delete r.next,this):t?(i?t[f]=i:delete t[f],(h=t[0]||t[1]||t[2]||t[3])&&h===(t[3]||t[2]||t[1]||t[0])&&!h.length&&(n?n[d]=h:this._root=h),this):(this._root=i,this)},Ui.removeAll=function(e){for(var t=0,n=e.length;t<n;++t)this.remove(e[t]);return this},Ui.root=function(){return this._root},Ui.size=function(){var e=0;return this.visit((function(t){if(!t.length)do{++e}while(t=t.next)})),e},Ui.visit=function(e){var t,n,r,i,o,a,s=[],c=this._root;for(c&&s.push(new Ri(c,this._x0,this._y0,this._x1,this._y1));t=s.pop();)if(!e(c=t.node,r=t.x0,i=t.y0,o=t.x1,a=t.y1)&&c.length){var u=(r+o)/2,l=(i+a)/2;(n=c[3])&&s.push(new Ri(n,u,l,o,a)),(n=c[2])&&s.push(new Ri(n,r,l,u,a)),(n=c[1])&&s.push(new Ri(n,u,i,o,l)),(n=c[0])&&s.push(new Ri(n,r,i,u,l))}return this},Ui.visitAfter=function(e){var t,n=[],r=[];for(this._root&&n.push(new Ri(this._root,this._x0,this._y0,this._x1,this._y1));t=n.pop();){var i=t.node;if(i.length){var o,a=t.x0,s=t.y0,c=t.x1,u=t.y1,l=(a+c)/2,f=(s+u)/2;(o=i[0])&&n.push(new Ri(o,a,s,l,f)),(o=i[1])&&n.push(new Ri(o,l,s,c,f)),(o=i[2])&&n.push(new Ri(o,a,f,l,u)),(o=i[3])&&n.push(new Ri(o,l,f,c,u))}r.push(t)}for(;t=r.pop();)e(t.node,t.x0,t.y0,t.x1,t.y1);return this},Ui.x=function(e){return arguments.length?(this._x=e,this):this._x},Ui.y=function(e){return arguments.length?(this._y=e,this):this._y};var Yi=function(e){var t,n,r=1,i=1;function o(){for(var e,o,s,c,u,l,f,d=t.length,h=0;h<i;++h)for(o=Bi(t,Hi,Wi).visitAfter(a),e=0;e<d;++e)s=t[e],l=n[s.index],f=l*l,c=s.x+s.vx,u=s.y+s.vy,o.visit(p);function p(e,t,n,i,o){var a=e.data,d=e.r,h=l+d;if(!a)return t>c+h||i<c-h||n>u+h||o<u-h;if(a.index>s.index){var p=c-a.x-a.vx,g=u-a.y-a.vy,y=p*p+g*g;y<h*h&&(0===p&&(y+=(p=Ni())*p),0===g&&(y+=(g=Ni())*g),y=(h-(y=Math.sqrt(y)))/y*r,s.vx+=(p*=y)*(h=(d*=d)/(f+d)),s.vy+=(g*=y)*h,a.vx-=p*(h=1-h),a.vy-=g*h)}}}function a(e){if(e.data)return e.r=n[e.data.index];for(var t=e.r=0;t<4;++t)e[t]&&e[t].r>e.r&&(e.r=e[t].r)}function s(){if(t){var r,i,o=t.length;for(n=new Array(o),r=0;r<o;++r)i=t[r],n[i.index]=+e(i,r,t)}}return\"function\"!==typeof e&&(e=Pi(null==e?1:+e)),o.initialize=function(e){t=e,s()},o.iterations=function(e){return arguments.length?(i=+e,o):i},o.strength=function(e){return arguments.length?(r=+e,o):r},o.radius=function(t){return arguments.length?(e=\"function\"===typeof t?t:Pi(+t),s(),o):e},o};function Vi(e){return e.index}function qi(e,t){var n=e.get(t);if(!n)throw new Error(\"missing: \"+t);return n}var $i=function(e){var t,n,r,i,o,a=Vi,s=function(e){return 1/Math.min(i[e.source.index],i[e.target.index])},c=Pi(30),u=1;function l(r){for(var i=0,a=e.length;i<u;++i)for(var s,c,l,f,d,h,p,g=0;g<a;++g)c=(s=e[g]).source,f=(l=s.target).x+l.vx-c.x-c.vx||Ni(),d=l.y+l.vy-c.y-c.vy||Ni(),f*=h=((h=Math.sqrt(f*f+d*d))-n[g])/h*r*t[g],d*=h,l.vx-=f*(p=o[g]),l.vy-=d*p,c.vx+=f*(p=1-p),c.vy+=d*p}function f(){if(r){var s,c,u=r.length,l=e.length,f=Object(tr.c)(r,a);for(s=0,i=new Array(u);s<l;++s)(c=e[s]).index=s,\"object\"!==typeof c.source&&(c.source=qi(f,c.source)),\"object\"!==typeof c.target&&(c.target=qi(f,c.target)),i[c.source.index]=(i[c.source.index]||0)+1,i[c.target.index]=(i[c.target.index]||0)+1;for(s=0,o=new Array(l);s<l;++s)c=e[s],o[s]=i[c.source.index]/(i[c.source.index]+i[c.target.index]);t=new Array(l),d(),n=new Array(l),h()}}function d(){if(r)for(var n=0,i=e.length;n<i;++n)t[n]=+s(e[n],n,e)}function h(){if(r)for(var t=0,i=e.length;t<i;++t)n[t]=+c(e[t],t,e)}return null==e&&(e=[]),l.initialize=function(e){r=e,f()},l.links=function(t){return arguments.length?(e=t,f(),l):e},l.id=function(e){return arguments.length?(a=e,l):a},l.iterations=function(e){return arguments.length?(u=+e,l):u},l.strength=function(e){return arguments.length?(s=\"function\"===typeof e?e:Pi(+e),d(),l):s},l.distance=function(e){return arguments.length?(c=\"function\"===typeof e?e:Pi(+e),h(),l):c},l};function Gi(e){return e.x}function Xi(e){return e.y}var Ki=Math.PI*(3-Math.sqrt(5)),Zi=function(e){var t,n=1,r=.001,i=1-Math.pow(r,1/300),o=0,a=.6,s=Object(tr.c)(),c=ot(l),u=O(\"tick\",\"end\");function l(){f(),u.call(\"tick\",t),n<r&&(c.stop(),u.call(\"end\",t))}function f(r){var c,u,l=e.length;void 0===r&&(r=1);for(var f=0;f<r;++f)for(n+=(o-n)*i,s.each((function(e){e(n)})),c=0;c<l;++c)null==(u=e[c]).fx?u.x+=u.vx*=a:(u.x=u.fx,u.vx=0),null==u.fy?u.y+=u.vy*=a:(u.y=u.fy,u.vy=0);return t}function d(){for(var t,n=0,r=e.length;n<r;++n){if((t=e[n]).index=n,null!=t.fx&&(t.x=t.fx),null!=t.fy&&(t.y=t.fy),isNaN(t.x)||isNaN(t.y)){var i=10*Math.sqrt(n),o=n*Ki;t.x=i*Math.cos(o),t.y=i*Math.sin(o)}(isNaN(t.vx)||isNaN(t.vy))&&(t.vx=t.vy=0)}}function h(t){return t.initialize&&t.initialize(e),t}return null==e&&(e=[]),d(),t={tick:f,restart:function(){return c.restart(l),t},stop:function(){return c.stop(),t},nodes:function(n){return arguments.length?(e=n,d(),s.each(h),t):e},alpha:function(e){return arguments.length?(n=+e,t):n},alphaMin:function(e){return arguments.length?(r=+e,t):r},alphaDecay:function(e){return arguments.length?(i=+e,t):+i},alphaTarget:function(e){return arguments.length?(o=+e,t):o},velocityDecay:function(e){return arguments.length?(a=1-e,t):1-a},force:function(e,n){return arguments.length>1?(null==n?s.remove(e):s.set(e,h(n)),t):s.get(e)},find:function(t,n,r){var i,o,a,s,c,u=0,l=e.length;for(null==r?r=1/0:r*=r,u=0;u<l;++u)(a=(i=t-(s=e[u]).x)*i+(o=n-s.y)*o)<r&&(c=s,r=a);return c},on:function(e,n){return arguments.length>1?(u.on(e,n),t):u.on(e)}}},Ji=function(){var e,t,n,r,i=Pi(-30),o=1,a=1/0,s=.81;function c(r){var i,o=e.length,a=Bi(e,Gi,Xi).visitAfter(l);for(n=r,i=0;i<o;++i)t=e[i],a.visit(f)}function u(){if(e){var t,n,o=e.length;for(r=new Array(o),t=0;t<o;++t)n=e[t],r[n.index]=+i(n,t,e)}}function l(e){var t,n,i,o,a,s=0,c=0;if(e.length){for(i=o=a=0;a<4;++a)(t=e[a])&&(n=Math.abs(t.value))&&(s+=t.value,c+=n,i+=n*t.x,o+=n*t.y);e.x=i/c,e.y=o/c}else{(t=e).x=t.data.x,t.y=t.data.y;do{s+=r[t.data.index]}while(t=t.next)}e.value=s}function f(e,i,c,u){if(!e.value)return!0;var l=e.x-t.x,f=e.y-t.y,d=u-i,h=l*l+f*f;if(d*d/s<h)return h<a&&(0===l&&(h+=(l=Ni())*l),0===f&&(h+=(f=Ni())*f),h<o&&(h=Math.sqrt(o*h)),t.vx+=l*e.value*n/h,t.vy+=f*e.value*n/h),!0;if(!(e.length||h>=a)){(e.data!==t||e.next)&&(0===l&&(h+=(l=Ni())*l),0===f&&(h+=(f=Ni())*f),h<o&&(h=Math.sqrt(o*h)));do{e.data!==t&&(d=r[e.data.index]*n/h,t.vx+=l*d,t.vy+=f*d)}while(e=e.next)}}return c.initialize=function(t){e=t,u()},c.strength=function(e){return arguments.length?(i=\"function\"===typeof e?e:Pi(+e),u(),c):i},c.distanceMin=function(e){return arguments.length?(o=e*e,c):Math.sqrt(o)},c.distanceMax=function(e){return arguments.length?(a=e*e,c):Math.sqrt(a)},c.theta=function(e){return arguments.length?(s=e*e,c):Math.sqrt(s)},c},Qi=function(e,t,n){var r,i,o,a=Pi(.1);function s(e){for(var a=0,s=r.length;a<s;++a){var c=r[a],u=c.x-t||1e-6,l=c.y-n||1e-6,f=Math.sqrt(u*u+l*l),d=(o[a]-f)*i[a]*e/f;c.vx+=u*d,c.vy+=l*d}}function c(){if(r){var t,n=r.length;for(i=new Array(n),o=new Array(n),t=0;t<n;++t)o[t]=+e(r[t],t,r),i[t]=isNaN(o[t])?0:+a(r[t],t,r)}}return\"function\"!==typeof e&&(e=Pi(+e)),null==t&&(t=0),null==n&&(n=0),s.initialize=function(e){r=e,c()},s.strength=function(e){return arguments.length?(a=\"function\"===typeof e?e:Pi(+e),c(),s):a},s.radius=function(t){return arguments.length?(e=\"function\"===typeof t?t:Pi(+t),c(),s):e},s.x=function(e){return arguments.length?(t=+e,s):t},s.y=function(e){return arguments.length?(n=+e,s):n},s},eo=function(e){var t,n,r,i=Pi(.1);function o(e){for(var i,o=0,a=t.length;o<a;++o)(i=t[o]).vx+=(r[o]-i.x)*n[o]*e}function a(){if(t){var o,a=t.length;for(n=new Array(a),r=new Array(a),o=0;o<a;++o)n[o]=isNaN(r[o]=+e(t[o],o,t))?0:+i(t[o],o,t)}}return\"function\"!==typeof e&&(e=Pi(null==e?0:+e)),o.initialize=function(e){t=e,a()},o.strength=function(e){return arguments.length?(i=\"function\"===typeof e?e:Pi(+e),a(),o):i},o.x=function(t){return arguments.length?(e=\"function\"===typeof t?t:Pi(+t),a(),o):e},o},to=function(e){var t,n,r,i=Pi(.1);function o(e){for(var i,o=0,a=t.length;o<a;++o)(i=t[o]).vy+=(r[o]-i.y)*n[o]*e}function a(){if(t){var o,a=t.length;for(n=new Array(a),r=new Array(a),o=0;o<a;++o)n[o]=isNaN(r[o]=+e(t[o],o,t))?0:+i(t[o],o,t)}}return\"function\"!==typeof e&&(e=Pi(null==e?0:+e)),o.initialize=function(e){t=e,a()},o.strength=function(e){return arguments.length?(i=\"function\"===typeof e?e:Pi(+e),a(),o):i},o.y=function(t){return arguments.length?(e=\"function\"===typeof t?t:Pi(+t),a(),o):e},o},no=n(86),ro=n(263),io=n(195),oo=n(44),ao=n(94),so=function(e){for(var t,n=-1,r=e.length,i=e[r-1],o=0;++n<r;)t=i,i=e[n],o+=t[1]*i[0]-t[0]*i[1];return o/2},co=function(e){for(var t,n,r=-1,i=e.length,o=0,a=0,s=e[i-1],c=0;++r<i;)t=s,s=e[r],c+=n=t[0]*s[1]-s[0]*t[1],o+=(t[0]+s[0])*n,a+=(t[1]+s[1])*n;return[o/(c*=3),a/c]};function uo(e,t){return e[0]-t[0]||e[1]-t[1]}function lo(e){for(var t,n,r,i=e.length,o=[0,1],a=2,s=2;s<i;++s){for(;a>1&&(t=e[o[a-2]],n=e[o[a-1]],r=e[s],(n[0]-t[0])*(r[1]-t[1])-(n[1]-t[1])*(r[0]-t[0])<=0);)--a;o[a++]=s}return o.slice(0,a)}var fo=function(e){if((n=e.length)<3)return null;var t,n,r=new Array(n),i=new Array(n);for(t=0;t<n;++t)r[t]=[+e[t][0],+e[t][1],t];for(r.sort(uo),t=0;t<n;++t)i[t]=[r[t][0],-r[t][1]];var o=lo(r),a=lo(i),s=a[0]===o[0],c=a[a.length-1]===o[o.length-1],u=[];for(t=o.length-1;t>=0;--t)u.push(e[r[o[t]][2]]);for(t=+s;t<a.length-c;++t)u.push(e[r[a[t]][2]]);return u},ho=function(e,t){for(var n,r,i=e.length,o=e[i-1],a=t[0],s=t[1],c=o[0],u=o[1],l=!1,f=0;f<i;++f)n=(o=e[f])[0],(r=o[1])>s!==u>s&&a<(c-n)*(s-r)/(u-r)+n&&(l=!l),c=n,u=r;return l},po=function(e){for(var t,n,r=-1,i=e.length,o=e[i-1],a=o[0],s=o[1],c=0;++r<i;)t=a,n=s,t-=a=(o=e[r])[0],n-=s=o[1],c+=Math.sqrt(t*t+n*n);return c},go=function(){return Math.random()},yo=function e(t){function n(e,n){return e=null==e?0:+e,n=null==n?1:+n,1===arguments.length?(n=e,e=0):n-=e,function(){return t()*n+e}}return n.source=e,n}(go),mo=function e(t){function n(e,n){var r,i;return e=null==e?0:+e,n=null==n?1:+n,function(){var o;if(null!=r)o=r,r=null;else do{r=2*t()-1,o=2*t()-1,i=r*r+o*o}while(!i||i>1);return e+n*o*Math.sqrt(-2*Math.log(i)/i)}}return n.source=e,n}(go),bo=function e(t){function n(){var e=mo.source(t).apply(this,arguments);return function(){return Math.exp(e())}}return n.source=e,n}(go),vo=function e(t){function n(e){return function(){for(var n=0,r=0;r<e;++r)n+=t();return n}}return n.source=e,n}(go),xo=function e(t){function n(e){var n=vo.source(t)(e);return function(){return n()/e}}return n.source=e,n}(go),wo=function e(t){function n(e){return function(){return-Math.log(1-t())/e}}return n.source=e,n}(go);function _o(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}function ko(e,t){switch(arguments.length){case 0:break;case 1:this.interpolator(e);break;default:this.interpolator(t).domain(e)}return this}var Oo=Array.prototype,Eo=Oo.map,So=Oo.slice,Co={name:\"implicit\"};function To(){var e=Object(tr.c)(),t=[],n=[],r=Co;function i(i){var o=i+\"\",a=e.get(o);if(!a){if(r!==Co)return r;e.set(o,a=t.push(i))}return n[(a-1)%n.length]}return i.domain=function(n){if(!arguments.length)return t.slice();t=[],e=Object(tr.c)();for(var r,o,a=-1,s=n.length;++a<s;)e.has(o=(r=n[a])+\"\")||e.set(o,t.push(r));return i},i.range=function(e){return arguments.length?(n=So.call(e),i):n.slice()},i.unknown=function(e){return arguments.length?(r=e,i):r},i.copy=function(){return To(t,n).unknown(r)},_o.apply(i,arguments),i}function jo(){var e,t,n=To().unknown(void 0),r=n.domain,o=n.range,a=[0,1],s=!1,c=0,u=0,l=.5;function f(){var n=r().length,f=a[1]<a[0],d=a[f-0],h=a[1-f];e=(h-d)/Math.max(1,n-c+2*u),s&&(e=Math.floor(e)),d+=(h-d-e*(n-c))*l,t=e*(1-c),s&&(d=Math.round(d),t=Math.round(t));var p=Object(i.s)(n).map((function(t){return d+e*t}));return o(f?p.reverse():p)}return delete n.unknown,n.domain=function(e){return arguments.length?(r(e),f()):r()},n.range=function(e){return arguments.length?(a=[+e[0],+e[1]],f()):a.slice()},n.rangeRound=function(e){return a=[+e[0],+e[1]],s=!0,f()},n.bandwidth=function(){return t},n.step=function(){return e},n.round=function(e){return arguments.length?(s=!!e,f()):s},n.padding=function(e){return arguments.length?(c=Math.min(1,u=+e),f()):c},n.paddingInner=function(e){return arguments.length?(c=Math.min(1,e),f()):c},n.paddingOuter=function(e){return arguments.length?(u=+e,f()):u},n.align=function(e){return arguments.length?(l=Math.max(0,Math.min(1,e)),f()):l},n.copy=function(){return jo(r(),a).round(s).paddingInner(c).paddingOuter(u).align(l)},_o.apply(f(),arguments)}function Ao(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return Ao(t())},e}function Mo(){return Ao(jo.apply(null,arguments).paddingInner(1))}var Po=n(286),No=function(e){return+e},Do=[0,1];function Ro(e){return e}function Io(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:(n=isNaN(t)?NaN:.5,function(){return n});var n}function Lo(e){var t,n=e[0],r=e[e.length-1];return n>r&&(t=n,n=r,r=t),function(e){return Math.max(n,Math.min(r,e))}}function Bo(e,t,n){var r=e[0],i=e[1],o=t[0],a=t[1];return i<r?(r=Io(i,r),o=n(a,o)):(r=Io(r,i),o=n(o,a)),function(e){return o(r(e))}}function Fo(e,t,n){var r=Math.min(e.length,t.length)-1,o=new Array(r),a=new Array(r),s=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++s<r;)o[s]=Io(e[s],e[s+1]),a[s]=n(t[s],t[s+1]);return function(t){var n=Object(i.b)(e,t,1,r)-1;return a[n](o[n](t))}}function zo(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function Uo(){var e,t,n,r,i,o,a=Do,s=Do,c=We.a,u=Ro;function l(){return r=Math.min(a.length,s.length)>2?Fo:Bo,i=o=null,f}function f(t){return isNaN(t=+t)?n:(i||(i=r(a.map(e),s,c)))(e(u(t)))}return f.invert=function(n){return u(t((o||(o=r(s,a.map(e),kt.a)))(n)))},f.domain=function(e){return arguments.length?(a=Eo.call(e,No),u===Ro||(u=Lo(a)),l()):a.slice()},f.range=function(e){return arguments.length?(s=So.call(e),l()):s.slice()},f.rangeRound=function(e){return s=So.call(e),c=Po.a,l()},f.clamp=function(e){return arguments.length?(u=e?Lo(a):Ro,f):u!==Ro},f.interpolate=function(e){return arguments.length?(c=e,l()):c},f.unknown=function(e){return arguments.length?(n=e,f):n},function(n,r){return e=n,t=r,l()}}function Ho(e,t){return Uo()(e,t)}var Wo=n(140),Yo=n(278),Vo=n(172),qo=n(279),$o=n(277),Go=function(e,t,n,r){var o,a=Object(i.A)(e,t,n);switch((r=Object(Wo.b)(null==r?\",f\":r)).type){case\"s\":var s=Math.max(Math.abs(e),Math.abs(t));return null!=r.precision||isNaN(o=Object(Yo.a)(a,s))||(r.precision=o),Object(Vo.c)(r,s);case\"\":case\"e\":case\"g\":case\"p\":case\"r\":null!=r.precision||isNaN(o=Object(qo.a)(a,Math.max(Math.abs(e),Math.abs(t))))||(r.precision=o-(\"e\"===r.type));break;case\"f\":case\"%\":null!=r.precision||isNaN(o=Object($o.a)(a))||(r.precision=o-2*(\"%\"===r.type))}return Object(Vo.b)(r)};function Xo(e){var t=e.domain;return e.ticks=function(e){var n=t();return Object(i.B)(n[0],n[n.length-1],null==e?10:e)},e.tickFormat=function(e,n){var r=t();return Go(r[0],r[r.length-1],null==e?10:e,n)},e.nice=function(n){null==n&&(n=10);var r,o=t(),a=0,s=o.length-1,c=o[a],u=o[s];return u<c&&(r=c,c=u,u=r,r=a,a=s,s=r),(r=Object(i.z)(c,u,n))>0?(c=Math.floor(c/r)*r,u=Math.ceil(u/r)*r,r=Object(i.z)(c,u,n)):r<0&&(c=Math.ceil(c*r)/r,u=Math.floor(u*r)/r,r=Object(i.z)(c,u,n)),r>0?(o[a]=Math.floor(c/r)*r,o[s]=Math.ceil(u/r)*r,t(o)):r<0&&(o[a]=Math.ceil(c*r)/r,o[s]=Math.floor(u*r)/r,t(o)),e},e}function Ko(){var e=Ho(Ro,Ro);return e.copy=function(){return zo(e,Ko())},_o.apply(e,arguments),Xo(e)}function Zo(e){var t;function n(e){return isNaN(e=+e)?t:e}return n.invert=n,n.domain=n.range=function(t){return arguments.length?(e=Eo.call(t,No),n):e.slice()},n.unknown=function(e){return arguments.length?(t=e,n):t},n.copy=function(){return Zo(e).unknown(t)},e=arguments.length?Eo.call(e,No):[0,1],Xo(n)}var Jo=function(e,t){var n,r=0,i=(e=e.slice()).length-1,o=e[r],a=e[i];return a<o&&(n=r,r=i,i=n,n=o,o=a,a=n),e[r]=t.floor(o),e[i]=t.ceil(a),e};function Qo(e){return Math.log(e)}function ea(e){return Math.exp(e)}function ta(e){return-Math.log(-e)}function na(e){return-Math.exp(-e)}function ra(e){return isFinite(e)?+(\"1e\"+e):e<0?0:e}function ia(e){return function(t){return-e(-t)}}function oa(e){var t,n,r=e(Qo,ea),o=r.domain,a=10;function s(){return t=function(e){return e===Math.E?Math.log:10===e&&Math.log10||2===e&&Math.log2||(e=Math.log(e),function(t){return Math.log(t)/e})}(a),n=function(e){return 10===e?ra:e===Math.E?Math.exp:function(t){return Math.pow(e,t)}}(a),o()[0]<0?(t=ia(t),n=ia(n),e(ta,na)):e(Qo,ea),r}return r.base=function(e){return arguments.length?(a=+e,s()):a},r.domain=function(e){return arguments.length?(o(e),s()):o()},r.ticks=function(e){var r,s=o(),c=s[0],u=s[s.length-1];(r=u<c)&&(h=c,c=u,u=h);var l,f,d,h=t(c),p=t(u),g=null==e?10:+e,y=[];if(!(a%1)&&p-h<g){if(h=Math.round(h)-1,p=Math.round(p)+1,c>0){for(;h<p;++h)for(f=1,l=n(h);f<a;++f)if(!((d=l*f)<c)){if(d>u)break;y.push(d)}}else for(;h<p;++h)for(f=a-1,l=n(h);f>=1;--f)if(!((d=l*f)<c)){if(d>u)break;y.push(d)}}else y=Object(i.B)(h,p,Math.min(p-h,g)).map(n);return r?y.reverse():y},r.tickFormat=function(e,i){if(null==i&&(i=10===a?\".0e\":\",\"),\"function\"!==typeof i&&(i=Object(Vo.b)(i)),e===1/0)return i;null==e&&(e=10);var o=Math.max(1,a*e/r.ticks().length);return function(e){var r=e/n(Math.round(t(e)));return r*a<a-.5&&(r*=a),r<=o?i(e):\"\"}},r.nice=function(){return o(Jo(o(),{floor:function(e){return n(Math.floor(t(e)))},ceil:function(e){return n(Math.ceil(t(e)))}}))},r}function aa(){var e=oa(Uo()).domain([1,10]);return e.copy=function(){return zo(e,aa()).base(e.base())},_o.apply(e,arguments),e}function sa(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function ca(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function ua(e){var t=1,n=e(sa(t),ca(t));return n.constant=function(n){return arguments.length?e(sa(t=+n),ca(t)):t},Xo(n)}function la(){var e=ua(Uo());return e.copy=function(){return zo(e,la()).constant(e.constant())},_o.apply(e,arguments)}function fa(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function da(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function ha(e){return e<0?-e*e:e*e}function pa(e){var t=e(Ro,Ro),n=1;function r(){return 1===n?e(Ro,Ro):.5===n?e(da,ha):e(fa(n),fa(1/n))}return t.exponent=function(e){return arguments.length?(n=+e,r()):n},Xo(t)}function ga(){var e=pa(Uo());return e.copy=function(){return zo(e,ga()).exponent(e.exponent())},_o.apply(e,arguments),e}function ya(){return ga.apply(null,arguments).exponent(.5)}function ma(){var e,t=[],n=[],r=[];function o(){var e=0,o=Math.max(1,n.length);for(r=new Array(o-1);++e<o;)r[e-1]=Object(i.r)(t,e/o);return a}function a(t){return isNaN(t=+t)?e:n[Object(i.b)(r,t)]}return a.invertExtent=function(e){var i=n.indexOf(e);return i<0?[NaN,NaN]:[i>0?r[i-1]:t[0],i<r.length?r[i]:t[t.length-1]]},a.domain=function(e){if(!arguments.length)return t.slice();t=[];for(var n,r=0,a=e.length;r<a;++r)null==(n=e[r])||isNaN(n=+n)||t.push(n);return t.sort(i.a),o()},a.range=function(e){return arguments.length?(n=So.call(e),o()):n.slice()},a.unknown=function(t){return arguments.length?(e=t,a):e},a.quantiles=function(){return r.slice()},a.copy=function(){return ma().domain(t).range(n).unknown(e)},_o.apply(a,arguments)}function ba(){var e,t=0,n=1,r=1,o=[.5],a=[0,1];function s(t){return t<=t?a[Object(i.b)(o,t,0,r)]:e}function c(){var e=-1;for(o=new Array(r);++e<r;)o[e]=((e+1)*n-(e-r)*t)/(r+1);return s}return s.domain=function(e){return arguments.length?(t=+e[0],n=+e[1],c()):[t,n]},s.range=function(e){return arguments.length?(r=(a=So.call(e)).length-1,c()):a.slice()},s.invertExtent=function(e){var i=a.indexOf(e);return i<0?[NaN,NaN]:i<1?[t,o[0]]:i>=r?[o[r-1],n]:[o[i-1],o[i]]},s.unknown=function(t){return arguments.length?(e=t,s):s},s.thresholds=function(){return o.slice()},s.copy=function(){return ba().domain([t,n]).range(a).unknown(e)},_o.apply(Xo(s),arguments)}function va(){var e,t=[.5],n=[0,1],r=1;function o(o){return o<=o?n[Object(i.b)(t,o,0,r)]:e}return o.domain=function(e){return arguments.length?(t=So.call(e),r=Math.min(t.length,n.length-1),o):t.slice()},o.range=function(e){return arguments.length?(n=So.call(e),r=Math.min(t.length,n.length-1),o):n.slice()},o.invertExtent=function(e){var r=n.indexOf(e);return[t[r-1],t[r]]},o.unknown=function(t){return arguments.length?(e=t,o):e},o.copy=function(){return va().domain(t).range(n).unknown(e)},_o.apply(o,arguments)}var xa=n(107),wa=n(227),_a=n(30),ka=n(168),Oa=n(228),Ea=n(229),Sa=n(159),Ca=n(160),Ta=n(77),ja=1e3,Aa=6e4,Ma=36e5,Pa=864e5,Na=2592e6,Da=31536e6;function Ra(e){return new Date(e)}function Ia(e){return e instanceof Date?+e:+new Date(+e)}function La(e,t,n,r,o,a,s,c,u){var l=Ho(Ro,Ro),f=l.invert,d=l.domain,h=u(\".%L\"),p=u(\":%S\"),g=u(\"%I:%M\"),y=u(\"%I %p\"),m=u(\"%a %d\"),b=u(\"%b %d\"),v=u(\"%B\"),x=u(\"%Y\"),w=[[s,1,ja],[s,5,5e3],[s,15,15e3],[s,30,3e4],[a,1,Aa],[a,5,3e5],[a,15,9e5],[a,30,18e5],[o,1,Ma],[o,3,108e5],[o,6,216e5],[o,12,432e5],[r,1,Pa],[r,2,1728e5],[n,1,6048e5],[t,1,Na],[t,3,7776e6],[e,1,Da]];function _(i){return(s(i)<i?h:a(i)<i?p:o(i)<i?g:r(i)<i?y:t(i)<i?n(i)<i?m:b:e(i)<i?v:x)(i)}function k(t,n,r,o){if(null==t&&(t=10),\"number\"===typeof t){var a=Math.abs(r-n)/t,s=Object(i.e)((function(e){return e[2]})).right(w,a);s===w.length?(o=Object(i.A)(n/Da,r/Da,t),t=e):s?(o=(s=w[a/w[s-1][2]<w[s][2]/a?s-1:s])[1],t=s[0]):(o=Math.max(Object(i.A)(n,r,t),1),t=c)}return null==o?t:t.every(o)}return l.invert=function(e){return new Date(f(e))},l.domain=function(e){return arguments.length?d(Eo.call(e,Ia)):d().map(Ra)},l.ticks=function(e,t){var n,r=d(),i=r[0],o=r[r.length-1],a=o<i;return a&&(n=i,i=o,o=n),n=(n=k(e,i,o,t))?n.range(i,o+1):[],a?n.reverse():n},l.tickFormat=function(e,t){return null==t?_:u(t)},l.nice=function(e,t){var n=d();return(e=k(e,n[0],n[n.length-1],t))?d(Jo(n,e)):l},l.copy=function(){return zo(l,La(e,t,n,r,o,a,s,c,u))},l}var Ba=function(){return _o.apply(La(xa.a,wa.a,_a.g,ka.b,Oa.a,Ea.a,Sa.a,Ca.a,Ta.b).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)},Fa=n(108),za=n(230),Ua=n(31),Ha=n(169),Wa=n(231),Ya=n(232),Va=function(){return _o.apply(La(Fa.a,za.a,Ua.g,Ha.a,Wa.a,Ya.a,Sa.a,Ca.a,Ta.d).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)};function qa(){var e,t,n,r,i,o=0,a=1,s=Ro,c=!1;function u(t){return isNaN(t=+t)?i:s(0===n?.5:(t=(r(t)-e)*n,c?Math.max(0,Math.min(1,t)):t))}return u.domain=function(i){return arguments.length?(e=r(o=+i[0]),t=r(a=+i[1]),n=e===t?0:1/(t-e),u):[o,a]},u.clamp=function(e){return arguments.length?(c=!!e,u):c},u.interpolator=function(e){return arguments.length?(s=e,u):s},u.unknown=function(e){return arguments.length?(i=e,u):i},function(i){return r=i,e=i(o),t=i(a),n=e===t?0:1/(t-e),u}}function $a(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function Ga(){var e=Xo(qa()(Ro));return e.copy=function(){return $a(e,Ga())},ko.apply(e,arguments)}function Xa(){var e=oa(qa()).domain([1,10]);return e.copy=function(){return $a(e,Xa()).base(e.base())},ko.apply(e,arguments)}function Ka(){var e=ua(qa());return e.copy=function(){return $a(e,Ka()).constant(e.constant())},ko.apply(e,arguments)}function Za(){var e=pa(qa());return e.copy=function(){return $a(e,Za()).exponent(e.exponent())},ko.apply(e,arguments)}function Ja(){return Za.apply(null,arguments).exponent(.5)}function Qa(){var e=[],t=Ro;function n(n){if(!isNaN(n=+n))return t((Object(i.b)(e,n)-1)/(e.length-1))}return n.domain=function(t){if(!arguments.length)return e.slice();e=[];for(var r,o=0,a=t.length;o<a;++o)null==(r=t[o])||isNaN(r=+r)||e.push(r);return e.sort(i.a),n},n.interpolator=function(e){return arguments.length?(t=e,n):t},n.copy=function(){return Qa(t).domain(e)},ko.apply(n,arguments)}function es(){var e,t,n,r,i,o,a,s=0,c=.5,u=1,l=Ro,f=!1;function d(e){return isNaN(e=+e)?a:(e=.5+((e=+o(e))-t)*(e<t?r:i),l(f?Math.max(0,Math.min(1,e)):e))}return d.domain=function(a){return arguments.length?(e=o(s=+a[0]),t=o(c=+a[1]),n=o(u=+a[2]),r=e===t?0:.5/(t-e),i=t===n?0:.5/(n-t),d):[s,c,u]},d.clamp=function(e){return arguments.length?(f=!!e,d):f},d.interpolator=function(e){return arguments.length?(l=e,d):l},d.unknown=function(e){return arguments.length?(a=e,d):a},function(a){return o=a,e=a(s),t=a(c),n=a(u),r=e===t?0:.5/(t-e),i=t===n?0:.5/(n-t),d}}function ts(){var e=Xo(es()(Ro));return e.copy=function(){return $a(e,ts())},ko.apply(e,arguments)}function ns(){var e=oa(es()).domain([.1,1,10]);return e.copy=function(){return $a(e,ns()).base(e.base())},ko.apply(e,arguments)}function rs(){var e=ua(es());return e.copy=function(){return $a(e,rs()).constant(e.constant())},ko.apply(e,arguments)}function is(){var e=pa(es());return e.copy=function(){return $a(e,is()).exponent(e.exponent())},ko.apply(e,arguments)}function os(){return is.apply(null,arguments).exponent(.5)}var as=function(e){for(var t=e.length/6|0,n=new Array(t),r=0;r<t;)n[r]=\"#\"+e.slice(6*r,6*++r);return n},ss=as(\"1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf\"),cs=as(\"7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666\"),us=as(\"1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666\"),ls=as(\"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928\"),fs=as(\"fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2\"),ds=as(\"b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc\"),hs=as(\"e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999\"),ps=as(\"66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3\"),gs=as(\"8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f\"),ys=as(\"4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab\"),ms=function(e){return Object(Ot.b)(e[e.length-1])},bs=new Array(3).concat(\"d8b365f5f5f55ab4ac\",\"a6611adfc27d80cdc1018571\",\"a6611adfc27df5f5f580cdc1018571\",\"8c510ad8b365f6e8c3c7eae55ab4ac01665e\",\"8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e\",\"8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e\",\"8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e\",\"5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30\",\"5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30\").map(as),vs=ms(bs),xs=new Array(3).concat(\"af8dc3f7f7f77fbf7b\",\"7b3294c2a5cfa6dba0008837\",\"7b3294c2a5cff7f7f7a6dba0008837\",\"762a83af8dc3e7d4e8d9f0d37fbf7b1b7837\",\"762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837\",\"762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837\",\"762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837\",\"40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b\",\"40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b\").map(as),ws=ms(xs),_s=new Array(3).concat(\"e9a3c9f7f7f7a1d76a\",\"d01c8bf1b6dab8e1864dac26\",\"d01c8bf1b6daf7f7f7b8e1864dac26\",\"c51b7de9a3c9fde0efe6f5d0a1d76a4d9221\",\"c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221\",\"c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221\",\"c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221\",\"8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419\",\"8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419\").map(as),ks=ms(_s),Os=new Array(3).concat(\"998ec3f7f7f7f1a340\",\"5e3c99b2abd2fdb863e66101\",\"5e3c99b2abd2f7f7f7fdb863e66101\",\"542788998ec3d8daebfee0b6f1a340b35806\",\"542788998ec3d8daebf7f7f7fee0b6f1a340b35806\",\"5427888073acb2abd2d8daebfee0b6fdb863e08214b35806\",\"5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806\",\"2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08\",\"2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08\").map(as),Es=ms(Os),Ss=new Array(3).concat(\"ef8a62f7f7f767a9cf\",\"ca0020f4a58292c5de0571b0\",\"ca0020f4a582f7f7f792c5de0571b0\",\"b2182bef8a62fddbc7d1e5f067a9cf2166ac\",\"b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac\",\"b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac\",\"b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac\",\"67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061\",\"67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061\").map(as),Cs=ms(Ss),Ts=new Array(3).concat(\"ef8a62ffffff999999\",\"ca0020f4a582bababa404040\",\"ca0020f4a582ffffffbababa404040\",\"b2182bef8a62fddbc7e0e0e09999994d4d4d\",\"b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d\",\"b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d\",\"b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d\",\"67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a\",\"67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a\").map(as),js=ms(Ts),As=new Array(3).concat(\"fc8d59ffffbf91bfdb\",\"d7191cfdae61abd9e92c7bb6\",\"d7191cfdae61ffffbfabd9e92c7bb6\",\"d73027fc8d59fee090e0f3f891bfdb4575b4\",\"d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4\",\"d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4\",\"d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4\",\"a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695\",\"a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695\").map(as),Ms=ms(As),Ps=new Array(3).concat(\"fc8d59ffffbf91cf60\",\"d7191cfdae61a6d96a1a9641\",\"d7191cfdae61ffffbfa6d96a1a9641\",\"d73027fc8d59fee08bd9ef8b91cf601a9850\",\"d73027fc8d59fee08bffffbfd9ef8b91cf601a9850\",\"d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850\",\"d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850\",\"a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837\",\"a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837\").map(as),Ns=ms(Ps),Ds=new Array(3).concat(\"fc8d59ffffbf99d594\",\"d7191cfdae61abdda42b83ba\",\"d7191cfdae61ffffbfabdda42b83ba\",\"d53e4ffc8d59fee08be6f59899d5943288bd\",\"d53e4ffc8d59fee08bffffbfe6f59899d5943288bd\",\"d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd\",\"d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd\",\"9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2\",\"9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2\").map(as),Rs=ms(Ds),Is=new Array(3).concat(\"e5f5f999d8c92ca25f\",\"edf8fbb2e2e266c2a4238b45\",\"edf8fbb2e2e266c2a42ca25f006d2c\",\"edf8fbccece699d8c966c2a42ca25f006d2c\",\"edf8fbccece699d8c966c2a441ae76238b45005824\",\"f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824\",\"f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b\").map(as),Ls=ms(Is),Bs=new Array(3).concat(\"e0ecf49ebcda8856a7\",\"edf8fbb3cde38c96c688419d\",\"edf8fbb3cde38c96c68856a7810f7c\",\"edf8fbbfd3e69ebcda8c96c68856a7810f7c\",\"edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b\",\"f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b\",\"f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b\").map(as),Fs=ms(Bs),zs=new Array(3).concat(\"e0f3dba8ddb543a2ca\",\"f0f9e8bae4bc7bccc42b8cbe\",\"f0f9e8bae4bc7bccc443a2ca0868ac\",\"f0f9e8ccebc5a8ddb57bccc443a2ca0868ac\",\"f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e\",\"f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e\",\"f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081\").map(as),Us=ms(zs),Hs=new Array(3).concat(\"fee8c8fdbb84e34a33\",\"fef0d9fdcc8afc8d59d7301f\",\"fef0d9fdcc8afc8d59e34a33b30000\",\"fef0d9fdd49efdbb84fc8d59e34a33b30000\",\"fef0d9fdd49efdbb84fc8d59ef6548d7301f990000\",\"fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000\",\"fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000\").map(as),Ws=ms(Hs),Ys=new Array(3).concat(\"ece2f0a6bddb1c9099\",\"f6eff7bdc9e167a9cf02818a\",\"f6eff7bdc9e167a9cf1c9099016c59\",\"f6eff7d0d1e6a6bddb67a9cf1c9099016c59\",\"f6eff7d0d1e6a6bddb67a9cf3690c002818a016450\",\"fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450\",\"fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636\").map(as),Vs=ms(Ys),qs=new Array(3).concat(\"ece7f2a6bddb2b8cbe\",\"f1eef6bdc9e174a9cf0570b0\",\"f1eef6bdc9e174a9cf2b8cbe045a8d\",\"f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d\",\"f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b\",\"fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b\",\"fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858\").map(as),$s=ms(qs),Gs=new Array(3).concat(\"e7e1efc994c7dd1c77\",\"f1eef6d7b5d8df65b0ce1256\",\"f1eef6d7b5d8df65b0dd1c77980043\",\"f1eef6d4b9dac994c7df65b0dd1c77980043\",\"f1eef6d4b9dac994c7df65b0e7298ace125691003f\",\"f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f\",\"f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f\").map(as),Xs=ms(Gs),Ks=new Array(3).concat(\"fde0ddfa9fb5c51b8a\",\"feebe2fbb4b9f768a1ae017e\",\"feebe2fbb4b9f768a1c51b8a7a0177\",\"feebe2fcc5c0fa9fb5f768a1c51b8a7a0177\",\"feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177\",\"fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177\",\"fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a\").map(as),Zs=ms(Ks),Js=new Array(3).concat(\"edf8b17fcdbb2c7fb8\",\"ffffcca1dab441b6c4225ea8\",\"ffffcca1dab441b6c42c7fb8253494\",\"ffffccc7e9b47fcdbb41b6c42c7fb8253494\",\"ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84\",\"ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84\",\"ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58\").map(as),Qs=ms(Js),ec=new Array(3).concat(\"f7fcb9addd8e31a354\",\"ffffccc2e69978c679238443\",\"ffffccc2e69978c67931a354006837\",\"ffffccd9f0a3addd8e78c67931a354006837\",\"ffffccd9f0a3addd8e78c67941ab5d238443005a32\",\"ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32\",\"ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529\").map(as),tc=ms(ec),nc=new Array(3).concat(\"fff7bcfec44fd95f0e\",\"ffffd4fed98efe9929cc4c02\",\"ffffd4fed98efe9929d95f0e993404\",\"ffffd4fee391fec44ffe9929d95f0e993404\",\"ffffd4fee391fec44ffe9929ec7014cc4c028c2d04\",\"ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04\",\"ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506\").map(as),rc=ms(nc),ic=new Array(3).concat(\"ffeda0feb24cf03b20\",\"ffffb2fecc5cfd8d3ce31a1c\",\"ffffb2fecc5cfd8d3cf03b20bd0026\",\"ffffb2fed976feb24cfd8d3cf03b20bd0026\",\"ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026\",\"ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026\",\"ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026\").map(as),oc=ms(ic),ac=new Array(3).concat(\"deebf79ecae13182bd\",\"eff3ffbdd7e76baed62171b5\",\"eff3ffbdd7e76baed63182bd08519c\",\"eff3ffc6dbef9ecae16baed63182bd08519c\",\"eff3ffc6dbef9ecae16baed64292c62171b5084594\",\"f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594\",\"f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b\").map(as),sc=ms(ac),cc=new Array(3).concat(\"e5f5e0a1d99b31a354\",\"edf8e9bae4b374c476238b45\",\"edf8e9bae4b374c47631a354006d2c\",\"edf8e9c7e9c0a1d99b74c47631a354006d2c\",\"edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32\",\"f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32\",\"f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b\").map(as),uc=ms(cc),lc=new Array(3).concat(\"f0f0f0bdbdbd636363\",\"f7f7f7cccccc969696525252\",\"f7f7f7cccccc969696636363252525\",\"f7f7f7d9d9d9bdbdbd969696636363252525\",\"f7f7f7d9d9d9bdbdbd969696737373525252252525\",\"fffffff0f0f0d9d9d9bdbdbd969696737373525252252525\",\"fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000\").map(as),fc=ms(lc),dc=new Array(3).concat(\"efedf5bcbddc756bb1\",\"f2f0f7cbc9e29e9ac86a51a3\",\"f2f0f7cbc9e29e9ac8756bb154278f\",\"f2f0f7dadaebbcbddc9e9ac8756bb154278f\",\"f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486\",\"fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486\",\"fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d\").map(as),hc=ms(dc),pc=new Array(3).concat(\"fee0d2fc9272de2d26\",\"fee5d9fcae91fb6a4acb181d\",\"fee5d9fcae91fb6a4ade2d26a50f15\",\"fee5d9fcbba1fc9272fb6a4ade2d26a50f15\",\"fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d\",\"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d\",\"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d\").map(as),gc=ms(pc),yc=new Array(3).concat(\"fee6cefdae6be6550d\",\"feeddefdbe85fd8d3cd94701\",\"feeddefdbe85fd8d3ce6550da63603\",\"feeddefdd0a2fdae6bfd8d3ce6550da63603\",\"feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04\",\"fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04\",\"fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704\").map(as),mc=ms(yc),bc=function(e){return e=Math.max(0,Math.min(1,e)),\"rgb(\"+Math.max(0,Math.min(255,Math.round(-4.54-e*(35.34-e*(2381.73-e*(6402.7-e*(7024.72-2710.57*e)))))))+\", \"+Math.max(0,Math.min(255,Math.round(32.49+e*(170.73+e*(52.82-e*(131.46-e*(176.58-67.37*e)))))))+\", \"+Math.max(0,Math.min(255,Math.round(81.24+e*(442.36-e*(2482.43-e*(6167.24-e*(6614.94-2475.67*e)))))))+\")\"},vc=n(219),xc=n(226),wc=Object(xc.a)(Object(vc.a)(300,.5,0),Object(vc.a)(-240,.5,1)),_c=Object(xc.a)(Object(vc.a)(-100,.75,.35),Object(vc.a)(80,1.5,.8)),kc=Object(xc.a)(Object(vc.a)(260,.75,.35),Object(vc.a)(80,1.5,.8)),Oc=Object(vc.a)(),Ec=function(e){(e<0||e>1)&&(e-=Math.floor(e));var t=Math.abs(e-.5);return Oc.h=360*e-100,Oc.s=1.5-1.5*t,Oc.l=.8-.9*t,Oc+\"\"},Sc=Object(_t.g)(),Cc=Math.PI/3,Tc=2*Math.PI/3,jc=function(e){var t;return e=(.5-e)*Math.PI,Sc.r=255*(t=Math.sin(e))*t,Sc.g=255*(t=Math.sin(e+Cc))*t,Sc.b=255*(t=Math.sin(e+Tc))*t,Sc+\"\"},Ac=function(e){return e=Math.max(0,Math.min(1,e)),\"rgb(\"+Math.max(0,Math.min(255,Math.round(34.61+e*(1172.33-e*(10793.56-e*(33300.12-e*(38394.49-14825.05*e)))))))+\", \"+Math.max(0,Math.min(255,Math.round(23.31+e*(557.33+e*(1225.33-e*(3574.96-e*(1073.77+707.56*e)))))))+\", \"+Math.max(0,Math.min(255,Math.round(27.2+e*(3211.1-e*(15327.97-e*(27814-e*(22569.18-6838.66*e)))))))+\")\"};function Mc(e){var t=e.length;return function(n){return e[Math.max(0,Math.min(t-1,Math.floor(n*t)))]}}var Pc=Mc(as(\"44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725\")),Nc=Mc(as(\"00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf\")),Dc=Mc(as(\"00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4\")),Rc=Mc(as(\"0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921\")),Ic=function(e){return Ie(ye(e).call(document.documentElement))},Lc=0;function Bc(){return new Fc}function Fc(){this._=\"@\"+(++Lc).toString(36)}Fc.prototype=Bc.prototype={constructor:Fc,get:function(e){for(var t=this._;!(t in e);)if(!(e=e.parentNode))return;return e[t]},set:function(e,t){return e[this._]=t},remove:function(e){return this._ in e&&delete e[this._]},toString:function(){return this._}};var zc=function(e){return\"string\"===typeof e?new Ne([document.querySelectorAll(e)],[document.documentElement]):new Ne([null==e?[]:e],Pe)},Uc=function(e,t){null==t&&(t=Ye().touches);for(var n=0,r=t?t.length:0,i=new Array(r);n<r;++n)i[n]=Ve(e,t[n]);return i},Hc=n(50),Wc=n(114),Yc=n(137),Vc=function(e,t,n){var r=new it,i=t;return null==t?(r.restart(e,t,n),r):(t=+t,n=null==n?nt():+n,r.restart((function o(a){a+=i,r.restart(o,i+=t,n),e(a)}),t,n),r)},qc=n(142),$c=n(287),Gc=function(e){return function(){return e}};function Xc(e,t,n){this.target=e,this.type=t,this.transform=n}function Kc(e,t,n){this.k=e,this.x=t,this.y=n}Kc.prototype={constructor:Kc,scale:function(e){return 1===e?this:new Kc(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new Kc(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return\"translate(\"+this.x+\",\"+this.y+\") scale(\"+this.k+\")\"}};var Zc=new Kc(1,0,0);function Jc(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Zc;return e.__zoom}function Qc(){_e.stopImmediatePropagation()}Jc.prototype=Kc.prototype;var eu=function(){_e.preventDefault(),_e.stopImmediatePropagation()};function tu(){return!_e.ctrlKey&&!_e.button}function nu(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e).hasAttribute(\"viewBox\")?[[(e=e.viewBox.baseVal).x,e.y],[e.x+e.width,e.y+e.height]]:[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]:[[0,0],[e.clientWidth,e.clientHeight]]}function ru(){return this.__zoom||Zc}function iu(){return-_e.deltaY*(1===_e.deltaMode?.05:_e.deltaMode?1:.002)}function ou(){return navigator.maxTouchPoints||\"ontouchstart\"in this}function au(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}var su=function(){var e,t,n=tu,r=nu,i=au,o=iu,a=ou,s=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],u=250,l=$c.a,f=O(\"start\",\"zoom\",\"end\"),d=500,h=0;function p(e){e.property(\"__zoom\",ru).on(\"wheel.zoom\",w).on(\"mousedown.zoom\",_).on(\"dblclick.zoom\",k).filter(a).on(\"touchstart.zoom\",E).on(\"touchmove.zoom\",S).on(\"touchend.zoom touchcancel.zoom\",C).style(\"touch-action\",\"none\").style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\")}function g(e,t){return(t=Math.max(s[0],Math.min(s[1],t)))===e.k?e:new Kc(t,e.x,e.y)}function y(e,t,n){var r=t[0]-n[0]*e.k,i=t[1]-n[1]*e.k;return r===e.x&&i===e.y?e:new Kc(e.k,r,i)}function m(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function b(e,t,n){e.on(\"start.zoom\",(function(){v(this,arguments).start()})).on(\"interrupt.zoom end.zoom\",(function(){v(this,arguments).end()})).tween(\"zoom\",(function(){var e=this,i=arguments,o=v(e,i),a=r.apply(e,i),s=null==n?m(a):\"function\"===typeof n?n.apply(e,i):n,c=Math.max(a[1][0]-a[0][0],a[1][1]-a[0][1]),u=e.__zoom,f=\"function\"===typeof t?t.apply(e,i):t,d=l(u.invert(s).concat(c/u.k),f.invert(s).concat(c/f.k));return function(e){if(1===e)e=f;else{var t=d(e),n=c/t[2];e=new Kc(n,s[0]-t[0]*n,s[1]-t[1]*n)}o.zoom(null,e)}}))}function v(e,t,n){return!n&&e.__zooming||new x(e,t)}function x(e,t){this.that=e,this.args=t,this.active=0,this.extent=r.apply(e,t),this.taps=0}function w(){if(n.apply(this,arguments)){var e=v(this,arguments),t=this.__zoom,r=Math.max(s[0],Math.min(s[1],t.k*Math.pow(2,o.apply(this,arguments)))),a=$e(this);if(e.wheel)e.mouse[0][0]===a[0]&&e.mouse[0][1]===a[1]||(e.mouse[1]=t.invert(e.mouse[0]=a)),clearTimeout(e.wheel);else{if(t.k===r)return;e.mouse=[a,t.invert(a)],mt(this),e.start()}eu(),e.wheel=setTimeout(u,150),e.zoom(\"mouse\",i(y(g(t,r),e.mouse[0],e.mouse[1]),e.extent,c))}function u(){e.wheel=null,e.end()}}function _(){if(!t&&n.apply(this,arguments)){var e=v(this,arguments,!0),r=Ie(_e.view).on(\"mousemove.zoom\",u,!0).on(\"mouseup.zoom\",l,!0),o=$e(this),a=_e.clientX,s=_e.clientY;Fe(_e.view),Qc(),e.mouse=[o,this.__zoom.invert(o)],mt(this),e.start()}function u(){if(eu(),!e.moved){var t=_e.clientX-a,n=_e.clientY-s;e.moved=t*t+n*n>h}e.zoom(\"mouse\",i(y(e.that.__zoom,e.mouse[0]=$e(e.that),e.mouse[1]),e.extent,c))}function l(){r.on(\"mousemove.zoom mouseup.zoom\",null),ze(_e.view,e.moved),eu(),e.end()}}function k(){if(n.apply(this,arguments)){var e=this.__zoom,t=$e(this),o=e.invert(t),a=e.k*(_e.shiftKey?.5:2),s=i(y(g(e,a),t,o),r.apply(this,arguments),c);eu(),u>0?Ie(this).transition().duration(u).call(b,s,t):Ie(this).call(p.transform,s)}}function E(){if(n.apply(this,arguments)){var t,r,i,o,a=_e.touches,s=a.length,c=v(this,arguments,_e.changedTouches.length===s);for(Qc(),r=0;r<s;++r)i=a[r],o=[o=qe(this,a,i.identifier),this.__zoom.invert(o),i.identifier],c.touch0?c.touch1||c.touch0[2]===o[2]||(c.touch1=o,c.taps=0):(c.touch0=o,t=!0,c.taps=1+!!e);e&&(e=clearTimeout(e)),t&&(c.taps<2&&(e=setTimeout((function(){e=null}),d)),mt(this),c.start())}}function S(){if(this.__zooming){var t,n,r,o,a=v(this,arguments),s=_e.changedTouches,u=s.length;for(eu(),e&&(e=clearTimeout(e)),a.taps=0,t=0;t<u;++t)n=s[t],r=qe(this,s,n.identifier),a.touch0&&a.touch0[2]===n.identifier?a.touch0[0]=r:a.touch1&&a.touch1[2]===n.identifier&&(a.touch1[0]=r);if(n=a.that.__zoom,a.touch1){var l=a.touch0[0],f=a.touch0[1],d=a.touch1[0],h=a.touch1[1],p=(p=d[0]-l[0])*p+(p=d[1]-l[1])*p,m=(m=h[0]-f[0])*m+(m=h[1]-f[1])*m;n=g(n,Math.sqrt(p/m)),r=[(l[0]+d[0])/2,(l[1]+d[1])/2],o=[(f[0]+h[0])/2,(f[1]+h[1])/2]}else{if(!a.touch0)return;r=a.touch0[0],o=a.touch0[1]}a.zoom(\"touch\",i(y(n,r,o),a.extent,c))}}function C(){if(this.__zooming){var e,n,r=v(this,arguments),i=_e.changedTouches,o=i.length;for(Qc(),t&&clearTimeout(t),t=setTimeout((function(){t=null}),d),e=0;e<o;++e)n=i[e],r.touch0&&r.touch0[2]===n.identifier?delete r.touch0:r.touch1&&r.touch1[2]===n.identifier&&delete r.touch1;if(r.touch1&&!r.touch0&&(r.touch0=r.touch1,delete r.touch1),r.touch0)r.touch0[1]=this.__zoom.invert(r.touch0[0]);else if(r.end(),2===r.taps){var a=Ie(this).on(\"dblclick.zoom\");a&&a.apply(this,arguments)}}}return p.transform=function(e,t,n){var r=e.selection?e.selection():e;r.property(\"__zoom\",ru),e!==r?b(e,t,n):r.interrupt().each((function(){v(this,arguments).start().zoom(null,\"function\"===typeof t?t.apply(this,arguments):t).end()}))},p.scaleBy=function(e,t,n){p.scaleTo(e,(function(){var e=this.__zoom.k,n=\"function\"===typeof t?t.apply(this,arguments):t;return e*n}),n)},p.scaleTo=function(e,t,n){p.transform(e,(function(){var e=r.apply(this,arguments),o=this.__zoom,a=null==n?m(e):\"function\"===typeof n?n.apply(this,arguments):n,s=o.invert(a),u=\"function\"===typeof t?t.apply(this,arguments):t;return i(y(g(o,u),a,s),e,c)}),n)},p.translateBy=function(e,t,n){p.transform(e,(function(){return i(this.__zoom.translate(\"function\"===typeof t?t.apply(this,arguments):t,\"function\"===typeof n?n.apply(this,arguments):n),r.apply(this,arguments),c)}))},p.translateTo=function(e,t,n,o){p.transform(e,(function(){var e=r.apply(this,arguments),a=this.__zoom,s=null==o?m(e):\"function\"===typeof o?o.apply(this,arguments):o;return i(Zc.translate(s[0],s[1]).scale(a.k).translate(\"function\"===typeof t?-t.apply(this,arguments):-t,\"function\"===typeof n?-n.apply(this,arguments):-n),e,c)}),o)},x.prototype={start:function(){return 1===++this.active&&(this.that.__zooming=this,this.emit(\"start\")),this},zoom:function(e,t){return this.mouse&&\"mouse\"!==e&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&\"touch\"!==e&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&\"touch\"!==e&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit(\"zoom\"),this},end:function(){return 0===--this.active&&(delete this.that.__zooming,this.emit(\"end\")),this},emit:function(e){Te(new Xc(p,e,this.that.__zoom),f.apply,f,[e,this.that,this.args])}},p.wheelDelta=function(e){return arguments.length?(o=\"function\"===typeof e?e:Gc(+e),p):o},p.filter=function(e){return arguments.length?(n=\"function\"===typeof e?e:Gc(!!e),p):n},p.touchable=function(e){return arguments.length?(a=\"function\"===typeof e?e:Gc(!!e),p):a},p.extent=function(e){return arguments.length?(r=\"function\"===typeof e?e:Gc([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),p):r},p.scaleExtent=function(e){return arguments.length?(s[0]=+e[0],s[1]=+e[1],p):[s[0],s[1]]},p.translateExtent=function(e){return arguments.length?(c[0][0]=+e[0][0],c[1][0]=+e[1][0],c[0][1]=+e[0][1],c[1][1]=+e[1][1],p):[[c[0][0],c[0][1]],[c[1][0],c[1][1]]]},p.constrain=function(e){return arguments.length?(i=e,p):i},p.duration=function(e){return arguments.length?(u=+e,p):u},p.interpolate=function(e){return arguments.length?(l=e,p):l},p.on=function(){var e=f.on.apply(f,arguments);return e===f?p:e},p.clickDistance=function(e){return arguments.length?(h=(e=+e)*e,p):Math.sqrt(h)},p}},function(e,t,n){\"use strict\";var r,i,o,a,s=n(106),c=n(45),u=n(54),l=n(2),f=n(27),d=Object(u.a)(),h=Object(u.a)(),p={point:f.a,lineStart:f.a,lineEnd:f.a,polygonStart:function(){p.lineStart=g,p.lineEnd=b},polygonEnd:function(){p.lineStart=p.lineEnd=p.point=f.a,d.add(Object(l.a)(h)),h.reset()},result:function(){var e=d/2;return d.reset(),e}};function g(){p.point=y}function y(e,t){p.point=m,r=o=e,i=a=t}function m(e,t){h.add(a*e-o*t),o=e,a=t}function b(){m(r,i)}var v,x,w,_,k=p,O=n(152),E=0,S=0,C=0,T=0,j=0,A=0,M=0,P=0,N=0,D={point:R,lineStart:I,lineEnd:F,polygonStart:function(){D.lineStart=z,D.lineEnd=U},polygonEnd:function(){D.point=R,D.lineStart=I,D.lineEnd=F},result:function(){var e=N?[M/N,P/N]:A?[T/A,j/A]:C?[E/C,S/C]:[NaN,NaN];return E=S=C=T=j=A=M=P=N=0,e}};function R(e,t){E+=e,S+=t,++C}function I(){D.point=L}function L(e,t){D.point=B,R(w=e,_=t)}function B(e,t){var n=e-w,r=t-_,i=Object(l.u)(n*n+r*r);T+=i*(w+e)/2,j+=i*(_+t)/2,A+=i,R(w=e,_=t)}function F(){D.point=R}function z(){D.point=H}function U(){W(v,x)}function H(e,t){D.point=W,R(v=w=e,x=_=t)}function W(e,t){var n=e-w,r=t-_,i=Object(l.u)(n*n+r*r);T+=i*(w+e)/2,j+=i*(_+t)/2,A+=i,M+=(i=_*e-w*t)*(w+e),P+=i*(_+t),N+=3*i,R(w=e,_=t)}var Y=D;function V(e){this._context=e}V.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._context.moveTo(e,t),this._point=1;break;case 1:this._context.lineTo(e,t);break;default:this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,l.w)}},result:f.a};var q,$,G,X,K,Z=Object(u.a)(),J={point:f.a,lineStart:function(){J.point=Q},lineEnd:function(){q&&ee($,G),J.point=f.a},polygonStart:function(){q=!0},polygonEnd:function(){q=null},result:function(){var e=+Z;return Z.reset(),e}};function Q(e,t){J.point=ee,$=X=e,G=K=t}function ee(e,t){X-=e,K-=t,Z.add(Object(l.u)(X*X+K*K)),X=e,K=t}var te=J;function ne(){this._string=[]}function re(e){return\"m0,\"+e+\"a\"+e+\",\"+e+\" 0 1,1 0,\"+-2*e+\"a\"+e+\",\"+e+\" 0 1,1 0,\"+2*e+\"z\"}ne.prototype={_radius:4.5,_circle:re(4.5),pointRadius:function(e){return(e=+e)!==this._radius&&(this._radius=e,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push(\"Z\"),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._string.push(\"M\",e,\",\",t),this._point=1;break;case 1:this._string.push(\"L\",e,\",\",t);break;default:null==this._circle&&(this._circle=re(this._radius)),this._string.push(\"M\",e,\",\",t,this._circle)}},result:function(){if(this._string.length){var e=this._string.join(\"\");return this._string=[],e}return null}};t.a=function(e,t){var n,r,i=4.5;function o(e){return e&&(\"function\"===typeof i&&r.pointRadius(+i.apply(this,arguments)),Object(c.a)(e,n(r))),r.result()}return o.area=function(e){return Object(c.a)(e,n(k)),k.result()},o.measure=function(e){return Object(c.a)(e,n(te)),te.result()},o.bounds=function(e){return Object(c.a)(e,n(O.a)),O.a.result()},o.centroid=function(e){return Object(c.a)(e,n(Y)),Y.result()},o.projection=function(t){return arguments.length?(n=null==t?(e=null,s.a):(e=t).stream,o):e},o.context=function(e){return arguments.length?(r=null==e?(t=null,new ne):new V(t=e),\"function\"!==typeof i&&r.pointRadius(i),o):t},o.pointRadius=function(e){return arguments.length?(i=\"function\"===typeof e?e:(r.pointRadius(+e),+e),o):i},o.projection(e).context(t)}},function(e,t,n){\"use strict\";var r=n(21),i=function(e,t){return t<e?-1:t>e?1:t>=e?0:NaN},o=function(e){return e},a=n(14);t.a=function(){var e=o,t=i,n=null,s=Object(r.a)(0),c=Object(r.a)(a.m),u=Object(r.a)(0);function l(r){var i,o,l,f,d,h=r.length,p=0,g=new Array(h),y=new Array(h),m=+s.apply(this,arguments),b=Math.min(a.m,Math.max(-a.m,c.apply(this,arguments)-m)),v=Math.min(Math.abs(b)/h,u.apply(this,arguments)),x=v*(b<0?-1:1);for(i=0;i<h;++i)(d=y[g[i]=i]=+e(r[i],i,r))>0&&(p+=d);for(null!=t?g.sort((function(e,n){return t(y[e],y[n])})):null!=n&&g.sort((function(e,t){return n(r[e],r[t])})),i=0,l=p?(b-h*x)/p:0;i<h;++i,m=f)o=g[i],f=m+((d=y[o])>0?d*l:0)+x,y[o]={data:r[o],index:i,value:d,startAngle:m,endAngle:f,padAngle:v};return y}return l.value=function(t){return arguments.length?(e=\"function\"===typeof t?t:Object(r.a)(+t),l):e},l.sortValues=function(e){return arguments.length?(t=e,n=null,l):t},l.sort=function(e){return arguments.length?(n=e,t=null,l):n},l.startAngle=function(e){return arguments.length?(s=\"function\"===typeof e?e:Object(r.a)(+e),l):s},l.endAngle=function(e){return arguments.length?(c=\"function\"===typeof e?e:Object(r.a)(+e),l):c},l.padAngle=function(e){return arguments.length?(u=\"function\"===typeof e?e:Object(r.a)(+e),l):u},l}},function(e,t,n){\"use strict\";var r=n(23),i=n.n(r),o=function(){function e(e){var t=void 0===e?{}:e,n=t.locale,r=t.instance,o=t.moment;this.yearFormat=\"YYYY\",this.yearMonthFormat=\"MMMM YYYY\",this.dateTime12hFormat=\"MMMM Do hh:mm a\",this.dateTime24hFormat=\"MMMM Do HH:mm\",this.time12hFormat=\"hh:mm A\",this.time24hFormat=\"HH:mm\",this.dateFormat=\"MMMM Do\",this.moment=r||o||i.a,this.locale=n}return e.prototype.parse=function(e,t){return\"\"===e?null:this.moment(e,t,!0)},e.prototype.date=function(e){if(null===e)return null;var t=this.moment(e);return t.locale(this.locale),t},e.prototype.isValid=function(e){return this.moment(e).isValid()},e.prototype.isNull=function(e){return null===e},e.prototype.getDiff=function(e,t){return e.diff(t)},e.prototype.isAfter=function(e,t){return e.isAfter(t)},e.prototype.isBefore=function(e,t){return e.isBefore(t)},e.prototype.isAfterDay=function(e,t){return e.isAfter(t,\"day\")},e.prototype.isBeforeDay=function(e,t){return e.isBefore(t,\"day\")},e.prototype.isBeforeYear=function(e,t){return e.isBefore(t,\"year\")},e.prototype.isAfterYear=function(e,t){return e.isAfter(t,\"year\")},e.prototype.startOfDay=function(e){return e.clone().startOf(\"day\")},e.prototype.endOfDay=function(e){return e.clone().endOf(\"day\")},e.prototype.format=function(e,t){return e.locale(this.locale),e.format(t)},e.prototype.formatNumber=function(e){return e},e.prototype.getHours=function(e){return e.get(\"hours\")},e.prototype.addDays=function(e,t){return t<0?e.clone().subtract(Math.abs(t),\"days\"):e.clone().add(t,\"days\")},e.prototype.setHours=function(e,t){return e.clone().hours(t)},e.prototype.getMinutes=function(e){return e.get(\"minutes\")},e.prototype.setMinutes=function(e,t){return e.clone().minutes(t)},e.prototype.getSeconds=function(e){return e.get(\"seconds\")},e.prototype.setSeconds=function(e,t){return e.clone().seconds(t)},e.prototype.getMonth=function(e){return e.get(\"month\")},e.prototype.isSameDay=function(e,t){return e.isSame(t,\"day\")},e.prototype.isSameMonth=function(e,t){return e.isSame(t,\"month\")},e.prototype.isSameYear=function(e,t){return e.isSame(t,\"year\")},e.prototype.isSameHour=function(e,t){return e.isSame(t,\"hour\")},e.prototype.setMonth=function(e,t){return e.clone().month(t)},e.prototype.getMeridiemText=function(e){return\"am\"===e?\"AM\":\"PM\"},e.prototype.startOfMonth=function(e){return e.clone().startOf(\"month\")},e.prototype.endOfMonth=function(e){return e.clone().endOf(\"month\")},e.prototype.getNextMonth=function(e){return e.clone().add(1,\"month\")},e.prototype.getPreviousMonth=function(e){return e.clone().subtract(1,\"month\")},e.prototype.getMonthArray=function(e){for(var t=[e.clone().startOf(\"year\")];t.length<12;){var n=t[t.length-1];t.push(this.getNextMonth(n))}return t},e.prototype.getYear=function(e){return e.get(\"year\")},e.prototype.setYear=function(e,t){return e.clone().set(\"year\",t)},e.prototype.mergeDateAndTime=function(e,t){return this.setMinutes(this.setHours(e,this.getHours(t)),this.getMinutes(t))},e.prototype.getWeekdays=function(){return this.moment.weekdaysShort(!0)},e.prototype.isEqual=function(e,t){return null===e&&null===t||this.moment(e).isSame(t)},e.prototype.getWeekArray=function(e){for(var t=e.clone().startOf(\"month\").startOf(\"week\"),n=e.clone().endOf(\"month\").endOf(\"week\"),r=0,i=t,o=[];i.isBefore(n);){var a=Math.floor(r/7);o[a]=o[a]||[],o[a].push(i),i=i.clone().add(1,\"day\"),r+=1}return o},e.prototype.getYearRange=function(e,t){for(var n=this.moment(e).startOf(\"year\"),r=this.moment(t).endOf(\"year\"),i=[],o=n;o.isBefore(r);)i.push(o),o=o.clone().add(1,\"year\");return i},e.prototype.getCalendarHeaderText=function(e){return this.format(e,this.yearMonthFormat)},e.prototype.getYearText=function(e){return this.format(e,\"YYYY\")},e.prototype.getDatePickerHeaderText=function(e){return this.format(e,\"ddd, MMM D\")},e.prototype.getDateTimePickerHeaderText=function(e){return this.format(e,\"MMM D\")},e.prototype.getMonthText=function(e){return this.format(e,\"MMMM\")},e.prototype.getDayText=function(e){return this.format(e,\"D\")},e.prototype.getHourText=function(e,t){return this.format(e,t?\"hh\":\"HH\")},e.prototype.getMinuteText=function(e){return this.format(e,\"mm\")},e.prototype.getSecondText=function(e){return this.format(e,\"ss\")},e}();t.a=o},function(e,t,n){\"use strict\";function r(e){if(Array.isArray(e))return e}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";function r(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";function r(e){if(Symbol.iterator in Object(e)||\"[object Arguments]\"===Object.prototype.toString.call(e))return Array.from(e)}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";(function(e){var n=\"undefined\"!==typeof window&&\"undefined\"!==typeof document&&\"undefined\"!==typeof navigator,r=function(){for(var e=[\"Edge\",\"Trident\",\"Firefox\"],t=0;t<e.length;t+=1)if(n&&navigator.userAgent.indexOf(e[t])>=0)return 1;return 0}();var i=n&&window.Promise?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then((function(){t=!1,e()})))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout((function(){t=!1,e()}),r))}};function o(e){return e&&\"[object Function]\"==={}.toString.call(e)}function a(e,t){if(1!==e.nodeType)return[];var n=e.ownerDocument.defaultView.getComputedStyle(e,null);return t?n[t]:n}function s(e){return\"HTML\"===e.nodeName?e:e.parentNode||e.host}function c(e){if(!e)return document.body;switch(e.nodeName){case\"HTML\":case\"BODY\":return e.ownerDocument.body;case\"#document\":return e.body}var t=a(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/(auto|scroll|overlay)/.test(n+i+r)?e:c(s(e))}function u(e){return e&&e.referenceNode?e.referenceNode:e}var l=n&&!(!window.MSInputMethodContext||!document.documentMode),f=n&&/MSIE 10/.test(navigator.userAgent);function d(e){return 11===e?l:10===e?f:l||f}function h(e){if(!e)return document.documentElement;for(var t=d(10)?document.body:null,n=e.offsetParent||null;n===t&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var r=n&&n.nodeName;return r&&\"BODY\"!==r&&\"HTML\"!==r?-1!==[\"TH\",\"TD\",\"TABLE\"].indexOf(n.nodeName)&&\"static\"===a(n,\"position\")?h(n):n:e?e.ownerDocument.documentElement:document.documentElement}function p(e){return null!==e.parentNode?p(e.parentNode):e}function g(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return document.documentElement;var n=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,r=n?e:t,i=n?t:e,o=document.createRange();o.setStart(r,0),o.setEnd(i,0);var a=o.commonAncestorContainer;if(e!==a&&t!==a||r.contains(i))return function(e){var t=e.nodeName;return\"BODY\"!==t&&(\"HTML\"===t||h(e.firstElementChild)===e)}(a)?a:h(a);var s=p(e);return s.host?g(s.host,t):g(e,p(t).host)}function y(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"top\",n=\"top\"===t?\"scrollTop\":\"scrollLeft\",r=e.nodeName;if(\"BODY\"===r||\"HTML\"===r){var i=e.ownerDocument.documentElement,o=e.ownerDocument.scrollingElement||i;return o[n]}return e[n]}function m(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=y(t,\"top\"),i=y(t,\"left\"),o=n?-1:1;return e.top+=r*o,e.bottom+=r*o,e.left+=i*o,e.right+=i*o,e}function b(e,t){var n=\"x\"===t?\"Left\":\"Top\",r=\"Left\"===n?\"Right\":\"Bottom\";return parseFloat(e[\"border\"+n+\"Width\"])+parseFloat(e[\"border\"+r+\"Width\"])}function v(e,t,n,r){return Math.max(t[\"offset\"+e],t[\"scroll\"+e],n[\"client\"+e],n[\"offset\"+e],n[\"scroll\"+e],d(10)?parseInt(n[\"offset\"+e])+parseInt(r[\"margin\"+(\"Height\"===e?\"Top\":\"Left\")])+parseInt(r[\"margin\"+(\"Height\"===e?\"Bottom\":\"Right\")]):0)}function x(e){var t=e.body,n=e.documentElement,r=d(10)&&getComputedStyle(n);return{height:v(\"Height\",t,n,r),width:v(\"Width\",t,n,r)}}var w=function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")},_=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),k=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},O=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function E(e){return O({},e,{right:e.left+e.width,bottom:e.top+e.height})}function S(e){var t={};try{if(d(10)){t=e.getBoundingClientRect();var n=y(e,\"top\"),r=y(e,\"left\");t.top+=n,t.left+=r,t.bottom+=n,t.right+=r}else t=e.getBoundingClientRect()}catch(h){}var i={left:t.left,top:t.top,width:t.right-t.left,height:t.bottom-t.top},o=\"HTML\"===e.nodeName?x(e.ownerDocument):{},s=o.width||e.clientWidth||i.width,c=o.height||e.clientHeight||i.height,u=e.offsetWidth-s,l=e.offsetHeight-c;if(u||l){var f=a(e);u-=b(f,\"x\"),l-=b(f,\"y\"),i.width-=u,i.height-=l}return E(i)}function C(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=d(10),i=\"HTML\"===t.nodeName,o=S(e),s=S(t),u=c(e),l=a(t),f=parseFloat(l.borderTopWidth),h=parseFloat(l.borderLeftWidth);n&&i&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var p=E({top:o.top-s.top-f,left:o.left-s.left-h,width:o.width,height:o.height});if(p.marginTop=0,p.marginLeft=0,!r&&i){var g=parseFloat(l.marginTop),y=parseFloat(l.marginLeft);p.top-=f-g,p.bottom-=f-g,p.left-=h-y,p.right-=h-y,p.marginTop=g,p.marginLeft=y}return(r&&!n?t.contains(u):t===u&&\"BODY\"!==u.nodeName)&&(p=m(p,t)),p}function T(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e.ownerDocument.documentElement,r=C(e,n),i=Math.max(n.clientWidth,window.innerWidth||0),o=Math.max(n.clientHeight,window.innerHeight||0),a=t?0:y(n),s=t?0:y(n,\"left\"),c={top:a-r.top+r.marginTop,left:s-r.left+r.marginLeft,width:i,height:o};return E(c)}function j(e){var t=e.nodeName;if(\"BODY\"===t||\"HTML\"===t)return!1;if(\"fixed\"===a(e,\"position\"))return!0;var n=s(e);return!!n&&j(n)}function A(e){if(!e||!e.parentElement||d())return document.documentElement;for(var t=e.parentElement;t&&\"none\"===a(t,\"transform\");)t=t.parentElement;return t||document.documentElement}function M(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o={top:0,left:0},a=i?A(e):g(e,u(t));if(\"viewport\"===r)o=T(a,i);else{var l=void 0;\"scrollParent\"===r?\"BODY\"===(l=c(s(t))).nodeName&&(l=e.ownerDocument.documentElement):l=\"window\"===r?e.ownerDocument.documentElement:r;var f=C(l,a,i);if(\"HTML\"!==l.nodeName||j(a))o=f;else{var d=x(e.ownerDocument),h=d.height,p=d.width;o.top+=f.top-f.marginTop,o.bottom=h+f.top,o.left+=f.left-f.marginLeft,o.right=p+f.left}}var y=\"number\"===typeof(n=n||0);return o.left+=y?n:n.left||0,o.top+=y?n:n.top||0,o.right-=y?n:n.right||0,o.bottom-=y?n:n.bottom||0,o}function P(e){return e.width*e.height}function N(e,t,n,r,i){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf(\"auto\"))return e;var a=M(n,r,o,i),s={top:{width:a.width,height:t.top-a.top},right:{width:a.right-t.right,height:a.height},bottom:{width:a.width,height:a.bottom-t.bottom},left:{width:t.left-a.left,height:a.height}},c=Object.keys(s).map((function(e){return O({key:e},s[e],{area:P(s[e])})})).sort((function(e,t){return t.area-e.area})),u=c.filter((function(e){var t=e.width,r=e.height;return t>=n.clientWidth&&r>=n.clientHeight})),l=u.length>0?u[0].key:c[0].key,f=e.split(\"-\")[1];return l+(f?\"-\"+f:\"\")}function D(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i=r?A(t):g(t,u(n));return C(n,i,r)}function R(e){var t=e.ownerDocument.defaultView.getComputedStyle(e),n=parseFloat(t.marginTop||0)+parseFloat(t.marginBottom||0),r=parseFloat(t.marginLeft||0)+parseFloat(t.marginRight||0);return{width:e.offsetWidth+r,height:e.offsetHeight+n}}function I(e){var t={left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"};return e.replace(/left|right|bottom|top/g,(function(e){return t[e]}))}function L(e,t,n){n=n.split(\"-\")[0];var r=R(e),i={width:r.width,height:r.height},o=-1!==[\"right\",\"left\"].indexOf(n),a=o?\"top\":\"left\",s=o?\"left\":\"top\",c=o?\"height\":\"width\",u=o?\"width\":\"height\";return i[a]=t[a]+t[c]/2-r[c]/2,i[s]=n===s?t[s]-r[u]:t[I(s)],i}function B(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function F(e,t,n){return(void 0===n?e:e.slice(0,function(e,t,n){if(Array.prototype.findIndex)return e.findIndex((function(e){return e[t]===n}));var r=B(e,(function(e){return e[t]===n}));return e.indexOf(r)}(e,\"name\",n))).forEach((function(e){e.function&&console.warn(\"`modifier.function` is deprecated, use `modifier.fn`!\");var n=e.function||e.fn;e.enabled&&o(n)&&(t.offsets.popper=E(t.offsets.popper),t.offsets.reference=E(t.offsets.reference),t=n(t,e))})),t}function z(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=D(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=N(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=L(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?\"fixed\":\"absolute\",e=F(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}function U(e,t){return e.some((function(e){var n=e.name;return e.enabled&&n===t}))}function H(e){for(var t=[!1,\"ms\",\"Webkit\",\"Moz\",\"O\"],n=e.charAt(0).toUpperCase()+e.slice(1),r=0;r<t.length;r++){var i=t[r],o=i?\"\"+i+n:e;if(\"undefined\"!==typeof document.body.style[o])return o}return null}function W(){return this.state.isDestroyed=!0,U(this.modifiers,\"applyStyle\")&&(this.popper.removeAttribute(\"x-placement\"),this.popper.style.position=\"\",this.popper.style.top=\"\",this.popper.style.left=\"\",this.popper.style.right=\"\",this.popper.style.bottom=\"\",this.popper.style.willChange=\"\",this.popper.style[H(\"transform\")]=\"\"),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function Y(e){var t=e.ownerDocument;return t?t.defaultView:window}function V(e,t,n,r){var i=\"BODY\"===e.nodeName,o=i?e.ownerDocument.defaultView:e;o.addEventListener(t,n,{passive:!0}),i||V(c(o.parentNode),t,n,r),r.push(o)}function q(e,t,n,r){n.updateBound=r,Y(e).addEventListener(\"resize\",n.updateBound,{passive:!0});var i=c(e);return V(i,\"scroll\",n.updateBound,n.scrollParents),n.scrollElement=i,n.eventsEnabled=!0,n}function $(){this.state.eventsEnabled||(this.state=q(this.reference,this.options,this.state,this.scheduleUpdate))}function G(){var e,t;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(e=this.reference,t=this.state,Y(e).removeEventListener(\"resize\",t.updateBound),t.scrollParents.forEach((function(e){e.removeEventListener(\"scroll\",t.updateBound)})),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t))}function X(e){return\"\"!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function K(e,t){Object.keys(t).forEach((function(n){var r=\"\";-1!==[\"width\",\"height\",\"top\",\"right\",\"bottom\",\"left\"].indexOf(n)&&X(t[n])&&(r=\"px\"),e.style[n]=t[n]+r}))}var Z=n&&/Firefox/i.test(navigator.userAgent);function J(e,t,n){var r=B(e,(function(e){return e.name===t})),i=!!r&&e.some((function(e){return e.name===n&&e.enabled&&e.order<r.order}));if(!i){var o=\"`\"+t+\"`\",a=\"`\"+n+\"`\";console.warn(a+\" modifier is required by \"+o+\" modifier in order to work, be sure to include it before \"+o+\"!\")}return i}var Q=[\"auto-start\",\"auto\",\"auto-end\",\"top-start\",\"top\",\"top-end\",\"right-start\",\"right\",\"right-end\",\"bottom-end\",\"bottom\",\"bottom-start\",\"left-end\",\"left\",\"left-start\"],ee=Q.slice(3);function te(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=ee.indexOf(e),r=ee.slice(n+1).concat(ee.slice(0,n));return t?r.reverse():r}var ne=\"flip\",re=\"clockwise\",ie=\"counterclockwise\";function oe(e,t,n,r){var i=[0,0],o=-1!==[\"right\",\"left\"].indexOf(r),a=e.split(/(\\+|\\-)/).map((function(e){return e.trim()})),s=a.indexOf(B(a,(function(e){return-1!==e.search(/,|\\s/)})));a[s]&&-1===a[s].indexOf(\",\")&&console.warn(\"Offsets separated by white space(s) are deprecated, use a comma (,) instead.\");var c=/\\s*,\\s*|\\s+/,u=-1!==s?[a.slice(0,s).concat([a[s].split(c)[0]]),[a[s].split(c)[1]].concat(a.slice(s+1))]:[a];return u=u.map((function(e,r){var i=(1===r?!o:o)?\"height\":\"width\",a=!1;return e.reduce((function(e,t){return\"\"===e[e.length-1]&&-1!==[\"+\",\"-\"].indexOf(t)?(e[e.length-1]=t,a=!0,e):a?(e[e.length-1]+=t,a=!1,e):e.concat(t)}),[]).map((function(e){return function(e,t,n,r){var i=e.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/),o=+i[1],a=i[2];if(!o)return e;if(0===a.indexOf(\"%\")){return E(\"%p\"===a?n:r)[t]/100*o}if(\"vh\"===a||\"vw\"===a)return(\"vh\"===a?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*o;return o}(e,i,t,n)}))})),u.forEach((function(e,t){e.forEach((function(n,r){X(n)&&(i[t]+=n*(\"-\"===e[r-1]?-1:1))}))})),i}var ae={shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,n=t.split(\"-\")[0],r=t.split(\"-\")[1];if(r){var i=e.offsets,o=i.reference,a=i.popper,s=-1!==[\"bottom\",\"top\"].indexOf(n),c=s?\"left\":\"top\",u=s?\"width\":\"height\",l={start:k({},c,o[c]),end:k({},c,o[c]+o[u]-a[u])};e.offsets.popper=O({},a,l[r])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var n=t.offset,r=e.placement,i=e.offsets,o=i.popper,a=i.reference,s=r.split(\"-\")[0],c=void 0;return c=X(+n)?[+n,0]:oe(n,o,a,s),\"left\"===s?(o.top+=c[0],o.left-=c[1]):\"right\"===s?(o.top+=c[0],o.left+=c[1]):\"top\"===s?(o.left+=c[0],o.top-=c[1]):\"bottom\"===s&&(o.left+=c[0],o.top+=c[1]),e.popper=o,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var n=t.boundariesElement||h(e.instance.popper);e.instance.reference===n&&(n=h(n));var r=H(\"transform\"),i=e.instance.popper.style,o=i.top,a=i.left,s=i[r];i.top=\"\",i.left=\"\",i[r]=\"\";var c=M(e.instance.popper,e.instance.reference,t.padding,n,e.positionFixed);i.top=o,i.left=a,i[r]=s,t.boundaries=c;var u=t.priority,l=e.offsets.popper,f={primary:function(e){var n=l[e];return l[e]<c[e]&&!t.escapeWithReference&&(n=Math.max(l[e],c[e])),k({},e,n)},secondary:function(e){var n=\"right\"===e?\"left\":\"top\",r=l[n];return l[e]>c[e]&&!t.escapeWithReference&&(r=Math.min(l[n],c[e]-(\"right\"===e?l.width:l.height))),k({},n,r)}};return u.forEach((function(e){var t=-1!==[\"left\",\"top\"].indexOf(e)?\"primary\":\"secondary\";l=O({},l,f[t](e))})),e.offsets.popper=l,e},priority:[\"left\",\"right\",\"top\",\"bottom\"],padding:5,boundariesElement:\"scrollParent\"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,n=t.popper,r=t.reference,i=e.placement.split(\"-\")[0],o=Math.floor,a=-1!==[\"top\",\"bottom\"].indexOf(i),s=a?\"right\":\"bottom\",c=a?\"left\":\"top\",u=a?\"width\":\"height\";return n[s]<o(r[c])&&(e.offsets.popper[c]=o(r[c])-n[u]),n[c]>o(r[s])&&(e.offsets.popper[c]=o(r[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var n;if(!J(e.instance.modifiers,\"arrow\",\"keepTogether\"))return e;var r=t.element;if(\"string\"===typeof r){if(!(r=e.instance.popper.querySelector(r)))return e}else if(!e.instance.popper.contains(r))return console.warn(\"WARNING: `arrow.element` must be child of its popper element!\"),e;var i=e.placement.split(\"-\")[0],o=e.offsets,s=o.popper,c=o.reference,u=-1!==[\"left\",\"right\"].indexOf(i),l=u?\"height\":\"width\",f=u?\"Top\":\"Left\",d=f.toLowerCase(),h=u?\"left\":\"top\",p=u?\"bottom\":\"right\",g=R(r)[l];c[p]-g<s[d]&&(e.offsets.popper[d]-=s[d]-(c[p]-g)),c[d]+g>s[p]&&(e.offsets.popper[d]+=c[d]+g-s[p]),e.offsets.popper=E(e.offsets.popper);var y=c[d]+c[l]/2-g/2,m=a(e.instance.popper),b=parseFloat(m[\"margin\"+f]),v=parseFloat(m[\"border\"+f+\"Width\"]),x=y-e.offsets.popper[d]-b-v;return x=Math.max(Math.min(s[l]-g,x),0),e.arrowElement=r,e.offsets.arrow=(k(n={},d,Math.round(x)),k(n,h,\"\"),n),e},element:\"[x-arrow]\"},flip:{order:600,enabled:!0,fn:function(e,t){if(U(e.instance.modifiers,\"inner\"))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var n=M(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),r=e.placement.split(\"-\")[0],i=I(r),o=e.placement.split(\"-\")[1]||\"\",a=[];switch(t.behavior){case ne:a=[r,i];break;case re:a=te(r);break;case ie:a=te(r,!0);break;default:a=t.behavior}return a.forEach((function(s,c){if(r!==s||a.length===c+1)return e;r=e.placement.split(\"-\")[0],i=I(r);var u=e.offsets.popper,l=e.offsets.reference,f=Math.floor,d=\"left\"===r&&f(u.right)>f(l.left)||\"right\"===r&&f(u.left)<f(l.right)||\"top\"===r&&f(u.bottom)>f(l.top)||\"bottom\"===r&&f(u.top)<f(l.bottom),h=f(u.left)<f(n.left),p=f(u.right)>f(n.right),g=f(u.top)<f(n.top),y=f(u.bottom)>f(n.bottom),m=\"left\"===r&&h||\"right\"===r&&p||\"top\"===r&&g||\"bottom\"===r&&y,b=-1!==[\"top\",\"bottom\"].indexOf(r),v=!!t.flipVariations&&(b&&\"start\"===o&&h||b&&\"end\"===o&&p||!b&&\"start\"===o&&g||!b&&\"end\"===o&&y),x=!!t.flipVariationsByContent&&(b&&\"start\"===o&&p||b&&\"end\"===o&&h||!b&&\"start\"===o&&y||!b&&\"end\"===o&&g),w=v||x;(d||m||w)&&(e.flipped=!0,(d||m)&&(r=a[c+1]),w&&(o=function(e){return\"end\"===e?\"start\":\"start\"===e?\"end\":e}(o)),e.placement=r+(o?\"-\"+o:\"\"),e.offsets.popper=O({},e.offsets.popper,L(e.instance.popper,e.offsets.reference,e.placement)),e=F(e.instance.modifiers,e,\"flip\"))})),e},behavior:\"flip\",padding:5,boundariesElement:\"viewport\",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,n=t.split(\"-\")[0],r=e.offsets,i=r.popper,o=r.reference,a=-1!==[\"left\",\"right\"].indexOf(n),s=-1===[\"top\",\"left\"].indexOf(n);return i[a?\"left\":\"top\"]=o[n]-(s?i[a?\"width\":\"height\"]:0),e.placement=I(t),e.offsets.popper=E(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!J(e.instance.modifiers,\"hide\",\"preventOverflow\"))return e;var t=e.offsets.reference,n=B(e.instance.modifiers,(function(e){return\"preventOverflow\"===e.name})).boundaries;if(t.bottom<n.top||t.left>n.right||t.top>n.bottom||t.right<n.left){if(!0===e.hide)return e;e.hide=!0,e.attributes[\"x-out-of-boundaries\"]=\"\"}else{if(!1===e.hide)return e;e.hide=!1,e.attributes[\"x-out-of-boundaries\"]=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var n=t.x,r=t.y,i=e.offsets.popper,o=B(e.instance.modifiers,(function(e){return\"applyStyle\"===e.name})).gpuAcceleration;void 0!==o&&console.warn(\"WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!\");var a=void 0!==o?o:t.gpuAcceleration,s=h(e.instance.popper),c=S(s),u={position:i.position},l=function(e,t){var n=e.offsets,r=n.popper,i=n.reference,o=Math.round,a=Math.floor,s=function(e){return e},c=o(i.width),u=o(r.width),l=-1!==[\"left\",\"right\"].indexOf(e.placement),f=-1!==e.placement.indexOf(\"-\"),d=t?l||f||c%2===u%2?o:a:s,h=t?o:s;return{left:d(c%2===1&&u%2===1&&!f&&t?r.left-1:r.left),top:h(r.top),bottom:h(r.bottom),right:d(r.right)}}(e,window.devicePixelRatio<2||!Z),f=\"bottom\"===n?\"top\":\"bottom\",d=\"right\"===r?\"left\":\"right\",p=H(\"transform\"),g=void 0,y=void 0;if(y=\"bottom\"===f?\"HTML\"===s.nodeName?-s.clientHeight+l.bottom:-c.height+l.bottom:l.top,g=\"right\"===d?\"HTML\"===s.nodeName?-s.clientWidth+l.right:-c.width+l.right:l.left,a&&p)u[p]=\"translate3d(\"+g+\"px, \"+y+\"px, 0)\",u[f]=0,u[d]=0,u.willChange=\"transform\";else{var m=\"bottom\"===f?-1:1,b=\"right\"===d?-1:1;u[f]=y*m,u[d]=g*b,u.willChange=f+\", \"+d}var v={\"x-placement\":e.placement};return e.attributes=O({},v,e.attributes),e.styles=O({},u,e.styles),e.arrowStyles=O({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:\"bottom\",y:\"right\"},applyStyle:{order:900,enabled:!0,fn:function(e){var t,n;return K(e.instance.popper,e.styles),t=e.instance.popper,n=e.attributes,Object.keys(n).forEach((function(e){!1!==n[e]?t.setAttribute(e,n[e]):t.removeAttribute(e)})),e.arrowElement&&Object.keys(e.arrowStyles).length&&K(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,n,r,i){var o=D(i,t,e,n.positionFixed),a=N(n.placement,o,t,e,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return t.setAttribute(\"x-placement\",a),K(t,{position:n.positionFixed?\"fixed\":\"absolute\"}),n},gpuAcceleration:void 0}},se={placement:\"bottom\",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:ae},ce=function(){function e(t,n){var r=this,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};w(this,e),this.scheduleUpdate=function(){return requestAnimationFrame(r.update)},this.update=i(this.update.bind(this)),this.options=O({},e.Defaults,a),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=t&&t.jquery?t[0]:t,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(O({},e.Defaults.modifiers,a.modifiers)).forEach((function(t){r.options.modifiers[t]=O({},e.Defaults.modifiers[t]||{},a.modifiers?a.modifiers[t]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(e){return O({name:e},r.options.modifiers[e])})).sort((function(e,t){return e.order-t.order})),this.modifiers.forEach((function(e){e.enabled&&o(e.onLoad)&&e.onLoad(r.reference,r.popper,r.options,e,r.state)})),this.update();var s=this.options.eventsEnabled;s&&this.enableEventListeners(),this.state.eventsEnabled=s}return _(e,[{key:\"update\",value:function(){return z.call(this)}},{key:\"destroy\",value:function(){return W.call(this)}},{key:\"enableEventListeners\",value:function(){return $.call(this)}},{key:\"disableEventListeners\",value:function(){return G.call(this)}}]),e}();ce.Utils=(\"undefined\"!==typeof window?window:e).PopperUtils,ce.placements=Q,ce.Defaults=se,t.a=ce}).call(this,n(113))},function(e,t,n){\"use strict\";var r=n(70);Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=r(n(0)),o=(0,r(n(75)).default)(i.default.createElement(\"path\",{d:\"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z\"}),\"Menu\");t.default=o},function(e,t,n){\"use strict\";var r=n(70);Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=r(n(0)),o=(0,r(n(75)).default)(i.default.createElement(\"path\",{d:\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\"}),\"Error\");t.default=o},function(e,t,n){var r=n(371),i=n(679),o=n(680),a=n(687),s=n(688),c=n(692),u=Date.prototype.getTime;function l(e,t,n){var h=n||{};return!!(h.strict?o(e,t):e===t)||(!e||!t||\"object\"!==typeof e&&\"object\"!==typeof t?h.strict?o(e,t):e==t:function(e,t,n){var o,h;if(typeof e!==typeof t)return!1;if(f(e)||f(t))return!1;if(e.prototype!==t.prototype)return!1;if(i(e)!==i(t))return!1;var p=a(e),g=a(t);if(p!==g)return!1;if(p||g)return e.source===t.source&&s(e)===s(t);if(c(e)&&c(t))return u.call(e)===u.call(t);var y=d(e),m=d(t);if(y!==m)return!1;if(y||m){if(e.length!==t.length)return!1;for(o=0;o<e.length;o++)if(e[o]!==t[o])return!1;return!0}if(typeof e!==typeof t)return!1;try{var b=r(e),v=r(t)}catch(x){return!1}if(b.length!==v.length)return!1;for(b.sort(),v.sort(),o=b.length-1;o>=0;o--)if(b[o]!=v[o])return!1;for(o=b.length-1;o>=0;o--)if(!l(e[h=b[o]],t[h],n))return!1;return!0}(e,t,h))}function f(e){return null===e||void 0===e}function d(e){return!(!e||\"object\"!==typeof e||\"number\"!==typeof e.length)&&(\"function\"===typeof e.copy&&\"function\"===typeof e.slice&&!(e.length>0&&\"number\"!==typeof e[0]))}e.exports=l},function(e,t,n){\"use strict\";var r=n(70);Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=r(n(0)),o=(0,r(n(75)).default)(i.default.createElement(\"path\",{d:\"M7 10l5 5 5-5z\"}),\"ArrowDropDown\");t.default=o},function(e,t,n){\"use strict\";var r=n(70);Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=r(n(0)),o=(0,r(n(75)).default)(i.default.createElement(\"path\",{d:\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"}),\"Check\");t.default=o},function(e,t,n){\"use strict\";var r=n(70);Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=r(n(0)),o=(0,r(n(75)).default)(i.default.createElement(\"path\",{d:\"M19 12v7H5v-7H3v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zm-6 .67l2.59-2.58L17 11.5l-5 5-5-5 1.41-1.41L11 12.67V3h2z\"}),\"SaveAlt\");t.default=o},function(e,t,n){\"use strict\";var r=n(18),i=n(7),o=n(396),a=n(3),s=[\"xs\",\"sm\",\"md\",\"lg\",\"xl\"];function c(e){var t=e.values,n=void 0===t?{xs:0,sm:600,md:960,lg:1280,xl:1920}:t,r=e.unit,o=void 0===r?\"px\":r,c=e.step,u=void 0===c?5:c,l=Object(i.a)(e,[\"values\",\"unit\",\"step\"]);function f(e){var t=\"number\"===typeof n[e]?n[e]:e;return\"@media (min-width:\".concat(t).concat(o,\")\")}function d(e,t){var r=s.indexOf(t);return r===s.length-1?f(e):\"@media (min-width:\".concat(\"number\"===typeof n[e]?n[e]:e).concat(o,\") and \")+\"(max-width:\".concat((-1!==r&&\"number\"===typeof n[s[r+1]]?n[s[r+1]]:t)-u/100).concat(o,\")\")}return Object(a.a)({keys:s,values:n,up:f,down:function(e){var t=s.indexOf(e)+1,r=n[s[t]];return t===s.length?f(\"xs\"):\"@media (max-width:\".concat((\"number\"===typeof r&&t>0?r:e)-u/100).concat(o,\")\")},between:d,only:function(e){return d(e,e)},width:function(e){return n[e]}},l)}function u(e,t,n){var i;return Object(a.a)({gutters:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object(a.a)({paddingLeft:t(2),paddingRight:t(2)},n,Object(r.a)({},e.up(\"sm\"),Object(a.a)({paddingLeft:t(3),paddingRight:t(3)},n[e.up(\"sm\")])))},toolbar:(i={minHeight:56},Object(r.a)(i,\"\".concat(e.up(\"xs\"),\" and (orientation: landscape)\"),{minHeight:48}),Object(r.a)(i,e.up(\"sm\"),{minHeight:64}),i)},n)}var l=n(395),f={black:\"#000\",white:\"#fff\"},d={50:\"#fafafa\",100:\"#f5f5f5\",200:\"#eeeeee\",300:\"#e0e0e0\",400:\"#bdbdbd\",500:\"#9e9e9e\",600:\"#757575\",700:\"#616161\",800:\"#424242\",900:\"#212121\",A100:\"#d5d5d5\",A200:\"#aaaaaa\",A400:\"#303030\",A700:\"#616161\"},h={50:\"#e8eaf6\",100:\"#c5cae9\",200:\"#9fa8da\",300:\"#7986cb\",400:\"#5c6bc0\",500:\"#3f51b5\",600:\"#3949ab\",700:\"#303f9f\",800:\"#283593\",900:\"#1a237e\",A100:\"#8c9eff\",A200:\"#536dfe\",A400:\"#3d5afe\",A700:\"#304ffe\"},p={50:\"#fce4ec\",100:\"#f8bbd0\",200:\"#f48fb1\",300:\"#f06292\",400:\"#ec407a\",500:\"#e91e63\",600:\"#d81b60\",700:\"#c2185b\",800:\"#ad1457\",900:\"#880e4f\",A100:\"#ff80ab\",A200:\"#ff4081\",A400:\"#f50057\",A700:\"#c51162\"},g={50:\"#ffebee\",100:\"#ffcdd2\",200:\"#ef9a9a\",300:\"#e57373\",400:\"#ef5350\",500:\"#f44336\",600:\"#e53935\",700:\"#d32f2f\",800:\"#c62828\",900:\"#b71c1c\",A100:\"#ff8a80\",A200:\"#ff5252\",A400:\"#ff1744\",A700:\"#d50000\"},y={50:\"#fff3e0\",100:\"#ffe0b2\",200:\"#ffcc80\",300:\"#ffb74d\",400:\"#ffa726\",500:\"#ff9800\",600:\"#fb8c00\",700:\"#f57c00\",800:\"#ef6c00\",900:\"#e65100\",A100:\"#ffd180\",A200:\"#ffab40\",A400:\"#ff9100\",A700:\"#ff6d00\"},m={50:\"#e3f2fd\",100:\"#bbdefb\",200:\"#90caf9\",300:\"#64b5f6\",400:\"#42a5f5\",500:\"#2196f3\",600:\"#1e88e5\",700:\"#1976d2\",800:\"#1565c0\",900:\"#0d47a1\",A100:\"#82b1ff\",A200:\"#448aff\",A400:\"#2979ff\",A700:\"#2962ff\"},b={50:\"#e8f5e9\",100:\"#c8e6c9\",200:\"#a5d6a7\",300:\"#81c784\",400:\"#66bb6a\",500:\"#4caf50\",600:\"#43a047\",700:\"#388e3c\",800:\"#2e7d32\",900:\"#1b5e20\",A100:\"#b9f6ca\",A200:\"#69f0ae\",A400:\"#00e676\",A700:\"#00c853\"},v=n(19),x={text:{primary:\"rgba(0, 0, 0, 0.87)\",secondary:\"rgba(0, 0, 0, 0.54)\",disabled:\"rgba(0, 0, 0, 0.38)\",hint:\"rgba(0, 0, 0, 0.38)\"},divider:\"rgba(0, 0, 0, 0.12)\",background:{paper:f.white,default:d[50]},action:{active:\"rgba(0, 0, 0, 0.54)\",hover:\"rgba(0, 0, 0, 0.04)\",hoverOpacity:.04,selected:\"rgba(0, 0, 0, 0.08)\",selectedOpacity:.08,disabled:\"rgba(0, 0, 0, 0.26)\",disabledBackground:\"rgba(0, 0, 0, 0.12)\",disabledOpacity:.38,focus:\"rgba(0, 0, 0, 0.12)\",focusOpacity:.12,activatedOpacity:.12}},w={text:{primary:f.white,secondary:\"rgba(255, 255, 255, 0.7)\",disabled:\"rgba(255, 255, 255, 0.5)\",hint:\"rgba(255, 255, 255, 0.5)\",icon:\"rgba(255, 255, 255, 0.5)\"},divider:\"rgba(255, 255, 255, 0.12)\",background:{paper:d[800],default:\"#303030\"},action:{active:f.white,hover:\"rgba(255, 255, 255, 0.08)\",hoverOpacity:.08,selected:\"rgba(255, 255, 255, 0.16)\",selectedOpacity:.16,disabled:\"rgba(255, 255, 255, 0.3)\",disabledBackground:\"rgba(255, 255, 255, 0.12)\",disabledOpacity:.38,focus:\"rgba(255, 255, 255, 0.12)\",focusOpacity:.12,activatedOpacity:.24}};function _(e,t,n,r){var i=r.light||r,o=r.dark||1.5*r;e[t]||(e.hasOwnProperty(n)?e[t]=e[n]:\"light\"===t?e.light=Object(v.e)(e.main,i):\"dark\"===t&&(e.dark=Object(v.a)(e.main,o)))}function k(e){var t=e.primary,n=void 0===t?{light:h[300],main:h[500],dark:h[700]}:t,r=e.secondary,s=void 0===r?{light:p.A200,main:p.A400,dark:p.A700}:r,c=e.error,u=void 0===c?{light:g[300],main:g[500],dark:g[700]}:c,k=e.warning,O=void 0===k?{light:y[300],main:y[500],dark:y[700]}:k,E=e.info,S=void 0===E?{light:m[300],main:m[500],dark:m[700]}:E,C=e.success,T=void 0===C?{light:b[300],main:b[500],dark:b[700]}:C,j=e.type,A=void 0===j?\"light\":j,M=e.contrastThreshold,P=void 0===M?3:M,N=e.tonalOffset,D=void 0===N?.2:N,R=Object(i.a)(e,[\"primary\",\"secondary\",\"error\",\"warning\",\"info\",\"success\",\"type\",\"contrastThreshold\",\"tonalOffset\"]);function I(e){return Object(v.d)(e,w.text.primary)>=P?w.text.primary:x.text.primary}var L=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:500,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:300,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:700;if(!(e=Object(a.a)({},e)).main&&e[t]&&(e.main=e[t]),!e.main)throw new Error(Object(l.a)(4,t));if(\"string\"!==typeof e.main)throw new Error(Object(l.a)(5,JSON.stringify(e.main)));return _(e,\"light\",n,D),_(e,\"dark\",r,D),e.contrastText||(e.contrastText=I(e.main)),e},B={dark:w,light:x};return Object(o.a)(Object(a.a)({common:f,type:A,primary:L(n),secondary:L(s,\"A400\",\"A200\",\"A700\"),error:L(u),warning:L(O),info:L(S),success:L(T),grey:d,contrastThreshold:P,getContrastText:I,augmentColor:L,tonalOffset:D},B[A]),R)}function O(e){return Math.round(1e5*e)/1e5}var E={textTransform:\"uppercase\"},S='\"Roboto\", \"Helvetica\", \"Arial\", sans-serif';function C(e,t){var n=\"function\"===typeof t?t(e):t,r=n.fontFamily,s=void 0===r?S:r,c=n.fontSize,u=void 0===c?14:c,l=n.fontWeightLight,f=void 0===l?300:l,d=n.fontWeightRegular,h=void 0===d?400:d,p=n.fontWeightMedium,g=void 0===p?500:p,y=n.fontWeightBold,m=void 0===y?700:y,b=n.htmlFontSize,v=void 0===b?16:b,x=n.allVariants,w=n.pxToRem,_=Object(i.a)(n,[\"fontFamily\",\"fontSize\",\"fontWeightLight\",\"fontWeightRegular\",\"fontWeightMedium\",\"fontWeightBold\",\"htmlFontSize\",\"allVariants\",\"pxToRem\"]);var k=u/14,C=w||function(e){return\"\".concat(e/v*k,\"rem\")},T=function(e,t,n,r,i){return Object(a.a)({fontFamily:s,fontWeight:e,fontSize:C(t),lineHeight:n},s===S?{letterSpacing:\"\".concat(O(r/t),\"em\")}:{},i,x)},j={h1:T(f,96,1.167,-1.5),h2:T(f,60,1.2,-.5),h3:T(h,48,1.167,0),h4:T(h,34,1.235,.25),h5:T(h,24,1.334,0),h6:T(g,20,1.6,.15),subtitle1:T(h,16,1.75,.15),subtitle2:T(g,14,1.57,.1),body1:T(h,16,1.5,.15),body2:T(h,14,1.43,.15),button:T(g,14,1.75,.4,E),caption:T(h,12,1.66,.4),overline:T(h,12,2.66,1,E)};return Object(o.a)(Object(a.a)({htmlFontSize:v,pxToRem:C,round:O,fontFamily:s,fontSize:u,fontWeightLight:f,fontWeightRegular:h,fontWeightMedium:g,fontWeightBold:m},j),_,{clone:!1})}function T(){return[\"\".concat(arguments.length<=0?void 0:arguments[0],\"px \").concat(arguments.length<=1?void 0:arguments[1],\"px \").concat(arguments.length<=2?void 0:arguments[2],\"px \").concat(arguments.length<=3?void 0:arguments[3],\"px rgba(0,0,0,\").concat(.2,\")\"),\"\".concat(arguments.length<=4?void 0:arguments[4],\"px \").concat(arguments.length<=5?void 0:arguments[5],\"px \").concat(arguments.length<=6?void 0:arguments[6],\"px \").concat(arguments.length<=7?void 0:arguments[7],\"px rgba(0,0,0,\").concat(.14,\")\"),\"\".concat(arguments.length<=8?void 0:arguments[8],\"px \").concat(arguments.length<=9?void 0:arguments[9],\"px \").concat(arguments.length<=10?void 0:arguments[10],\"px \").concat(arguments.length<=11?void 0:arguments[11],\"px rgba(0,0,0,\").concat(.12,\")\")].join(\",\")}var j=[\"none\",T(0,2,1,-1,0,1,1,0,0,1,3,0),T(0,3,1,-2,0,2,2,0,0,1,5,0),T(0,3,3,-2,0,3,4,0,0,1,8,0),T(0,2,4,-1,0,4,5,0,0,1,10,0),T(0,3,5,-1,0,5,8,0,0,1,14,0),T(0,3,5,-1,0,6,10,0,0,1,18,0),T(0,4,5,-2,0,7,10,1,0,2,16,1),T(0,5,5,-3,0,8,10,1,0,3,14,2),T(0,5,6,-3,0,9,12,1,0,3,16,2),T(0,6,6,-3,0,10,14,1,0,4,18,3),T(0,6,7,-4,0,11,15,1,0,4,20,3),T(0,7,8,-4,0,12,17,2,0,5,22,4),T(0,7,8,-4,0,13,19,2,0,5,24,4),T(0,7,9,-4,0,14,21,2,0,5,26,4),T(0,8,9,-5,0,15,22,2,0,6,28,5),T(0,8,10,-5,0,16,24,2,0,6,30,5),T(0,8,11,-5,0,17,26,2,0,6,32,5),T(0,9,11,-5,0,18,28,2,0,7,34,6),T(0,9,12,-6,0,19,29,2,0,7,36,6),T(0,10,13,-6,0,20,31,3,0,8,38,7),T(0,10,13,-6,0,21,33,3,0,8,40,7),T(0,10,14,-6,0,22,35,3,0,8,42,7),T(0,11,14,-7,0,23,36,3,0,9,44,8),T(0,11,15,-7,0,24,38,3,0,9,46,8)],A={borderRadius:4},M=n(790);function P(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:8;if(e.mui)return e;var t=Object(M.a)({spacing:e}),n=function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return 0===n.length?t(1):1===n.length?t(n[0]):n.map((function(e){if(\"string\"===typeof e)return e;var n=t(e);return\"number\"===typeof n?\"\".concat(n,\"px\"):n})).join(\" \")};return Object.defineProperty(n,\"unit\",{get:function(){return e}}),n.mui=!0,n}var N=n(74),D=n(208);t.a=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.breakpoints,n=void 0===t?{}:t,r=e.mixins,a=void 0===r?{}:r,s=e.palette,l=void 0===s?{}:s,f=e.spacing,d=e.typography,h=void 0===d?{}:d,p=Object(i.a)(e,[\"breakpoints\",\"mixins\",\"palette\",\"spacing\",\"typography\"]),g=k(l),y=c(n),m=P(f),b=Object(o.a)({breakpoints:y,direction:\"ltr\",mixins:u(y,m,a),overrides:{},palette:g,props:{},shadows:j,typography:C(g,h),spacing:m,shape:A,transitions:N.a,zIndex:D.a},p),v=arguments.length,x=new Array(v>1?v-1:0),w=1;w<v;w++)x[w-1]=arguments[w];return b=x.reduce((function(e,t){return Object(o.a)(e,t)}),b)}},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(128),n(1),n(6)),s=n(8),c=n(750),u=n(25),l=n(40),f=n(751),d=n(214),h=n(22);function p(e,t,n){return e===t?e.firstChild:t&&t.nextElementSibling?t.nextElementSibling:n?null:e.firstChild}function g(e,t,n){return e===t?n?e.firstChild:e.lastChild:t&&t.previousElementSibling?t.previousElementSibling:n?null:e.lastChild}function y(e,t){if(void 0===t)return!0;var n=e.innerText;return void 0===n&&(n=e.textContent),0!==(n=n.trim().toLowerCase()).length&&(t.repeating?n[0]===t.keys[0]:0===n.indexOf(t.keys.join(\"\")))}function m(e,t,n,r,i,o){for(var a=!1,s=i(e,t,!!t&&n);s;){if(s===e.firstChild){if(a)return;a=!0}var c=!r&&(s.disabled||\"true\"===s.getAttribute(\"aria-disabled\"));if(s.hasAttribute(\"tabindex\")&&y(s,o)&&!c)return void s.focus();s=i(e,s,n)}}var b=\"undefined\"===typeof window?o.useEffect:o.useLayoutEffect,v=o.forwardRef((function(e,t){var n=e.actions,a=e.autoFocus,s=void 0!==a&&a,c=e.autoFocusItem,v=void 0!==c&&c,x=e.children,w=e.className,_=e.disabledItemsFocusable,k=void 0!==_&&_,O=e.disableListWrap,E=void 0!==O&&O,S=e.onKeyDown,C=e.variant,T=void 0===C?\"selectedMenu\":C,j=Object(i.a)(e,[\"actions\",\"autoFocus\",\"autoFocusItem\",\"children\",\"className\",\"disabledItemsFocusable\",\"disableListWrap\",\"onKeyDown\",\"variant\"]),A=o.useRef(null),M=o.useRef({keys:[],repeating:!0,previousKeyMatched:!0,lastTime:null});b((function(){s&&A.current.focus()}),[s]),o.useImperativeHandle(n,(function(){return{adjustStyleForScrollbar:function(e,t){var n=!A.current.style.width;if(e.clientHeight<A.current.clientHeight&&n){var r=\"\".concat(Object(d.a)(!0),\"px\");A.current.style[\"rtl\"===t.direction?\"paddingLeft\":\"paddingRight\"]=r,A.current.style.width=\"calc(100% + \".concat(r,\")\")}return A.current}}}),[]);var P=o.useCallback((function(e){A.current=u.findDOMNode(e)}),[]),N=Object(h.a)(P,t),D=-1;o.Children.forEach(x,(function(e,t){o.isValidElement(e)&&(e.props.disabled||(\"selectedMenu\"===T&&e.props.selected||-1===D)&&(D=t))}));var R=o.Children.map(x,(function(e,t){if(t===D){var n={};return v&&(n.autoFocus=!0),void 0===e.props.tabIndex&&\"selectedMenu\"===T&&(n.tabIndex=0),o.cloneElement(e,n)}return e}));return o.createElement(f.a,Object(r.a)({role:\"menu\",ref:N,className:w,onKeyDown:function(e){var t=A.current,n=e.key,r=Object(l.a)(t).activeElement;if(\"ArrowDown\"===n)e.preventDefault(),m(t,r,E,k,p);else if(\"ArrowUp\"===n)e.preventDefault(),m(t,r,E,k,g);else if(\"Home\"===n)e.preventDefault(),m(t,null,E,k,p);else if(\"End\"===n)e.preventDefault(),m(t,null,E,k,g);else if(1===n.length){var i=M.current,o=n.toLowerCase(),a=performance.now();i.keys.length>0&&(a-i.lastTime>500?(i.keys=[],i.repeating=!0,i.previousKeyMatched=!0):i.repeating&&o!==i.keys[0]&&(i.repeating=!1)),i.lastTime=a,i.keys.push(o);var s=r&&!i.repeating&&y(r,i);i.previousKeyMatched&&(s||m(t,r,!1,k,p,i))?e.preventDefault():i.previousKeyMatched=!1}S&&S(e)},tabIndex:s?0:-1},j),R)})),x=n(69),w=n(52),_={vertical:\"top\",horizontal:\"right\"},k={vertical:\"top\",horizontal:\"left\"},O=o.forwardRef((function(e,t){var n=e.autoFocus,s=void 0===n||n,l=e.children,f=e.classes,d=e.disableAutoFocusItem,h=void 0!==d&&d,p=e.MenuListProps,g=void 0===p?{}:p,y=e.onClose,m=e.onEntering,b=e.open,O=e.PaperProps,E=void 0===O?{}:O,S=e.PopoverClasses,C=e.transitionDuration,T=void 0===C?\"auto\":C,j=e.variant,A=void 0===j?\"selectedMenu\":j,M=Object(i.a)(e,[\"autoFocus\",\"children\",\"classes\",\"disableAutoFocusItem\",\"MenuListProps\",\"onClose\",\"onEntering\",\"open\",\"PaperProps\",\"PopoverClasses\",\"transitionDuration\",\"variant\"]),P=Object(w.a)(),N=s&&!h&&b,D=o.useRef(null),R=o.useRef(null),I=-1;o.Children.map(l,(function(e,t){o.isValidElement(e)&&(e.props.disabled||(\"menu\"!==A&&e.props.selected||-1===I)&&(I=t))}));var L=o.Children.map(l,(function(e,t){return t===I?o.cloneElement(e,{ref:function(t){R.current=u.findDOMNode(t),Object(x.a)(e.ref,t)}}):e}));return o.createElement(c.a,Object(r.a)({getContentAnchorEl:function(){return R.current},classes:S,onClose:y,onEntering:function(e,t){D.current&&D.current.adjustStyleForScrollbar(e,P),m&&m(e,t)},anchorOrigin:\"rtl\"===P.direction?_:k,transformOrigin:\"rtl\"===P.direction?_:k,PaperProps:Object(r.a)({},E,{classes:Object(r.a)({},E.classes,{root:f.paper})}),open:b,ref:t,transitionDuration:T},M),o.createElement(v,Object(r.a)({onKeyDown:function(e){\"Tab\"===e.key&&(e.preventDefault(),y&&y(e,\"tabKeyDown\"))},actions:D,autoFocus:s&&(-1===I||h),autoFocusItem:N,variant:A},g,{className:Object(a.a)(f.list,g.className)}),L))}));t.a=Object(s.a)({paper:{maxHeight:\"calc(100% - 96px)\",WebkitOverflowScrolling:\"touch\"},list:{outline:0}},{name:\"MuiMenu\"})(O)},function(e,t,n){\"use strict\";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}n.d(t,\"a\",(function(){return o}))},function(e,t,n){\"use strict\";function r(e){for(var t=\"https://material-ui.com/production-error/?code=\"+e,n=1;n<arguments.length;n+=1)t+=\"&args[]=\"+encodeURIComponent(arguments[n]);return\"Minified Material-UI error #\"+e+\"; visit \"+t+\" for the full message.\"}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return a}));var r=n(3),i=n(78);function o(e){return e&&\"object\"===Object(i.a)(e)&&e.constructor===Object}function a(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{clone:!0},i=n.clone?Object(r.a)({},e):e;return o(e)&&o(t)&&Object.keys(t).forEach((function(r){\"__proto__\"!==r&&(o(t[r])&&r in e?i[r]=a(e[r],t[r],n):i[r]=t[r])})),i}},function(e,t,n){\"use strict\";var r=n(3),i=n(32),o=n(7),a=n(0),s=(n(1),n(713)),c=n(52),u=n(109),l=n(22);function f(e){return\"scale(\".concat(e,\", \").concat(Math.pow(e,2),\")\")}var d={entering:{opacity:1,transform:f(1)},entered:{opacity:1,transform:\"none\"}},h=a.forwardRef((function(e,t){var n=e.children,h=e.disableStrictModeCompat,p=void 0!==h&&h,g=e.in,y=e.onEnter,m=e.onEntered,b=e.onEntering,v=e.onExit,x=e.onExited,w=e.onExiting,_=e.style,k=e.timeout,O=void 0===k?\"auto\":k,E=e.TransitionComponent,S=void 0===E?s.a:E,C=Object(o.a)(e,[\"children\",\"disableStrictModeCompat\",\"in\",\"onEnter\",\"onEntered\",\"onEntering\",\"onExit\",\"onExited\",\"onExiting\",\"style\",\"timeout\",\"TransitionComponent\"]),T=a.useRef(),j=a.useRef(),A=Object(c.a)(),M=A.unstable_strictMode&&!p,P=a.useRef(null),N=Object(l.a)(n.ref,t),D=Object(l.a)(M?P:void 0,N),R=function(e){return function(t,n){if(e){var r=M?[P.current,t]:[t,n],o=Object(i.a)(r,2),a=o[0],s=o[1];void 0===s?e(a):e(a,s)}}},I=R(b),L=R((function(e,t){Object(u.b)(e);var n,r=Object(u.a)({style:_,timeout:O},{mode:\"enter\"}),i=r.duration,o=r.delay;\"auto\"===O?(n=A.transitions.getAutoHeightDuration(e.clientHeight),j.current=n):n=i,e.style.transition=[A.transitions.create(\"opacity\",{duration:n,delay:o}),A.transitions.create(\"transform\",{duration:.666*n,delay:o})].join(\",\"),y&&y(e,t)})),B=R(m),F=R(w),z=R((function(e){var t,n=Object(u.a)({style:_,timeout:O},{mode:\"exit\"}),r=n.duration,i=n.delay;\"auto\"===O?(t=A.transitions.getAutoHeightDuration(e.clientHeight),j.current=t):t=r,e.style.transition=[A.transitions.create(\"opacity\",{duration:t,delay:i}),A.transitions.create(\"transform\",{duration:.666*t,delay:i||.333*t})].join(\",\"),e.style.opacity=\"0\",e.style.transform=f(.75),v&&v(e)})),U=R(x);return a.useEffect((function(){return function(){clearTimeout(T.current)}}),[]),a.createElement(S,Object(r.a)({appear:!0,in:g,nodeRef:M?P:void 0,onEnter:L,onEntered:B,onEntering:I,onExit:z,onExited:U,onExiting:F,addEndListener:function(e,t){var n=M?e:t;\"auto\"===O&&(T.current=setTimeout(n,j.current||0))},timeout:\"auto\"===O?null:O},C),(function(e,t){return a.cloneElement(n,Object(r.a)({style:Object(r.a)({opacity:0,transform:f(.75),visibility:\"exited\"!==e||g?void 0:\"hidden\"},d[e],_,n.props.style),ref:D},t))}))}));h.muiSupportAuto=!0,t.a=h},function(e,t,n){\"use strict\";var r=n(7),i=n(3),o=n(395),a=n(0),s=(n(1),n(6)),c=n(68),u=n(83),l=n(8),f=n(17),d=n(22),h=n(90);function p(e,t){return parseInt(e[t],10)||0}var g=\"undefined\"!==typeof window?a.useLayoutEffect:a.useEffect,y={visibility:\"hidden\",position:\"absolute\",overflow:\"hidden\",height:0,top:0,left:0,transform:\"translateZ(0)\"},m=a.forwardRef((function(e,t){var n=e.onChange,o=e.rows,s=e.rowsMax,c=e.rowsMin,u=void 0===c?1:c,l=e.style,f=e.value,m=Object(r.a)(e,[\"onChange\",\"rows\",\"rowsMax\",\"rowsMin\",\"style\",\"value\"]),b=o||u,v=a.useRef(null!=f).current,x=a.useRef(null),w=Object(d.a)(t,x),_=a.useRef(null),k=a.useRef(0),O=a.useState({}),E=O[0],S=O[1],C=a.useCallback((function(){var t=x.current,n=window.getComputedStyle(t),r=_.current;r.style.width=n.width,r.value=t.value||e.placeholder||\"x\",\"\\n\"===r.value.slice(-1)&&(r.value+=\" \");var i=n[\"box-sizing\"],o=p(n,\"padding-bottom\")+p(n,\"padding-top\"),a=p(n,\"border-bottom-width\")+p(n,\"border-top-width\"),c=r.scrollHeight-o;r.value=\"x\";var u=r.scrollHeight-o,l=c;b&&(l=Math.max(Number(b)*u,l)),s&&(l=Math.min(Number(s)*u,l));var f=(l=Math.max(l,u))+(\"border-box\"===i?o+a:0),d=Math.abs(l-c)<=1;S((function(e){return k.current<20&&(f>0&&Math.abs((e.outerHeightStyle||0)-f)>1||e.overflow!==d)?(k.current+=1,{overflow:d,outerHeightStyle:f}):e}))}),[s,b,e.placeholder]);a.useEffect((function(){var e=Object(h.a)((function(){k.current=0,C()}));return window.addEventListener(\"resize\",e),function(){e.clear(),window.removeEventListener(\"resize\",e)}}),[C]),g((function(){C()})),a.useEffect((function(){k.current=0}),[f]);return a.createElement(a.Fragment,null,a.createElement(\"textarea\",Object(i.a)({value:f,onChange:function(e){k.current=0,v||C(),n&&n(e)},ref:w,rows:b,style:Object(i.a)({height:E.outerHeightStyle,overflow:E.overflow?\"hidden\":null},l)},m)),a.createElement(\"textarea\",{\"aria-hidden\":!0,className:e.className,readOnly:!0,ref:_,tabIndex:-1,style:Object(i.a)({},y,l)}))})),b=n(125),v=\"undefined\"===typeof window?a.useEffect:a.useLayoutEffect,x=a.forwardRef((function(e,t){var n=e[\"aria-describedby\"],l=e.autoComplete,h=e.autoFocus,p=e.classes,g=e.className,y=(e.color,e.defaultValue),x=e.disabled,w=e.endAdornment,_=(e.error,e.fullWidth),k=void 0!==_&&_,O=e.id,E=e.inputComponent,S=void 0===E?\"input\":E,C=e.inputProps,T=void 0===C?{}:C,j=e.inputRef,A=(e.margin,e.multiline),M=void 0!==A&&A,P=e.name,N=e.onBlur,D=e.onChange,R=e.onClick,I=e.onFocus,L=e.onKeyDown,B=e.onKeyUp,F=e.placeholder,z=e.readOnly,U=e.renderSuffix,H=e.rows,W=e.rowsMax,Y=e.rowsMin,V=e.startAdornment,q=e.type,$=void 0===q?\"text\":q,G=e.value,X=Object(r.a)(e,[\"aria-describedby\",\"autoComplete\",\"autoFocus\",\"classes\",\"className\",\"color\",\"defaultValue\",\"disabled\",\"endAdornment\",\"error\",\"fullWidth\",\"id\",\"inputComponent\",\"inputProps\",\"inputRef\",\"margin\",\"multiline\",\"name\",\"onBlur\",\"onChange\",\"onClick\",\"onFocus\",\"onKeyDown\",\"onKeyUp\",\"placeholder\",\"readOnly\",\"renderSuffix\",\"rows\",\"rowsMax\",\"rowsMin\",\"startAdornment\",\"type\",\"value\"]),K=null!=T.value?T.value:G,Z=a.useRef(null!=K).current,J=a.useRef(),Q=a.useCallback((function(e){0}),[]),ee=Object(d.a)(T.ref,Q),te=Object(d.a)(j,ee),ne=Object(d.a)(J,te),re=a.useState(!1),ie=re[0],oe=re[1],ae=Object(u.b)();var se=Object(c.a)({props:e,muiFormControl:ae,states:[\"color\",\"disabled\",\"error\",\"hiddenLabel\",\"margin\",\"required\",\"filled\"]});se.focused=ae?ae.focused:ie,a.useEffect((function(){!ae&&x&&ie&&(oe(!1),N&&N())}),[ae,x,ie,N]);var ce=ae&&ae.onFilled,ue=ae&&ae.onEmpty,le=a.useCallback((function(e){Object(b.b)(e)?ce&&ce():ue&&ue()}),[ce,ue]);v((function(){Z&&le({value:K})}),[K,le,Z]);a.useEffect((function(){le(J.current)}),[]);var fe=S,de=Object(i.a)({},T,{ref:ne});\"string\"!==typeof fe?de=Object(i.a)({inputRef:ne,type:$},de,{ref:null}):M?!H||W||Y?(de=Object(i.a)({rows:H,rowsMax:W},de),fe=m):fe=\"textarea\":de=Object(i.a)({type:$},de);return a.useEffect((function(){ae&&ae.setAdornedStart(Boolean(V))}),[ae,V]),a.createElement(\"div\",Object(i.a)({className:Object(s.a)(p.root,p[\"color\".concat(Object(f.a)(se.color||\"primary\"))],g,se.disabled&&p.disabled,se.error&&p.error,k&&p.fullWidth,se.focused&&p.focused,ae&&p.formControl,M&&p.multiline,V&&p.adornedStart,w&&p.adornedEnd,\"dense\"===se.margin&&p.marginDense),onClick:function(e){J.current&&e.currentTarget===e.target&&J.current.focus(),R&&R(e)},ref:t},X),V,a.createElement(u.a.Provider,{value:null},a.createElement(fe,Object(i.a)({\"aria-invalid\":se.error,\"aria-describedby\":n,autoComplete:l,autoFocus:h,defaultValue:y,disabled:se.disabled,id:O,onAnimationStart:function(e){le(\"mui-auto-fill-cancel\"===e.animationName?J.current:{value:\"x\"})},name:P,placeholder:F,readOnly:z,required:se.required,rows:H,value:K,onKeyDown:L,onKeyUp:B},de,{className:Object(s.a)(p.input,T.className,se.disabled&&p.disabled,M&&p.inputMultiline,se.hiddenLabel&&p.inputHiddenLabel,V&&p.inputAdornedStart,w&&p.inputAdornedEnd,\"search\"===$&&p.inputTypeSearch,\"dense\"===se.margin&&p.inputMarginDense),onBlur:function(e){N&&N(e),T.onBlur&&T.onBlur(e),ae&&ae.onBlur?ae.onBlur(e):oe(!1)},onChange:function(e){if(!Z){var t=e.target||J.current;if(null==t)throw new Error(Object(o.a)(1));le({value:t.value})}for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];T.onChange&&T.onChange.apply(T,[e].concat(r)),D&&D.apply(void 0,[e].concat(r))},onFocus:function(e){se.disabled?e.stopPropagation():(I&&I(e),T.onFocus&&T.onFocus(e),ae&&ae.onFocus?ae.onFocus(e):oe(!0))}}))),w,U?U(Object(i.a)({},se,{startAdornment:V})):null)}));t.a=Object(l.a)((function(e){var t=\"light\"===e.palette.type,n={color:\"currentColor\",opacity:t?.42:.5,transition:e.transitions.create(\"opacity\",{duration:e.transitions.duration.shorter})},r={opacity:\"0 !important\"},o={opacity:t?.42:.5};return{\"@global\":{\"@keyframes mui-auto-fill\":{},\"@keyframes mui-auto-fill-cancel\":{}},root:Object(i.a)({},e.typography.body1,{color:e.palette.text.primary,lineHeight:\"1.1876em\",boxSizing:\"border-box\",position:\"relative\",cursor:\"text\",display:\"inline-flex\",alignItems:\"center\",\"&$disabled\":{color:e.palette.text.disabled,cursor:\"default\"}}),formControl:{},focused:{},disabled:{},adornedStart:{},adornedEnd:{},error:{},marginDense:{},multiline:{padding:\"\".concat(6,\"px 0 \").concat(7,\"px\"),\"&$marginDense\":{paddingTop:3}},colorSecondary:{},fullWidth:{width:\"100%\"},input:{font:\"inherit\",letterSpacing:\"inherit\",color:\"currentColor\",padding:\"\".concat(6,\"px 0 \").concat(7,\"px\"),border:0,boxSizing:\"content-box\",background:\"none\",height:\"1.1876em\",margin:0,WebkitTapHighlightColor:\"transparent\",display:\"block\",minWidth:0,width:\"100%\",animationName:\"mui-auto-fill-cancel\",animationDuration:\"10ms\",\"&::-webkit-input-placeholder\":n,\"&::-moz-placeholder\":n,\"&:-ms-input-placeholder\":n,\"&::-ms-input-placeholder\":n,\"&:focus\":{outline:0},\"&:invalid\":{boxShadow:\"none\"},\"&::-webkit-search-decoration\":{\"-webkit-appearance\":\"none\"},\"label[data-shrink=false] + $formControl &\":{\"&::-webkit-input-placeholder\":r,\"&::-moz-placeholder\":r,\"&:-ms-input-placeholder\":r,\"&::-ms-input-placeholder\":r,\"&:focus::-webkit-input-placeholder\":o,\"&:focus::-moz-placeholder\":o,\"&:focus:-ms-input-placeholder\":o,\"&:focus::-ms-input-placeholder\":o},\"&$disabled\":{opacity:1},\"&:-webkit-autofill\":{animationDuration:\"5000s\",animationName:\"mui-auto-fill\"}},inputMarginDense:{paddingTop:3},inputMultiline:{height:\"auto\",resize:\"none\",padding:0},inputTypeSearch:{\"-moz-appearance\":\"textfield\",\"-webkit-appearance\":\"textfield\"},inputAdornedStart:{},inputAdornedEnd:{},inputHiddenLabel:{}}}),{name:\"MuiInputBase\"})(x)},,,,,,,,,,,,,,,,,,,,,function(e,t,n){\"use strict\";var r=n(276),i=\"function\"===typeof Symbol&&Symbol.for,o=i?Symbol.for(\"react.element\"):60103,a=i?Symbol.for(\"react.portal\"):60106,s=i?Symbol.for(\"react.fragment\"):60107,c=i?Symbol.for(\"react.strict_mode\"):60108,u=i?Symbol.for(\"react.profiler\"):60114,l=i?Symbol.for(\"react.provider\"):60109,f=i?Symbol.for(\"react.context\"):60110,d=i?Symbol.for(\"react.forward_ref\"):60112,h=i?Symbol.for(\"react.suspense\"):60113;i&&Symbol.for(\"react.suspense_list\");var p=i?Symbol.for(\"react.memo\"):60115,g=i?Symbol.for(\"react.lazy\"):60116;i&&Symbol.for(\"react.fundamental\"),i&&Symbol.for(\"react.responder\"),i&&Symbol.for(\"react.scope\");var y=\"function\"===typeof Symbol&&Symbol.iterator;function m(e){for(var t=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,n=1;n<arguments.length;n++)t+=\"&args[]=\"+encodeURIComponent(arguments[n]);return\"Minified React error #\"+e+\"; visit \"+t+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var b={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},v={};function x(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||b}function w(){}function _(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||b}x.prototype.isReactComponent={},x.prototype.setState=function(e,t){if(\"object\"!==typeof e&&\"function\"!==typeof e&&null!=e)throw Error(m(85));this.updater.enqueueSetState(this,e,t,\"setState\")},x.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,\"forceUpdate\")},w.prototype=x.prototype;var k=_.prototype=new w;k.constructor=_,r(k,x.prototype),k.isPureReactComponent=!0;var O={current:null},E={current:null},S=Object.prototype.hasOwnProperty,C={key:!0,ref:!0,__self:!0,__source:!0};function T(e,t,n){var r,i={},a=null,s=null;if(null!=t)for(r in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(a=\"\"+t.key),t)S.call(t,r)&&!C.hasOwnProperty(r)&&(i[r]=t[r]);var c=arguments.length-2;if(1===c)i.children=n;else if(1<c){for(var u=Array(c),l=0;l<c;l++)u[l]=arguments[l+2];i.children=u}if(e&&e.defaultProps)for(r in c=e.defaultProps)void 0===i[r]&&(i[r]=c[r]);return{$$typeof:o,type:e,key:a,ref:s,props:i,_owner:E.current}}function j(e){return\"object\"===typeof e&&null!==e&&e.$$typeof===o}var A=/\\/+/g,M=[];function P(e,t,n,r){if(M.length){var i=M.pop();return i.result=e,i.keyPrefix=t,i.func=n,i.context=r,i.count=0,i}return{result:e,keyPrefix:t,func:n,context:r,count:0}}function N(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>M.length&&M.push(e)}function D(e,t,n,r){var i=typeof e;\"undefined\"!==i&&\"boolean\"!==i||(e=null);var s=!1;if(null===e)s=!0;else switch(i){case\"string\":case\"number\":s=!0;break;case\"object\":switch(e.$$typeof){case o:case a:s=!0}}if(s)return n(r,e,\"\"===t?\".\"+I(e,0):t),1;if(s=0,t=\"\"===t?\".\":t+\":\",Array.isArray(e))for(var c=0;c<e.length;c++){var u=t+I(i=e[c],c);s+=D(i,u,n,r)}else if(null===e||\"object\"!==typeof e?u=null:u=\"function\"===typeof(u=y&&e[y]||e[\"@@iterator\"])?u:null,\"function\"===typeof u)for(e=u.call(e),c=0;!(i=e.next()).done;)s+=D(i=i.value,u=t+I(i,c++),n,r);else if(\"object\"===i)throw n=\"\"+e,Error(m(31,\"[object Object]\"===n?\"object with keys {\"+Object.keys(e).join(\", \")+\"}\":n,\"\"));return s}function R(e,t,n){return null==e?0:D(e,\"\",t,n)}function I(e,t){return\"object\"===typeof e&&null!==e&&null!=e.key?function(e){var t={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+(\"\"+e).replace(/[=:]/g,(function(e){return t[e]}))}(e.key):t.toString(36)}function L(e,t){e.func.call(e.context,t,e.count++)}function B(e,t,n){var r=e.result,i=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?F(e,r,n,(function(e){return e})):null!=e&&(j(e)&&(e=function(e,t){return{$$typeof:o,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(e,i+(!e.key||t&&t.key===e.key?\"\":(\"\"+e.key).replace(A,\"$&/\")+\"/\")+n)),r.push(e))}function F(e,t,n,r,i){var o=\"\";null!=n&&(o=(\"\"+n).replace(A,\"$&/\")+\"/\"),R(e,B,t=P(t,o,r,i)),N(t)}function z(){var e=O.current;if(null===e)throw Error(m(321));return e}var U={Children:{map:function(e,t,n){if(null==e)return e;var r=[];return F(e,r,null,t,n),r},forEach:function(e,t,n){if(null==e)return e;R(e,L,t=P(null,null,t,n)),N(t)},count:function(e){return R(e,(function(){return null}),null)},toArray:function(e){var t=[];return F(e,t,null,(function(e){return e})),t},only:function(e){if(!j(e))throw Error(m(143));return e}},createRef:function(){return{current:null}},Component:x,PureComponent:_,createContext:function(e,t){return void 0===t&&(t=null),(e={$$typeof:f,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:l,_context:e},e.Consumer=e},forwardRef:function(e){return{$$typeof:d,render:e}},lazy:function(e){return{$$typeof:g,_ctor:e,_status:-1,_result:null}},memo:function(e,t){return{$$typeof:p,type:e,compare:void 0===t?null:t}},useCallback:function(e,t){return z().useCallback(e,t)},useContext:function(e,t){return z().useContext(e,t)},useEffect:function(e,t){return z().useEffect(e,t)},useImperativeHandle:function(e,t,n){return z().useImperativeHandle(e,t,n)},useDebugValue:function(){},useLayoutEffect:function(e,t){return z().useLayoutEffect(e,t)},useMemo:function(e,t){return z().useMemo(e,t)},useReducer:function(e,t,n){return z().useReducer(e,t,n)},useRef:function(e){return z().useRef(e)},useState:function(e){return z().useState(e)},Fragment:s,Profiler:u,StrictMode:c,Suspense:h,createElement:T,cloneElement:function(e,t,n){if(null===e||void 0===e)throw Error(m(267,e));var i=r({},e.props),a=e.key,s=e.ref,c=e._owner;if(null!=t){if(void 0!==t.ref&&(s=t.ref,c=E.current),void 0!==t.key&&(a=\"\"+t.key),e.type&&e.type.defaultProps)var u=e.type.defaultProps;for(l in t)S.call(t,l)&&!C.hasOwnProperty(l)&&(i[l]=void 0===t[l]&&void 0!==u?u[l]:t[l])}var l=arguments.length-2;if(1===l)i.children=n;else if(1<l){u=Array(l);for(var f=0;f<l;f++)u[f]=arguments[f+2];i.children=u}return{$$typeof:o,type:e.type,key:a,ref:s,props:i,_owner:c}},createFactory:function(e){var t=T.bind(null,e);return t.type=e,t},isValidElement:j,version:\"16.12.0\",__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentDispatcher:O,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:E,IsSomeRendererActing:{current:!1},assign:r}},H={default:U},W=H&&U||H;e.exports=W.default||W},function(e,t,n){\"use strict\";var r=n(0),i=n(276),o=n(421);function a(e){for(var t=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,n=1;n<arguments.length;n++)t+=\"&args[]=\"+encodeURIComponent(arguments[n]);return\"Minified React error #\"+e+\"; visit \"+t+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}if(!r)throw Error(a(227));var s=null,c={};function u(){if(s)for(var e in c){var t=c[e],n=s.indexOf(e);if(!(-1<n))throw Error(a(96,e));if(!f[n]){if(!t.extractEvents)throw Error(a(97,e));for(var r in f[n]=t,n=t.eventTypes){var i=void 0,o=n[r],u=t,h=r;if(d.hasOwnProperty(h))throw Error(a(99,h));d[h]=o;var p=o.phasedRegistrationNames;if(p){for(i in p)p.hasOwnProperty(i)&&l(p[i],u,h);i=!0}else o.registrationName?(l(o.registrationName,u,h),i=!0):i=!1;if(!i)throw Error(a(98,r,e))}}}}function l(e,t,n){if(h[e])throw Error(a(100,e));h[e]=t,p[e]=t.eventTypes[n].dependencies}var f=[],d={},h={},p={};function g(e,t,n,r,i,o,a,s,c){var u=Array.prototype.slice.call(arguments,3);try{t.apply(n,u)}catch(l){this.onError(l)}}var y=!1,m=null,b=!1,v=null,x={onError:function(e){y=!0,m=e}};function w(e,t,n,r,i,o,a,s,c){y=!1,m=null,g.apply(x,arguments)}var _=null,k=null,O=null;function E(e,t,n){var r=e.type||\"unknown-event\";e.currentTarget=O(n),function(e,t,n,r,i,o,s,c,u){if(w.apply(this,arguments),y){if(!y)throw Error(a(198));var l=m;y=!1,m=null,b||(b=!0,v=l)}}(r,t,void 0,e),e.currentTarget=null}function S(e,t){if(null==t)throw Error(a(30));return null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}function C(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}var T=null;function j(e){if(e){var t=e._dispatchListeners,n=e._dispatchInstances;if(Array.isArray(t))for(var r=0;r<t.length&&!e.isPropagationStopped();r++)E(e,t[r],n[r]);else t&&E(e,t,n);e._dispatchListeners=null,e._dispatchInstances=null,e.isPersistent()||e.constructor.release(e)}}function A(e){if(null!==e&&(T=S(T,e)),e=T,T=null,e){if(C(e,j),T)throw Error(a(95));if(b)throw e=v,b=!1,v=null,e}}var M={injectEventPluginOrder:function(e){if(s)throw Error(a(101));s=Array.prototype.slice.call(e),u()},injectEventPluginsByName:function(e){var t,n=!1;for(t in e)if(e.hasOwnProperty(t)){var r=e[t];if(!c.hasOwnProperty(t)||c[t]!==r){if(c[t])throw Error(a(102,t));c[t]=r,n=!0}}n&&u()}};function P(e,t){var n=e.stateNode;if(!n)return null;var r=_(n);if(!r)return null;n=r[t];e:switch(t){case\"onClick\":case\"onClickCapture\":case\"onDoubleClick\":case\"onDoubleClickCapture\":case\"onMouseDown\":case\"onMouseDownCapture\":case\"onMouseMove\":case\"onMouseMoveCapture\":case\"onMouseUp\":case\"onMouseUpCapture\":(r=!r.disabled)||(r=!(\"button\"===(e=e.type)||\"input\"===e||\"select\"===e||\"textarea\"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&\"function\"!==typeof n)throw Error(a(231,t,typeof n));return n}var N=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;N.hasOwnProperty(\"ReactCurrentDispatcher\")||(N.ReactCurrentDispatcher={current:null}),N.hasOwnProperty(\"ReactCurrentBatchConfig\")||(N.ReactCurrentBatchConfig={suspense:null});var D=/^(.*)[\\\\\\/]/,R=\"function\"===typeof Symbol&&Symbol.for,I=R?Symbol.for(\"react.element\"):60103,L=R?Symbol.for(\"react.portal\"):60106,B=R?Symbol.for(\"react.fragment\"):60107,F=R?Symbol.for(\"react.strict_mode\"):60108,z=R?Symbol.for(\"react.profiler\"):60114,U=R?Symbol.for(\"react.provider\"):60109,H=R?Symbol.for(\"react.context\"):60110,W=R?Symbol.for(\"react.concurrent_mode\"):60111,Y=R?Symbol.for(\"react.forward_ref\"):60112,V=R?Symbol.for(\"react.suspense\"):60113,q=R?Symbol.for(\"react.suspense_list\"):60120,$=R?Symbol.for(\"react.memo\"):60115,G=R?Symbol.for(\"react.lazy\"):60116;R&&Symbol.for(\"react.fundamental\"),R&&Symbol.for(\"react.responder\"),R&&Symbol.for(\"react.scope\");var X=\"function\"===typeof Symbol&&Symbol.iterator;function K(e){return null===e||\"object\"!==typeof e?null:\"function\"===typeof(e=X&&e[X]||e[\"@@iterator\"])?e:null}function Z(e){if(null==e)return null;if(\"function\"===typeof e)return e.displayName||e.name||null;if(\"string\"===typeof e)return e;switch(e){case B:return\"Fragment\";case L:return\"Portal\";case z:return\"Profiler\";case F:return\"StrictMode\";case V:return\"Suspense\";case q:return\"SuspenseList\"}if(\"object\"===typeof e)switch(e.$$typeof){case H:return\"Context.Consumer\";case U:return\"Context.Provider\";case Y:var t=e.render;return t=t.displayName||t.name||\"\",e.displayName||(\"\"!==t?\"ForwardRef(\"+t+\")\":\"ForwardRef\");case $:return Z(e.type);case G:if(e=1===e._status?e._result:null)return Z(e)}return null}function J(e){var t=\"\";do{e:switch(e.tag){case 3:case 4:case 6:case 7:case 10:case 9:var n=\"\";break e;default:var r=e._debugOwner,i=e._debugSource,o=Z(e.type);n=null,r&&(n=Z(r.type)),r=o,o=\"\",i?o=\" (at \"+i.fileName.replace(D,\"\")+\":\"+i.lineNumber+\")\":n&&(o=\" (created by \"+n+\")\"),n=\"\\n    in \"+(r||\"Unknown\")+o}t+=n,e=e.return}while(e);return t}var Q=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ee=null,te=null,ne=null;function re(e){if(e=k(e)){if(\"function\"!==typeof ee)throw Error(a(280));var t=_(e.stateNode);ee(e.stateNode,e.type,t)}}function ie(e){te?ne?ne.push(e):ne=[e]:te=e}function oe(){if(te){var e=te,t=ne;if(ne=te=null,re(e),t)for(e=0;e<t.length;e++)re(t[e])}}function ae(e,t){return e(t)}function se(e,t,n,r){return e(t,n,r)}function ce(){}var ue=ae,le=!1,fe=!1;function de(){null===te&&null===ne||(ce(),oe())}new Map;var he=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,pe=Object.prototype.hasOwnProperty,ge={},ye={};function me(e,t,n,r,i,o){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o}var be={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach((function(e){be[e]=new me(e,0,!1,e,null,!1)})),[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach((function(e){var t=e[0];be[t]=new me(t,1,!1,e[1],null,!1)})),[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach((function(e){be[e]=new me(e,2,!1,e.toLowerCase(),null,!1)})),[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach((function(e){be[e]=new me(e,2,!1,e,null,!1)})),\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach((function(e){be[e]=new me(e,3,!1,e.toLowerCase(),null,!1)})),[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach((function(e){be[e]=new me(e,3,!0,e,null,!1)})),[\"capture\",\"download\"].forEach((function(e){be[e]=new me(e,4,!1,e,null,!1)})),[\"cols\",\"rows\",\"size\",\"span\"].forEach((function(e){be[e]=new me(e,6,!1,e,null,!1)})),[\"rowSpan\",\"start\"].forEach((function(e){be[e]=new me(e,5,!1,e.toLowerCase(),null,!1)}));var ve=/[\\-:]([a-z])/g;function xe(e){return e[1].toUpperCase()}function we(e){switch(typeof e){case\"boolean\":case\"number\":case\"object\":case\"string\":case\"undefined\":return e;default:return\"\"}}function _e(e,t,n,r){var i=be.hasOwnProperty(t)?be[t]:null;(null!==i?0===i.type:!r&&(2<t.length&&(\"o\"===t[0]||\"O\"===t[0])&&(\"n\"===t[1]||\"N\"===t[1])))||(function(e,t,n,r){if(null===t||\"undefined\"===typeof t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case\"function\":case\"symbol\":return!0;case\"boolean\":return!r&&(null!==n?!n.acceptsBooleans:\"data-\"!==(e=e.toLowerCase().slice(0,5))&&\"aria-\"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,i,r)&&(n=null),r||null===i?function(e){return!!pe.call(ye,e)||!pe.call(ge,e)&&(he.test(e)?ye[e]=!0:(ge[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,\"\"+n)):i.mustUseProperty?e[i.propertyName]=null===n?3!==i.type&&\"\":n:(t=i.attributeName,r=i.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(i=i.type)||4===i&&!0===n?\"\":\"\"+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}function ke(e){var t=e.type;return(e=e.nodeName)&&\"input\"===e.toLowerCase()&&(\"checkbox\"===t||\"radio\"===t)}function Oe(e){e._valueTracker||(e._valueTracker=function(e){var t=ke(e)?\"checked\":\"value\",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=\"\"+e[t];if(!e.hasOwnProperty(t)&&\"undefined\"!==typeof n&&\"function\"===typeof n.get&&\"function\"===typeof n.set){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){r=\"\"+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=\"\"+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function Ee(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=\"\";return e&&(r=ke(e)?e.checked?\"true\":\"false\":e.value),(e=r)!==n&&(t.setValue(e),!0)}function Se(e,t){var n=t.checked;return i({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function Ce(e,t){var n=null==t.defaultValue?\"\":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=we(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:\"checkbox\"===t.type||\"radio\"===t.type?null!=t.checked:null!=t.value}}function Te(e,t){null!=(t=t.checked)&&_e(e,\"checked\",t,!1)}function je(e,t){Te(e,t);var n=we(t.value),r=t.type;if(null!=n)\"number\"===r?(0===n&&\"\"===e.value||e.value!=n)&&(e.value=\"\"+n):e.value!==\"\"+n&&(e.value=\"\"+n);else if(\"submit\"===r||\"reset\"===r)return void e.removeAttribute(\"value\");t.hasOwnProperty(\"value\")?Me(e,t.type,n):t.hasOwnProperty(\"defaultValue\")&&Me(e,t.type,we(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function Ae(e,t,n){if(t.hasOwnProperty(\"value\")||t.hasOwnProperty(\"defaultValue\")){var r=t.type;if(!(\"submit\"!==r&&\"reset\"!==r||void 0!==t.value&&null!==t.value))return;t=\"\"+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}\"\"!==(n=e.name)&&(e.name=\"\"),e.defaultChecked=!e.defaultChecked,e.defaultChecked=!!e._wrapperState.initialChecked,\"\"!==n&&(e.name=n)}function Me(e,t,n){\"number\"===t&&e.ownerDocument.activeElement===e||(null==n?e.defaultValue=\"\"+e._wrapperState.initialValue:e.defaultValue!==\"\"+n&&(e.defaultValue=\"\"+n))}function Pe(e,t){return e=i({children:void 0},t),(t=function(e){var t=\"\";return r.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(t.children))&&(e.children=t),e}function Ne(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[\"$\"+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(\"$\"+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=\"\"+we(n),t=null,i=0;i<e.length;i++){if(e[i].value===n)return e[i].selected=!0,void(r&&(e[i].defaultSelected=!0));null!==t||e[i].disabled||(t=e[i])}null!==t&&(t.selected=!0)}}function De(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(a(91));return i({},t,{value:void 0,defaultValue:void 0,children:\"\"+e._wrapperState.initialValue})}function Re(e,t){var n=t.value;if(null==n){if(n=t.defaultValue,null!=(t=t.children)){if(null!=n)throw Error(a(92));if(Array.isArray(t)){if(!(1>=t.length))throw Error(a(93));t=t[0]}n=t}null==n&&(n=\"\")}e._wrapperState={initialValue:we(n)}}function Ie(e,t){var n=we(t.value),r=we(t.defaultValue);null!=n&&((n=\"\"+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=\"\"+r)}function Le(e){var t=e.textContent;t===e._wrapperState.initialValue&&\"\"!==t&&null!==t&&(e.value=t)}\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach((function(e){var t=e.replace(ve,xe);be[t]=new me(t,1,!1,e,null,!1)})),\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach((function(e){var t=e.replace(ve,xe);be[t]=new me(t,1,!1,e,\"http://www.w3.org/1999/xlink\",!1)})),[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach((function(e){var t=e.replace(ve,xe);be[t]=new me(t,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1)})),[\"tabIndex\",\"crossOrigin\"].forEach((function(e){be[e]=new me(e,1,!1,e.toLowerCase(),null,!1)})),be.xlinkHref=new me(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0),[\"src\",\"href\",\"action\",\"formAction\"].forEach((function(e){be[e]=new me(e,1,!1,e.toLowerCase(),null,!0)}));var Be=\"http://www.w3.org/1999/xhtml\",Fe=\"http://www.w3.org/2000/svg\";function ze(e){switch(e){case\"svg\":return\"http://www.w3.org/2000/svg\";case\"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Ue(e,t){return null==e||\"http://www.w3.org/1999/xhtml\"===e?ze(t):\"http://www.w3.org/2000/svg\"===e&&\"foreignObject\"===t?\"http://www.w3.org/1999/xhtml\":e}var He,We,Ye=(We=function(e,t){if(e.namespaceURI!==Fe||\"innerHTML\"in e)e.innerHTML=t;else{for((He=He||document.createElement(\"div\")).innerHTML=\"<svg>\"+t.valueOf().toString()+\"</svg>\",t=He.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return We(e,t)}))}:We);function Ve(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}function qe(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[\"Webkit\"+e]=\"webkit\"+t,n[\"Moz\"+e]=\"moz\"+t,n}var $e={animationend:qe(\"Animation\",\"AnimationEnd\"),animationiteration:qe(\"Animation\",\"AnimationIteration\"),animationstart:qe(\"Animation\",\"AnimationStart\"),transitionend:qe(\"Transition\",\"TransitionEnd\")},Ge={},Xe={};function Ke(e){if(Ge[e])return Ge[e];if(!$e[e])return e;var t,n=$e[e];for(t in n)if(n.hasOwnProperty(t)&&t in Xe)return Ge[e]=n[t];return e}Q&&(Xe=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete $e.animationend.animation,delete $e.animationiteration.animation,delete $e.animationstart.animation),\"TransitionEvent\"in window||delete $e.transitionend.transition);var Ze=Ke(\"animationend\"),Je=Ke(\"animationiteration\"),Qe=Ke(\"animationstart\"),et=Ke(\"transitionend\"),tt=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \");function nt(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!==(1026&(t=e).effectTag)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function rt(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function it(e){if(nt(e)!==e)throw Error(a(188))}function ot(e){if(e=function(e){var t=e.alternate;if(!t){if(null===(t=nt(e)))throw Error(a(188));return t!==e?null:e}for(var n=e,r=t;;){var i=n.return;if(null===i)break;var o=i.alternate;if(null===o){if(null!==(r=i.return)){n=r;continue}break}if(i.child===o.child){for(o=i.child;o;){if(o===n)return it(i),e;if(o===r)return it(i),t;o=o.sibling}throw Error(a(188))}if(n.return!==r.return)n=i,r=o;else{for(var s=!1,c=i.child;c;){if(c===n){s=!0,n=i,r=o;break}if(c===r){s=!0,r=i,n=o;break}c=c.sibling}if(!s){for(c=o.child;c;){if(c===n){s=!0,n=o,r=i;break}if(c===r){s=!0,r=o,n=i;break}c=c.sibling}if(!s)throw Error(a(189))}}if(n.alternate!==r)throw Error(a(190))}if(3!==n.tag)throw Error(a(188));return n.stateNode.current===n?e:t}(e),!e)return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}var at,st,ct,ut=!1,lt=[],ft=null,dt=null,ht=null,pt=new Map,gt=new Map,yt=[],mt=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit\".split(\" \"),bt=\"focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture\".split(\" \");function vt(e,t,n,r){return{blockedOn:e,topLevelType:t,eventSystemFlags:32|n,nativeEvent:r}}function xt(e,t){switch(e){case\"focus\":case\"blur\":ft=null;break;case\"dragenter\":case\"dragleave\":dt=null;break;case\"mouseover\":case\"mouseout\":ht=null;break;case\"pointerover\":case\"pointerout\":pt.delete(t.pointerId);break;case\"gotpointercapture\":case\"lostpointercapture\":gt.delete(t.pointerId)}}function wt(e,t,n,r,i){return null===e||e.nativeEvent!==i?(e=vt(t,n,r,i),null!==t&&(null!==(t=hr(t))&&st(t)),e):(e.eventSystemFlags|=r,e)}function _t(e){var t=dr(e.target);if(null!==t){var n=nt(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=rt(n)))return e.blockedOn=t,void o.unstable_runWithPriority(e.priority,(function(){ct(n)}))}else if(3===t&&n.stateNode.hydrate)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function kt(e){if(null!==e.blockedOn)return!1;var t=Pn(e.topLevelType,e.eventSystemFlags,e.nativeEvent);if(null!==t){var n=hr(t);return null!==n&&st(n),e.blockedOn=t,!1}return!0}function Ot(e,t,n){kt(e)&&n.delete(t)}function Et(){for(ut=!1;0<lt.length;){var e=lt[0];if(null!==e.blockedOn){null!==(e=hr(e.blockedOn))&&at(e);break}var t=Pn(e.topLevelType,e.eventSystemFlags,e.nativeEvent);null!==t?e.blockedOn=t:lt.shift()}null!==ft&&kt(ft)&&(ft=null),null!==dt&&kt(dt)&&(dt=null),null!==ht&&kt(ht)&&(ht=null),pt.forEach(Ot),gt.forEach(Ot)}function St(e,t){e.blockedOn===t&&(e.blockedOn=null,ut||(ut=!0,o.unstable_scheduleCallback(o.unstable_NormalPriority,Et)))}function Ct(e){function t(t){return St(t,e)}if(0<lt.length){St(lt[0],e);for(var n=1;n<lt.length;n++){var r=lt[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==ft&&St(ft,e),null!==dt&&St(dt,e),null!==ht&&St(ht,e),pt.forEach(t),gt.forEach(t),n=0;n<yt.length;n++)(r=yt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<yt.length&&null===(n=yt[0]).blockedOn;)_t(n),null===n.blockedOn&&yt.shift()}function Tt(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}function jt(e){do{e=e.return}while(e&&5!==e.tag);return e||null}function At(e,t,n){(t=P(e,n.dispatchConfig.phasedRegistrationNames[t]))&&(n._dispatchListeners=S(n._dispatchListeners,t),n._dispatchInstances=S(n._dispatchInstances,e))}function Mt(e){if(e&&e.dispatchConfig.phasedRegistrationNames){for(var t=e._targetInst,n=[];t;)n.push(t),t=jt(t);for(t=n.length;0<t--;)At(n[t],\"captured\",e);for(t=0;t<n.length;t++)At(n[t],\"bubbled\",e)}}function Pt(e,t,n){e&&n&&n.dispatchConfig.registrationName&&(t=P(e,n.dispatchConfig.registrationName))&&(n._dispatchListeners=S(n._dispatchListeners,t),n._dispatchInstances=S(n._dispatchInstances,e))}function Nt(e){e&&e.dispatchConfig.registrationName&&Pt(e._targetInst,null,e)}function Dt(e){C(e,Mt)}function Rt(){return!0}function It(){return!1}function Lt(e,t,n,r){for(var i in this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=n,e=this.constructor.Interface)e.hasOwnProperty(i)&&((t=e[i])?this[i]=t(n):\"target\"===i?this.target=r:this[i]=n[i]);return this.isDefaultPrevented=(null!=n.defaultPrevented?n.defaultPrevented:!1===n.returnValue)?Rt:It,this.isPropagationStopped=It,this}function Bt(e,t,n,r){if(this.eventPool.length){var i=this.eventPool.pop();return this.call(i,e,t,n,r),i}return new this(e,t,n,r)}function Ft(e){if(!(e instanceof this))throw Error(a(279));e.destructor(),10>this.eventPool.length&&this.eventPool.push(e)}function zt(e){e.eventPool=[],e.getPooled=Bt,e.release=Ft}i(Lt.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():\"unknown\"!==typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=Rt)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():\"unknown\"!==typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=Rt)},persist:function(){this.isPersistent=Rt},isPersistent:It,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=It,this._dispatchInstances=this._dispatchListeners=null}}),Lt.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},Lt.extend=function(e){function t(){}function n(){return r.apply(this,arguments)}var r=this;t.prototype=r.prototype;var o=new t;return i(o,n.prototype),n.prototype=o,n.prototype.constructor=n,n.Interface=i({},r.Interface,e),n.extend=r.extend,zt(n),n},zt(Lt);var Ut=Lt.extend({animationName:null,elapsedTime:null,pseudoElement:null}),Ht=Lt.extend({clipboardData:function(e){return\"clipboardData\"in e?e.clipboardData:window.clipboardData}}),Wt=Lt.extend({view:null,detail:null}),Yt=Wt.extend({relatedTarget:null});function Vt(e){var t=e.keyCode;return\"charCode\"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}var qt={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},$t={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Gt={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Xt(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Gt[e])&&!!t[e]}function Kt(){return Xt}for(var Zt=Wt.extend({key:function(e){if(e.key){var t=qt[e.key]||e.key;if(\"Unidentified\"!==t)return t}return\"keypress\"===e.type?13===(e=Vt(e))?\"Enter\":String.fromCharCode(e):\"keydown\"===e.type||\"keyup\"===e.type?$t[e.keyCode]||\"Unidentified\":\"\"},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Kt,charCode:function(e){return\"keypress\"===e.type?Vt(e):0},keyCode:function(e){return\"keydown\"===e.type||\"keyup\"===e.type?e.keyCode:0},which:function(e){return\"keypress\"===e.type?Vt(e):\"keydown\"===e.type||\"keyup\"===e.type?e.keyCode:0}}),Jt=0,Qt=0,en=!1,tn=!1,nn=Wt.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:Kt,button:null,buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},movementX:function(e){if(\"movementX\"in e)return e.movementX;var t=Jt;return Jt=e.screenX,en?\"mousemove\"===e.type?e.screenX-t:0:(en=!0,0)},movementY:function(e){if(\"movementY\"in e)return e.movementY;var t=Qt;return Qt=e.screenY,tn?\"mousemove\"===e.type?e.screenY-t:0:(tn=!0,0)}}),rn=nn.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),on=nn.extend({dataTransfer:null}),an=Wt.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Kt}),sn=Lt.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),cn=nn.extend({deltaX:function(e){return\"deltaX\"in e?e.deltaX:\"wheelDeltaX\"in e?-e.wheelDeltaX:0},deltaY:function(e){return\"deltaY\"in e?e.deltaY:\"wheelDeltaY\"in e?-e.wheelDeltaY:\"wheelDelta\"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null}),un=[[\"blur\",\"blur\",0],[\"cancel\",\"cancel\",0],[\"click\",\"click\",0],[\"close\",\"close\",0],[\"contextmenu\",\"contextMenu\",0],[\"copy\",\"copy\",0],[\"cut\",\"cut\",0],[\"auxclick\",\"auxClick\",0],[\"dblclick\",\"doubleClick\",0],[\"dragend\",\"dragEnd\",0],[\"dragstart\",\"dragStart\",0],[\"drop\",\"drop\",0],[\"focus\",\"focus\",0],[\"input\",\"input\",0],[\"invalid\",\"invalid\",0],[\"keydown\",\"keyDown\",0],[\"keypress\",\"keyPress\",0],[\"keyup\",\"keyUp\",0],[\"mousedown\",\"mouseDown\",0],[\"mouseup\",\"mouseUp\",0],[\"paste\",\"paste\",0],[\"pause\",\"pause\",0],[\"play\",\"play\",0],[\"pointercancel\",\"pointerCancel\",0],[\"pointerdown\",\"pointerDown\",0],[\"pointerup\",\"pointerUp\",0],[\"ratechange\",\"rateChange\",0],[\"reset\",\"reset\",0],[\"seeked\",\"seeked\",0],[\"submit\",\"submit\",0],[\"touchcancel\",\"touchCancel\",0],[\"touchend\",\"touchEnd\",0],[\"touchstart\",\"touchStart\",0],[\"volumechange\",\"volumeChange\",0],[\"drag\",\"drag\",1],[\"dragenter\",\"dragEnter\",1],[\"dragexit\",\"dragExit\",1],[\"dragleave\",\"dragLeave\",1],[\"dragover\",\"dragOver\",1],[\"mousemove\",\"mouseMove\",1],[\"mouseout\",\"mouseOut\",1],[\"mouseover\",\"mouseOver\",1],[\"pointermove\",\"pointerMove\",1],[\"pointerout\",\"pointerOut\",1],[\"pointerover\",\"pointerOver\",1],[\"scroll\",\"scroll\",1],[\"toggle\",\"toggle\",1],[\"touchmove\",\"touchMove\",1],[\"wheel\",\"wheel\",1],[\"abort\",\"abort\",2],[Ze,\"animationEnd\",2],[Je,\"animationIteration\",2],[Qe,\"animationStart\",2],[\"canplay\",\"canPlay\",2],[\"canplaythrough\",\"canPlayThrough\",2],[\"durationchange\",\"durationChange\",2],[\"emptied\",\"emptied\",2],[\"encrypted\",\"encrypted\",2],[\"ended\",\"ended\",2],[\"error\",\"error\",2],[\"gotpointercapture\",\"gotPointerCapture\",2],[\"load\",\"load\",2],[\"loadeddata\",\"loadedData\",2],[\"loadedmetadata\",\"loadedMetadata\",2],[\"loadstart\",\"loadStart\",2],[\"lostpointercapture\",\"lostPointerCapture\",2],[\"playing\",\"playing\",2],[\"progress\",\"progress\",2],[\"seeking\",\"seeking\",2],[\"stalled\",\"stalled\",2],[\"suspend\",\"suspend\",2],[\"timeupdate\",\"timeUpdate\",2],[et,\"transitionEnd\",2],[\"waiting\",\"waiting\",2]],ln={},fn={},dn=0;dn<un.length;dn++){var hn=un[dn],pn=hn[0],gn=hn[1],yn=hn[2],mn=\"on\"+(gn[0].toUpperCase()+gn.slice(1)),bn={phasedRegistrationNames:{bubbled:mn,captured:mn+\"Capture\"},dependencies:[pn],eventPriority:yn};ln[gn]=bn,fn[pn]=bn}var vn={eventTypes:ln,getEventPriority:function(e){return void 0!==(e=fn[e])?e.eventPriority:2},extractEvents:function(e,t,n,r){var i=fn[e];if(!i)return null;switch(e){case\"keypress\":if(0===Vt(n))return null;case\"keydown\":case\"keyup\":e=Zt;break;case\"blur\":case\"focus\":e=Yt;break;case\"click\":if(2===n.button)return null;case\"auxclick\":case\"dblclick\":case\"mousedown\":case\"mousemove\":case\"mouseup\":case\"mouseout\":case\"mouseover\":case\"contextmenu\":e=nn;break;case\"drag\":case\"dragend\":case\"dragenter\":case\"dragexit\":case\"dragleave\":case\"dragover\":case\"dragstart\":case\"drop\":e=on;break;case\"touchcancel\":case\"touchend\":case\"touchmove\":case\"touchstart\":e=an;break;case Ze:case Je:case Qe:e=Ut;break;case et:e=sn;break;case\"scroll\":e=Wt;break;case\"wheel\":e=cn;break;case\"copy\":case\"cut\":case\"paste\":e=Ht;break;case\"gotpointercapture\":case\"lostpointercapture\":case\"pointercancel\":case\"pointerdown\":case\"pointermove\":case\"pointerout\":case\"pointerover\":case\"pointerup\":e=rn;break;default:e=Lt}return Dt(t=e.getPooled(i,t,n,r)),t}},xn=o.unstable_UserBlockingPriority,wn=o.unstable_runWithPriority,_n=vn.getEventPriority,kn=[];function On(e){var t=e.targetInst,n=t;do{if(!n){e.ancestors.push(n);break}var r=n;if(3===r.tag)r=r.stateNode.containerInfo;else{for(;r.return;)r=r.return;r=3!==r.tag?null:r.stateNode.containerInfo}if(!r)break;5!==(t=n.tag)&&6!==t||e.ancestors.push(n),n=dr(r)}while(n);for(n=0;n<e.ancestors.length;n++){t=e.ancestors[n];var i=Tt(e.nativeEvent);r=e.topLevelType;for(var o=e.nativeEvent,a=e.eventSystemFlags,s=null,c=0;c<f.length;c++){var u=f[c];u&&(u=u.extractEvents(r,t,o,i,a))&&(s=S(s,u))}A(s)}}var En=!0;function Sn(e,t){Cn(t,e,!1)}function Cn(e,t,n){switch(_n(t)){case 0:var r=Tn.bind(null,t,1);break;case 1:r=jn.bind(null,t,1);break;default:r=Mn.bind(null,t,1)}n?e.addEventListener(t,r,!0):e.addEventListener(t,r,!1)}function Tn(e,t,n){le||ce();var r=Mn,i=le;le=!0;try{se(r,e,t,n)}finally{(le=i)||de()}}function jn(e,t,n){wn(xn,Mn.bind(null,e,t,n))}function An(e,t,n,r){if(kn.length){var i=kn.pop();i.topLevelType=e,i.eventSystemFlags=t,i.nativeEvent=n,i.targetInst=r,e=i}else e={topLevelType:e,eventSystemFlags:t,nativeEvent:n,targetInst:r,ancestors:[]};try{if(t=On,n=e,fe)t(n,void 0);else{fe=!0;try{ue(t,n,void 0)}finally{fe=!1,de()}}}finally{e.topLevelType=null,e.nativeEvent=null,e.targetInst=null,e.ancestors.length=0,kn.length<10&&kn.push(e)}}function Mn(e,t,n){if(En)if(0<lt.length&&-1<mt.indexOf(e))e=vt(null,e,t,n),lt.push(e);else{var r=Pn(e,t,n);null===r?xt(e,n):-1<mt.indexOf(e)?(e=vt(r,e,t,n),lt.push(e)):function(e,t,n,r){switch(t){case\"focus\":return ft=wt(ft,e,t,n,r),!0;case\"dragenter\":return dt=wt(dt,e,t,n,r),!0;case\"mouseover\":return ht=wt(ht,e,t,n,r),!0;case\"pointerover\":var i=r.pointerId;return pt.set(i,wt(pt.get(i)||null,e,t,n,r)),!0;case\"gotpointercapture\":return i=r.pointerId,gt.set(i,wt(gt.get(i)||null,e,t,n,r)),!0}return!1}(r,e,t,n)||(xt(e,n),An(e,t,n,null))}}function Pn(e,t,n){var r=Tt(n);if(null!==(r=dr(r))){var i=nt(r);if(null===i)r=null;else{var o=i.tag;if(13===o){if(null!==(r=rt(i)))return r;r=null}else if(3===o){if(i.stateNode.hydrate)return 3===i.tag?i.stateNode.containerInfo:null;r=null}else i!==r&&(r=null)}}return An(e,t,n,r),null}function Nn(e){if(!Q)return!1;var t=(e=\"on\"+e)in document;return t||((t=document.createElement(\"div\")).setAttribute(e,\"return;\"),t=\"function\"===typeof t[e]),t}var Dn=new(\"function\"===typeof WeakMap?WeakMap:Map);function Rn(e){var t=Dn.get(e);return void 0===t&&(t=new Set,Dn.set(e,t)),t}function In(e,t,n){if(!n.has(e)){switch(e){case\"scroll\":Cn(t,\"scroll\",!0);break;case\"focus\":case\"blur\":Cn(t,\"focus\",!0),Cn(t,\"blur\",!0),n.add(\"blur\"),n.add(\"focus\");break;case\"cancel\":case\"close\":Nn(e)&&Cn(t,e,!0);break;case\"invalid\":case\"submit\":case\"reset\":break;default:-1===tt.indexOf(e)&&Sn(e,t)}n.add(e)}}var Ln={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Bn=[\"Webkit\",\"ms\",\"Moz\",\"O\"];function Fn(e,t,n){return null==t||\"boolean\"===typeof t||\"\"===t?\"\":n||\"number\"!==typeof t||0===t||Ln.hasOwnProperty(e)&&Ln[e]?(\"\"+t).trim():t+\"px\"}function zn(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf(\"--\"),i=Fn(n,t[n],r);\"float\"===n&&(n=\"cssFloat\"),r?e.setProperty(n,i):e[n]=i}}Object.keys(Ln).forEach((function(e){Bn.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ln[t]=Ln[e]}))}));var Un=i({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Hn(e,t){if(t){if(Un[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(a(137,e,\"\"));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(a(60));if(\"object\"!==typeof t.dangerouslySetInnerHTML||!(\"__html\"in t.dangerouslySetInnerHTML))throw Error(a(61))}if(null!=t.style&&\"object\"!==typeof t.style)throw Error(a(62,\"\"))}}function Wn(e,t){if(-1===e.indexOf(\"-\"))return\"string\"===typeof t.is;switch(e){case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return!1;default:return!0}}function Yn(e,t){var n=Rn(e=9===e.nodeType||11===e.nodeType?e:e.ownerDocument);t=p[t];for(var r=0;r<t.length;r++)In(t[r],e,n)}function Vn(){}function qn(e){if(\"undefined\"===typeof(e=e||(\"undefined\"!==typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function $n(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Gn(e,t){var n,r=$n(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=$n(r)}}function Xn(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?Xn(e,t.parentNode):\"contains\"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function Kn(){for(var e=window,t=qn();t instanceof e.HTMLIFrameElement;){try{var n=\"string\"===typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=qn((e=t.contentWindow).document)}return t}function Zn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(\"input\"===t&&(\"text\"===e.type||\"search\"===e.type||\"tel\"===e.type||\"url\"===e.type||\"password\"===e.type)||\"textarea\"===t||\"true\"===e.contentEditable)}var Jn=\"$?\",Qn=\"$!\",er=null,tr=null;function nr(e,t){switch(e){case\"button\":case\"input\":case\"select\":case\"textarea\":return!!t.autoFocus}return!1}function rr(e,t){return\"textarea\"===e||\"option\"===e||\"noscript\"===e||\"string\"===typeof t.children||\"number\"===typeof t.children||\"object\"===typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ir=\"function\"===typeof setTimeout?setTimeout:void 0,or=\"function\"===typeof clearTimeout?clearTimeout:void 0;function ar(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function sr(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if(\"$\"===n||n===Qn||n===Jn){if(0===t)return e;t--}else\"/$\"===n&&t++}e=e.previousSibling}return null}var cr=Math.random().toString(36).slice(2),ur=\"__reactInternalInstance$\"+cr,lr=\"__reactEventHandlers$\"+cr,fr=\"__reactContainere$\"+cr;function dr(e){var t=e[ur];if(t)return t;for(var n=e.parentNode;n;){if(t=n[fr]||n[ur]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=sr(e);null!==e;){if(n=e[ur])return n;e=sr(e)}return t}n=(e=n).parentNode}return null}function hr(e){return!(e=e[ur]||e[fr])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function pr(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(a(33))}function gr(e){return e[lr]||null}var yr=null,mr=null,br=null;function vr(){if(br)return br;var e,t,n=mr,r=n.length,i=\"value\"in yr?yr.value:yr.textContent,o=i.length;for(e=0;e<r&&n[e]===i[e];e++);var a=r-e;for(t=1;t<=a&&n[r-t]===i[o-t];t++);return br=i.slice(e,1<t?1-t:void 0)}var xr=Lt.extend({data:null}),wr=Lt.extend({data:null}),_r=[9,13,27,32],kr=Q&&\"CompositionEvent\"in window,Or=null;Q&&\"documentMode\"in document&&(Or=document.documentMode);var Er=Q&&\"TextEvent\"in window&&!Or,Sr=Q&&(!kr||Or&&8<Or&&11>=Or),Cr=String.fromCharCode(32),Tr={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",captured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},jr=!1;function Ar(e,t){switch(e){case\"keyup\":return-1!==_r.indexOf(t.keyCode);case\"keydown\":return 229!==t.keyCode;case\"keypress\":case\"mousedown\":case\"blur\":return!0;default:return!1}}function Mr(e){return\"object\"===typeof(e=e.detail)&&\"data\"in e?e.data:null}var Pr=!1;var Nr={eventTypes:Tr,extractEvents:function(e,t,n,r){var i;if(kr)e:{switch(e){case\"compositionstart\":var o=Tr.compositionStart;break e;case\"compositionend\":o=Tr.compositionEnd;break e;case\"compositionupdate\":o=Tr.compositionUpdate;break e}o=void 0}else Pr?Ar(e,n)&&(o=Tr.compositionEnd):\"keydown\"===e&&229===n.keyCode&&(o=Tr.compositionStart);return o?(Sr&&\"ko\"!==n.locale&&(Pr||o!==Tr.compositionStart?o===Tr.compositionEnd&&Pr&&(i=vr()):(mr=\"value\"in(yr=r)?yr.value:yr.textContent,Pr=!0)),o=xr.getPooled(o,t,n,r),i?o.data=i:null!==(i=Mr(n))&&(o.data=i),Dt(o),i=o):i=null,(e=Er?function(e,t){switch(e){case\"compositionend\":return Mr(t);case\"keypress\":return 32!==t.which?null:(jr=!0,Cr);case\"textInput\":return(e=t.data)===Cr&&jr?null:e;default:return null}}(e,n):function(e,t){if(Pr)return\"compositionend\"===e||!kr&&Ar(e,t)?(e=vr(),br=mr=yr=null,Pr=!1,e):null;switch(e){default:return null;case\"keypress\":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case\"compositionend\":return Sr&&\"ko\"!==t.locale?null:t.data}}(e,n))?((t=wr.getPooled(Tr.beforeInput,t,n,r)).data=e,Dt(t)):t=null,null===i?t:null===t?i:[i,t]}},Dr={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Rr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return\"input\"===t?!!Dr[e.type]:\"textarea\"===t}var Ir={change:{phasedRegistrationNames:{bubbled:\"onChange\",captured:\"onChangeCapture\"},dependencies:\"blur change click focus input keydown keyup selectionchange\".split(\" \")}};function Lr(e,t,n){return(e=Lt.getPooled(Ir.change,e,t,n)).type=\"change\",ie(n),Dt(e),e}var Br=null,Fr=null;function zr(e){A(e)}function Ur(e){if(Ee(pr(e)))return e}function Hr(e,t){if(\"change\"===e)return t}var Wr=!1;function Yr(){Br&&(Br.detachEvent(\"onpropertychange\",Vr),Fr=Br=null)}function Vr(e){if(\"value\"===e.propertyName&&Ur(Fr))if(e=Lr(Fr,e,Tt(e)),le)A(e);else{le=!0;try{ae(zr,e)}finally{le=!1,de()}}}function qr(e,t,n){\"focus\"===e?(Yr(),Fr=n,(Br=t).attachEvent(\"onpropertychange\",Vr)):\"blur\"===e&&Yr()}function $r(e){if(\"selectionchange\"===e||\"keyup\"===e||\"keydown\"===e)return Ur(Fr)}function Gr(e,t){if(\"click\"===e)return Ur(t)}function Xr(e,t){if(\"input\"===e||\"change\"===e)return Ur(t)}Q&&(Wr=Nn(\"input\")&&(!document.documentMode||9<document.documentMode));var Kr,Zr={eventTypes:Ir,_isInputEventSupported:Wr,extractEvents:function(e,t,n,r){var i=t?pr(t):window,o=i.nodeName&&i.nodeName.toLowerCase();if(\"select\"===o||\"input\"===o&&\"file\"===i.type)var a=Hr;else if(Rr(i))if(Wr)a=Xr;else{a=$r;var s=qr}else(o=i.nodeName)&&\"input\"===o.toLowerCase()&&(\"checkbox\"===i.type||\"radio\"===i.type)&&(a=Gr);if(a&&(a=a(e,t)))return Lr(a,n,r);s&&s(e,i,t),\"blur\"===e&&(e=i._wrapperState)&&e.controlled&&\"number\"===i.type&&Me(i,\"number\",i.value)}},Jr={mouseEnter:{registrationName:\"onMouseEnter\",dependencies:[\"mouseout\",\"mouseover\"]},mouseLeave:{registrationName:\"onMouseLeave\",dependencies:[\"mouseout\",\"mouseover\"]},pointerEnter:{registrationName:\"onPointerEnter\",dependencies:[\"pointerout\",\"pointerover\"]},pointerLeave:{registrationName:\"onPointerLeave\",dependencies:[\"pointerout\",\"pointerover\"]}},Qr={eventTypes:Jr,extractEvents:function(e,t,n,r,i){var o=\"mouseover\"===e||\"pointerover\"===e,a=\"mouseout\"===e||\"pointerout\"===e;if(o&&0===(32&i)&&(n.relatedTarget||n.fromElement)||!a&&!o)return null;if(i=r.window===r?r:(i=r.ownerDocument)?i.defaultView||i.parentWindow:window,a?(a=t,null!==(t=(t=n.relatedTarget||n.toElement)?dr(t):null)&&(t!==(o=nt(t))||5!==t.tag&&6!==t.tag)&&(t=null)):a=null,a===t)return null;if(\"mouseout\"===e||\"mouseover\"===e)var s=nn,c=Jr.mouseLeave,u=Jr.mouseEnter,l=\"mouse\";else\"pointerout\"!==e&&\"pointerover\"!==e||(s=rn,c=Jr.pointerLeave,u=Jr.pointerEnter,l=\"pointer\");if(e=null==a?i:pr(a),i=null==t?i:pr(t),(c=s.getPooled(c,a,n,r)).type=l+\"leave\",c.target=e,c.relatedTarget=i,(r=s.getPooled(u,t,n,r)).type=l+\"enter\",r.target=i,r.relatedTarget=e,l=t,(s=a)&&l)e:{for(e=l,a=0,t=u=s;t;t=jt(t))a++;for(t=0,i=e;i;i=jt(i))t++;for(;0<a-t;)u=jt(u),a--;for(;0<t-a;)e=jt(e),t--;for(;a--;){if(u===e||u===e.alternate)break e;u=jt(u),e=jt(e)}u=null}else u=null;for(e=u,u=[];s&&s!==e&&(null===(a=s.alternate)||a!==e);)u.push(s),s=jt(s);for(s=[];l&&l!==e&&(null===(a=l.alternate)||a!==e);)s.push(l),l=jt(l);for(l=0;l<u.length;l++)Pt(u[l],\"bubbled\",c);for(l=s.length;0<l--;)Pt(s[l],\"captured\",r);return n===Kr?(Kr=null,[c]):(Kr=n,[c,r])}};var ei=\"function\"===typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e===1/t)||e!==e&&t!==t},ti=Object.prototype.hasOwnProperty;function ni(e,t){if(ei(e,t))return!0;if(\"object\"!==typeof e||null===e||\"object\"!==typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++)if(!ti.call(t,n[r])||!ei(e[n[r]],t[n[r]]))return!1;return!0}var ri=Q&&\"documentMode\"in document&&11>=document.documentMode,ii={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},oi=null,ai=null,si=null,ci=!1;function ui(e,t){var n=t.window===t?t.document:9===t.nodeType?t:t.ownerDocument;return ci||null==oi||oi!==qn(n)?null:(\"selectionStart\"in(n=oi)&&Zn(n)?n={start:n.selectionStart,end:n.selectionEnd}:n={anchorNode:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset},si&&ni(si,n)?null:(si=n,(e=Lt.getPooled(ii.select,ai,e,t)).type=\"select\",e.target=oi,Dt(e),e))}var li={eventTypes:ii,extractEvents:function(e,t,n,r){var i,o=r.window===r?r.document:9===r.nodeType?r:r.ownerDocument;if(!(i=!o)){e:{o=Rn(o),i=p.onSelect;for(var a=0;a<i.length;a++)if(!o.has(i[a])){o=!1;break e}o=!0}i=!o}if(i)return null;switch(o=t?pr(t):window,e){case\"focus\":(Rr(o)||\"true\"===o.contentEditable)&&(oi=o,ai=t,si=null);break;case\"blur\":si=ai=oi=null;break;case\"mousedown\":ci=!0;break;case\"contextmenu\":case\"mouseup\":case\"dragend\":return ci=!1,ui(n,r);case\"selectionchange\":if(ri)break;case\"keydown\":case\"keyup\":return ui(n,r)}return null}};M.injectEventPluginOrder(\"ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin\".split(\" \")),_=gr,k=hr,O=pr,M.injectEventPluginsByName({SimpleEventPlugin:vn,EnterLeaveEventPlugin:Qr,ChangeEventPlugin:Zr,SelectEventPlugin:li,BeforeInputEventPlugin:Nr}),new Set;var fi=[],di=-1;function hi(e){0>di||(e.current=fi[di],fi[di]=null,di--)}function pi(e,t){di++,fi[di]=e.current,e.current=t}var gi={},yi={current:gi},mi={current:!1},bi=gi;function vi(e,t){var n=e.type.contextTypes;if(!n)return gi;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i,o={};for(i in n)o[i]=t[i];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function xi(e){return null!==(e=e.childContextTypes)&&void 0!==e}function wi(e){hi(mi),hi(yi)}function _i(e){hi(mi),hi(yi)}function ki(e,t,n){if(yi.current!==gi)throw Error(a(168));pi(yi,t),pi(mi,n)}function Oi(e,t,n){var r=e.stateNode;if(e=t.childContextTypes,\"function\"!==typeof r.getChildContext)return n;for(var o in r=r.getChildContext())if(!(o in e))throw Error(a(108,Z(t)||\"Unknown\",o));return i({},n,{},r)}function Ei(e){var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||gi,bi=yi.current,pi(yi,t),pi(mi,mi.current),!0}function Si(e,t,n){var r=e.stateNode;if(!r)throw Error(a(169));n?(t=Oi(e,t,bi),r.__reactInternalMemoizedMergedChildContext=t,hi(mi),hi(yi),pi(yi,t)):hi(mi),pi(mi,n)}var Ci=o.unstable_runWithPriority,Ti=o.unstable_scheduleCallback,ji=o.unstable_cancelCallback,Ai=o.unstable_shouldYield,Mi=o.unstable_requestPaint,Pi=o.unstable_now,Ni=o.unstable_getCurrentPriorityLevel,Di=o.unstable_ImmediatePriority,Ri=o.unstable_UserBlockingPriority,Ii=o.unstable_NormalPriority,Li=o.unstable_LowPriority,Bi=o.unstable_IdlePriority,Fi={},zi=void 0!==Mi?Mi:function(){},Ui=null,Hi=null,Wi=!1,Yi=Pi(),Vi=1e4>Yi?Pi:function(){return Pi()-Yi};function qi(){switch(Ni()){case Di:return 99;case Ri:return 98;case Ii:return 97;case Li:return 96;case Bi:return 95;default:throw Error(a(332))}}function $i(e){switch(e){case 99:return Di;case 98:return Ri;case 97:return Ii;case 96:return Li;case 95:return Bi;default:throw Error(a(332))}}function Gi(e,t){return e=$i(e),Ci(e,t)}function Xi(e,t,n){return e=$i(e),Ti(e,t,n)}function Ki(e){return null===Ui?(Ui=[e],Hi=Ti(Di,Ji)):Ui.push(e),Fi}function Zi(){if(null!==Hi){var e=Hi;Hi=null,ji(e)}Ji()}function Ji(){if(!Wi&&null!==Ui){Wi=!0;var e=0;try{var t=Ui;Gi(99,(function(){for(;e<t.length;e++){var n=t[e];do{n=n(!0)}while(null!==n)}})),Ui=null}catch(n){throw null!==Ui&&(Ui=Ui.slice(e+1)),Ti(Di,Zi),n}finally{Wi=!1}}}var Qi=3;function eo(e,t,n){return 1073741821-(1+((1073741821-e+t/10)/(n/=10)|0))*n}function to(e,t){if(e&&e.defaultProps)for(var n in t=i({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}var no={current:null},ro=null,io=null,oo=null;function ao(){oo=io=ro=null}function so(e,t){var n=e.type._context;pi(no,n._currentValue),n._currentValue=t}function co(e){var t=no.current;hi(no),e.type._context._currentValue=t}function uo(e,t){for(;null!==e;){var n=e.alternate;if(e.childExpirationTime<t)e.childExpirationTime=t,null!==n&&n.childExpirationTime<t&&(n.childExpirationTime=t);else{if(!(null!==n&&n.childExpirationTime<t))break;n.childExpirationTime=t}e=e.return}}function lo(e,t){ro=e,oo=io=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(e.expirationTime>=t&&(Va=!0),e.firstContext=null)}function fo(e,t){if(oo!==e&&!1!==t&&0!==t)if(\"number\"===typeof t&&1073741823!==t||(oo=e,t=1073741823),t={context:e,observedBits:t,next:null},null===io){if(null===ro)throw Error(a(308));io=t,ro.dependencies={expirationTime:0,firstContext:t,responders:null}}else io=io.next=t;return e._currentValue}var ho=!1;function po(e){return{baseState:e,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function go(e){return{baseState:e.baseState,firstUpdate:e.firstUpdate,lastUpdate:e.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function yo(e,t){return{expirationTime:e,suspenseConfig:t,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function mo(e,t){null===e.lastUpdate?e.firstUpdate=e.lastUpdate=t:(e.lastUpdate.next=t,e.lastUpdate=t)}function bo(e,t){var n=e.alternate;if(null===n){var r=e.updateQueue,i=null;null===r&&(r=e.updateQueue=po(e.memoizedState))}else r=e.updateQueue,i=n.updateQueue,null===r?null===i?(r=e.updateQueue=po(e.memoizedState),i=n.updateQueue=po(n.memoizedState)):r=e.updateQueue=go(i):null===i&&(i=n.updateQueue=go(r));null===i||r===i?mo(r,t):null===r.lastUpdate||null===i.lastUpdate?(mo(r,t),mo(i,t)):(mo(r,t),i.lastUpdate=t)}function vo(e,t){var n=e.updateQueue;null===(n=null===n?e.updateQueue=po(e.memoizedState):xo(e,n)).lastCapturedUpdate?n.firstCapturedUpdate=n.lastCapturedUpdate=t:(n.lastCapturedUpdate.next=t,n.lastCapturedUpdate=t)}function xo(e,t){var n=e.alternate;return null!==n&&t===n.updateQueue&&(t=e.updateQueue=go(t)),t}function wo(e,t,n,r,o,a){switch(n.tag){case 1:return\"function\"===typeof(e=n.payload)?e.call(a,r,o):e;case 3:e.effectTag=-4097&e.effectTag|64;case 0:if(null===(o=\"function\"===typeof(e=n.payload)?e.call(a,r,o):e)||void 0===o)break;return i({},r,o);case 2:ho=!0}return r}function _o(e,t,n,r,i){ho=!1;for(var o=(t=xo(e,t)).baseState,a=null,s=0,c=t.firstUpdate,u=o;null!==c;){var l=c.expirationTime;l<i?(null===a&&(a=c,o=u),s<l&&(s=l)):(mc(l,c.suspenseConfig),u=wo(e,0,c,u,n,r),null!==c.callback&&(e.effectTag|=32,c.nextEffect=null,null===t.lastEffect?t.firstEffect=t.lastEffect=c:(t.lastEffect.nextEffect=c,t.lastEffect=c))),c=c.next}for(l=null,c=t.firstCapturedUpdate;null!==c;){var f=c.expirationTime;f<i?(null===l&&(l=c,null===a&&(o=u)),s<f&&(s=f)):(u=wo(e,0,c,u,n,r),null!==c.callback&&(e.effectTag|=32,c.nextEffect=null,null===t.lastCapturedEffect?t.firstCapturedEffect=t.lastCapturedEffect=c:(t.lastCapturedEffect.nextEffect=c,t.lastCapturedEffect=c))),c=c.next}null===a&&(t.lastUpdate=null),null===l?t.lastCapturedUpdate=null:e.effectTag|=32,null===a&&null===l&&(o=u),t.baseState=o,t.firstUpdate=a,t.firstCapturedUpdate=l,bc(s),e.expirationTime=s,e.memoizedState=u}function ko(e,t,n){null!==t.firstCapturedUpdate&&(null!==t.lastUpdate&&(t.lastUpdate.next=t.firstCapturedUpdate,t.lastUpdate=t.lastCapturedUpdate),t.firstCapturedUpdate=t.lastCapturedUpdate=null),Oo(t.firstEffect,n),t.firstEffect=t.lastEffect=null,Oo(t.firstCapturedEffect,n),t.firstCapturedEffect=t.lastCapturedEffect=null}function Oo(e,t){for(;null!==e;){var n=e.callback;if(null!==n){e.callback=null;var r=t;if(\"function\"!==typeof n)throw Error(a(191,n));n.call(r)}e=e.nextEffect}}var Eo=N.ReactCurrentBatchConfig,So=(new r.Component).refs;function Co(e,t,n,r){n=null===(n=n(r,t=e.memoizedState))||void 0===n?t:i({},t,n),e.memoizedState=n,null!==(r=e.updateQueue)&&0===e.expirationTime&&(r.baseState=n)}var To={isMounted:function(e){return!!(e=e._reactInternalFiber)&&nt(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternalFiber;var r=ic(),i=Eo.suspense;(i=yo(r=oc(r,e,i),i)).payload=t,void 0!==n&&null!==n&&(i.callback=n),bo(e,i),ac(e,r)},enqueueReplaceState:function(e,t,n){e=e._reactInternalFiber;var r=ic(),i=Eo.suspense;(i=yo(r=oc(r,e,i),i)).tag=1,i.payload=t,void 0!==n&&null!==n&&(i.callback=n),bo(e,i),ac(e,r)},enqueueForceUpdate:function(e,t){e=e._reactInternalFiber;var n=ic(),r=Eo.suspense;(r=yo(n=oc(n,e,r),r)).tag=2,void 0!==t&&null!==t&&(r.callback=t),bo(e,r),ac(e,n)}};function jo(e,t,n,r,i,o,a){return\"function\"===typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,o,a):!t.prototype||!t.prototype.isPureReactComponent||(!ni(n,r)||!ni(i,o))}function Ao(e,t,n){var r=!1,i=gi,o=t.contextType;return\"object\"===typeof o&&null!==o?o=fo(o):(i=xi(t)?bi:yi.current,o=(r=null!==(r=t.contextTypes)&&void 0!==r)?vi(e,i):gi),t=new t(n,o),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=To,e.stateNode=t,t._reactInternalFiber=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=o),t}function Mo(e,t,n,r){e=t.state,\"function\"===typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),\"function\"===typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&To.enqueueReplaceState(t,t.state,null)}function Po(e,t,n,r){var i=e.stateNode;i.props=n,i.state=e.memoizedState,i.refs=So;var o=t.contextType;\"object\"===typeof o&&null!==o?i.context=fo(o):(o=xi(t)?bi:yi.current,i.context=vi(e,o)),null!==(o=e.updateQueue)&&(_o(e,o,n,i,r),i.state=e.memoizedState),\"function\"===typeof(o=t.getDerivedStateFromProps)&&(Co(e,t,o,n),i.state=e.memoizedState),\"function\"===typeof t.getDerivedStateFromProps||\"function\"===typeof i.getSnapshotBeforeUpdate||\"function\"!==typeof i.UNSAFE_componentWillMount&&\"function\"!==typeof i.componentWillMount||(t=i.state,\"function\"===typeof i.componentWillMount&&i.componentWillMount(),\"function\"===typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),t!==i.state&&To.enqueueReplaceState(i,i.state,null),null!==(o=e.updateQueue)&&(_o(e,o,n,i,r),i.state=e.memoizedState)),\"function\"===typeof i.componentDidMount&&(e.effectTag|=4)}var No=Array.isArray;function Do(e,t,n){if(null!==(e=n.ref)&&\"function\"!==typeof e&&\"object\"!==typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(a(309));var r=n.stateNode}if(!r)throw Error(a(147,e));var i=\"\"+e;return null!==t&&null!==t.ref&&\"function\"===typeof t.ref&&t.ref._stringRef===i?t.ref:(t=function(e){var t=r.refs;t===So&&(t=r.refs={}),null===e?delete t[i]:t[i]=e},t._stringRef=i,t)}if(\"string\"!==typeof e)throw Error(a(284));if(!n._owner)throw Error(a(290,e))}return e}function Ro(e,t){if(\"textarea\"!==e.type)throw Error(a(31,\"[object Object]\"===Object.prototype.toString.call(t)?\"object with keys {\"+Object.keys(t).join(\", \")+\"}\":t,\"\"))}function Io(e){function t(t,n){if(e){var r=t.lastEffect;null!==r?(r.nextEffect=n,t.lastEffect=n):t.firstEffect=t.lastEffect=n,n.nextEffect=null,n.effectTag=8}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function i(e,t,n){return(e=Bc(e,t)).index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.effectTag=2,n):r:(t.effectTag=2,n):n}function s(t){return e&&null===t.alternate&&(t.effectTag=2),t}function c(e,t,n,r){return null===t||6!==t.tag?((t=Uc(n,e.mode,r)).return=e,t):((t=i(t,n)).return=e,t)}function u(e,t,n,r){return null!==t&&t.elementType===n.type?((r=i(t,n.props)).ref=Do(e,t,n),r.return=e,r):((r=Fc(n.type,n.key,n.props,null,e.mode,r)).ref=Do(e,t,n),r.return=e,r)}function l(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Hc(n,e.mode,r)).return=e,t):((t=i(t,n.children||[])).return=e,t)}function f(e,t,n,r,o){return null===t||7!==t.tag?((t=zc(n,e.mode,r,o)).return=e,t):((t=i(t,n)).return=e,t)}function d(e,t,n){if(\"string\"===typeof t||\"number\"===typeof t)return(t=Uc(\"\"+t,e.mode,n)).return=e,t;if(\"object\"===typeof t&&null!==t){switch(t.$$typeof){case I:return(n=Fc(t.type,t.key,t.props,null,e.mode,n)).ref=Do(e,null,t),n.return=e,n;case L:return(t=Hc(t,e.mode,n)).return=e,t}if(No(t)||K(t))return(t=zc(t,e.mode,n,null)).return=e,t;Ro(e,t)}return null}function h(e,t,n,r){var i=null!==t?t.key:null;if(\"string\"===typeof n||\"number\"===typeof n)return null!==i?null:c(e,t,\"\"+n,r);if(\"object\"===typeof n&&null!==n){switch(n.$$typeof){case I:return n.key===i?n.type===B?f(e,t,n.props.children,r,i):u(e,t,n,r):null;case L:return n.key===i?l(e,t,n,r):null}if(No(n)||K(n))return null!==i?null:f(e,t,n,r,null);Ro(e,n)}return null}function p(e,t,n,r,i){if(\"string\"===typeof r||\"number\"===typeof r)return c(t,e=e.get(n)||null,\"\"+r,i);if(\"object\"===typeof r&&null!==r){switch(r.$$typeof){case I:return e=e.get(null===r.key?n:r.key)||null,r.type===B?f(t,e,r.props.children,i,r.key):u(t,e,r,i);case L:return l(t,e=e.get(null===r.key?n:r.key)||null,r,i)}if(No(r)||K(r))return f(t,e=e.get(n)||null,r,i,null);Ro(t,r)}return null}function g(i,a,s,c){for(var u=null,l=null,f=a,g=a=0,y=null;null!==f&&g<s.length;g++){f.index>g?(y=f,f=null):y=f.sibling;var m=h(i,f,s[g],c);if(null===m){null===f&&(f=y);break}e&&f&&null===m.alternate&&t(i,f),a=o(m,a,g),null===l?u=m:l.sibling=m,l=m,f=y}if(g===s.length)return n(i,f),u;if(null===f){for(;g<s.length;g++)null!==(f=d(i,s[g],c))&&(a=o(f,a,g),null===l?u=f:l.sibling=f,l=f);return u}for(f=r(i,f);g<s.length;g++)null!==(y=p(f,i,g,s[g],c))&&(e&&null!==y.alternate&&f.delete(null===y.key?g:y.key),a=o(y,a,g),null===l?u=y:l.sibling=y,l=y);return e&&f.forEach((function(e){return t(i,e)})),u}function y(i,s,c,u){var l=K(c);if(\"function\"!==typeof l)throw Error(a(150));if(null==(c=l.call(c)))throw Error(a(151));for(var f=l=null,g=s,y=s=0,m=null,b=c.next();null!==g&&!b.done;y++,b=c.next()){g.index>y?(m=g,g=null):m=g.sibling;var v=h(i,g,b.value,u);if(null===v){null===g&&(g=m);break}e&&g&&null===v.alternate&&t(i,g),s=o(v,s,y),null===f?l=v:f.sibling=v,f=v,g=m}if(b.done)return n(i,g),l;if(null===g){for(;!b.done;y++,b=c.next())null!==(b=d(i,b.value,u))&&(s=o(b,s,y),null===f?l=b:f.sibling=b,f=b);return l}for(g=r(i,g);!b.done;y++,b=c.next())null!==(b=p(g,i,y,b.value,u))&&(e&&null!==b.alternate&&g.delete(null===b.key?y:b.key),s=o(b,s,y),null===f?l=b:f.sibling=b,f=b);return e&&g.forEach((function(e){return t(i,e)})),l}return function(e,r,o,c){var u=\"object\"===typeof o&&null!==o&&o.type===B&&null===o.key;u&&(o=o.props.children);var l=\"object\"===typeof o&&null!==o;if(l)switch(o.$$typeof){case I:e:{for(l=o.key,u=r;null!==u;){if(u.key===l){if(7===u.tag?o.type===B:u.elementType===o.type){n(e,u.sibling),(r=i(u,o.type===B?o.props.children:o.props)).ref=Do(e,u,o),r.return=e,e=r;break e}n(e,u);break}t(e,u),u=u.sibling}o.type===B?((r=zc(o.props.children,e.mode,c,o.key)).return=e,e=r):((c=Fc(o.type,o.key,o.props,null,e.mode,c)).ref=Do(e,r,o),c.return=e,e=c)}return s(e);case L:e:{for(u=o.key;null!==r;){if(r.key===u){if(4===r.tag&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),(r=i(r,o.children||[])).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=Hc(o,e.mode,c)).return=e,e=r}return s(e)}if(\"string\"===typeof o||\"number\"===typeof o)return o=\"\"+o,null!==r&&6===r.tag?(n(e,r.sibling),(r=i(r,o)).return=e,e=r):(n(e,r),(r=Uc(o,e.mode,c)).return=e,e=r),s(e);if(No(o))return g(e,r,o,c);if(K(o))return y(e,r,o,c);if(l&&Ro(e,o),\"undefined\"===typeof o&&!u)switch(e.tag){case 1:case 0:throw e=e.type,Error(a(152,e.displayName||e.name||\"Component\"))}return n(e,r)}}var Lo=Io(!0),Bo=Io(!1),Fo={},zo={current:Fo},Uo={current:Fo},Ho={current:Fo};function Wo(e){if(e===Fo)throw Error(a(174));return e}function Yo(e,t){pi(Ho,t),pi(Uo,e),pi(zo,Fo);var n=t.nodeType;switch(n){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Ue(null,\"\");break;default:t=Ue(t=(n=8===n?t.parentNode:t).namespaceURI||null,n=n.tagName)}hi(zo),pi(zo,t)}function Vo(e){hi(zo),hi(Uo),hi(Ho)}function qo(e){Wo(Ho.current);var t=Wo(zo.current),n=Ue(t,e.type);t!==n&&(pi(Uo,e),pi(zo,n))}function $o(e){Uo.current===e&&(hi(zo),hi(Uo))}var Go={current:0};function Xo(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||n.data===Jn||n.data===Qn))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!==(64&t.effectTag))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}function Ko(e,t){return{responder:e,props:t}}var Zo=N.ReactCurrentDispatcher,Jo=N.ReactCurrentBatchConfig,Qo=0,ea=null,ta=null,na=null,ra=null,ia=null,oa=null,aa=0,sa=null,ca=0,ua=!1,la=null,fa=0;function da(){throw Error(a(321))}function ha(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!ei(e[n],t[n]))return!1;return!0}function pa(e,t,n,r,i,o){if(Qo=o,ea=t,na=null!==e?e.memoizedState:null,Zo.current=null===na?Na:Da,t=n(r,i),ua){do{ua=!1,fa+=1,na=null!==e?e.memoizedState:null,oa=ra,sa=ia=ta=null,Zo.current=Da,t=n(r,i)}while(ua);la=null,fa=0}if(Zo.current=Pa,(e=ea).memoizedState=ra,e.expirationTime=aa,e.updateQueue=sa,e.effectTag|=ca,e=null!==ta&&null!==ta.next,Qo=0,oa=ia=ra=na=ta=ea=null,aa=0,sa=null,ca=0,e)throw Error(a(300));return t}function ga(){Zo.current=Pa,Qo=0,oa=ia=ra=na=ta=ea=null,aa=0,sa=null,ca=0,ua=!1,la=null,fa=0}function ya(){var e={memoizedState:null,baseState:null,queue:null,baseUpdate:null,next:null};return null===ia?ra=ia=e:ia=ia.next=e,ia}function ma(){if(null!==oa)oa=(ia=oa).next,na=null!==(ta=na)?ta.next:null;else{if(null===na)throw Error(a(310));var e={memoizedState:(ta=na).memoizedState,baseState:ta.baseState,queue:ta.queue,baseUpdate:ta.baseUpdate,next:null};ia=null===ia?ra=e:ia.next=e,na=ta.next}return ia}function ba(e,t){return\"function\"===typeof t?t(e):t}function va(e){var t=ma(),n=t.queue;if(null===n)throw Error(a(311));if(n.lastRenderedReducer=e,0<fa){var r=n.dispatch;if(null!==la){var i=la.get(n);if(void 0!==i){la.delete(n);var o=t.memoizedState;do{o=e(o,i.action),i=i.next}while(null!==i);return ei(o,t.memoizedState)||(Va=!0),t.memoizedState=o,t.baseUpdate===n.last&&(t.baseState=o),n.lastRenderedState=o,[o,r]}}return[t.memoizedState,r]}r=n.last;var s=t.baseUpdate;if(o=t.baseState,null!==s?(null!==r&&(r.next=null),r=s.next):r=null!==r?r.next:null,null!==r){var c=i=null,u=r,l=!1;do{var f=u.expirationTime;f<Qo?(l||(l=!0,c=s,i=o),f>aa&&bc(aa=f)):(mc(f,u.suspenseConfig),o=u.eagerReducer===e?u.eagerState:e(o,u.action)),s=u,u=u.next}while(null!==u&&u!==r);l||(c=s,i=o),ei(o,t.memoizedState)||(Va=!0),t.memoizedState=o,t.baseUpdate=c,t.baseState=i,n.lastRenderedState=o}return[t.memoizedState,n.dispatch]}function xa(e){var t=ya();return\"function\"===typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={last:null,dispatch:null,lastRenderedReducer:ba,lastRenderedState:e}).dispatch=Ma.bind(null,ea,e),[t.memoizedState,e]}function wa(e){return va(ba)}function _a(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===sa?(sa={lastEffect:null}).lastEffect=e.next=e:null===(t=sa.lastEffect)?sa.lastEffect=e.next=e:(n=t.next,t.next=e,e.next=n,sa.lastEffect=e),e}function ka(e,t,n,r){var i=ya();ca|=e,i.memoizedState=_a(t,n,void 0,void 0===r?null:r)}function Oa(e,t,n,r){var i=ma();r=void 0===r?null:r;var o=void 0;if(null!==ta){var a=ta.memoizedState;if(o=a.destroy,null!==r&&ha(r,a.deps))return void _a(0,n,o,r)}ca|=e,i.memoizedState=_a(t,n,o,r)}function Ea(e,t){return ka(516,192,e,t)}function Sa(e,t){return Oa(516,192,e,t)}function Ca(e,t){return\"function\"===typeof t?(e=e(),t(e),function(){t(null)}):null!==t&&void 0!==t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Ta(){}function ja(e,t){return ya().memoizedState=[e,void 0===t?null:t],e}function Aa(e,t){var n=ma();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&ha(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Ma(e,t,n){if(!(25>fa))throw Error(a(301));var r=e.alternate;if(e===ea||null!==r&&r===ea)if(ua=!0,e={expirationTime:Qo,suspenseConfig:null,action:n,eagerReducer:null,eagerState:null,next:null},null===la&&(la=new Map),void 0===(n=la.get(t)))la.set(t,e);else{for(t=n;null!==t.next;)t=t.next;t.next=e}else{var i=ic(),o=Eo.suspense;o={expirationTime:i=oc(i,e,o),suspenseConfig:o,action:n,eagerReducer:null,eagerState:null,next:null};var s=t.last;if(null===s)o.next=o;else{var c=s.next;null!==c&&(o.next=c),s.next=o}if(t.last=o,0===e.expirationTime&&(null===r||0===r.expirationTime)&&null!==(r=t.lastRenderedReducer))try{var u=t.lastRenderedState,l=r(u,n);if(o.eagerReducer=r,o.eagerState=l,ei(l,u))return}catch(f){}ac(e,i)}}var Pa={readContext:fo,useCallback:da,useContext:da,useEffect:da,useImperativeHandle:da,useLayoutEffect:da,useMemo:da,useReducer:da,useRef:da,useState:da,useDebugValue:da,useResponder:da,useDeferredValue:da,useTransition:da},Na={readContext:fo,useCallback:ja,useContext:fo,useEffect:Ea,useImperativeHandle:function(e,t,n){return n=null!==n&&void 0!==n?n.concat([e]):null,ka(4,36,Ca.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ka(4,36,e,t)},useMemo:function(e,t){var n=ya();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=ya();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e=(e=r.queue={last:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=Ma.bind(null,ea,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},ya().memoizedState=e},useState:xa,useDebugValue:Ta,useResponder:Ko,useDeferredValue:function(e,t){var n=xa(e),r=n[0],i=n[1];return Ea((function(){o.unstable_next((function(){var n=Jo.suspense;Jo.suspense=void 0===t?null:t;try{i(e)}finally{Jo.suspense=n}}))}),[e,t]),r},useTransition:function(e){var t=xa(!1),n=t[0],r=t[1];return[ja((function(t){r(!0),o.unstable_next((function(){var n=Jo.suspense;Jo.suspense=void 0===e?null:e;try{r(!1),t()}finally{Jo.suspense=n}}))}),[e,n]),n]}},Da={readContext:fo,useCallback:Aa,useContext:fo,useEffect:Sa,useImperativeHandle:function(e,t,n){return n=null!==n&&void 0!==n?n.concat([e]):null,Oa(4,36,Ca.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Oa(4,36,e,t)},useMemo:function(e,t){var n=ma();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&ha(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)},useReducer:va,useRef:function(){return ma().memoizedState},useState:wa,useDebugValue:Ta,useResponder:Ko,useDeferredValue:function(e,t){var n=wa(),r=n[0],i=n[1];return Sa((function(){o.unstable_next((function(){var n=Jo.suspense;Jo.suspense=void 0===t?null:t;try{i(e)}finally{Jo.suspense=n}}))}),[e,t]),r},useTransition:function(e){var t=wa(),n=t[0],r=t[1];return[Aa((function(t){r(!0),o.unstable_next((function(){var n=Jo.suspense;Jo.suspense=void 0===e?null:e;try{r(!1),t()}finally{Jo.suspense=n}}))}),[e,n]),n]}},Ra=null,Ia=null,La=!1;function Ba(e,t){var n=Ic(5,null,null,0);n.elementType=\"DELETED\",n.type=\"DELETED\",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function Fa(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=\"\"===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);default:return!1}}function za(e){if(La){var t=Ia;if(t){var n=t;if(!Fa(e,t)){if(!(t=ar(n.nextSibling))||!Fa(e,t))return e.effectTag=-1025&e.effectTag|2,La=!1,void(Ra=e);Ba(Ra,n)}Ra=e,Ia=ar(t.firstChild)}else e.effectTag=-1025&e.effectTag|2,La=!1,Ra=e}}function Ua(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;Ra=e}function Ha(e){if(e!==Ra)return!1;if(!La)return Ua(e),La=!0,!1;var t=e.type;if(5!==e.tag||\"head\"!==t&&\"body\"!==t&&!rr(t,e.memoizedProps))for(t=Ia;t;)Ba(e,t),t=ar(t.nextSibling);if(Ua(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(a(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if(\"/$\"===n){if(0===t){Ia=ar(e.nextSibling);break e}t--}else\"$\"!==n&&n!==Qn&&n!==Jn||t++}e=e.nextSibling}Ia=null}}else Ia=Ra?ar(e.stateNode.nextSibling):null;return!0}function Wa(){Ia=Ra=null,La=!1}var Ya=N.ReactCurrentOwner,Va=!1;function qa(e,t,n,r){t.child=null===e?Bo(t,null,n,r):Lo(t,e.child,n,r)}function $a(e,t,n,r,i){n=n.render;var o=t.ref;return lo(t,i),r=pa(e,t,n,r,o,i),null===e||Va?(t.effectTag|=1,qa(e,t,r,i),t.child):(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=i&&(e.expirationTime=0),us(e,t,i))}function Ga(e,t,n,r,i,o){if(null===e){var a=n.type;return\"function\"!==typeof a||Lc(a)||void 0!==a.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Fc(n.type,null,r,null,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,Xa(e,t,a,r,i,o))}return a=e.child,i<o&&(i=a.memoizedProps,(n=null!==(n=n.compare)?n:ni)(i,r)&&e.ref===t.ref)?us(e,t,o):(t.effectTag|=1,(e=Bc(a,r)).ref=t.ref,e.return=t,t.child=e)}function Xa(e,t,n,r,i,o){return null!==e&&ni(e.memoizedProps,r)&&e.ref===t.ref&&(Va=!1,i<o)?us(e,t,o):Za(e,t,n,r,o)}function Ka(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function Za(e,t,n,r,i){var o=xi(n)?bi:yi.current;return o=vi(t,o),lo(t,i),n=pa(e,t,n,r,o,i),null===e||Va?(t.effectTag|=1,qa(e,t,n,i),t.child):(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=i&&(e.expirationTime=0),us(e,t,i))}function Ja(e,t,n,r,i){if(xi(n)){var o=!0;Ei(t)}else o=!1;if(lo(t,i),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),Ao(t,n,r),Po(t,n,r,i),r=!0;else if(null===e){var a=t.stateNode,s=t.memoizedProps;a.props=s;var c=a.context,u=n.contextType;\"object\"===typeof u&&null!==u?u=fo(u):u=vi(t,u=xi(n)?bi:yi.current);var l=n.getDerivedStateFromProps,f=\"function\"===typeof l||\"function\"===typeof a.getSnapshotBeforeUpdate;f||\"function\"!==typeof a.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof a.componentWillReceiveProps||(s!==r||c!==u)&&Mo(t,a,r,u),ho=!1;var d=t.memoizedState;c=a.state=d;var h=t.updateQueue;null!==h&&(_o(t,h,r,a,i),c=t.memoizedState),s!==r||d!==c||mi.current||ho?(\"function\"===typeof l&&(Co(t,n,l,r),c=t.memoizedState),(s=ho||jo(t,n,s,r,d,c,u))?(f||\"function\"!==typeof a.UNSAFE_componentWillMount&&\"function\"!==typeof a.componentWillMount||(\"function\"===typeof a.componentWillMount&&a.componentWillMount(),\"function\"===typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount()),\"function\"===typeof a.componentDidMount&&(t.effectTag|=4)):(\"function\"===typeof a.componentDidMount&&(t.effectTag|=4),t.memoizedProps=r,t.memoizedState=c),a.props=r,a.state=c,a.context=u,r=s):(\"function\"===typeof a.componentDidMount&&(t.effectTag|=4),r=!1)}else a=t.stateNode,s=t.memoizedProps,a.props=t.type===t.elementType?s:to(t.type,s),c=a.context,\"object\"===typeof(u=n.contextType)&&null!==u?u=fo(u):u=vi(t,u=xi(n)?bi:yi.current),(f=\"function\"===typeof(l=n.getDerivedStateFromProps)||\"function\"===typeof a.getSnapshotBeforeUpdate)||\"function\"!==typeof a.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof a.componentWillReceiveProps||(s!==r||c!==u)&&Mo(t,a,r,u),ho=!1,c=t.memoizedState,d=a.state=c,null!==(h=t.updateQueue)&&(_o(t,h,r,a,i),d=t.memoizedState),s!==r||c!==d||mi.current||ho?(\"function\"===typeof l&&(Co(t,n,l,r),d=t.memoizedState),(l=ho||jo(t,n,s,r,c,d,u))?(f||\"function\"!==typeof a.UNSAFE_componentWillUpdate&&\"function\"!==typeof a.componentWillUpdate||(\"function\"===typeof a.componentWillUpdate&&a.componentWillUpdate(r,d,u),\"function\"===typeof a.UNSAFE_componentWillUpdate&&a.UNSAFE_componentWillUpdate(r,d,u)),\"function\"===typeof a.componentDidUpdate&&(t.effectTag|=4),\"function\"===typeof a.getSnapshotBeforeUpdate&&(t.effectTag|=256)):(\"function\"!==typeof a.componentDidUpdate||s===e.memoizedProps&&c===e.memoizedState||(t.effectTag|=4),\"function\"!==typeof a.getSnapshotBeforeUpdate||s===e.memoizedProps&&c===e.memoizedState||(t.effectTag|=256),t.memoizedProps=r,t.memoizedState=d),a.props=r,a.state=d,a.context=u,r=l):(\"function\"!==typeof a.componentDidUpdate||s===e.memoizedProps&&c===e.memoizedState||(t.effectTag|=4),\"function\"!==typeof a.getSnapshotBeforeUpdate||s===e.memoizedProps&&c===e.memoizedState||(t.effectTag|=256),r=!1);return Qa(e,t,n,r,o,i)}function Qa(e,t,n,r,i,o){Ka(e,t);var a=0!==(64&t.effectTag);if(!r&&!a)return i&&Si(t,n,!1),us(e,t,o);r=t.stateNode,Ya.current=t;var s=a&&\"function\"!==typeof n.getDerivedStateFromError?null:r.render();return t.effectTag|=1,null!==e&&a?(t.child=Lo(t,e.child,null,o),t.child=Lo(t,null,s,o)):qa(e,t,s,o),t.memoizedState=r.state,i&&Si(t,n,!0),t.child}function es(e){var t=e.stateNode;t.pendingContext?ki(0,t.pendingContext,t.pendingContext!==t.context):t.context&&ki(0,t.context,!1),Yo(e,t.containerInfo)}var ts,ns,rs,is={dehydrated:null,retryTime:0};function os(e,t,n){var r,i=t.mode,o=t.pendingProps,a=Go.current,s=!1;if((r=0!==(64&t.effectTag))||(r=0!==(2&a)&&(null===e||null!==e.memoizedState)),r?(s=!0,t.effectTag&=-65):null!==e&&null===e.memoizedState||void 0===o.fallback||!0===o.unstable_avoidThisFallback||(a|=1),pi(Go,1&a),null===e){if(void 0!==o.fallback&&za(t),s){if(s=o.fallback,(o=zc(null,i,0,null)).return=t,0===(2&t.mode))for(e=null!==t.memoizedState?t.child.child:t.child,o.child=e;null!==e;)e.return=o,e=e.sibling;return(n=zc(s,i,n,null)).return=t,o.sibling=n,t.memoizedState=is,t.child=o,n}return i=o.children,t.memoizedState=null,t.child=Bo(t,null,i,n)}if(null!==e.memoizedState){if(i=(e=e.child).sibling,s){if(o=o.fallback,(n=Bc(e,e.pendingProps)).return=t,0===(2&t.mode)&&(s=null!==t.memoizedState?t.child.child:t.child)!==e.child)for(n.child=s;null!==s;)s.return=n,s=s.sibling;return(i=Bc(i,o,i.expirationTime)).return=t,n.sibling=i,n.childExpirationTime=0,t.memoizedState=is,t.child=n,i}return n=Lo(t,e.child,o.children,n),t.memoizedState=null,t.child=n}if(e=e.child,s){if(s=o.fallback,(o=zc(null,i,0,null)).return=t,o.child=e,null!==e&&(e.return=o),0===(2&t.mode))for(e=null!==t.memoizedState?t.child.child:t.child,o.child=e;null!==e;)e.return=o,e=e.sibling;return(n=zc(s,i,n,null)).return=t,o.sibling=n,n.effectTag|=2,o.childExpirationTime=0,t.memoizedState=is,t.child=o,n}return t.memoizedState=null,t.child=Lo(t,e,o.children,n)}function as(e,t){e.expirationTime<t&&(e.expirationTime=t);var n=e.alternate;null!==n&&n.expirationTime<t&&(n.expirationTime=t),uo(e.return,t)}function ss(e,t,n,r,i,o){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:t,rendering:null,last:r,tail:n,tailExpiration:0,tailMode:i,lastEffect:o}:(a.isBackwards=t,a.rendering=null,a.last=r,a.tail=n,a.tailExpiration=0,a.tailMode=i,a.lastEffect=o)}function cs(e,t,n){var r=t.pendingProps,i=r.revealOrder,o=r.tail;if(qa(e,t,r.children,n),0!==(2&(r=Go.current)))r=1&r|2,t.effectTag|=64;else{if(null!==e&&0!==(64&e.effectTag))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&as(e,n);else if(19===e.tag)as(e,n);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(pi(Go,r),0===(2&t.mode))t.memoizedState=null;else switch(i){case\"forwards\":for(n=t.child,i=null;null!==n;)null!==(e=n.alternate)&&null===Xo(e)&&(i=n),n=n.sibling;null===(n=i)?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),ss(t,!1,i,n,o,t.lastEffect);break;case\"backwards\":for(n=null,i=t.child,t.child=null;null!==i;){if(null!==(e=i.alternate)&&null===Xo(e)){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}ss(t,!0,n,null,o,t.lastEffect);break;case\"together\":ss(t,!1,null,null,void 0,t.lastEffect);break;default:t.memoizedState=null}return t.child}function us(e,t,n){null!==e&&(t.dependencies=e.dependencies);var r=t.expirationTime;if(0!==r&&bc(r),t.childExpirationTime<n)return null;if(null!==e&&t.child!==e.child)throw Error(a(153));if(null!==t.child){for(n=Bc(e=t.child,e.pendingProps,e.expirationTime),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Bc(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}function ls(e){e.effectTag|=4}function fs(e,t){switch(e.tailMode){case\"hidden\":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case\"collapsed\":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function ds(e){switch(e.tag){case 1:xi(e.type)&&wi();var t=e.effectTag;return 4096&t?(e.effectTag=-4097&t|64,e):null;case 3:if(Vo(),_i(),0!==(64&(t=e.effectTag)))throw Error(a(285));return e.effectTag=-4097&t|64,e;case 5:return $o(e),null;case 13:return hi(Go),4096&(t=e.effectTag)?(e.effectTag=-4097&t|64,e):null;case 19:return hi(Go),null;case 4:return Vo(),null;case 10:return co(e),null;default:return null}}function hs(e,t){return{value:e,source:t,stack:J(t)}}ts=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},ns=function(e,t,n,r,o){var a=e.memoizedProps;if(a!==r){var s,c,u=t.stateNode;switch(Wo(zo.current),e=null,n){case\"input\":a=Se(u,a),r=Se(u,r),e=[];break;case\"option\":a=Pe(u,a),r=Pe(u,r),e=[];break;case\"select\":a=i({},a,{value:void 0}),r=i({},r,{value:void 0}),e=[];break;case\"textarea\":a=De(u,a),r=De(u,r),e=[];break;default:\"function\"!==typeof a.onClick&&\"function\"===typeof r.onClick&&(u.onclick=Vn)}for(s in Hn(n,r),n=null,a)if(!r.hasOwnProperty(s)&&a.hasOwnProperty(s)&&null!=a[s])if(\"style\"===s)for(c in u=a[s])u.hasOwnProperty(c)&&(n||(n={}),n[c]=\"\");else\"dangerouslySetInnerHTML\"!==s&&\"children\"!==s&&\"suppressContentEditableWarning\"!==s&&\"suppressHydrationWarning\"!==s&&\"autoFocus\"!==s&&(h.hasOwnProperty(s)?e||(e=[]):(e=e||[]).push(s,null));for(s in r){var l=r[s];if(u=null!=a?a[s]:void 0,r.hasOwnProperty(s)&&l!==u&&(null!=l||null!=u))if(\"style\"===s)if(u){for(c in u)!u.hasOwnProperty(c)||l&&l.hasOwnProperty(c)||(n||(n={}),n[c]=\"\");for(c in l)l.hasOwnProperty(c)&&u[c]!==l[c]&&(n||(n={}),n[c]=l[c])}else n||(e||(e=[]),e.push(s,n)),n=l;else\"dangerouslySetInnerHTML\"===s?(l=l?l.__html:void 0,u=u?u.__html:void 0,null!=l&&u!==l&&(e=e||[]).push(s,\"\"+l)):\"children\"===s?u===l||\"string\"!==typeof l&&\"number\"!==typeof l||(e=e||[]).push(s,\"\"+l):\"suppressContentEditableWarning\"!==s&&\"suppressHydrationWarning\"!==s&&(h.hasOwnProperty(s)?(null!=l&&Yn(o,s),e||u===l||(e=[])):(e=e||[]).push(s,l))}n&&(e=e||[]).push(\"style\",n),o=e,(t.updateQueue=o)&&ls(t)}},rs=function(e,t,n,r){n!==r&&ls(t)};var ps=\"function\"===typeof WeakSet?WeakSet:Set;function gs(e,t){var n=t.source,r=t.stack;null===r&&null!==n&&(r=J(n)),null!==n&&Z(n.type),t=t.value,null!==e&&1===e.tag&&Z(e.type);try{console.error(t)}catch(i){setTimeout((function(){throw i}))}}function ys(e){var t=e.ref;if(null!==t)if(\"function\"===typeof t)try{t(null)}catch(n){Ac(e,n)}else t.current=null}function ms(e,t){switch(t.tag){case 0:case 11:case 15:bs(2,0,t);break;case 1:if(256&t.effectTag&&null!==e){var n=e.memoizedProps,r=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?n:to(t.type,n),r),e.__reactInternalSnapshotBeforeUpdate=t}break;case 3:case 5:case 6:case 4:case 17:break;default:throw Error(a(163))}}function bs(e,t,n){if(null!==(n=null!==(n=n.updateQueue)?n.lastEffect:null)){var r=n=n.next;do{if(0!==(r.tag&e)){var i=r.destroy;r.destroy=void 0,void 0!==i&&i()}0!==(r.tag&t)&&(i=r.create,r.destroy=i()),r=r.next}while(r!==n)}}function vs(e,t,n){switch(\"function\"===typeof Dc&&Dc(t),t.tag){case 0:case 11:case 14:case 15:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var r=e.next;Gi(97<n?97:n,(function(){var e=r;do{var n=e.destroy;if(void 0!==n){var i=t;try{n()}catch(o){Ac(i,o)}}e=e.next}while(e!==r)}))}break;case 1:ys(t),\"function\"===typeof(n=t.stateNode).componentWillUnmount&&function(e,t){try{t.props=e.memoizedProps,t.state=e.memoizedState,t.componentWillUnmount()}catch(n){Ac(e,n)}}(t,n);break;case 5:ys(t);break;case 4:ks(e,t,n)}}function xs(e){var t=e.alternate;e.return=null,e.child=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.alternate=null,e.firstEffect=null,e.lastEffect=null,e.pendingProps=null,e.memoizedProps=null,null!==t&&xs(t)}function ws(e){return 5===e.tag||3===e.tag||4===e.tag}function _s(e){e:{for(var t=e.return;null!==t;){if(ws(t)){var n=t;break e}t=t.return}throw Error(a(160))}switch(t=n.stateNode,n.tag){case 5:var r=!1;break;case 3:case 4:t=t.containerInfo,r=!0;break;default:throw Error(a(161))}16&n.effectTag&&(Ve(t,\"\"),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||ws(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag&&18!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var i=e;;){var o=5===i.tag||6===i.tag;if(o){var s=o?i.stateNode:i.stateNode.instance;if(n)if(r){var c=s;s=n,8===(o=t).nodeType?o.parentNode.insertBefore(c,s):o.insertBefore(c,s)}else t.insertBefore(s,n);else r?(8===(c=t).nodeType?(o=c.parentNode).insertBefore(s,c):(o=c).appendChild(s),null!==(c=c._reactRootContainer)&&void 0!==c||null!==o.onclick||(o.onclick=Vn)):t.appendChild(s)}else if(4!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===e)break;for(;null===i.sibling;){if(null===i.return||i.return===e)return;i=i.return}i.sibling.return=i.return,i=i.sibling}}function ks(e,t,n){for(var r,i,o=t,s=!1;;){if(!s){s=o.return;e:for(;;){if(null===s)throw Error(a(160));switch(r=s.stateNode,s.tag){case 5:i=!1;break e;case 3:case 4:r=r.containerInfo,i=!0;break e}s=s.return}s=!0}if(5===o.tag||6===o.tag){e:for(var c=e,u=o,l=n,f=u;;)if(vs(c,f,l),null!==f.child&&4!==f.tag)f.child.return=f,f=f.child;else{if(f===u)break;for(;null===f.sibling;){if(null===f.return||f.return===u)break e;f=f.return}f.sibling.return=f.return,f=f.sibling}i?(c=r,u=o.stateNode,8===c.nodeType?c.parentNode.removeChild(u):c.removeChild(u)):r.removeChild(o.stateNode)}else if(4===o.tag){if(null!==o.child){r=o.stateNode.containerInfo,i=!0,o.child.return=o,o=o.child;continue}}else if(vs(e,o,n),null!==o.child){o.child.return=o,o=o.child;continue}if(o===t)break;for(;null===o.sibling;){if(null===o.return||o.return===t)return;4===(o=o.return).tag&&(s=!1)}o.sibling.return=o.return,o=o.sibling}}function Os(e,t){switch(t.tag){case 0:case 11:case 14:case 15:bs(4,8,t);break;case 1:case 12:case 17:case 20:case 21:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps,i=null!==e?e.memoizedProps:r;e=t.type;var o=t.updateQueue;if(t.updateQueue=null,null!==o){for(n[lr]=r,\"input\"===e&&\"radio\"===r.type&&null!=r.name&&Te(n,r),Wn(e,i),t=Wn(e,r),i=0;i<o.length;i+=2){var s=o[i],c=o[i+1];\"style\"===s?zn(n,c):\"dangerouslySetInnerHTML\"===s?Ye(n,c):\"children\"===s?Ve(n,c):_e(n,s,c,t)}switch(e){case\"input\":je(n,r);break;case\"textarea\":Ie(n,r);break;case\"select\":t=n._wrapperState.wasMultiple,n._wrapperState.wasMultiple=!!r.multiple,null!=(e=r.value)?Ne(n,!!r.multiple,e,!1):t!==!!r.multiple&&(null!=r.defaultValue?Ne(n,!!r.multiple,r.defaultValue,!0):Ne(n,!!r.multiple,r.multiple?[]:\"\",!1))}}}break;case 6:if(null===t.stateNode)throw Error(a(162));t.stateNode.nodeValue=t.memoizedProps;break;case 3:(t=t.stateNode).hydrate&&(t.hydrate=!1,Ct(t.containerInfo));break;case 13:if(n=t,null===t.memoizedState?r=!1:(r=!0,n=t.child,qs=Vi()),null!==n)e:for(e=n;;){if(5===e.tag)o=e.stateNode,r?\"function\"===typeof(o=o.style).setProperty?o.setProperty(\"display\",\"none\",\"important\"):o.display=\"none\":(o=e.stateNode,i=void 0!==(i=e.memoizedProps.style)&&null!==i&&i.hasOwnProperty(\"display\")?i.display:null,o.style.display=Fn(\"display\",i));else if(6===e.tag)e.stateNode.nodeValue=r?\"\":e.memoizedProps;else{if(13===e.tag&&null!==e.memoizedState&&null===e.memoizedState.dehydrated){(o=e.child.sibling).return=e,e=o;continue}if(null!==e.child){e.child.return=e,e=e.child;continue}}if(e===n)break e;for(;null===e.sibling;){if(null===e.return||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}Es(t);break;case 19:Es(t);break;default:throw Error(a(163))}}function Es(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new ps),t.forEach((function(t){var r=Pc.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}var Ss=\"function\"===typeof WeakMap?WeakMap:Map;function Cs(e,t,n){(n=yo(n,null)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Gs||(Gs=!0,Xs=r),gs(e,t)},n}function Ts(e,t,n){(n=yo(n,null)).tag=3;var r=e.type.getDerivedStateFromError;if(\"function\"===typeof r){var i=t.value;n.payload=function(){return gs(e,t),r(i)}}var o=e.stateNode;return null!==o&&\"function\"===typeof o.componentDidCatch&&(n.callback=function(){\"function\"!==typeof r&&(null===Ks?Ks=new Set([this]):Ks.add(this),gs(e,t));var n=t.stack;this.componentDidCatch(t.value,{componentStack:null!==n?n:\"\"})}),n}var js,As=Math.ceil,Ms=N.ReactCurrentDispatcher,Ps=N.ReactCurrentOwner,Ns=16,Ds=32,Rs=0,Is=null,Ls=null,Bs=0,Fs=0,zs=null,Us=1073741823,Hs=1073741823,Ws=null,Ys=0,Vs=!1,qs=0,$s=null,Gs=!1,Xs=null,Ks=null,Zs=!1,Js=null,Qs=90,ec=null,tc=0,nc=null,rc=0;function ic(){return 0!==(48&Rs)?1073741821-(Vi()/10|0):0!==rc?rc:rc=1073741821-(Vi()/10|0)}function oc(e,t,n){if(0===(2&(t=t.mode)))return 1073741823;var r=qi();if(0===(4&t))return 99===r?1073741823:1073741822;if(0!==(Rs&Ns))return Bs;if(null!==n)e=eo(e,0|n.timeoutMs||5e3,250);else switch(r){case 99:e=1073741823;break;case 98:e=eo(e,150,100);break;case 97:case 96:e=eo(e,5e3,250);break;case 95:e=2;break;default:throw Error(a(326))}return null!==Is&&e===Bs&&--e,e}function ac(e,t){if(50<tc)throw tc=0,nc=null,Error(a(185));if(null!==(e=sc(e,t))){var n=qi();1073741823===t?0!==(8&Rs)&&0===(48&Rs)?fc(e):(uc(e),0===Rs&&Zi()):uc(e),0===(4&Rs)||98!==n&&99!==n||(null===ec?ec=new Map([[e,t]]):(void 0===(n=ec.get(e))||n>t)&&ec.set(e,t))}}function sc(e,t){e.expirationTime<t&&(e.expirationTime=t);var n=e.alternate;null!==n&&n.expirationTime<t&&(n.expirationTime=t);var r=e.return,i=null;if(null===r&&3===e.tag)i=e.stateNode;else for(;null!==r;){if(n=r.alternate,r.childExpirationTime<t&&(r.childExpirationTime=t),null!==n&&n.childExpirationTime<t&&(n.childExpirationTime=t),null===r.return&&3===r.tag){i=r.stateNode;break}r=r.return}return null!==i&&(Is===i&&(bc(t),4===Fs&&Vc(i,Bs)),qc(i,t)),i}function cc(e){var t=e.lastExpiredTime;return 0!==t?t:Yc(e,t=e.firstPendingTime)?(t=e.lastPingedTime)>(e=e.nextKnownPendingLevel)?t:e:t}function uc(e){if(0!==e.lastExpiredTime)e.callbackExpirationTime=1073741823,e.callbackPriority=99,e.callbackNode=Ki(fc.bind(null,e));else{var t=cc(e),n=e.callbackNode;if(0===t)null!==n&&(e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90);else{var r=ic();if(1073741823===t?r=99:1===t||2===t?r=95:r=0>=(r=10*(1073741821-t)-10*(1073741821-r))?99:250>=r?98:5250>=r?97:95,null!==n){var i=e.callbackPriority;if(e.callbackExpirationTime===t&&i>=r)return;n!==Fi&&ji(n)}e.callbackExpirationTime=t,e.callbackPriority=r,t=1073741823===t?Ki(fc.bind(null,e)):Xi(r,lc.bind(null,e),{timeout:10*(1073741821-t)-Vi()}),e.callbackNode=t}}}function lc(e,t){if(rc=0,t)return $c(e,t=ic()),uc(e),null;var n=cc(e);if(0!==n){if(t=e.callbackNode,0!==(48&Rs))throw Error(a(327));if(Cc(),e===Is&&n===Bs||pc(e,n),null!==Ls){var r=Rs;Rs|=Ns;for(var i=yc();;)try{xc();break}catch(c){gc(e,c)}if(ao(),Rs=r,Ms.current=i,1===Fs)throw t=zs,pc(e,n),Vc(e,n),uc(e),t;if(null===Ls)switch(i=e.finishedWork=e.current.alternate,e.finishedExpirationTime=n,r=Fs,Is=null,r){case 0:case 1:throw Error(a(345));case 2:$c(e,2<n?2:n);break;case 3:if(Vc(e,n),n===(r=e.lastSuspendedTime)&&(e.nextKnownPendingLevel=kc(i)),1073741823===Us&&10<(i=qs+500-Vi())){if(Vs){var o=e.lastPingedTime;if(0===o||o>=n){e.lastPingedTime=n,pc(e,n);break}}if(0!==(o=cc(e))&&o!==n)break;if(0!==r&&r!==n){e.lastPingedTime=r;break}e.timeoutHandle=ir(Oc.bind(null,e),i);break}Oc(e);break;case 4:if(Vc(e,n),n===(r=e.lastSuspendedTime)&&(e.nextKnownPendingLevel=kc(i)),Vs&&(0===(i=e.lastPingedTime)||i>=n)){e.lastPingedTime=n,pc(e,n);break}if(0!==(i=cc(e))&&i!==n)break;if(0!==r&&r!==n){e.lastPingedTime=r;break}if(1073741823!==Hs?r=10*(1073741821-Hs)-Vi():1073741823===Us?r=0:(r=10*(1073741821-Us)-5e3,0>(r=(i=Vi())-r)&&(r=0),(n=10*(1073741821-n)-i)<(r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*As(r/1960))-r)&&(r=n)),10<r){e.timeoutHandle=ir(Oc.bind(null,e),r);break}Oc(e);break;case 5:if(1073741823!==Us&&null!==Ws){o=Us;var s=Ws;if(0>=(r=0|s.busyMinDurationMs)?r=0:(i=0|s.busyDelayMs,r=(o=Vi()-(10*(1073741821-o)-(0|s.timeoutMs||5e3)))<=i?0:i+r-o),10<r){Vc(e,n),e.timeoutHandle=ir(Oc.bind(null,e),r);break}}Oc(e);break;default:throw Error(a(329))}if(uc(e),e.callbackNode===t)return lc.bind(null,e)}}return null}function fc(e){var t=e.lastExpiredTime;if(t=0!==t?t:1073741823,e.finishedExpirationTime===t)Oc(e);else{if(0!==(48&Rs))throw Error(a(327));if(Cc(),e===Is&&t===Bs||pc(e,t),null!==Ls){var n=Rs;Rs|=Ns;for(var r=yc();;)try{vc();break}catch(i){gc(e,i)}if(ao(),Rs=n,Ms.current=r,1===Fs)throw n=zs,pc(e,t),Vc(e,t),uc(e),n;if(null!==Ls)throw Error(a(261));e.finishedWork=e.current.alternate,e.finishedExpirationTime=t,Is=null,Oc(e),uc(e)}}return null}function dc(e,t){var n=Rs;Rs|=1;try{return e(t)}finally{0===(Rs=n)&&Zi()}}function hc(e,t){var n=Rs;Rs&=-2,Rs|=8;try{return e(t)}finally{0===(Rs=n)&&Zi()}}function pc(e,t){e.finishedWork=null,e.finishedExpirationTime=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,or(n)),null!==Ls)for(n=Ls.return;null!==n;){var r=n;switch(r.tag){case 1:var i=r.type.childContextTypes;null!==i&&void 0!==i&&wi();break;case 3:Vo(),_i();break;case 5:$o(r);break;case 4:Vo();break;case 13:case 19:hi(Go);break;case 10:co(r)}n=n.return}Is=e,Ls=Bc(e.current,null),Bs=t,Fs=0,zs=null,Hs=Us=1073741823,Ws=null,Ys=0,Vs=!1}function gc(e,t){for(;;){try{if(ao(),ga(),null===Ls||null===Ls.return)return Fs=1,zs=t,null;e:{var n=e,r=Ls.return,i=Ls,o=t;if(t=Bs,i.effectTag|=2048,i.firstEffect=i.lastEffect=null,null!==o&&\"object\"===typeof o&&\"function\"===typeof o.then){var a=o,s=0!==(1&Go.current),c=r;do{var u;if(u=13===c.tag){var l=c.memoizedState;if(null!==l)u=null!==l.dehydrated;else{var f=c.memoizedProps;u=void 0!==f.fallback&&(!0!==f.unstable_avoidThisFallback||!s)}}if(u){var d=c.updateQueue;if(null===d){var h=new Set;h.add(a),c.updateQueue=h}else d.add(a);if(0===(2&c.mode)){if(c.effectTag|=64,i.effectTag&=-2981,1===i.tag)if(null===i.alternate)i.tag=17;else{var p=yo(1073741823,null);p.tag=2,bo(i,p)}i.expirationTime=1073741823;break e}o=void 0,i=t;var g=n.pingCache;if(null===g?(g=n.pingCache=new Ss,o=new Set,g.set(a,o)):void 0===(o=g.get(a))&&(o=new Set,g.set(a,o)),!o.has(i)){o.add(i);var y=Mc.bind(null,n,a,i);a.then(y,y)}c.effectTag|=4096,c.expirationTime=t;break e}c=c.return}while(null!==c);o=Error((Z(i.type)||\"A React component\")+\" suspended while rendering, but no fallback UI was specified.\\n\\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.\"+J(i))}5!==Fs&&(Fs=2),o=hs(o,i),c=r;do{switch(c.tag){case 3:a=o,c.effectTag|=4096,c.expirationTime=t,vo(c,Cs(c,a,t));break e;case 1:a=o;var m=c.type,b=c.stateNode;if(0===(64&c.effectTag)&&(\"function\"===typeof m.getDerivedStateFromError||null!==b&&\"function\"===typeof b.componentDidCatch&&(null===Ks||!Ks.has(b)))){c.effectTag|=4096,c.expirationTime=t,vo(c,Ts(c,a,t));break e}}c=c.return}while(null!==c)}Ls=_c(Ls)}catch(v){t=v;continue}break}}function yc(){var e=Ms.current;return Ms.current=Pa,null===e?Pa:e}function mc(e,t){e<Us&&2<e&&(Us=e),null!==t&&e<Hs&&2<e&&(Hs=e,Ws=t)}function bc(e){e>Ys&&(Ys=e)}function vc(){for(;null!==Ls;)Ls=wc(Ls)}function xc(){for(;null!==Ls&&!Ai();)Ls=wc(Ls)}function wc(e){var t=js(e.alternate,e,Bs);return e.memoizedProps=e.pendingProps,null===t&&(t=_c(e)),Ps.current=null,t}function _c(e){Ls=e;do{var t=Ls.alternate;if(e=Ls.return,0===(2048&Ls.effectTag)){e:{var n=t,r=Bs,o=(t=Ls).pendingProps;switch(t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:case 20:case 21:break;case 1:case 17:xi(t.type)&&wi();break;case 3:Vo(),_i(),(o=t.stateNode).pendingContext&&(o.context=o.pendingContext,o.pendingContext=null),(null===n||null===n.child)&&Ha(t)&&ls(t);break;case 5:$o(t),r=Wo(Ho.current);var s=t.type;if(null!==n&&null!=t.stateNode)ns(n,t,s,o,r),n.ref!==t.ref&&(t.effectTag|=128);else if(o){var c=Wo(zo.current);if(Ha(t)){var u=(o=t).stateNode;n=o.type;var l=o.memoizedProps,f=r;switch(u[ur]=o,u[lr]=l,s=void 0,r=u,n){case\"iframe\":case\"object\":case\"embed\":Sn(\"load\",r);break;case\"video\":case\"audio\":for(u=0;u<tt.length;u++)Sn(tt[u],r);break;case\"source\":Sn(\"error\",r);break;case\"img\":case\"image\":case\"link\":Sn(\"error\",r),Sn(\"load\",r);break;case\"form\":Sn(\"reset\",r),Sn(\"submit\",r);break;case\"details\":Sn(\"toggle\",r);break;case\"input\":Ce(r,l),Sn(\"invalid\",r),Yn(f,\"onChange\");break;case\"select\":r._wrapperState={wasMultiple:!!l.multiple},Sn(\"invalid\",r),Yn(f,\"onChange\");break;case\"textarea\":Re(r,l),Sn(\"invalid\",r),Yn(f,\"onChange\")}for(s in Hn(n,l),u=null,l)l.hasOwnProperty(s)&&(c=l[s],\"children\"===s?\"string\"===typeof c?r.textContent!==c&&(u=[\"children\",c]):\"number\"===typeof c&&r.textContent!==\"\"+c&&(u=[\"children\",\"\"+c]):h.hasOwnProperty(s)&&null!=c&&Yn(f,s));switch(n){case\"input\":Oe(r),Ae(r,l,!0);break;case\"textarea\":Oe(r),Le(r);break;case\"select\":case\"option\":break;default:\"function\"===typeof l.onClick&&(r.onclick=Vn)}s=u,o.updateQueue=s,(o=null!==s)&&ls(t)}else{n=t,f=s,l=o,u=9===r.nodeType?r:r.ownerDocument,c===Be&&(c=ze(f)),c===Be?\"script\"===f?((l=u.createElement(\"div\")).innerHTML=\"<script><\\/script>\",u=l.removeChild(l.firstChild)):\"string\"===typeof l.is?u=u.createElement(f,{is:l.is}):(u=u.createElement(f),\"select\"===f&&(f=u,l.multiple?f.multiple=!0:l.size&&(f.size=l.size))):u=u.createElementNS(c,f),(l=u)[ur]=n,l[lr]=o,ts(l,t),t.stateNode=l;var d=r,p=Wn(f=s,n=o);switch(f){case\"iframe\":case\"object\":case\"embed\":Sn(\"load\",l),r=n;break;case\"video\":case\"audio\":for(r=0;r<tt.length;r++)Sn(tt[r],l);r=n;break;case\"source\":Sn(\"error\",l),r=n;break;case\"img\":case\"image\":case\"link\":Sn(\"error\",l),Sn(\"load\",l),r=n;break;case\"form\":Sn(\"reset\",l),Sn(\"submit\",l),r=n;break;case\"details\":Sn(\"toggle\",l),r=n;break;case\"input\":Ce(l,n),r=Se(l,n),Sn(\"invalid\",l),Yn(d,\"onChange\");break;case\"option\":r=Pe(l,n);break;case\"select\":l._wrapperState={wasMultiple:!!n.multiple},r=i({},n,{value:void 0}),Sn(\"invalid\",l),Yn(d,\"onChange\");break;case\"textarea\":Re(l,n),r=De(l,n),Sn(\"invalid\",l),Yn(d,\"onChange\");break;default:r=n}Hn(f,r),u=void 0,c=f;var g=l,y=r;for(u in y)if(y.hasOwnProperty(u)){var m=y[u];\"style\"===u?zn(g,m):\"dangerouslySetInnerHTML\"===u?null!=(m=m?m.__html:void 0)&&Ye(g,m):\"children\"===u?\"string\"===typeof m?(\"textarea\"!==c||\"\"!==m)&&Ve(g,m):\"number\"===typeof m&&Ve(g,\"\"+m):\"suppressContentEditableWarning\"!==u&&\"suppressHydrationWarning\"!==u&&\"autoFocus\"!==u&&(h.hasOwnProperty(u)?null!=m&&Yn(d,u):null!=m&&_e(g,u,m,p))}switch(f){case\"input\":Oe(l),Ae(l,n,!1);break;case\"textarea\":Oe(l),Le(l);break;case\"option\":null!=n.value&&l.setAttribute(\"value\",\"\"+we(n.value));break;case\"select\":(r=l).multiple=!!n.multiple,null!=(l=n.value)?Ne(r,!!n.multiple,l,!1):null!=n.defaultValue&&Ne(r,!!n.multiple,n.defaultValue,!0);break;default:\"function\"===typeof r.onClick&&(l.onclick=Vn)}(o=nr(s,o))&&ls(t)}null!==t.ref&&(t.effectTag|=128)}else if(null===t.stateNode)throw Error(a(166));break;case 6:if(n&&null!=t.stateNode)rs(0,t,n.memoizedProps,o);else{if(\"string\"!==typeof o&&null===t.stateNode)throw Error(a(166));r=Wo(Ho.current),Wo(zo.current),Ha(t)?(s=(o=t).stateNode,r=o.memoizedProps,s[ur]=o,(o=s.nodeValue!==r)&&ls(t)):(s=t,(o=(9===r.nodeType?r:r.ownerDocument).createTextNode(o))[ur]=s,t.stateNode=o)}break;case 13:if(hi(Go),o=t.memoizedState,0!==(64&t.effectTag)){t.expirationTime=r;break e}o=null!==o,s=!1,null===n?void 0!==t.memoizedProps.fallback&&Ha(t):(s=null!==(r=n.memoizedState),o||null===r||null!==(r=n.child.sibling)&&(null!==(l=t.firstEffect)?(t.firstEffect=r,r.nextEffect=l):(t.firstEffect=t.lastEffect=r,r.nextEffect=null),r.effectTag=8)),o&&!s&&0!==(2&t.mode)&&(null===n&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!==(1&Go.current)?0===Fs&&(Fs=3):(0!==Fs&&3!==Fs||(Fs=4),0!==Ys&&null!==Is&&(Vc(Is,Bs),qc(Is,Ys)))),(o||s)&&(t.effectTag|=4);break;case 4:Vo();break;case 10:co(t);break;case 19:if(hi(Go),null===(o=t.memoizedState))break;if(s=0!==(64&t.effectTag),null===(l=o.rendering)){if(s)fs(o,!1);else if(0!==Fs||null!==n&&0!==(64&n.effectTag))for(n=t.child;null!==n;){if(null!==(l=Xo(n))){for(t.effectTag|=64,fs(o,!1),null!==(s=l.updateQueue)&&(t.updateQueue=s,t.effectTag|=4),null===o.lastEffect&&(t.firstEffect=null),t.lastEffect=o.lastEffect,o=r,s=t.child;null!==s;)n=o,(r=s).effectTag&=2,r.nextEffect=null,r.firstEffect=null,r.lastEffect=null,null===(l=r.alternate)?(r.childExpirationTime=0,r.expirationTime=n,r.child=null,r.memoizedProps=null,r.memoizedState=null,r.updateQueue=null,r.dependencies=null):(r.childExpirationTime=l.childExpirationTime,r.expirationTime=l.expirationTime,r.child=l.child,r.memoizedProps=l.memoizedProps,r.memoizedState=l.memoizedState,r.updateQueue=l.updateQueue,n=l.dependencies,r.dependencies=null===n?null:{expirationTime:n.expirationTime,firstContext:n.firstContext,responders:n.responders}),s=s.sibling;pi(Go,1&Go.current|2),t=t.child;break e}n=n.sibling}}else{if(!s)if(null!==(n=Xo(l))){if(t.effectTag|=64,s=!0,null!==(r=n.updateQueue)&&(t.updateQueue=r,t.effectTag|=4),fs(o,!0),null===o.tail&&\"hidden\"===o.tailMode&&!l.alternate){null!==(t=t.lastEffect=o.lastEffect)&&(t.nextEffect=null);break}}else Vi()>o.tailExpiration&&1<r&&(t.effectTag|=64,s=!0,fs(o,!1),t.expirationTime=t.childExpirationTime=r-1);o.isBackwards?(l.sibling=t.child,t.child=l):(null!==(r=o.last)?r.sibling=l:t.child=l,o.last=l)}if(null!==o.tail){0===o.tailExpiration&&(o.tailExpiration=Vi()+500),r=o.tail,o.rendering=r,o.tail=r.sibling,o.lastEffect=t.lastEffect,r.sibling=null,o=Go.current,pi(Go,o=s?1&o|2:1&o),t=r;break e}break;default:throw Error(a(156,t.tag))}t=null}if(o=Ls,1===Bs||1!==o.childExpirationTime){for(s=0,r=o.child;null!==r;)(n=r.expirationTime)>s&&(s=n),(l=r.childExpirationTime)>s&&(s=l),r=r.sibling;o.childExpirationTime=s}if(null!==t)return t;null!==e&&0===(2048&e.effectTag)&&(null===e.firstEffect&&(e.firstEffect=Ls.firstEffect),null!==Ls.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=Ls.firstEffect),e.lastEffect=Ls.lastEffect),1<Ls.effectTag&&(null!==e.lastEffect?e.lastEffect.nextEffect=Ls:e.firstEffect=Ls,e.lastEffect=Ls))}else{if(null!==(t=ds(Ls)))return t.effectTag&=2047,t;null!==e&&(e.firstEffect=e.lastEffect=null,e.effectTag|=2048)}if(null!==(t=Ls.sibling))return t;Ls=e}while(null!==Ls);return 0===Fs&&(Fs=5),null}function kc(e){var t=e.expirationTime;return t>(e=e.childExpirationTime)?t:e}function Oc(e){var t=qi();return Gi(99,Ec.bind(null,e,t)),null}function Ec(e,t){do{Cc()}while(null!==Js);if(0!==(48&Rs))throw Error(a(327));var n=e.finishedWork,r=e.finishedExpirationTime;if(null===n)return null;if(e.finishedWork=null,e.finishedExpirationTime=0,n===e.current)throw Error(a(177));e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90,e.nextKnownPendingLevel=0;var i=kc(n);if(e.firstPendingTime=i,r<=e.lastSuspendedTime?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:r<=e.firstSuspendedTime&&(e.firstSuspendedTime=r-1),r<=e.lastPingedTime&&(e.lastPingedTime=0),r<=e.lastExpiredTime&&(e.lastExpiredTime=0),e===Is&&(Ls=Is=null,Bs=0),1<n.effectTag?null!==n.lastEffect?(n.lastEffect.nextEffect=n,i=n.firstEffect):i=n:i=n.firstEffect,null!==i){var o=Rs;Rs|=Ds,Ps.current=null,er=En;var s=Kn();if(Zn(s)){if(\"selectionStart\"in s)var c={start:s.selectionStart,end:s.selectionEnd};else e:{var u=(c=(c=s.ownerDocument)&&c.defaultView||window).getSelection&&c.getSelection();if(u&&0!==u.rangeCount){c=u.anchorNode;var l=u.anchorOffset,f=u.focusNode;u=u.focusOffset;try{c.nodeType,f.nodeType}catch(R){c=null;break e}var d=0,h=-1,p=-1,g=0,y=0,m=s,b=null;t:for(;;){for(var v;m!==c||0!==l&&3!==m.nodeType||(h=d+l),m!==f||0!==u&&3!==m.nodeType||(p=d+u),3===m.nodeType&&(d+=m.nodeValue.length),null!==(v=m.firstChild);)b=m,m=v;for(;;){if(m===s)break t;if(b===c&&++g===l&&(h=d),b===f&&++y===u&&(p=d),null!==(v=m.nextSibling))break;b=(m=b).parentNode}m=v}c=-1===h||-1===p?null:{start:h,end:p}}else c=null}c=c||{start:0,end:0}}else c=null;tr={focusedElem:s,selectionRange:c},En=!1,$s=i;do{try{Sc()}catch(R){if(null===$s)throw Error(a(330));Ac($s,R),$s=$s.nextEffect}}while(null!==$s);$s=i;do{try{for(s=e,c=t;null!==$s;){var x=$s.effectTag;if(16&x&&Ve($s.stateNode,\"\"),128&x){var w=$s.alternate;if(null!==w){var _=w.ref;null!==_&&(\"function\"===typeof _?_(null):_.current=null)}}switch(1038&x){case 2:_s($s),$s.effectTag&=-3;break;case 6:_s($s),$s.effectTag&=-3,Os($s.alternate,$s);break;case 1024:$s.effectTag&=-1025;break;case 1028:$s.effectTag&=-1025,Os($s.alternate,$s);break;case 4:Os($s.alternate,$s);break;case 8:ks(s,l=$s,c),xs(l)}$s=$s.nextEffect}}catch(R){if(null===$s)throw Error(a(330));Ac($s,R),$s=$s.nextEffect}}while(null!==$s);if(_=tr,w=Kn(),x=_.focusedElem,c=_.selectionRange,w!==x&&x&&x.ownerDocument&&Xn(x.ownerDocument.documentElement,x)){null!==c&&Zn(x)&&(w=c.start,void 0===(_=c.end)&&(_=w),\"selectionStart\"in x?(x.selectionStart=w,x.selectionEnd=Math.min(_,x.value.length)):(_=(w=x.ownerDocument||document)&&w.defaultView||window).getSelection&&(_=_.getSelection(),l=x.textContent.length,s=Math.min(c.start,l),c=void 0===c.end?s:Math.min(c.end,l),!_.extend&&s>c&&(l=c,c=s,s=l),l=Gn(x,s),f=Gn(x,c),l&&f&&(1!==_.rangeCount||_.anchorNode!==l.node||_.anchorOffset!==l.offset||_.focusNode!==f.node||_.focusOffset!==f.offset)&&((w=w.createRange()).setStart(l.node,l.offset),_.removeAllRanges(),s>c?(_.addRange(w),_.extend(f.node,f.offset)):(w.setEnd(f.node,f.offset),_.addRange(w))))),w=[];for(_=x;_=_.parentNode;)1===_.nodeType&&w.push({element:_,left:_.scrollLeft,top:_.scrollTop});for(\"function\"===typeof x.focus&&x.focus(),x=0;x<w.length;x++)(_=w[x]).element.scrollLeft=_.left,_.element.scrollTop=_.top}tr=null,En=!!er,er=null,e.current=n,$s=i;do{try{for(x=r;null!==$s;){var k=$s.effectTag;if(36&k){var O=$s.alternate;switch(_=x,(w=$s).tag){case 0:case 11:case 15:bs(16,32,w);break;case 1:var E=w.stateNode;if(4&w.effectTag)if(null===O)E.componentDidMount();else{var S=w.elementType===w.type?O.memoizedProps:to(w.type,O.memoizedProps);E.componentDidUpdate(S,O.memoizedState,E.__reactInternalSnapshotBeforeUpdate)}var C=w.updateQueue;null!==C&&ko(0,C,E);break;case 3:var T=w.updateQueue;if(null!==T){if(s=null,null!==w.child)switch(w.child.tag){case 5:case 1:s=w.child.stateNode}ko(0,T,s)}break;case 5:var j=w.stateNode;null===O&&4&w.effectTag&&nr(w.type,w.memoizedProps)&&j.focus();break;case 6:case 4:case 12:case 19:case 17:case 20:case 21:break;case 13:if(null===w.memoizedState){var A=w.alternate;if(null!==A){var M=A.memoizedState;if(null!==M){var P=M.dehydrated;null!==P&&Ct(P)}}}break;default:throw Error(a(163))}}if(128&k){w=void 0;var N=$s.ref;if(null!==N){var D=$s.stateNode;$s.tag,w=D,\"function\"===typeof N?N(w):N.current=w}}$s=$s.nextEffect}}catch(R){if(null===$s)throw Error(a(330));Ac($s,R),$s=$s.nextEffect}}while(null!==$s);$s=null,zi(),Rs=o}else e.current=n;if(Zs)Zs=!1,Js=e,Qs=t;else for($s=i;null!==$s;)t=$s.nextEffect,$s.nextEffect=null,$s=t;if(0===(t=e.firstPendingTime)&&(Ks=null),1073741823===t?e===nc?tc++:(tc=0,nc=e):tc=0,\"function\"===typeof Nc&&Nc(n.stateNode,r),uc(e),Gs)throw Gs=!1,e=Xs,Xs=null,e;return 0!==(8&Rs)||Zi(),null}function Sc(){for(;null!==$s;){var e=$s.effectTag;0!==(256&e)&&ms($s.alternate,$s),0===(512&e)||Zs||(Zs=!0,Xi(97,(function(){return Cc(),null}))),$s=$s.nextEffect}}function Cc(){if(90!==Qs){var e=97<Qs?97:Qs;return Qs=90,Gi(e,Tc)}}function Tc(){if(null===Js)return!1;var e=Js;if(Js=null,0!==(48&Rs))throw Error(a(331));var t=Rs;for(Rs|=Ds,e=e.current.firstEffect;null!==e;){try{var n=e;if(0!==(512&n.effectTag))switch(n.tag){case 0:case 11:case 15:bs(128,0,n),bs(0,64,n)}}catch(r){if(null===e)throw Error(a(330));Ac(e,r)}n=e.nextEffect,e.nextEffect=null,e=n}return Rs=t,Zi(),!0}function jc(e,t,n){bo(e,t=Cs(e,t=hs(n,t),1073741823)),null!==(e=sc(e,1073741823))&&uc(e)}function Ac(e,t){if(3===e.tag)jc(e,e,t);else for(var n=e.return;null!==n;){if(3===n.tag){jc(n,e,t);break}if(1===n.tag){var r=n.stateNode;if(\"function\"===typeof n.type.getDerivedStateFromError||\"function\"===typeof r.componentDidCatch&&(null===Ks||!Ks.has(r))){bo(n,e=Ts(n,e=hs(t,e),1073741823)),null!==(n=sc(n,1073741823))&&uc(n);break}}n=n.return}}function Mc(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),Is===e&&Bs===n?4===Fs||3===Fs&&1073741823===Us&&Vi()-qs<500?pc(e,Bs):Vs=!0:Yc(e,n)&&(0!==(t=e.lastPingedTime)&&t<n||(e.lastPingedTime=n,e.finishedExpirationTime===n&&(e.finishedExpirationTime=0,e.finishedWork=null),uc(e)))}function Pc(e,t){var n=e.stateNode;null!==n&&n.delete(t),0===(t=0)&&(t=oc(t=ic(),e,null)),null!==(e=sc(e,t))&&uc(e)}js=function(e,t,n){var r=t.expirationTime;if(null!==e){var i=t.pendingProps;if(e.memoizedProps!==i||mi.current)Va=!0;else{if(r<n){switch(Va=!1,t.tag){case 3:es(t),Wa();break;case 5:if(qo(t),4&t.mode&&1!==n&&i.hidden)return t.expirationTime=t.childExpirationTime=1,null;break;case 1:xi(t.type)&&Ei(t);break;case 4:Yo(t,t.stateNode.containerInfo);break;case 10:so(t,t.memoizedProps.value);break;case 13:if(null!==t.memoizedState)return 0!==(r=t.child.childExpirationTime)&&r>=n?os(e,t,n):(pi(Go,1&Go.current),null!==(t=us(e,t,n))?t.sibling:null);pi(Go,1&Go.current);break;case 19:if(r=t.childExpirationTime>=n,0!==(64&e.effectTag)){if(r)return cs(e,t,n);t.effectTag|=64}if(null!==(i=t.memoizedState)&&(i.rendering=null,i.tail=null),pi(Go,Go.current),!r)return null}return us(e,t,n)}Va=!1}}else Va=!1;switch(t.expirationTime=0,t.tag){case 2:if(r=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,i=vi(t,yi.current),lo(t,n),i=pa(null,t,r,e,i,n),t.effectTag|=1,\"object\"===typeof i&&null!==i&&\"function\"===typeof i.render&&void 0===i.$$typeof){if(t.tag=1,ga(),xi(r)){var o=!0;Ei(t)}else o=!1;t.memoizedState=null!==i.state&&void 0!==i.state?i.state:null;var s=r.getDerivedStateFromProps;\"function\"===typeof s&&Co(t,r,s,e),i.updater=To,t.stateNode=i,i._reactInternalFiber=t,Po(t,r,e,n),t=Qa(null,t,r,!0,o,n)}else t.tag=0,qa(null,t,i,n),t=t.child;return t;case 16:if(i=t.elementType,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,function(e){if(-1===e._status){e._status=0;var t=e._ctor;t=t(),e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}}(i),1!==i._status)throw i._result;switch(i=i._result,t.type=i,o=t.tag=function(e){if(\"function\"===typeof e)return Lc(e)?1:0;if(void 0!==e&&null!==e){if((e=e.$$typeof)===Y)return 11;if(e===$)return 14}return 2}(i),e=to(i,e),o){case 0:t=Za(null,t,i,e,n);break;case 1:t=Ja(null,t,i,e,n);break;case 11:t=$a(null,t,i,e,n);break;case 14:t=Ga(null,t,i,to(i.type,e),r,n);break;default:throw Error(a(306,i,\"\"))}return t;case 0:return r=t.type,i=t.pendingProps,Za(e,t,r,i=t.elementType===r?i:to(r,i),n);case 1:return r=t.type,i=t.pendingProps,Ja(e,t,r,i=t.elementType===r?i:to(r,i),n);case 3:if(es(t),null===(r=t.updateQueue))throw Error(a(282));if(i=null!==(i=t.memoizedState)?i.element:null,_o(t,r,t.pendingProps,null,n),(r=t.memoizedState.element)===i)Wa(),t=us(e,t,n);else{if((i=t.stateNode.hydrate)&&(Ia=ar(t.stateNode.containerInfo.firstChild),Ra=t,i=La=!0),i)for(n=Bo(t,null,r,n),t.child=n;n;)n.effectTag=-3&n.effectTag|1024,n=n.sibling;else qa(e,t,r,n),Wa();t=t.child}return t;case 5:return qo(t),null===e&&za(t),r=t.type,i=t.pendingProps,o=null!==e?e.memoizedProps:null,s=i.children,rr(r,i)?s=null:null!==o&&rr(r,o)&&(t.effectTag|=16),Ka(e,t),4&t.mode&&1!==n&&i.hidden?(t.expirationTime=t.childExpirationTime=1,t=null):(qa(e,t,s,n),t=t.child),t;case 6:return null===e&&za(t),null;case 13:return os(e,t,n);case 4:return Yo(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=Lo(t,null,r,n):qa(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,$a(e,t,r,i=t.elementType===r?i:to(r,i),n);case 7:return qa(e,t,t.pendingProps,n),t.child;case 8:case 12:return qa(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,s=t.memoizedProps,so(t,o=i.value),null!==s){var c=s.value;if(0===(o=ei(c,o)?0:0|(\"function\"===typeof r._calculateChangedBits?r._calculateChangedBits(c,o):1073741823))){if(s.children===i.children&&!mi.current){t=us(e,t,n);break e}}else for(null!==(c=t.child)&&(c.return=t);null!==c;){var u=c.dependencies;if(null!==u){s=c.child;for(var l=u.firstContext;null!==l;){if(l.context===r&&0!==(l.observedBits&o)){1===c.tag&&((l=yo(n,null)).tag=2,bo(c,l)),c.expirationTime<n&&(c.expirationTime=n),null!==(l=c.alternate)&&l.expirationTime<n&&(l.expirationTime=n),uo(c.return,n),u.expirationTime<n&&(u.expirationTime=n);break}l=l.next}}else s=10===c.tag&&c.type===t.type?null:c.child;if(null!==s)s.return=c;else for(s=c;null!==s;){if(s===t){s=null;break}if(null!==(c=s.sibling)){c.return=s.return,s=c;break}s=s.return}c=s}}qa(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=(o=t.pendingProps).children,lo(t,n),r=r(i=fo(i,o.unstable_observedBits)),t.effectTag|=1,qa(e,t,r,n),t.child;case 14:return o=to(i=t.type,t.pendingProps),Ga(e,t,i,o=to(i.type,o),r,n);case 15:return Xa(e,t,t.type,t.pendingProps,r,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:to(r,i),null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),t.tag=1,xi(r)?(e=!0,Ei(t)):e=!1,lo(t,n),Ao(t,r,i),Po(t,r,i,n),Qa(null,t,r,!0,e,n);case 19:return cs(e,t,n)}throw Error(a(156,t.tag))};var Nc=null,Dc=null;function Rc(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childExpirationTime=this.expirationTime=0,this.alternate=null}function Ic(e,t,n,r){return new Rc(e,t,n,r)}function Lc(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Bc(e,t){var n=e.alternate;return null===n?((n=Ic(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.effectTag=0,n.nextEffect=null,n.firstEffect=null,n.lastEffect=null),n.childExpirationTime=e.childExpirationTime,n.expirationTime=e.expirationTime,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{expirationTime:t.expirationTime,firstContext:t.firstContext,responders:t.responders},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Fc(e,t,n,r,i,o){var s=2;if(r=e,\"function\"===typeof e)Lc(e)&&(s=1);else if(\"string\"===typeof e)s=5;else e:switch(e){case B:return zc(n.children,i,o,t);case W:s=8,i|=7;break;case F:s=8,i|=1;break;case z:return(e=Ic(12,n,t,8|i)).elementType=z,e.type=z,e.expirationTime=o,e;case V:return(e=Ic(13,n,t,i)).type=V,e.elementType=V,e.expirationTime=o,e;case q:return(e=Ic(19,n,t,i)).elementType=q,e.expirationTime=o,e;default:if(\"object\"===typeof e&&null!==e)switch(e.$$typeof){case U:s=10;break e;case H:s=9;break e;case Y:s=11;break e;case $:s=14;break e;case G:s=16,r=null;break e}throw Error(a(130,null==e?e:typeof e,\"\"))}return(t=Ic(s,n,t,i)).elementType=e,t.type=r,t.expirationTime=o,t}function zc(e,t,n,r){return(e=Ic(7,e,r,t)).expirationTime=n,e}function Uc(e,t,n){return(e=Ic(6,e,null,t)).expirationTime=n,e}function Hc(e,t,n){return(t=Ic(4,null!==e.children?e.children:[],e.key,t)).expirationTime=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Wc(e,t,n){this.tag=t,this.current=null,this.containerInfo=e,this.pingCache=this.pendingChildren=null,this.finishedExpirationTime=0,this.finishedWork=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=n,this.callbackNode=null,this.callbackPriority=90,this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}function Yc(e,t){var n=e.firstSuspendedTime;return e=e.lastSuspendedTime,0!==n&&n>=t&&e<=t}function Vc(e,t){var n=e.firstSuspendedTime,r=e.lastSuspendedTime;n<t&&(e.firstSuspendedTime=t),(r>t||0===n)&&(e.lastSuspendedTime=t),t<=e.lastPingedTime&&(e.lastPingedTime=0),t<=e.lastExpiredTime&&(e.lastExpiredTime=0)}function qc(e,t){t>e.firstPendingTime&&(e.firstPendingTime=t);var n=e.firstSuspendedTime;0!==n&&(t>=n?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:t>=e.lastSuspendedTime&&(e.lastSuspendedTime=t+1),t>e.nextKnownPendingLevel&&(e.nextKnownPendingLevel=t))}function $c(e,t){var n=e.lastExpiredTime;(0===n||n>t)&&(e.lastExpiredTime=t)}function Gc(e,t,n,r){var i=t.current,o=ic(),s=Eo.suspense;o=oc(o,i,s);e:if(n){t:{if(nt(n=n._reactInternalFiber)!==n||1!==n.tag)throw Error(a(170));var c=n;do{switch(c.tag){case 3:c=c.stateNode.context;break t;case 1:if(xi(c.type)){c=c.stateNode.__reactInternalMemoizedMergedChildContext;break t}}c=c.return}while(null!==c);throw Error(a(171))}if(1===n.tag){var u=n.type;if(xi(u)){n=Oi(n,u,c);break e}}n=c}else n=gi;return null===t.context?t.context=n:t.pendingContext=n,(t=yo(o,s)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),bo(i,t),ac(i,o),o}function Xc(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Kc(e,t){null!==(e=e.memoizedState)&&null!==e.dehydrated&&e.retryTime<t&&(e.retryTime=t)}function Zc(e,t){Kc(e,t),(e=e.alternate)&&Kc(e,t)}function Jc(e,t,n){var r=new Wc(e,t,n=null!=n&&!0===n.hydrate),i=Ic(3,null,null,2===t?7:1===t?3:0);r.current=i,i.stateNode=r,e[fr]=r.current,n&&0!==t&&function(e){var t=Rn(e);mt.forEach((function(n){In(n,e,t)})),bt.forEach((function(n){In(n,e,t)}))}(9===e.nodeType?e:e.ownerDocument),this._internalRoot=r}function Qc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||\" react-mount-point-unstable \"!==e.nodeValue))}function eu(e,t,n,r,i){var o=n._reactRootContainer;if(o){var a=o._internalRoot;if(\"function\"===typeof i){var s=i;i=function(){var e=Xc(a);s.call(e)}}Gc(t,a,e,i)}else{if(o=n._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute(\"data-reactroot\"))),!t)for(var n;n=e.lastChild;)e.removeChild(n);return new Jc(e,0,t?{hydrate:!0}:void 0)}(n,r),a=o._internalRoot,\"function\"===typeof i){var c=i;i=function(){var e=Xc(a);c.call(e)}}hc((function(){Gc(t,a,e,i)}))}return Xc(a)}function tu(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:L,key:null==r?null:\"\"+r,children:e,containerInfo:t,implementation:n}}function nu(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Qc(t))throw Error(a(200));return tu(e,t,null,n)}Jc.prototype.render=function(e,t){Gc(e,this._internalRoot,null,void 0===t?null:t)},Jc.prototype.unmount=function(e){var t=this._internalRoot,n=void 0===e?null:e,r=t.containerInfo;Gc(null,t,null,(function(){r[fr]=null,null!==n&&n()}))},at=function(e){if(13===e.tag){var t=eo(ic(),150,100);ac(e,t),Zc(e,t)}},st=function(e){if(13===e.tag){ic();var t=Qi++;ac(e,t),Zc(e,t)}},ct=function(e){if(13===e.tag){var t=ic();ac(e,t=oc(t,e,null)),Zc(e,t)}},ee=function(e,t,n){switch(t){case\"input\":if(je(e,n),t=n.name,\"radio\"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+t)+'][type=\"radio\"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var i=gr(r);if(!i)throw Error(a(90));Ee(r),je(r,i)}}}break;case\"textarea\":Ie(e,n);break;case\"select\":null!=(t=n.value)&&Ne(e,!!n.multiple,t,!1)}},ae=dc,se=function(e,t,n,r){var i=Rs;Rs|=4;try{return Gi(98,e.bind(null,t,n,r))}finally{0===(Rs=i)&&Zi()}},ce=function(){0===(49&Rs)&&(function(){if(null!==ec){var e=ec;ec=null,e.forEach((function(e,t){$c(t,e),uc(t)})),Zi()}}(),Cc())},ue=function(e,t){var n=Rs;Rs|=2;try{return e(t)}finally{0===(Rs=n)&&Zi()}};var ru={createPortal:nu,findDOMNode:function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternalFiber;if(void 0===t){if(\"function\"===typeof e.render)throw Error(a(188));throw Error(a(268,Object.keys(e)))}return e=null===(e=ot(t))?null:e.stateNode},hydrate:function(e,t,n){if(!Qc(t))throw Error(a(200));return eu(null,e,t,!0,n)},render:function(e,t,n){if(!Qc(t))throw Error(a(200));return eu(null,e,t,!1,n)},unstable_renderSubtreeIntoContainer:function(e,t,n,r){if(!Qc(n))throw Error(a(200));if(null==e||void 0===e._reactInternalFiber)throw Error(a(38));return eu(e,t,n,!1,r)},unmountComponentAtNode:function(e){if(!Qc(e))throw Error(a(40));return!!e._reactRootContainer&&(hc((function(){eu(null,null,e,!1,(function(){e._reactRootContainer=null,e[fr]=null}))})),!0)},unstable_createPortal:function(){return nu.apply(void 0,arguments)},unstable_batchedUpdates:dc,flushSync:function(e,t){if(0!==(48&Rs))throw Error(a(187));var n=Rs;Rs|=1;try{return Gi(99,e.bind(null,t))}finally{Rs=n,Zi()}},__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{Events:[hr,pr,gr,M.injectEventPluginsByName,d,Dt,function(e){C(e,Nt)},ie,oe,Mn,A,Cc,{current:!1}]}};!function(e){var t=e.findFiberByHostInstance;(function(e){if(\"undefined\"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled||!t.supportsFiber)return!0;try{var n=t.inject(e);Nc=function(e){try{t.onCommitFiberRoot(n,e,void 0,64===(64&e.current.effectTag))}catch(r){}},Dc=function(e){try{t.onCommitFiberUnmount(n,e)}catch(r){}}}catch(r){}})(i({},e,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:N.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=ot(e))?null:e.stateNode},findFiberByHostInstance:function(e){return t?t(e):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}))}({findFiberByHostInstance:dr,bundleType:0,version:\"16.12.0\",rendererPackageName:\"react-dom\"});var iu={default:ru},ou=iu&&ru||iu;e.exports=ou.default||ou},function(e,t,n){\"use strict\";e.exports=n(422)},function(e,t,n){\"use strict\";var r,i,o,a,s;if(Object.defineProperty(t,\"__esModule\",{value:!0}),\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var c=null,u=null,l=function e(){if(null!==c)try{var n=t.unstable_now();c(!0,n),c=null}catch(r){throw setTimeout(e,0),r}},f=Date.now();t.unstable_now=function(){return Date.now()-f},r=function(e){null!==c?setTimeout(r,0,e):(c=e,setTimeout(l,0))},i=function(e,t){u=setTimeout(e,t)},o=function(){clearTimeout(u)},a=function(){return!1},s=t.unstable_forceFrameRate=function(){}}else{var d=window.performance,h=window.Date,p=window.setTimeout,g=window.clearTimeout;if(\"undefined\"!==typeof console){var y=window.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\"),\"function\"!==typeof y&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\")}if(\"object\"===typeof d&&\"function\"===typeof d.now)t.unstable_now=function(){return d.now()};else{var m=h.now();t.unstable_now=function(){return h.now()-m}}var b=!1,v=null,x=-1,w=5,_=0;a=function(){return t.unstable_now()>=_},s=function(){},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported\"):w=0<e?Math.floor(1e3/e):5};var k=new MessageChannel,O=k.port2;k.port1.onmessage=function(){if(null!==v){var e=t.unstable_now();_=e+w;try{v(!0,e)?O.postMessage(null):(b=!1,v=null)}catch(n){throw O.postMessage(null),n}}else b=!1},r=function(e){v=e,b||(b=!0,O.postMessage(null))},i=function(e,n){x=p((function(){e(t.unstable_now())}),n)},o=function(){g(x),x=-1}}function E(e,t){var n=e.length;e.push(t);e:for(;;){var r=Math.floor((n-1)/2),i=e[r];if(!(void 0!==i&&0<T(i,t)))break e;e[r]=t,e[n]=i,n=r}}function S(e){return void 0===(e=e[0])?null:e}function C(e){var t=e[0];if(void 0!==t){var n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,i=e.length;r<i;){var o=2*(r+1)-1,a=e[o],s=o+1,c=e[s];if(void 0!==a&&0>T(a,n))void 0!==c&&0>T(c,a)?(e[r]=c,e[s]=n,r=s):(e[r]=a,e[o]=n,r=o);else{if(!(void 0!==c&&0>T(c,n)))break e;e[r]=c,e[s]=n,r=s}}}return t}return null}function T(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var j=[],A=[],M=1,P=null,N=3,D=!1,R=!1,I=!1;function L(e){for(var t=S(A);null!==t;){if(null===t.callback)C(A);else{if(!(t.startTime<=e))break;C(A),t.sortIndex=t.expirationTime,E(j,t)}t=S(A)}}function B(e){if(I=!1,L(e),!R)if(null!==S(j))R=!0,r(F);else{var t=S(A);null!==t&&i(B,t.startTime-e)}}function F(e,n){R=!1,I&&(I=!1,o()),D=!0;var r=N;try{for(L(n),P=S(j);null!==P&&(!(P.expirationTime>n)||e&&!a());){var s=P.callback;if(null!==s){P.callback=null,N=P.priorityLevel;var c=s(P.expirationTime<=n);n=t.unstable_now(),\"function\"===typeof c?P.callback=c:P===S(j)&&C(j),L(n)}else C(j);P=S(j)}if(null!==P)var u=!0;else{var l=S(A);null!==l&&i(B,l.startTime-n),u=!1}return u}finally{P=null,N=r,D=!1}}function z(e){switch(e){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var U=s;t.unstable_ImmediatePriority=1,t.unstable_UserBlockingPriority=2,t.unstable_NormalPriority=3,t.unstable_IdlePriority=5,t.unstable_LowPriority=4,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=N;N=e;try{return t()}finally{N=n}},t.unstable_next=function(e){switch(N){case 1:case 2:case 3:var t=3;break;default:t=N}var n=N;N=t;try{return e()}finally{N=n}},t.unstable_scheduleCallback=function(e,n,a){var s=t.unstable_now();if(\"object\"===typeof a&&null!==a){var c=a.delay;c=\"number\"===typeof c&&0<c?s+c:s,a=\"number\"===typeof a.timeout?a.timeout:z(e)}else a=z(e),c=s;return e={id:M++,callback:n,priorityLevel:e,startTime:c,expirationTime:a=c+a,sortIndex:-1},c>s?(e.sortIndex=c,E(A,e),null===S(j)&&e===S(A)&&(I?o():I=!0,i(B,c-s))):(e.sortIndex=a,E(j,e),R||D||(R=!0,r(F))),e},t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_wrapCallback=function(e){var t=N;return function(){var n=N;N=t;try{return e.apply(this,arguments)}finally{N=n}}},t.unstable_getCurrentPriorityLevel=function(){return N},t.unstable_shouldYield=function(){var e=t.unstable_now();L(e);var n=S(j);return n!==P&&null!==P&&null!==n&&null!==n.callback&&n.startTime<=e&&n.expirationTime<P.expirationTime||a()},t.unstable_requestPaint=U,t.unstable_continueExecution=function(){R||D||(R=!0,r(F))},t.unstable_pauseExecution=function(){},t.unstable_getFirstCallbackNode=function(){return S(j)},t.unstable_Profiling=null},,function(e,t,n){},,,function(e,t,n){\"use strict\";var r=n(428);function i(){}function o(){}o.resetWarningCache=i,e.exports=function(){function e(e,t,n,i,o,a){if(a!==r){var s=new Error(\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types\");throw s.name=\"Invariant Violation\",s}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:i};return n.PropTypes=n,n}},function(e,t,n){\"use strict\";e.exports=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\"},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=\"function\"===typeof Symbol&&Symbol.for,i=r?Symbol.for(\"react.element\"):60103,o=r?Symbol.for(\"react.portal\"):60106,a=r?Symbol.for(\"react.fragment\"):60107,s=r?Symbol.for(\"react.strict_mode\"):60108,c=r?Symbol.for(\"react.profiler\"):60114,u=r?Symbol.for(\"react.provider\"):60109,l=r?Symbol.for(\"react.context\"):60110,f=r?Symbol.for(\"react.async_mode\"):60111,d=r?Symbol.for(\"react.concurrent_mode\"):60111,h=r?Symbol.for(\"react.forward_ref\"):60112,p=r?Symbol.for(\"react.suspense\"):60113,g=r?Symbol.for(\"react.suspense_list\"):60120,y=r?Symbol.for(\"react.memo\"):60115,m=r?Symbol.for(\"react.lazy\"):60116,b=r?Symbol.for(\"react.fundamental\"):60117,v=r?Symbol.for(\"react.responder\"):60118,x=r?Symbol.for(\"react.scope\"):60119;function w(e){if(\"object\"===typeof e&&null!==e){var t=e.$$typeof;switch(t){case i:switch(e=e.type){case f:case d:case a:case c:case s:case p:return e;default:switch(e=e&&e.$$typeof){case l:case h:case m:case y:case u:return e;default:return t}}case o:return t}}}function _(e){return w(e)===d}t.typeOf=w,t.AsyncMode=f,t.ConcurrentMode=d,t.ContextConsumer=l,t.ContextProvider=u,t.Element=i,t.ForwardRef=h,t.Fragment=a,t.Lazy=m,t.Memo=y,t.Portal=o,t.Profiler=c,t.StrictMode=s,t.Suspense=p,t.isValidElementType=function(e){return\"string\"===typeof e||\"function\"===typeof e||e===a||e===d||e===c||e===s||e===p||e===g||\"object\"===typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===y||e.$$typeof===u||e.$$typeof===l||e.$$typeof===h||e.$$typeof===b||e.$$typeof===v||e.$$typeof===x)},t.isAsyncMode=function(e){return _(e)||w(e)===f},t.isConcurrentMode=_,t.isContextConsumer=function(e){return w(e)===l},t.isContextProvider=function(e){return w(e)===u},t.isElement=function(e){return\"object\"===typeof e&&null!==e&&e.$$typeof===i},t.isForwardRef=function(e){return w(e)===h},t.isFragment=function(e){return w(e)===a},t.isLazy=function(e){return w(e)===m},t.isMemo=function(e){return w(e)===y},t.isPortal=function(e){return w(e)===o},t.isProfiler=function(e){return w(e)===c},t.isStrictMode=function(e){return w(e)===s},t.isSuspense=function(e){return w(e)===p}},,function(e,t){function n(){return e.exports=n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},n.apply(this,arguments)}e.exports=n},,,function(e,t,n){\"use strict\";var r=/^(%20|\\s)*(javascript|data)/im,i=/[^\\x20-\\x7E]/gim,o=/^([^:]+):/gm,a=[\".\",\"/\"];e.exports={sanitizeUrl:function(e){if(!e)return\"about:blank\";var t,n,s=e.replace(i,\"\").trim();return function(e){return a.indexOf(e[0])>-1}(s)?s:(n=s.match(o))?(t=n[0],r.test(t)?\"about:blank\":s):\"about:blank\"}}},function(e,t,n){e.exports={Graph:n(234),version:n(536)}},function(e,t,n){var r=n(290);e.exports=function(e){return r(e,4)}},function(e,t){e.exports=function(){this.__data__=[],this.size=0}},function(e,t,n){var r=n(176),i=Array.prototype.splice;e.exports=function(e){var t=this.__data__,n=r(t,e);return!(n<0)&&(n==t.length-1?t.pop():i.call(t,n,1),--this.size,!0)}},function(e,t,n){var r=n(176);e.exports=function(e){var t=this.__data__,n=r(t,e);return n<0?void 0:t[n][1]}},function(e,t,n){var r=n(176);e.exports=function(e){return r(this.__data__,e)>-1}},function(e,t,n){var r=n(176);e.exports=function(e,t){var n=this.__data__,i=r(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this}},function(e,t,n){var r=n(175);e.exports=function(){this.__data__=new r,this.size=0}},function(e,t){e.exports=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}},function(e,t){e.exports=function(e){return this.__data__.get(e)}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t,n){var r=n(175),i=n(235),o=n(236);e.exports=function(e,t){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!i||a.length<199)return a.push([e,t]),this.size=++n.size,this;n=this.__data__=new o(a)}return n.set(e,t),this.size=n.size,this}},function(e,t,n){var r=n(131),i=n(450),o=n(65),a=n(292),s=/^\\[object .+?Constructor\\]$/,c=Function.prototype,u=Object.prototype,l=c.toString,f=u.hasOwnProperty,d=RegExp(\"^\"+l.call(f).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");e.exports=function(e){return!(!o(e)||i(e))&&(r(e)?d:s).test(a(e))}},function(e,t,n){var r=n(132),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=r?r.toStringTag:void 0;e.exports=function(e){var t=o.call(e,s),n=e[s];try{e[s]=void 0;var r=!0}catch(c){}var i=a.call(e);return r&&(t?e[s]=n:delete e[s]),i}},function(e,t){var n=Object.prototype.toString;e.exports=function(e){return n.call(e)}},function(e,t,n){var r=n(451),i=function(){var e=/[^.]+$/.exec(r&&r.keys&&r.keys.IE_PROTO||\"\");return e?\"Symbol(src)_1.\"+e:\"\"}();e.exports=function(e){return!!i&&i in e}},function(e,t,n){var r=n(72)[\"__core-js_shared__\"];e.exports=r},function(e,t){e.exports=function(e,t){return null==e?void 0:e[t]}},function(e,t,n){var r=n(454),i=n(175),o=n(235);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||i),string:new r}}},function(e,t,n){var r=n(455),i=n(456),o=n(457),a=n(458),s=n(459);function c(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=i,c.prototype.get=o,c.prototype.has=a,c.prototype.set=s,e.exports=c},function(e,t,n){var r=n(177);e.exports=function(){this.__data__=r?r(null):{},this.size=0}},function(e,t){e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},function(e,t,n){var r=n(177),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(r){var n=t[e];return\"__lodash_hash_undefined__\"===n?void 0:n}return i.call(t,e)?t[e]:void 0}},function(e,t,n){var r=n(177),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return r?void 0!==t[e]:i.call(t,e)}},function(e,t,n){var r=n(177);e.exports=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=r&&void 0===t?\"__lodash_hash_undefined__\":t,this}},function(e,t,n){var r=n(178);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},function(e,t){e.exports=function(e){var t=typeof e;return\"string\"==t||\"number\"==t||\"symbol\"==t||\"boolean\"==t?\"__proto__\"!==e:null===e}},function(e,t,n){var r=n(178);e.exports=function(e){return r(this,e).get(e)}},function(e,t,n){var r=n(178);e.exports=function(e){return r(this,e).has(e)}},function(e,t,n){var r=n(178);e.exports=function(e,t){var n=r(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this}},function(e,t,n){var r=n(161),i=n(95);e.exports=function(e,t){return e&&r(t,i(t),e)}},function(e,t){e.exports=function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}},function(e,t,n){var r=n(116),i=n(76);e.exports=function(e){return i(e)&&\"[object Arguments]\"==r(e)}},function(e,t){e.exports=function(){return!1}},function(e,t,n){var r=n(116),i=n(238),o=n(76),a={};a[\"[object Float32Array]\"]=a[\"[object Float64Array]\"]=a[\"[object Int8Array]\"]=a[\"[object Int16Array]\"]=a[\"[object Int32Array]\"]=a[\"[object Uint8Array]\"]=a[\"[object Uint8ClampedArray]\"]=a[\"[object Uint16Array]\"]=a[\"[object Uint32Array]\"]=!0,a[\"[object Arguments]\"]=a[\"[object Array]\"]=a[\"[object ArrayBuffer]\"]=a[\"[object Boolean]\"]=a[\"[object DataView]\"]=a[\"[object Date]\"]=a[\"[object Error]\"]=a[\"[object Function]\"]=a[\"[object Map]\"]=a[\"[object Number]\"]=a[\"[object Object]\"]=a[\"[object RegExp]\"]=a[\"[object Set]\"]=a[\"[object String]\"]=a[\"[object WeakMap]\"]=!1,e.exports=function(e){return o(e)&&i(e.length)&&!!a[r(e)]}},function(e,t,n){var r=n(295)(Object.keys,Object);e.exports=r},function(e,t,n){var r=n(161),i=n(117);e.exports=function(e,t){return e&&r(t,i(t),e)}},function(e,t,n){var r=n(65),i=n(183),o=n(473),a=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return o(e);var t=i(e),n=[];for(var s in e)(\"constructor\"!=s||!t&&a.call(e,s))&&n.push(s);return n}},function(e,t){e.exports=function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}},function(e,t,n){var r=n(161),i=n(241);e.exports=function(e,t){return r(e,i(e),t)}},function(e,t,n){var r=n(161),i=n(300);e.exports=function(e,t){return r(e,i(e),t)}},function(e,t,n){var r=n(302),i=n(300),o=n(117);e.exports=function(e){return r(e,o,i)}},function(e,t,n){var r=n(115)(n(72),\"DataView\");e.exports=r},function(e,t,n){var r=n(115)(n(72),\"Promise\");e.exports=r},function(e,t,n){var r=n(115)(n(72),\"WeakMap\");e.exports=r},function(e,t){var n=Object.prototype.hasOwnProperty;e.exports=function(e){var t=e.length,r=new e.constructor(t);return t&&\"string\"==typeof e[0]&&n.call(e,\"index\")&&(r.index=e.index,r.input=e.input),r}},function(e,t,n){var r=n(243),i=n(482),o=n(483),a=n(484),s=n(305);e.exports=function(e,t,n){var c=e.constructor;switch(t){case\"[object ArrayBuffer]\":return r(e);case\"[object Boolean]\":case\"[object Date]\":return new c(+e);case\"[object DataView]\":return i(e,n);case\"[object Float32Array]\":case\"[object Float64Array]\":case\"[object Int8Array]\":case\"[object Int16Array]\":case\"[object Int32Array]\":case\"[object Uint8Array]\":case\"[object Uint8ClampedArray]\":case\"[object Uint16Array]\":case\"[object Uint32Array]\":return s(e,n);case\"[object Map]\":case\"[object Set]\":return new c;case\"[object Number]\":case\"[object String]\":return new c(e);case\"[object RegExp]\":return o(e);case\"[object Symbol]\":return a(e)}}},function(e,t,n){var r=n(243);e.exports=function(e,t){var n=t?r(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}},function(e,t){var n=/\\w*$/;e.exports=function(e){var t=new e.constructor(e.source,n.exec(e));return t.lastIndex=e.lastIndex,t}},function(e,t,n){var r=n(132),i=r?r.prototype:void 0,o=i?i.valueOf:void 0;e.exports=function(e){return o?Object(o.call(e)):{}}},function(e,t,n){var r=n(486),i=n(182),o=n(239),a=o&&o.isMap,s=a?i(a):r;e.exports=s},function(e,t,n){var r=n(134),i=n(76);e.exports=function(e){return i(e)&&\"[object Map]\"==r(e)}},function(e,t,n){var r=n(488),i=n(182),o=n(239),a=o&&o.isSet,s=a?i(a):r;e.exports=s},function(e,t,n){var r=n(134),i=n(76);e.exports=function(e){return i(e)&&\"[object Set]\"==r(e)}},function(e,t){e.exports=function(e){return function(t,n,r){for(var i=-1,o=Object(t),a=r(t),s=a.length;s--;){var c=a[e?s:++i];if(!1===n(o[c],c,o))break}return t}}},function(e,t,n){var r=n(87);e.exports=function(e,t){return function(n,i){if(null==n)return n;if(!r(n))return e(n,i);for(var o=n.length,a=t?o:-1,s=Object(n);(t?a--:++a<o)&&!1!==i(s[a],a,s););return n}}},function(e,t,n){var r=n(185);e.exports=function(e,t){var n=[];return r(e,(function(e,r,i){t(e,r,i)&&n.push(e)})),n}},function(e,t,n){var r=n(493),i=n(501),o=n(316);e.exports=function(e){var t=i(e);return 1==t.length&&t[0][2]?o(t[0][0],t[0][1]):function(n){return n===e||r(n,e,t)}}},function(e,t,n){var r=n(174),i=n(311);e.exports=function(e,t,n,o){var a=n.length,s=a,c=!o;if(null==e)return!s;for(e=Object(e);a--;){var u=n[a];if(c&&u[2]?u[1]!==e[u[0]]:!(u[0]in e))return!1}for(;++a<s;){var l=(u=n[a])[0],f=e[l],d=u[1];if(c&&u[2]){if(void 0===f&&!(l in e))return!1}else{var h=new r;if(o)var p=o(f,d,l,e,t,h);if(!(void 0===p?i(d,f,3,o,h):p))return!1}}return!0}},function(e,t,n){var r=n(174),i=n(312),o=n(498),a=n(500),s=n(134),c=n(39),u=n(133),l=n(163),f=\"[object Arguments]\",d=\"[object Array]\",h=\"[object Object]\",p=Object.prototype.hasOwnProperty;e.exports=function(e,t,n,g,y,m){var b=c(e),v=c(t),x=b?d:s(e),w=v?d:s(t),_=(x=x==f?h:x)==h,k=(w=w==f?h:w)==h,O=x==w;if(O&&u(e)){if(!u(t))return!1;b=!0,_=!1}if(O&&!_)return m||(m=new r),b||l(e)?i(e,t,n,g,y,m):o(e,t,x,n,g,y,m);if(!(1&n)){var E=_&&p.call(e,\"__wrapped__\"),S=k&&p.call(t,\"__wrapped__\");if(E||S){var C=E?e.value():e,T=S?t.value():t;return m||(m=new r),y(C,T,n,g,m)}}return!!O&&(m||(m=new r),a(e,t,n,g,y,m))}},function(e,t){e.exports=function(e){return this.__data__.set(e,\"__lodash_hash_undefined__\"),this}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}},function(e,t,n){var r=n(132),i=n(304),o=n(130),a=n(312),s=n(499),c=n(248),u=r?r.prototype:void 0,l=u?u.valueOf:void 0;e.exports=function(e,t,n,r,u,f,d){switch(n){case\"[object DataView]\":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case\"[object ArrayBuffer]\":return!(e.byteLength!=t.byteLength||!f(new i(e),new i(t)));case\"[object Boolean]\":case\"[object Date]\":case\"[object Number]\":return o(+e,+t);case\"[object Error]\":return e.name==t.name&&e.message==t.message;case\"[object RegExp]\":case\"[object String]\":return e==t+\"\";case\"[object Map]\":var h=s;case\"[object Set]\":var p=1&r;if(h||(h=c),e.size!=t.size&&!p)return!1;var g=d.get(e);if(g)return g==t;r|=2,d.set(e,t);var y=a(h(e),h(t),r,u,f,d);return d.delete(e),y;case\"[object Symbol]\":if(l)return l.call(e)==l.call(t)}return!1}},function(e,t){e.exports=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}},function(e,t,n){var r=n(301),i=Object.prototype.hasOwnProperty;e.exports=function(e,t,n,o,a,s){var c=1&n,u=r(e),l=u.length;if(l!=r(t).length&&!c)return!1;for(var f=l;f--;){var d=u[f];if(!(c?d in t:i.call(t,d)))return!1}var h=s.get(e),p=s.get(t);if(h&&p)return h==t&&p==e;var g=!0;s.set(e,t),s.set(t,e);for(var y=c;++f<l;){var m=e[d=u[f]],b=t[d];if(o)var v=c?o(b,m,d,t,e,s):o(m,b,d,e,t,s);if(!(void 0===v?m===b||a(m,b,n,o,s):v)){g=!1;break}y||(y=\"constructor\"==d)}if(g&&!y){var x=e.constructor,w=t.constructor;x==w||!(\"constructor\"in e)||!(\"constructor\"in t)||\"function\"==typeof x&&x instanceof x&&\"function\"==typeof w&&w instanceof w||(g=!1)}return s.delete(e),s.delete(t),g}},function(e,t,n){var r=n(315),i=n(95);e.exports=function(e){for(var t=i(e),n=t.length;n--;){var o=t[n],a=e[o];t[n]=[o,a,r(a)]}return t}},function(e,t,n){var r=n(311),i=n(503),o=n(318),a=n(249),s=n(315),c=n(316),u=n(164);e.exports=function(e,t){return a(e)&&s(t)?c(u(e),t):function(n){var a=i(n,e);return void 0===a&&a===t?o(n,e):r(t,a,3)}}},function(e,t,n){var r=n(186);e.exports=function(e,t,n){var i=null==e?void 0:r(e,t);return void 0===i?n:i}},function(e,t,n){var r=n(505),i=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,o=/\\\\(\\\\)?/g,a=r((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(\"\"),e.replace(i,(function(e,n,r,i){t.push(r?i.replace(o,\"$1\"):n||e)})),t}));e.exports=a},function(e,t,n){var r=n(506);e.exports=function(e){var t=r(e,(function(e){return 500===n.size&&n.clear(),e})),n=t.cache;return t}},function(e,t,n){var r=n(236);function i(e,t){if(\"function\"!=typeof e||null!=t&&\"function\"!=typeof t)throw new TypeError(\"Expected a function\");var n=function n(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=e.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(i.Cache||r),n}i.Cache=r,e.exports=i},function(e,t,n){var r=n(132),i=n(188),o=n(39),a=n(135),s=r?r.prototype:void 0,c=s?s.toString:void 0;e.exports=function e(t){if(\"string\"==typeof t)return t;if(o(t))return i(t,e)+\"\";if(a(t))return c?c.call(t):\"\";var n=t+\"\";return\"0\"==n&&1/t==-Infinity?\"-0\":n}},function(e,t){e.exports=function(e,t){return null!=e&&t in Object(e)}},function(e,t,n){var r=n(320),i=n(510),o=n(249),a=n(164);e.exports=function(e){return o(e)?r(a(e)):i(e)}},function(e,t,n){var r=n(186);e.exports=function(e){return function(t){return r(t,e)}}},function(e,t){var n=Object.prototype.hasOwnProperty;e.exports=function(e,t){return null!=e&&n.call(e,t)}},function(e,t,n){var r=n(240),i=n(134),o=n(162),a=n(39),s=n(87),c=n(133),u=n(183),l=n(163),f=Object.prototype.hasOwnProperty;e.exports=function(e){if(null==e)return!0;if(s(e)&&(a(e)||\"string\"==typeof e||\"function\"==typeof e.splice||c(e)||l(e)||o(e)))return!e.length;var t=i(e);if(\"[object Map]\"==t||\"[object Set]\"==t)return!e.size;if(u(e))return!r(e).length;for(var n in e)if(f.call(e,n))return!1;return!0}},function(e,t){e.exports=function(e,t,n,r){var i=-1,o=null==e?0:e.length;for(r&&o&&(n=e[++i]);++i<o;)n=t(n,e[i],i,e);return n}},function(e,t){e.exports=function(e,t,n,r,i){return i(e,(function(e,i,o){n=r?(r=!1,e):t(n,e,i,o)})),n}},function(e,t,n){var r=n(240),i=n(134),o=n(87),a=n(516),s=n(517);e.exports=function(e){if(null==e)return 0;if(o(e))return a(e)?s(e):e.length;var t=i(e);return\"[object Map]\"==t||\"[object Set]\"==t?e.size:r(e).length}},function(e,t,n){var r=n(116),i=n(39),o=n(76);e.exports=function(e){return\"string\"==typeof e||!i(e)&&o(e)&&\"[object String]\"==r(e)}},function(e,t,n){var r=n(518),i=n(519),o=n(520);e.exports=function(e){return i(e)?o(e):r(e)}},function(e,t,n){var r=n(320)(\"length\");e.exports=r},function(e,t){var n=RegExp(\"[\\\\u200d\\\\ud800-\\\\udfff\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff\\\\ufe0e\\\\ufe0f]\");e.exports=function(e){return n.test(e)}},function(e,t){var n=\"[\\\\ud800-\\\\udfff]\",r=\"[\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff]\",i=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",o=\"[^\\\\ud800-\\\\udfff]\",a=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",s=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",c=\"(?:\"+r+\"|\"+i+\")\"+\"?\",u=\"[\\\\ufe0e\\\\ufe0f]?\",l=u+c+(\"(?:\\\\u200d(?:\"+[o,a,s].join(\"|\")+\")\"+u+c+\")*\"),f=\"(?:\"+[o+r+\"?\",r,a,s,n].join(\"|\")+\")\",d=RegExp(i+\"(?=\"+i+\")|\"+f+l,\"g\");e.exports=function(e){for(var t=d.lastIndex=0;d.test(e);)++t;return t}},function(e,t,n){var r=n(237),i=n(307),o=n(246),a=n(88),s=n(184),c=n(39),u=n(133),l=n(131),f=n(65),d=n(163);e.exports=function(e,t,n){var h=c(e),p=h||u(e)||d(e);if(t=a(t,4),null==n){var g=e&&e.constructor;n=p?h?new g:[]:f(e)&&l(g)?i(s(e)):{}}return(p?r:o)(e,(function(e,r,i){return t(n,e,r,i)})),n}},function(e,t,n){var r=n(251),i=n(189),o=n(527),a=n(328),s=i((function(e){return o(r(e,1,a,!0))}));e.exports=s},function(e,t,n){var r=n(132),i=n(162),o=n(39),a=r?r.isConcatSpreadable:void 0;e.exports=function(e){return o(e)||i(e)||!!(a&&e&&e[a])}},function(e,t){e.exports=function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}},function(e,t,n){var r=n(244),i=n(293),o=n(118),a=i?function(e,t){return i(e,\"toString\",{configurable:!0,enumerable:!1,value:r(t),writable:!0})}:o;e.exports=a},function(e,t){var n=Date.now;e.exports=function(e){var t=0,r=0;return function(){var i=n(),o=16-(i-r);if(r=i,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}},function(e,t,n){var r=n(313),i=n(528),o=n(532),a=n(314),s=n(533),c=n(248);e.exports=function(e,t,n){var u=-1,l=i,f=e.length,d=!0,h=[],p=h;if(n)d=!1,l=o;else if(f>=200){var g=t?null:s(e);if(g)return c(g);d=!1,l=a,p=new r}else p=t?[]:h;e:for(;++u<f;){var y=e[u],m=t?t(y):y;if(y=n||0!==y?y:0,d&&m===m){for(var b=p.length;b--;)if(p[b]===m)continue e;t&&p.push(m),h.push(y)}else l(p,m,n)||(p!==h&&p.push(m),h.push(y))}return h}},function(e,t,n){var r=n(529);e.exports=function(e,t){return!!(null==e?0:e.length)&&r(e,t,0)>-1}},function(e,t,n){var r=n(327),i=n(530),o=n(531);e.exports=function(e,t,n){return t===t?o(e,t,n):r(e,i,n)}},function(e,t){e.exports=function(e){return e!==e}},function(e,t){e.exports=function(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}},function(e,t){e.exports=function(e,t,n){for(var r=-1,i=null==e?0:e.length;++r<i;)if(n(t,e[r]))return!0;return!1}},function(e,t,n){var r=n(303),i=n(534),o=n(248),a=r&&1/o(new r([,-0]))[1]==1/0?function(e){return new r(e)}:i;e.exports=a},function(e,t){e.exports=function(){}},function(e,t,n){var r=n(188);e.exports=function(e,t){return r(t,(function(t){return e[t]}))}},function(e,t){e.exports=\"2.1.8\"},function(e,t,n){var r=n(64),i=n(234);function o(e){return r.map(e.nodes(),(function(t){var n=e.node(t),i=e.parent(t),o={v:t};return r.isUndefined(n)||(o.value=n),r.isUndefined(i)||(o.parent=i),o}))}function a(e){return r.map(e.edges(),(function(t){var n=e.edge(t),i={v:t.v,w:t.w};return r.isUndefined(t.name)||(i.name=t.name),r.isUndefined(n)||(i.value=n),i}))}e.exports={write:function(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:o(e),edges:a(e)};r.isUndefined(e.graph())||(t.value=r.clone(e.graph()));return t},read:function(e){var t=new i(e.options).setGraph(e.value);return r.each(e.nodes,(function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)})),r.each(e.edges,(function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)})),t}}},function(e,t,n){e.exports={components:n(539),dijkstra:n(330),dijkstraAll:n(540),findCycles:n(541),floydWarshall:n(542),isAcyclic:n(543),postorder:n(544),preorder:n(545),prim:n(546),tarjan:n(332),topsort:n(333)}},function(e,t,n){var r=n(64);e.exports=function(e){var t,n={},i=[];function o(i){r.has(n,i)||(n[i]=!0,t.push(i),r.each(e.successors(i),o),r.each(e.predecessors(i),o))}return r.each(e.nodes(),(function(e){t=[],o(e),t.length&&i.push(t)})),i}},function(e,t,n){var r=n(330),i=n(64);e.exports=function(e,t,n){return i.transform(e.nodes(),(function(i,o){i[o]=r(e,o,t,n)}),{})}},function(e,t,n){var r=n(64),i=n(332);e.exports=function(e){return r.filter(i(e),(function(t){return t.length>1||1===t.length&&e.hasEdge(t[0],t[0])}))}},function(e,t,n){var r=n(64);e.exports=function(e,t,n){return function(e,t,n){var r={},i=e.nodes();return i.forEach((function(e){r[e]={},r[e][e]={distance:0},i.forEach((function(t){e!==t&&(r[e][t]={distance:Number.POSITIVE_INFINITY})})),n(e).forEach((function(n){var i=n.v===e?n.w:n.v,o=t(n);r[e][i]={distance:o,predecessor:e}}))})),i.forEach((function(e){var t=r[e];i.forEach((function(n){var o=r[n];i.forEach((function(n){var r=o[e],i=t[n],a=o[n],s=r.distance+i.distance;s<a.distance&&(a.distance=s,a.predecessor=i.predecessor)}))}))})),r}(e,t||i,n||function(t){return e.outEdges(t)})};var i=r.constant(1)},function(e,t,n){var r=n(333);e.exports=function(e){try{r(e)}catch(t){if(t instanceof r.CycleException)return!1;throw t}return!0}},function(e,t,n){var r=n(334);e.exports=function(e,t){return r(e,t,\"post\")}},function(e,t,n){var r=n(334);e.exports=function(e,t){return r(e,t,\"pre\")}},function(e,t,n){var r=n(64),i=n(234),o=n(331);e.exports=function(e,t){var n,a=new i,s={},c=new o;function u(e){var r=e.v===n?e.w:e.v,i=c.priority(r);if(void 0!==i){var o=t(e);o<i&&(s[r]=n,c.decrease(r,o))}}if(0===e.nodeCount())return a;r.each(e.nodes(),(function(e){c.add(e,Number.POSITIVE_INFINITY),a.setNode(e)})),c.decrease(e.nodes()[0],0);var l=!1;for(;c.size()>0;){if(n=c.removeMin(),r.has(s,n))a.setEdge(n,s[n]);else{if(l)throw new Error(\"Input graph is not connected: \"+e);l=!0}e.nodeEdges(n).forEach(u)}return a}},function(e,t,n){\"use strict\";var r=n(33),i=n(582),o=n(585),a=n(586),s=n(49).normalizeRanks,c=n(588),u=n(49).removeEmptyRanks,l=n(589),f=n(590),d=n(591),h=n(592),p=n(601),g=n(49),y=n(71).Graph;e.exports=function(e,t){var n=t&&t.debugTiming?g.time:g.notime;n(\"layout\",(function(){var t=n(\"  buildLayoutGraph\",(function(){return function(e){var t=new y({multigraph:!0,compound:!0}),n=S(e.graph());return t.setGraph(r.merge({},b,E(n,m),r.pick(n,v))),r.forEach(e.nodes(),(function(n){var i=S(e.node(n));t.setNode(n,r.defaults(E(i,x),w)),t.setParent(n,e.parent(n))})),r.forEach(e.edges(),(function(n){var i=S(e.edge(n));t.setEdge(n,r.merge({},k,E(i,_),r.pick(i,O)))})),t}(e)}));n(\"  runLayout\",(function(){!function(e,t){t(\"    makeSpaceForEdgeLabels\",(function(){!function(e){var t=e.graph();t.ranksep/=2,r.forEach(e.edges(),(function(n){var r=e.edge(n);r.minlen*=2,\"c\"!==r.labelpos.toLowerCase()&&(\"TB\"===t.rankdir||\"BT\"===t.rankdir?r.width+=r.labeloffset:r.height+=r.labeloffset)}))}(e)})),t(\"    removeSelfEdges\",(function(){!function(e){r.forEach(e.edges(),(function(t){if(t.v===t.w){var n=e.node(t.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}}))}(e)})),t(\"    acyclic\",(function(){i.run(e)})),t(\"    nestingGraph.run\",(function(){l.run(e)})),t(\"    rank\",(function(){a(g.asNonCompoundGraph(e))})),t(\"    injectEdgeLabelProxies\",(function(){!function(e){r.forEach(e.edges(),(function(t){var n=e.edge(t);if(n.width&&n.height){var r=e.node(t.v),i={rank:(e.node(t.w).rank-r.rank)/2+r.rank,e:t};g.addDummyNode(e,\"edge-proxy\",i,\"_ep\")}}))}(e)})),t(\"    removeEmptyRanks\",(function(){u(e)})),t(\"    nestingGraph.cleanup\",(function(){l.cleanup(e)})),t(\"    normalizeRanks\",(function(){s(e)})),t(\"    assignRankMinMax\",(function(){!function(e){var t=0;r.forEach(e.nodes(),(function(n){var i=e.node(n);i.borderTop&&(i.minRank=e.node(i.borderTop).rank,i.maxRank=e.node(i.borderBottom).rank,t=r.max(t,i.maxRank))})),e.graph().maxRank=t}(e)})),t(\"    removeEdgeLabelProxies\",(function(){!function(e){r.forEach(e.nodes(),(function(t){var n=e.node(t);\"edge-proxy\"===n.dummy&&(e.edge(n.e).labelRank=n.rank,e.removeNode(t))}))}(e)})),t(\"    normalize.run\",(function(){o.run(e)})),t(\"    parentDummyChains\",(function(){c(e)})),t(\"    addBorderSegments\",(function(){f(e)})),t(\"    order\",(function(){h(e)})),t(\"    insertSelfEdges\",(function(){!function(e){var t=g.buildLayerMatrix(e);r.forEach(t,(function(t){var n=0;r.forEach(t,(function(t,i){var o=e.node(t);o.order=i+n,r.forEach(o.selfEdges,(function(t){g.addDummyNode(e,\"selfedge\",{width:t.label.width,height:t.label.height,rank:o.rank,order:i+ ++n,e:t.e,label:t.label},\"_se\")})),delete o.selfEdges}))}))}(e)})),t(\"    adjustCoordinateSystem\",(function(){d.adjust(e)})),t(\"    position\",(function(){p(e)})),t(\"    positionSelfEdges\",(function(){!function(e){r.forEach(e.nodes(),(function(t){var n=e.node(t);if(\"selfedge\"===n.dummy){var r=e.node(n.e.v),i=r.x+r.width/2,o=r.y,a=n.x-i,s=r.height/2;e.setEdge(n.e,n.label),e.removeNode(t),n.label.points=[{x:i+2*a/3,y:o-s},{x:i+5*a/6,y:o-s},{x:i+a,y:o},{x:i+5*a/6,y:o+s},{x:i+2*a/3,y:o+s}],n.label.x=n.x,n.label.y=n.y}}))}(e)})),t(\"    removeBorderNodes\",(function(){!function(e){r.forEach(e.nodes(),(function(t){if(e.children(t).length){var n=e.node(t),i=e.node(n.borderTop),o=e.node(n.borderBottom),a=e.node(r.last(n.borderLeft)),s=e.node(r.last(n.borderRight));n.width=Math.abs(s.x-a.x),n.height=Math.abs(o.y-i.y),n.x=a.x+n.width/2,n.y=i.y+n.height/2}})),r.forEach(e.nodes(),(function(t){\"border\"===e.node(t).dummy&&e.removeNode(t)}))}(e)})),t(\"    normalize.undo\",(function(){o.undo(e)})),t(\"    fixupEdgeLabelCoords\",(function(){!function(e){r.forEach(e.edges(),(function(t){var n=e.edge(t);if(r.has(n,\"x\"))switch(\"l\"!==n.labelpos&&\"r\"!==n.labelpos||(n.width-=n.labeloffset),n.labelpos){case\"l\":n.x-=n.width/2+n.labeloffset;break;case\"r\":n.x+=n.width/2+n.labeloffset}}))}(e)})),t(\"    undoCoordinateSystem\",(function(){d.undo(e)})),t(\"    translateGraph\",(function(){!function(e){var t=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,o=0,a=e.graph(),s=a.marginx||0,c=a.marginy||0;function u(e){var r=e.x,a=e.y,s=e.width,c=e.height;t=Math.min(t,r-s/2),n=Math.max(n,r+s/2),i=Math.min(i,a-c/2),o=Math.max(o,a+c/2)}r.forEach(e.nodes(),(function(t){u(e.node(t))})),r.forEach(e.edges(),(function(t){var n=e.edge(t);r.has(n,\"x\")&&u(n)})),t-=s,i-=c,r.forEach(e.nodes(),(function(n){var r=e.node(n);r.x-=t,r.y-=i})),r.forEach(e.edges(),(function(n){var o=e.edge(n);r.forEach(o.points,(function(e){e.x-=t,e.y-=i})),r.has(o,\"x\")&&(o.x-=t),r.has(o,\"y\")&&(o.y-=i)})),a.width=n-t+s,a.height=o-i+c}(e)})),t(\"    assignNodeIntersects\",(function(){!function(e){r.forEach(e.edges(),(function(t){var n,r,i=e.edge(t),o=e.node(t.v),a=e.node(t.w);i.points?(n=i.points[0],r=i.points[i.points.length-1]):(i.points=[],n=a,r=o),i.points.unshift(g.intersectRect(o,n)),i.points.push(g.intersectRect(a,r))}))}(e)})),t(\"    reversePoints\",(function(){!function(e){r.forEach(e.edges(),(function(t){var n=e.edge(t);n.reversed&&n.points.reverse()}))}(e)})),t(\"    acyclic.undo\",(function(){i.undo(e)}))}(t,n)})),n(\"  updateInputGraph\",(function(){!function(e,t){r.forEach(e.nodes(),(function(n){var r=e.node(n),i=t.node(n);r&&(r.x=i.x,r.y=i.y,t.children(n).length&&(r.width=i.width,r.height=i.height))})),r.forEach(e.edges(),(function(n){var i=e.edge(n),o=t.edge(n);i.points=o.points,r.has(o,\"x\")&&(i.x=o.x,i.y=o.y)})),e.graph().width=t.graph().width,e.graph().height=t.graph().height}(e,t)}))}))};var m=[\"nodesep\",\"edgesep\",\"ranksep\",\"marginx\",\"marginy\"],b={ranksep:50,edgesep:20,nodesep:50,rankdir:\"tb\"},v=[\"acyclicer\",\"ranker\",\"rankdir\",\"align\"],x=[\"width\",\"height\"],w={width:0,height:0},_=[\"minlen\",\"weight\",\"width\",\"height\",\"labeloffset\"],k={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:\"r\"},O=[\"labelpos\"];function E(e,t){return r.mapValues(r.pick(e,t),Number)}function S(e){var t={};return r.forEach(e,(function(e,n){t[n.toLowerCase()]=e})),t}},function(e,t,n){var r=n(290);e.exports=function(e){return r(e,5)}},function(e,t,n){var r=n(550)(n(551));e.exports=r},function(e,t,n){var r=n(88),i=n(87),o=n(95);e.exports=function(e){return function(t,n,a){var s=Object(t);if(!i(t)){var c=r(n,3);t=o(t),n=function(e){return c(s[e],e,s)}}var u=e(t,n,a);return u>-1?s[c?t[u]:u]:void 0}}},function(e,t,n){var r=n(327),i=n(88),o=n(552),a=Math.max;e.exports=function(e,t,n){var s=null==e?0:e.length;if(!s)return-1;var c=null==n?0:o(n);return c<0&&(c=a(s+c,0)),r(e,i(t,3),c)}},function(e,t,n){var r=n(336);e.exports=function(e){var t=r(e),n=t%1;return t===t?n?t-n:t:0}},function(e,t,n){var r=n(554),i=n(65),o=n(135),a=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,u=parseInt;e.exports=function(e){if(\"number\"==typeof e)return e;if(o(e))return NaN;if(i(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=r(e);var n=s.test(e);return n||c.test(e)?u(e.slice(2),n?2:8):a.test(e)?NaN:+e}},function(e,t,n){var r=n(555),i=/^\\s+/;e.exports=function(e){return e?e.slice(0,r(e)+1).replace(i,\"\"):e}},function(e,t){var n=/\\s/;e.exports=function(e){for(var t=e.length;t--&&n.test(e.charAt(t)););return t}},function(e,t,n){var r=n(247),i=n(309),o=n(117);e.exports=function(e,t){return null==e?e:r(e,i(t),o)}},function(e,t){e.exports=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}},function(e,t,n){var r=n(180),i=n(246),o=n(88);e.exports=function(e,t){var n={};return t=o(t,3),i(e,(function(e,i,o){r(n,i,t(e,i,o))})),n}},function(e,t,n){var r=n(252),i=n(560),o=n(118);e.exports=function(e){return e&&e.length?r(e,o,i):void 0}},function(e,t){e.exports=function(e,t){return e>t}},function(e,t,n){var r=n(562),i=n(565)((function(e,t,n){r(e,t,n)}));e.exports=i},function(e,t,n){var r=n(174),i=n(338),o=n(247),a=n(563),s=n(65),c=n(117),u=n(340);e.exports=function e(t,n,l,f,d){t!==n&&o(n,(function(o,c){if(d||(d=new r),s(o))a(t,n,c,l,e,f,d);else{var h=f?f(u(t,c),o,c+\"\",t,n,d):void 0;void 0===h&&(h=o),i(t,c,h)}}),c)}},function(e,t,n){var r=n(338),i=n(296),o=n(305),a=n(297),s=n(306),c=n(162),u=n(39),l=n(328),f=n(133),d=n(131),h=n(65),p=n(339),g=n(163),y=n(340),m=n(564);e.exports=function(e,t,n,b,v,x,w){var _=y(e,n),k=y(t,n),O=w.get(k);if(O)r(e,n,O);else{var E=x?x(_,k,n+\"\",e,t,w):void 0,S=void 0===E;if(S){var C=u(k),T=!C&&f(k),j=!C&&!T&&g(k);E=k,C||T||j?u(_)?E=_:l(_)?E=a(_):T?(S=!1,E=i(k,!0)):j?(S=!1,E=o(k,!0)):E=[]:p(k)||c(k)?(E=_,c(_)?E=m(_):h(_)&&!d(_)||(E=s(k))):S=!1}S&&(w.set(k,E),v(E,k,b,x,w),w.delete(k)),r(e,n,E)}}},function(e,t,n){var r=n(161),i=n(117);e.exports=function(e){return r(e,i(e))}},function(e,t,n){var r=n(189),i=n(190);e.exports=function(e){return r((function(t,n){var r=-1,o=n.length,a=o>1?n[o-1]:void 0,s=o>2?n[2]:void 0;for(a=e.length>3&&\"function\"==typeof a?(o--,a):void 0,s&&i(n[0],n[1],s)&&(a=o<3?void 0:a,o=1),t=Object(t);++r<o;){var c=n[r];c&&e(t,c,r,a)}return t}))}},function(e,t,n){var r=n(252),i=n(341),o=n(118);e.exports=function(e){return e&&e.length?r(e,o,i):void 0}},function(e,t,n){var r=n(252),i=n(88),o=n(341);e.exports=function(e,t){return e&&e.length?r(e,i(t,2),o):void 0}},function(e,t,n){var r=n(72);e.exports=function(){return r.Date.now()}},function(e,t,n){var r=n(570),i=n(318);e.exports=function(e,t){return r(e,t,(function(t,n){return i(e,n)}))}},function(e,t,n){var r=n(186),i=n(571),o=n(187);e.exports=function(e,t,n){for(var a=-1,s=t.length,c={};++a<s;){var u=t[a],l=r(e,u);n(l,u)&&i(c,o(u,e),l)}return c}},function(e,t,n){var r=n(179),i=n(187),o=n(181),a=n(65),s=n(164);e.exports=function(e,t,n,c){if(!a(e))return e;for(var u=-1,l=(t=i(t,e)).length,f=l-1,d=e;null!=d&&++u<l;){var h=s(t[u]),p=n;if(\"__proto__\"===h||\"constructor\"===h||\"prototype\"===h)return e;if(u!=f){var g=d[h];void 0===(p=c?c(g,h,d):void 0)&&(p=a(g)?g:o(t[u+1])?[]:{})}r(d,h,p),d=d[h]}return e}},function(e,t,n){var r=n(337),i=n(325),o=n(326);e.exports=function(e){return o(i(e,void 0,r),e+\"\")}},function(e,t,n){var r=n(574),i=n(190),o=n(336);e.exports=function(e){return function(t,n,a){return a&&\"number\"!=typeof a&&i(t,n,a)&&(n=a=void 0),t=o(t),void 0===n?(n=t,t=0):n=o(n),a=void 0===a?t<n?1:-1:o(a),r(t,n,a,e)}}},function(e,t){var n=Math.ceil,r=Math.max;e.exports=function(e,t,i,o){for(var a=-1,s=r(n((t-e)/(i||1)),0),c=Array(s);s--;)c[o?s:++a]=e,e+=i;return c}},function(e,t,n){var r=n(251),i=n(576),o=n(189),a=n(190),s=o((function(e,t){if(null==e)return[];var n=t.length;return n>1&&a(e,t[0],t[1])?t=[]:n>2&&a(t[0],t[1],t[2])&&(t=[t[0]]),i(e,r(t,1),[])}));e.exports=s},function(e,t,n){var r=n(188),i=n(186),o=n(88),a=n(323),s=n(577),c=n(182),u=n(578),l=n(118),f=n(39);e.exports=function(e,t,n){t=t.length?r(t,(function(e){return f(e)?function(t){return i(t,1===e.length?e[0]:e)}:e})):[l];var d=-1;t=r(t,c(o));var h=a(e,(function(e,n,i){return{criteria:r(t,(function(t){return t(e)})),index:++d,value:e}}));return s(h,(function(e,t){return u(e,t,n)}))}},function(e,t){e.exports=function(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}},function(e,t,n){var r=n(579);e.exports=function(e,t,n){for(var i=-1,o=e.criteria,a=t.criteria,s=o.length,c=n.length;++i<s;){var u=r(o[i],a[i]);if(u)return i>=c?u:u*(\"desc\"==n[i]?-1:1)}return e.index-t.index}},function(e,t,n){var r=n(135);e.exports=function(e,t){if(e!==t){var n=void 0!==e,i=null===e,o=e===e,a=r(e),s=void 0!==t,c=null===t,u=t===t,l=r(t);if(!c&&!l&&!a&&e>t||a&&s&&u&&!c&&!l||i&&s&&u||!n&&u||!o)return 1;if(!i&&!a&&!l&&e<t||l&&n&&o&&!i&&!a||c&&n&&o||!s&&o||!u)return-1}return 0}},function(e,t,n){var r=n(179),i=n(581);e.exports=function(e,t){return i(e||[],t||[],r)}},function(e,t){e.exports=function(e,t,n){for(var r=-1,i=e.length,o=t.length,a={};++r<i;){var s=r<o?t[r]:void 0;n(a,e[r],s)}return a}},function(e,t,n){\"use strict\";var r=n(33),i=n(583);e.exports={run:function(e){var t=\"greedy\"===e.graph().acyclicer?i(e,function(e){return function(t){return e.edge(t).weight}}(e)):function(e){var t=[],n={},i={};function o(a){r.has(i,a)||(i[a]=!0,n[a]=!0,r.forEach(e.outEdges(a),(function(e){r.has(n,e.w)?t.push(e):o(e.w)})),delete n[a])}return r.forEach(e.nodes(),o),t}(e);r.forEach(t,(function(t){var n=e.edge(t);e.removeEdge(t),n.forwardName=t.name,n.reversed=!0,e.setEdge(t.w,t.v,n,r.uniqueId(\"rev\"))}))},undo:function(e){r.forEach(e.edges(),(function(t){var n=e.edge(t);if(n.reversed){e.removeEdge(t);var r=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,r)}}))}}},function(e,t,n){var r=n(33),i=n(71).Graph,o=n(584);e.exports=function(e,t){if(e.nodeCount()<=1)return[];var n=function(e,t){var n=new i,a=0,s=0;r.forEach(e.nodes(),(function(e){n.setNode(e,{v:e,in:0,out:0})})),r.forEach(e.edges(),(function(e){var r=n.edge(e.v,e.w)||0,i=t(e),o=r+i;n.setEdge(e.v,e.w,o),s=Math.max(s,n.node(e.v).out+=i),a=Math.max(a,n.node(e.w).in+=i)}));var u=r.range(s+a+3).map((function(){return new o})),l=a+1;return r.forEach(n.nodes(),(function(e){c(u,l,n.node(e))})),{graph:n,buckets:u,zeroIdx:l}}(e,t||a),u=function(e,t,n){var r,i=[],o=t[t.length-1],a=t[0];for(;e.nodeCount();){for(;r=a.dequeue();)s(e,t,n,r);for(;r=o.dequeue();)s(e,t,n,r);if(e.nodeCount())for(var c=t.length-2;c>0;--c)if(r=t[c].dequeue()){i=i.concat(s(e,t,n,r,!0));break}}return i}(n.graph,n.buckets,n.zeroIdx);return r.flatten(r.map(u,(function(t){return e.outEdges(t.v,t.w)})),!0)};var a=r.constant(1);function s(e,t,n,i,o){var a=o?[]:void 0;return r.forEach(e.inEdges(i.v),(function(r){var i=e.edge(r),s=e.node(r.v);o&&a.push({v:r.v,w:r.w}),s.out-=i,c(t,n,s)})),r.forEach(e.outEdges(i.v),(function(r){var i=e.edge(r),o=r.w,a=e.node(o);a.in-=i,c(t,n,a)})),e.removeNode(i.v),a}function c(e,t,n){n.out?n.in?e[n.out-n.in+t].enqueue(n):e[e.length-1].enqueue(n):e[0].enqueue(n)}},function(e,t){function n(){var e={};e._next=e._prev=e,this._sentinel=e}function r(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){if(\"_next\"!==e&&\"_prev\"!==e)return t}e.exports=n,n.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;if(t!==e)return r(t),t},n.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&r(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},n.prototype.toString=function(){for(var e=[],t=this._sentinel,n=t._prev;n!==t;)e.push(JSON.stringify(n,i)),n=n._prev;return\"[\"+e.join(\", \")+\"]\"}},function(e,t,n){\"use strict\";var r=n(33),i=n(49);e.exports={run:function(e){e.graph().dummyChains=[],r.forEach(e.edges(),(function(t){!function(e,t){var n,r,o,a=t.v,s=e.node(a).rank,c=t.w,u=e.node(c).rank,l=t.name,f=e.edge(t),d=f.labelRank;if(u===s+1)return;for(e.removeEdge(t),o=0,++s;s<u;++o,++s)f.points=[],r={width:0,height:0,edgeLabel:f,edgeObj:t,rank:s},n=i.addDummyNode(e,\"edge\",r,\"_d\"),s===d&&(r.width=f.width,r.height=f.height,r.dummy=\"edge-label\",r.labelpos=f.labelpos),e.setEdge(a,n,{weight:f.weight},l),0===o&&e.graph().dummyChains.push(n),a=n;e.setEdge(a,c,{weight:f.weight},l)}(e,t)}))},undo:function(e){r.forEach(e.graph().dummyChains,(function(t){var n,r=e.node(t),i=r.edgeLabel;for(e.setEdge(r.edgeObj,i);r.dummy;)n=e.successors(t)[0],e.removeNode(t),i.points.push({x:r.x,y:r.y}),\"edge-label\"===r.dummy&&(i.x=r.x,i.y=r.y,i.width=r.width,i.height=r.height),t=n,r=e.node(t)}))}}},function(e,t,n){\"use strict\";var r=n(191).longestPath,i=n(345),o=n(587);e.exports=function(e){switch(e.graph().ranker){default:s(e);break;case\"tight-tree\":!function(e){r(e),i(e)}(e);break;case\"longest-path\":a(e)}};var a=r;function s(e){o(e)}},function(e,t,n){\"use strict\";var r=n(33),i=n(345),o=n(191).slack,a=n(191).longestPath,s=n(71).alg.preorder,c=n(71).alg.postorder,u=n(49).simplify;function l(e){e=u(e),a(e);var t,n=i(e);for(h(n),f(n,e);t=g(n);)m(n,e,t,y(n,e,t))}function f(e,t){var n=c(e,e.nodes());n=n.slice(0,n.length-1),r.forEach(n,(function(n){!function(e,t,n){var r=e.node(n).parent;e.edge(n,r).cutvalue=d(e,t,n)}(e,t,n)}))}function d(e,t,n){var i=e.node(n).parent,o=!0,a=t.edge(n,i),s=0;return a||(o=!1,a=t.edge(i,n)),s=a.weight,r.forEach(t.nodeEdges(n),(function(r){var a,c,u=r.v===n,l=u?r.w:r.v;if(l!==i){var f=u===o,d=t.edge(r).weight;if(s+=f?d:-d,a=n,c=l,e.hasEdge(a,c)){var h=e.edge(n,l).cutvalue;s+=f?-h:h}}})),s}function h(e,t){arguments.length<2&&(t=e.nodes()[0]),p(e,{},1,t)}function p(e,t,n,i,o){var a=n,s=e.node(i);return t[i]=!0,r.forEach(e.neighbors(i),(function(o){r.has(t,o)||(n=p(e,t,n,o,i))})),s.low=a,s.lim=n++,o?s.parent=o:delete s.parent,n}function g(e){return r.find(e.edges(),(function(t){return e.edge(t).cutvalue<0}))}function y(e,t,n){var i=n.v,a=n.w;t.hasEdge(i,a)||(i=n.w,a=n.v);var s=e.node(i),c=e.node(a),u=s,l=!1;s.lim>c.lim&&(u=c,l=!0);var f=r.filter(t.edges(),(function(t){return l===b(e,e.node(t.v),u)&&l!==b(e,e.node(t.w),u)}));return r.minBy(f,(function(e){return o(t,e)}))}function m(e,t,n,i){var o=n.v,a=n.w;e.removeEdge(o,a),e.setEdge(i.v,i.w,{}),h(e),f(e,t),function(e,t){var n=r.find(e.nodes(),(function(e){return!t.node(e).parent})),i=s(e,n);i=i.slice(1),r.forEach(i,(function(n){var r=e.node(n).parent,i=t.edge(n,r),o=!1;i||(i=t.edge(r,n),o=!0),t.node(n).rank=t.node(r).rank+(o?i.minlen:-i.minlen)}))}(e,t)}function b(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}e.exports=l,l.initLowLimValues=h,l.initCutValues=f,l.calcCutValue=d,l.leaveEdge=g,l.enterEdge=y,l.exchangeEdges=m},function(e,t,n){var r=n(33);e.exports=function(e){var t=function(e){var t={},n=0;function i(o){var a=n;r.forEach(e.children(o),i),t[o]={low:a,lim:n++}}return r.forEach(e.children(),i),t}(e);r.forEach(e.graph().dummyChains,(function(n){for(var r=e.node(n),i=r.edgeObj,o=function(e,t,n,r){var i,o,a=[],s=[],c=Math.min(t[n].low,t[r].low),u=Math.max(t[n].lim,t[r].lim);i=n;do{i=e.parent(i),a.push(i)}while(i&&(t[i].low>c||u>t[i].lim));o=i,i=r;for(;(i=e.parent(i))!==o;)s.push(i);return{path:a.concat(s.reverse()),lca:o}}(e,t,i.v,i.w),a=o.path,s=o.lca,c=0,u=a[c],l=!0;n!==i.w;){if(r=e.node(n),l){for(;(u=a[c])!==s&&e.node(u).maxRank<r.rank;)c++;u===s&&(l=!1)}if(!l){for(;c<a.length-1&&e.node(u=a[c+1]).minRank<=r.rank;)c++;u=a[c]}e.setParent(n,u),n=e.successors(n)[0]}}))}},function(e,t,n){var r=n(33),i=n(49);function o(e,t,n,a,s,c,u){var l=e.children(u);if(l.length){var f=i.addBorderNode(e,\"_bt\"),d=i.addBorderNode(e,\"_bb\"),h=e.node(u);e.setParent(f,u),h.borderTop=f,e.setParent(d,u),h.borderBottom=d,r.forEach(l,(function(r){o(e,t,n,a,s,c,r);var i=e.node(r),l=i.borderTop?i.borderTop:r,h=i.borderBottom?i.borderBottom:r,p=i.borderTop?a:2*a,g=l!==h?1:s-c[u]+1;e.setEdge(f,l,{weight:p,minlen:g,nestingEdge:!0}),e.setEdge(h,d,{weight:p,minlen:g,nestingEdge:!0})})),e.parent(u)||e.setEdge(t,f,{weight:0,minlen:s+c[u]})}else u!==t&&e.setEdge(t,u,{weight:0,minlen:n})}e.exports={run:function(e){var t=i.addDummyNode(e,\"root\",{},\"_root\"),n=function(e){var t={};function n(i,o){var a=e.children(i);a&&a.length&&r.forEach(a,(function(e){n(e,o+1)})),t[i]=o}return r.forEach(e.children(),(function(e){n(e,1)})),t}(e),a=r.max(r.values(n))-1,s=2*a+1;e.graph().nestingRoot=t,r.forEach(e.edges(),(function(t){e.edge(t).minlen*=s}));var c=function(e){return r.reduce(e.edges(),(function(t,n){return t+e.edge(n).weight}),0)}(e)+1;r.forEach(e.children(),(function(r){o(e,t,s,c,a,n,r)})),e.graph().nodeRankFactor=s},cleanup:function(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,r.forEach(e.edges(),(function(t){e.edge(t).nestingEdge&&e.removeEdge(t)}))}}},function(e,t,n){var r=n(33),i=n(49);function o(e,t,n,r,o,a){var s={width:0,height:0,rank:a,borderType:t},c=o[t][a-1],u=i.addDummyNode(e,\"border\",s,n);o[t][a]=u,e.setParent(u,r),c&&e.setEdge(c,u,{weight:1})}e.exports=function(e){r.forEach(e.children(),(function t(n){var i=e.children(n),a=e.node(n);if(i.length&&r.forEach(i,t),r.has(a,\"minRank\")){a.borderLeft=[],a.borderRight=[];for(var s=a.minRank,c=a.maxRank+1;s<c;++s)o(e,\"borderLeft\",\"_bl\",n,a,s),o(e,\"borderRight\",\"_br\",n,a,s)}}))}},function(e,t,n){\"use strict\";var r=n(33);function i(e){r.forEach(e.nodes(),(function(t){o(e.node(t))})),r.forEach(e.edges(),(function(t){o(e.edge(t))}))}function o(e){var t=e.width;e.width=e.height,e.height=t}function a(e){e.y=-e.y}function s(e){var t=e.x;e.x=e.y,e.y=t}e.exports={adjust:function(e){var t=e.graph().rankdir.toLowerCase();\"lr\"!==t&&\"rl\"!==t||i(e)},undo:function(e){var t=e.graph().rankdir.toLowerCase();\"bt\"!==t&&\"rl\"!==t||function(e){r.forEach(e.nodes(),(function(t){a(e.node(t))})),r.forEach(e.edges(),(function(t){var n=e.edge(t);r.forEach(n.points,a),r.has(n,\"y\")&&a(n)}))}(e);\"lr\"!==t&&\"rl\"!==t||(!function(e){r.forEach(e.nodes(),(function(t){s(e.node(t))})),r.forEach(e.edges(),(function(t){var n=e.edge(t);r.forEach(n.points,s),r.has(n,\"x\")&&s(n)}))}(e),i(e))}}},function(e,t,n){\"use strict\";var r=n(33),i=n(593),o=n(594),a=n(595),s=n(599),c=n(600),u=n(71).Graph,l=n(49);function f(e,t,n){return r.map(t,(function(t){return s(e,t,n)}))}function d(e,t){var n=new u;r.forEach(e,(function(e){var i=e.graph().root,o=a(e,i,n,t);r.forEach(o.vs,(function(t,n){e.node(t).order=n})),c(e,n,o.vs)}))}function h(e,t){r.forEach(t,(function(t){r.forEach(t,(function(t,n){e.node(t).order=n}))}))}e.exports=function(e){var t=l.maxRank(e),n=f(e,r.range(1,t+1),\"inEdges\"),a=f(e,r.range(t-1,-1,-1),\"outEdges\"),s=i(e);h(e,s);for(var c,u=Number.POSITIVE_INFINITY,p=0,g=0;g<4;++p,++g){d(p%2?n:a,p%4>=2),s=l.buildLayerMatrix(e);var y=o(e,s);y<u&&(g=0,c=r.cloneDeep(s),u=y)}h(e,c)}},function(e,t,n){\"use strict\";var r=n(33);e.exports=function(e){var t={},n=r.filter(e.nodes(),(function(t){return!e.children(t).length})),i=r.max(r.map(n,(function(t){return e.node(t).rank}))),o=r.map(r.range(i+1),(function(){return[]}));var a=r.sortBy(n,(function(t){return e.node(t).rank}));return r.forEach(a,(function n(i){if(r.has(t,i))return;t[i]=!0;var a=e.node(i);o[a.rank].push(i),r.forEach(e.successors(i),n)})),o}},function(e,t,n){\"use strict\";var r=n(33);function i(e,t,n){for(var i=r.zipObject(n,r.map(n,(function(e,t){return t}))),o=r.flatten(r.map(t,(function(t){return r.sortBy(r.map(e.outEdges(t),(function(t){return{pos:i[t.w],weight:e.edge(t).weight}})),\"pos\")})),!0),a=1;a<n.length;)a<<=1;var s=2*a-1;a-=1;var c=r.map(new Array(s),(function(){return 0})),u=0;return r.forEach(o.forEach((function(e){var t=e.pos+a;c[t]+=e.weight;for(var n=0;t>0;)t%2&&(n+=c[t+1]),c[t=t-1>>1]+=e.weight;u+=e.weight*n}))),u}e.exports=function(e,t){for(var n=0,r=1;r<t.length;++r)n+=i(e,t[r-1],t[r]);return n}},function(e,t,n){var r=n(33),i=n(596),o=n(597),a=n(598);e.exports=function e(t,n,s,c){var u=t.children(n),l=t.node(n),f=l?l.borderLeft:void 0,d=l?l.borderRight:void 0,h={};f&&(u=r.filter(u,(function(e){return e!==f&&e!==d})));var p=i(t,u);r.forEach(p,(function(n){if(t.children(n.v).length){var i=e(t,n.v,s,c);h[n.v]=i,r.has(i,\"barycenter\")&&(o=n,a=i,r.isUndefined(o.barycenter)?(o.barycenter=a.barycenter,o.weight=a.weight):(o.barycenter=(o.barycenter*o.weight+a.barycenter*a.weight)/(o.weight+a.weight),o.weight+=a.weight))}var o,a}));var g=o(p,s);!function(e,t){r.forEach(e,(function(e){e.vs=r.flatten(e.vs.map((function(e){return t[e]?t[e].vs:e})),!0)}))}(g,h);var y=a(g,c);if(f&&(y.vs=r.flatten([f,y.vs,d],!0),t.predecessors(f).length)){var m=t.node(t.predecessors(f)[0]),b=t.node(t.predecessors(d)[0]);r.has(y,\"barycenter\")||(y.barycenter=0,y.weight=0),y.barycenter=(y.barycenter*y.weight+m.order+b.order)/(y.weight+2),y.weight+=2}return y}},function(e,t,n){var r=n(33);e.exports=function(e,t){return r.map(t,(function(t){var n=e.inEdges(t);if(n.length){var i=r.reduce(n,(function(t,n){var r=e.edge(n),i=e.node(n.v);return{sum:t.sum+r.weight*i.order,weight:t.weight+r.weight}}),{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}}))}},function(e,t,n){\"use strict\";var r=n(33);e.exports=function(e,t){var n={};return r.forEach(e,(function(e,t){var i=n[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:t};r.isUndefined(e.barycenter)||(i.barycenter=e.barycenter,i.weight=e.weight)})),r.forEach(t.edges(),(function(e){var t=n[e.v],i=n[e.w];r.isUndefined(t)||r.isUndefined(i)||(i.indegree++,t.out.push(n[e.w]))})),function(e){var t=[];function n(e){return function(t){t.merged||(r.isUndefined(t.barycenter)||r.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&function(e,t){var n=0,r=0;e.weight&&(n+=e.barycenter*e.weight,r+=e.weight);t.weight&&(n+=t.barycenter*t.weight,r+=t.weight);e.vs=t.vs.concat(e.vs),e.barycenter=n/r,e.weight=r,e.i=Math.min(t.i,e.i),t.merged=!0}(e,t)}}function i(t){return function(n){n.in.push(t),0===--n.indegree&&e.push(n)}}for(;e.length;){var o=e.pop();t.push(o),r.forEach(o.in.reverse(),n(o)),r.forEach(o.out,i(o))}return r.map(r.filter(t,(function(e){return!e.merged})),(function(e){return r.pick(e,[\"vs\",\"i\",\"barycenter\",\"weight\"])}))}(r.filter(n,(function(e){return!e.indegree})))}},function(e,t,n){var r=n(33),i=n(49);function o(e,t,n){for(var i;t.length&&(i=r.last(t)).i<=n;)t.pop(),e.push(i.vs),n++;return n}e.exports=function(e,t){var n=i.partition(e,(function(e){return r.has(e,\"barycenter\")})),a=n.lhs,s=r.sortBy(n.rhs,(function(e){return-e.i})),c=[],u=0,l=0,f=0;a.sort((d=!!t,function(e,t){return e.barycenter<t.barycenter?-1:e.barycenter>t.barycenter?1:d?t.i-e.i:e.i-t.i})),f=o(c,s,f),r.forEach(a,(function(e){f+=e.vs.length,c.push(e.vs),u+=e.barycenter*e.weight,l+=e.weight,f=o(c,s,f)}));var d;var h={vs:r.flatten(c,!0)};l&&(h.barycenter=u/l,h.weight=l);return h}},function(e,t,n){var r=n(33),i=n(71).Graph;e.exports=function(e,t,n){var o=function(e){var t;for(;e.hasNode(t=r.uniqueId(\"_root\")););return t}(e),a=new i({compound:!0}).setGraph({root:o}).setDefaultNodeLabel((function(t){return e.node(t)}));return r.forEach(e.nodes(),(function(i){var s=e.node(i),c=e.parent(i);(s.rank===t||s.minRank<=t&&t<=s.maxRank)&&(a.setNode(i),a.setParent(i,c||o),r.forEach(e[n](i),(function(t){var n=t.v===i?t.w:t.v,o=a.edge(n,i),s=r.isUndefined(o)?0:o.weight;a.setEdge(n,i,{weight:e.edge(t).weight+s})})),r.has(s,\"minRank\")&&a.setNode(i,{borderLeft:s.borderLeft[t],borderRight:s.borderRight[t]}))})),a}},function(e,t,n){var r=n(33);e.exports=function(e,t,n){var i,o={};r.forEach(n,(function(n){for(var r,a,s=e.parent(n);s;){if((r=e.parent(s))?(a=o[r],o[r]=s):(a=i,i=s),a&&a!==s)return void t.setEdge(a,s);s=r}}))}},function(e,t,n){\"use strict\";var r=n(33),i=n(49),o=n(602).positionX;e.exports=function(e){(function(e){var t=i.buildLayerMatrix(e),n=e.graph().ranksep,o=0;r.forEach(t,(function(t){var i=r.max(r.map(t,(function(t){return e.node(t).height})));r.forEach(t,(function(t){e.node(t).y=o+i/2})),o+=i+n}))})(e=i.asNonCompoundGraph(e)),r.forEach(o(e),(function(t,n){e.node(n).x=t}))}},function(e,t,n){\"use strict\";var r=n(33),i=n(71).Graph,o=n(49);function a(e,t){var n={};return r.reduce(t,(function(t,i){var o=0,a=0,s=t.length,u=r.last(i);return r.forEach(i,(function(t,l){var f=function(e,t){if(e.node(t).dummy)return r.find(e.predecessors(t),(function(t){return e.node(t).dummy}))}(e,t),d=f?e.node(f).order:s;(f||t===u)&&(r.forEach(i.slice(a,l+1),(function(t){r.forEach(e.predecessors(t),(function(r){var i=e.node(r),a=i.order;!(a<o||d<a)||i.dummy&&e.node(t).dummy||c(n,r,t)}))})),a=l+1,o=d)})),i})),n}function s(e,t){var n={};function i(t,i,o,a,s){var u;r.forEach(r.range(i,o),(function(i){u=t[i],e.node(u).dummy&&r.forEach(e.predecessors(u),(function(t){var r=e.node(t);r.dummy&&(r.order<a||r.order>s)&&c(n,t,u)}))}))}return r.reduce(t,(function(t,n){var o,a=-1,s=0;return r.forEach(n,(function(r,c){if(\"border\"===e.node(r).dummy){var u=e.predecessors(r);u.length&&(o=e.node(u[0]).order,i(n,s,c,a,o),s=c,a=o)}i(n,s,n.length,o,t.length)})),n})),n}function c(e,t,n){if(t>n){var r=t;t=n,n=r}var i=e[t];i||(e[t]=i={}),i[n]=!0}function u(e,t,n){if(t>n){var i=t;t=n,n=i}return r.has(e[t],n)}function l(e,t,n,i){var o={},a={},s={};return r.forEach(t,(function(e){r.forEach(e,(function(e,t){o[e]=e,a[e]=e,s[e]=t}))})),r.forEach(t,(function(e){var t=-1;r.forEach(e,(function(e){var c=i(e);if(c.length){c=r.sortBy(c,(function(e){return s[e]}));for(var l=(c.length-1)/2,f=Math.floor(l),d=Math.ceil(l);f<=d;++f){var h=c[f];a[e]===e&&t<s[h]&&!u(n,e,h)&&(a[h]=e,a[e]=o[e]=o[h],t=s[h])}}}))})),{root:o,align:a}}function f(e,t,n,o,a){var s={},c=function(e,t,n,o){var a=new i,s=e.graph(),c=function(e,t,n){return function(i,o,a){var s,c=i.node(o),u=i.node(a),l=0;if(l+=c.width/2,r.has(c,\"labelpos\"))switch(c.labelpos.toLowerCase()){case\"l\":s=-c.width/2;break;case\"r\":s=c.width/2}if(s&&(l+=n?s:-s),s=0,l+=(c.dummy?t:e)/2,l+=(u.dummy?t:e)/2,l+=u.width/2,r.has(u,\"labelpos\"))switch(u.labelpos.toLowerCase()){case\"l\":s=u.width/2;break;case\"r\":s=-u.width/2}return s&&(l+=n?s:-s),s=0,l}}(s.nodesep,s.edgesep,o);return r.forEach(t,(function(t){var i;r.forEach(t,(function(t){var r=n[t];if(a.setNode(r),i){var o=n[i],s=a.edge(o,r);a.setEdge(o,r,Math.max(c(e,t,i),s||0))}i=t}))})),a}(e,t,n,a),u=a?\"borderLeft\":\"borderRight\";function l(e,t){for(var n=c.nodes(),r=n.pop(),i={};r;)i[r]?e(r):(i[r]=!0,n.push(r),n=n.concat(t(r))),r=n.pop()}return l((function(e){s[e]=c.inEdges(e).reduce((function(e,t){return Math.max(e,s[t.v]+c.edge(t))}),0)}),c.predecessors.bind(c)),l((function(t){var n=c.outEdges(t).reduce((function(e,t){return Math.min(e,s[t.w]-c.edge(t))}),Number.POSITIVE_INFINITY),r=e.node(t);n!==Number.POSITIVE_INFINITY&&r.borderType!==u&&(s[t]=Math.max(s[t],n))}),c.successors.bind(c)),r.forEach(o,(function(e){s[e]=s[n[e]]})),s}function d(e,t){return r.minBy(r.values(t),(function(t){var n=Number.NEGATIVE_INFINITY,i=Number.POSITIVE_INFINITY;return r.forIn(t,(function(t,r){var o=function(e,t){return e.node(t).width}(e,r)/2;n=Math.max(t+o,n),i=Math.min(t-o,i)})),n-i}))}function h(e,t){var n=r.values(t),i=r.min(n),o=r.max(n);r.forEach([\"u\",\"d\"],(function(n){r.forEach([\"l\",\"r\"],(function(a){var s,c=n+a,u=e[c];if(u!==t){var l=r.values(u);(s=\"l\"===a?i-r.min(l):o-r.max(l))&&(e[c]=r.mapValues(u,(function(e){return e+s})))}}))}))}function p(e,t){return r.mapValues(e.ul,(function(n,i){if(t)return e[t.toLowerCase()][i];var o=r.sortBy(r.map(e,i));return(o[1]+o[2])/2}))}e.exports={positionX:function(e){var t,n=o.buildLayerMatrix(e),i=r.merge(a(e,n),s(e,n)),c={};r.forEach([\"u\",\"d\"],(function(o){t=\"u\"===o?n:r.values(n).reverse(),r.forEach([\"l\",\"r\"],(function(n){\"r\"===n&&(t=r.map(t,(function(e){return r.values(e).reverse()})));var a=(\"u\"===o?e.predecessors:e.successors).bind(e),s=l(e,t,i,a),u=f(e,t,s.root,s.align,\"r\"===n);\"r\"===n&&(u=r.mapValues(u,(function(e){return-e}))),c[o+n]=u}))}));var u=d(e,c);return h(c,u),p(c,e.graph().align)},findType1Conflicts:a,findType2Conflicts:s,addConflict:c,hasConflict:u,verticalAlignment:l,horizontalCompaction:f,alignCoordinates:h,findSmallestWidthAlignment:d,balance:p}},function(e,t,n){var r=n(33),i=n(49),o=n(71).Graph;e.exports={debugOrdering:function(e){var t=i.buildLayerMatrix(e),n=new o({compound:!0,multigraph:!0}).setGraph({});return r.forEach(e.nodes(),(function(t){n.setNode(t,{label:t}),n.setParent(t,\"layer\"+e.node(t).rank)})),r.forEach(e.edges(),(function(e){n.setEdge(e.v,e.w,{},e.name)})),r.forEach(t,(function(e,t){var i=\"layer\"+t;n.setNode(i,{rank:\"same\"}),r.reduce(e,(function(e,t){return n.setEdge(e,t,{style:\"invis\"}),t}))})),n}}},function(e,t){e.exports=\"0.8.5\"},function(e,t,n){e.exports={graphlib:n(606),dagre:n(346),intersect:n(607),render:n(609),util:n(66),version:n(621)}},function(e,t,n){var r;try{r=n(233)}catch(i){}r||(r=window.graphlib),e.exports=r},function(e,t,n){e.exports={node:n(347),circle:n(348),ellipse:n(253),polygon:n(349),rect:n(350)}},function(e,t){function n(e,t){return e*t>0}e.exports=function(e,t,r,i){var o,a,s,c,u,l,f,d,h,p,g,y,m;if(o=t.y-e.y,s=e.x-t.x,u=t.x*e.y-e.x*t.y,h=o*r.x+s*r.y+u,p=o*i.x+s*i.y+u,0!==h&&0!==p&&n(h,p))return;if(a=i.y-r.y,c=r.x-i.x,l=i.x*r.y-r.x*i.y,f=a*e.x+c*e.y+l,d=a*t.x+c*t.y+l,0!==f&&0!==d&&n(f,d))return;if(0===(g=o*c-a*s))return;return y=Math.abs(g/2),{x:(m=s*l-c*u)<0?(m-y)/g:(m+y)/g,y:(m=a*u-o*l)<0?(m-y)/g:(m+y)/g}}},function(e,t,n){var r=n(136),i=n(96),o=n(346).layout;e.exports=function(){var e=n(610),t=n(613),i=n(614),u=n(615),l=n(616),f=n(617),d=n(618),h=n(619),p=n(620),g=function(n,g){!function(e){e.nodes().forEach((function(t){var n=e.node(t);r.has(n,\"label\")||e.children(t).length||(n.label=t),r.has(n,\"paddingX\")&&r.defaults(n,{paddingLeft:n.paddingX,paddingRight:n.paddingX}),r.has(n,\"paddingY\")&&r.defaults(n,{paddingTop:n.paddingY,paddingBottom:n.paddingY}),r.has(n,\"padding\")&&r.defaults(n,{paddingLeft:n.padding,paddingRight:n.padding,paddingTop:n.padding,paddingBottom:n.padding}),r.defaults(n,a),r.each([\"paddingLeft\",\"paddingRight\",\"paddingTop\",\"paddingBottom\"],(function(e){n[e]=Number(n[e])})),r.has(n,\"width\")&&(n._prevWidth=n.width),r.has(n,\"height\")&&(n._prevHeight=n.height)})),e.edges().forEach((function(t){var n=e.edge(t);r.has(n,\"label\")||(n.label=\"\"),r.defaults(n,s)}))}(g);var y=c(n,\"output\"),m=c(y,\"clusters\"),b=c(y,\"edgePaths\"),v=i(c(y,\"edgeLabels\"),g),x=e(c(y,\"nodes\"),g,h);o(g),l(x,g),f(v,g),u(b,g,p);var w=t(m,g);d(w,g),function(e){r.each(e.nodes(),(function(t){var n=e.node(t);r.has(n,\"_prevWidth\")?n.width=n._prevWidth:delete n.width,r.has(n,\"_prevHeight\")?n.height=n._prevHeight:delete n.height,delete n._prevWidth,delete n._prevHeight}))}(g)};return g.createNodes=function(t){return arguments.length?(e=t,g):e},g.createClusters=function(e){return arguments.length?(t=e,g):t},g.createEdgeLabels=function(e){return arguments.length?(i=e,g):i},g.createEdgePaths=function(e){return arguments.length?(u=e,g):u},g.shapes=function(e){return arguments.length?(h=e,g):h},g.arrows=function(e){return arguments.length?(p=e,g):p},g};var a={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:\"rect\"},s={arrowhead:\"normal\",curve:i.curveLinear};function c(e,t){var n=e.select(\"g.\"+t);return n.empty()&&(n=e.append(\"g\").attr(\"class\",t)),n}},function(e,t,n){\"use strict\";var r=n(136),i=n(254),o=n(66),a=n(96);e.exports=function(e,t,n){var s,c=t.nodes().filter((function(e){return!o.isSubgraph(t,e)})),u=e.selectAll(\"g.node\").data(c,(function(e){return e})).classed(\"update\",!0);u.exit().remove(),u.enter().append(\"g\").attr(\"class\",\"node\").style(\"opacity\",0),(u=e.selectAll(\"g.node\")).each((function(e){var s=t.node(e),c=a.select(this);o.applyClass(c,s.class,(c.classed(\"update\")?\"update \":\"\")+\"node\"),c.select(\"g.label\").remove();var u=c.append(\"g\").attr(\"class\",\"label\"),l=i(u,s),f=n[s.shape],d=r.pick(l.node().getBBox(),\"width\",\"height\");s.elem=this,s.id&&c.attr(\"id\",s.id),s.labelId&&u.attr(\"id\",s.labelId),r.has(s,\"width\")&&(d.width=s.width),r.has(s,\"height\")&&(d.height=s.height),d.width+=s.paddingLeft+s.paddingRight,d.height+=s.paddingTop+s.paddingBottom,u.attr(\"transform\",\"translate(\"+(s.paddingLeft-s.paddingRight)/2+\",\"+(s.paddingTop-s.paddingBottom)/2+\")\");var h=a.select(this);h.select(\".label-container\").remove();var p=f(h,d,s).classed(\"label-container\",!0);o.applyStyle(p,s.style);var g=p.node().getBBox();s.width=g.width,s.height=g.height})),s=u.exit?u.exit():u.selectAll(null);return o.applyTransition(s,t).style(\"opacity\",0).remove(),u}},function(e,t,n){var r=n(66);e.exports=function(e,t){for(var n=e.append(\"text\"),i=function(e){for(var t,n=\"\",r=!1,i=0;i<e.length;++i)if(t=e[i],r){if(\"n\"===t)n+=\"\\n\";else n+=t;r=!1}else\"\\\\\"===t?r=!0:n+=t;return n}(t.label).split(\"\\n\"),o=0;o<i.length;o++)n.append(\"tspan\").attr(\"xml:space\",\"preserve\").attr(\"dy\",\"1em\").attr(\"x\",\"1\").text(i[o]);return r.applyStyle(n,t.labelStyle),n}},function(e,t,n){var r=n(66);e.exports=function(e,t){var n=e;return n.node().appendChild(t.label),r.applyStyle(n,t.labelStyle),n}},function(e,t,n){var r=n(66),i=n(96),o=n(254);e.exports=function(e,t){var n,a=t.nodes().filter((function(e){return r.isSubgraph(t,e)})),s=e.selectAll(\"g.cluster\").data(a,(function(e){return e}));s.selectAll(\"*\").remove(),s.enter().append(\"g\").attr(\"class\",\"cluster\").attr(\"id\",(function(e){return t.node(e).id})).style(\"opacity\",0),s=e.selectAll(\"g.cluster\"),r.applyTransition(s,t).style(\"opacity\",1),s.each((function(e){var n=t.node(e),r=i.select(this);i.select(this).append(\"rect\");var a=r.append(\"g\").attr(\"class\",\"label\");o(a,n,n.clusterLabelPos)})),s.selectAll(\"rect\").each((function(e){var n=t.node(e),o=i.select(this);r.applyStyle(o,n.style)})),n=s.exit?s.exit():s.selectAll(null);return r.applyTransition(n,t).style(\"opacity\",0).remove(),s}},function(e,t,n){\"use strict\";var r=n(136),i=n(254),o=n(66),a=n(96);e.exports=function(e,t){var n,s=e.selectAll(\"g.edgeLabel\").data(t.edges(),(function(e){return o.edgeToId(e)})).classed(\"update\",!0);s.exit().remove(),s.enter().append(\"g\").classed(\"edgeLabel\",!0).style(\"opacity\",0),(s=e.selectAll(\"g.edgeLabel\")).each((function(e){var n=a.select(this);n.select(\".label\").remove();var o=t.edge(e),s=i(n,t.edge(e),0,0).classed(\"label\",!0),c=s.node().getBBox();o.labelId&&s.attr(\"id\",o.labelId),r.has(o,\"width\")||(o.width=c.width),r.has(o,\"height\")||(o.height=c.height)})),n=s.exit?s.exit():s.selectAll(null);return o.applyTransition(n,t).style(\"opacity\",0).remove(),s}},function(e,t,n){\"use strict\";var r=n(136),i=n(347),o=n(66),a=n(96);function s(e,t){var n=(a.line||a.svg.line)().x((function(e){return e.x})).y((function(e){return e.y}));return(n.curve||n.interpolate)(e.curve),n(t)}e.exports=function(e,t,n){var c=e.selectAll(\"g.edgePath\").data(t.edges(),(function(e){return o.edgeToId(e)})).classed(\"update\",!0),u=function(e,t){var n=e.enter().append(\"g\").attr(\"class\",\"edgePath\").style(\"opacity\",0);return n.append(\"path\").attr(\"class\",\"path\").attr(\"d\",(function(e){var n=t.edge(e),i=t.node(e.v).elem;return s(n,r.range(n.points.length).map((function(){return function(e){var t=e.getBBox(),n=e.ownerSVGElement.getScreenCTM().inverse().multiply(e.getScreenCTM()).translate(t.width/2,t.height/2);return{x:n.e,y:n.f}}(i)})))})),n.append(\"defs\"),n}(c,t);!function(e,t){var n=e.exit();o.applyTransition(n,t).style(\"opacity\",0).remove()}(c,t);var l=void 0!==c.merge?c.merge(u):c;return o.applyTransition(l,t).style(\"opacity\",1),l.each((function(e){var n=a.select(this),r=t.edge(e);r.elem=this,r.id&&n.attr(\"id\",r.id),o.applyClass(n,r.class,(n.classed(\"update\")?\"update \":\"\")+\"edgePath\")})),l.selectAll(\"path.path\").each((function(e){var n=t.edge(e);n.arrowheadId=r.uniqueId(\"arrowhead\");var c=a.select(this).attr(\"marker-end\",(function(){return\"url(\"+(e=location.href,t=n.arrowheadId,e.split(\"#\")[0]+\"#\"+t+\")\");var e,t})).style(\"fill\",\"none\");o.applyTransition(c,t).attr(\"d\",(function(e){return function(e,t){var n=e.edge(t),r=e.node(t.v),o=e.node(t.w),a=n.points.slice(1,n.points.length-1);return a.unshift(i(r,a[0])),a.push(i(o,a[a.length-1])),s(n,a)}(t,e)})),o.applyStyle(c,n.style)})),l.selectAll(\"defs *\").remove(),l.selectAll(\"defs\").each((function(e){var r=t.edge(e);(0,n[r.arrowhead])(a.select(this),r.arrowheadId,r,\"arrowhead\")})),l}},function(e,t,n){\"use strict\";var r=n(66),i=n(96);e.exports=function(e,t){function n(e){var n=t.node(e);return\"translate(\"+n.x+\",\"+n.y+\")\"}e.filter((function(){return!i.select(this).classed(\"update\")})).attr(\"transform\",n),r.applyTransition(e,t).style(\"opacity\",1).attr(\"transform\",n)}},function(e,t,n){\"use strict\";var r=n(66),i=n(96),o=n(136);e.exports=function(e,t){function n(e){var n=t.edge(e);return o.has(n,\"x\")?\"translate(\"+n.x+\",\"+n.y+\")\":\"\"}e.filter((function(){return!i.select(this).classed(\"update\")})).attr(\"transform\",n),r.applyTransition(e,t).style(\"opacity\",1).attr(\"transform\",n)}},function(e,t,n){\"use strict\";var r=n(66),i=n(96);e.exports=function(e,t){var n=e.filter((function(){return!i.select(this).classed(\"update\")}));function o(e){var n=t.node(e);return\"translate(\"+n.x+\",\"+n.y+\")\"}n.attr(\"transform\",o),r.applyTransition(e,t).style(\"opacity\",1).attr(\"transform\",o),r.applyTransition(n.selectAll(\"rect\"),t).attr(\"width\",(function(e){return t.node(e).width})).attr(\"height\",(function(e){return t.node(e).height})).attr(\"x\",(function(e){return-t.node(e).width/2})).attr(\"y\",(function(e){return-t.node(e).height/2}))}},function(e,t,n){\"use strict\";var r=n(350),i=n(253),o=n(348),a=n(349);e.exports={rect:function(e,t,n){var i=e.insert(\"rect\",\":first-child\").attr(\"rx\",n.rx).attr(\"ry\",n.ry).attr(\"x\",-t.width/2).attr(\"y\",-t.height/2).attr(\"width\",t.width).attr(\"height\",t.height);return n.intersect=function(e){return r(n,e)},i},ellipse:function(e,t,n){var r=t.width/2,o=t.height/2,a=e.insert(\"ellipse\",\":first-child\").attr(\"x\",-t.width/2).attr(\"y\",-t.height/2).attr(\"rx\",r).attr(\"ry\",o);return n.intersect=function(e){return i(n,r,o,e)},a},circle:function(e,t,n){var r=Math.max(t.width,t.height)/2,i=e.insert(\"circle\",\":first-child\").attr(\"x\",-t.width/2).attr(\"y\",-t.height/2).attr(\"r\",r);return n.intersect=function(e){return o(n,r,e)},i},diamond:function(e,t,n){var r=t.width*Math.SQRT2/2,i=t.height*Math.SQRT2/2,o=[{x:0,y:-i},{x:-r,y:0},{x:0,y:i},{x:r,y:0}],s=e.insert(\"polygon\",\":first-child\").attr(\"points\",o.map((function(e){return e.x+\",\"+e.y})).join(\" \"));return n.intersect=function(e){return a(n,o,e)},s}}},function(e,t,n){var r=n(66);function i(e,t,n,i){var o=e.append(\"marker\").attr(\"id\",t).attr(\"viewBox\",\"0 0 10 10\").attr(\"refX\",9).attr(\"refY\",5).attr(\"markerUnits\",\"strokeWidth\").attr(\"markerWidth\",8).attr(\"markerHeight\",6).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 0 0 L 10 5 L 0 10 z\").style(\"stroke-width\",1).style(\"stroke-dasharray\",\"1,0\");r.applyStyle(o,n[i+\"Style\"]),n[i+\"Class\"]&&o.attr(\"class\",n[i+\"Class\"])}e.exports={default:i,normal:i,vee:function(e,t,n,i){var o=e.append(\"marker\").attr(\"id\",t).attr(\"viewBox\",\"0 0 10 10\").attr(\"refX\",9).attr(\"refY\",5).attr(\"markerUnits\",\"strokeWidth\").attr(\"markerWidth\",8).attr(\"markerHeight\",6).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 0 0 L 10 5 L 0 10 L 4 5 z\").style(\"stroke-width\",1).style(\"stroke-dasharray\",\"1,0\");r.applyStyle(o,n[i+\"Style\"]),n[i+\"Class\"]&&o.attr(\"class\",n[i+\"Class\"])},undirected:function(e,t,n,i){var o=e.append(\"marker\").attr(\"id\",t).attr(\"viewBox\",\"0 0 10 10\").attr(\"refX\",9).attr(\"refY\",5).attr(\"markerUnits\",\"strokeWidth\").attr(\"markerWidth\",8).attr(\"markerHeight\",6).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 0 5 L 10 5\").style(\"stroke-width\",1).style(\"stroke-dasharray\",\"1,0\");r.applyStyle(o,n[i+\"Style\"]),n[i+\"Class\"]&&o.attr(\"class\",n[i+\"Class\"])}}},function(e,t){e.exports=\"0.6.4\"},function(e,t,n){\"use strict\";var r;function i(e){return r=r||document.createElement(\"div\"),e=escape(e).replace(/%26/g,\"&\").replace(/%23/g,\"#\").replace(/%3B/g,\";\"),r.innerHTML=e,unescape(r.textContent)}n.r(t),n.d(t,\"default\",(function(){return i}))},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),function(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}(n(624))},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(192);t.hex=r.default;var i=n(192);t.rgb=i.default;var o=n(192);t.rgba=o.default;var a=n(353);t.hsl=a.default;var s=n(353);t.hsla=s.default;var c=n(97);t.channel=c.default;var u=n(634);t.red=u.default;var l=n(635);t.green=l.default;var f=n(636);t.blue=f.default;var d=n(637);t.hue=d.default;var h=n(638);t.saturation=h.default;var p=n(639);t.lightness=p.default;var g=n(354);t.alpha=g.default;var y=n(354);t.opacity=y.default;var m=n(355);t.luminance=m.default;var b=n(640);t.isDark=b.default;var v=n(356);t.isLight=v.default;var x=n(641);t.isValid=x.default;var w=n(642);t.saturate=w.default;var _=n(643);t.desaturate=_.default;var k=n(644);t.lighten=k.default;var O=n(645);t.darken=O.default;var E=n(357);t.opacify=E.default;var S=n(357);t.fadeIn=S.default;var C=n(358);t.transparentize=C.default;var T=n(358);t.fadeOut=T.default;var j=n(646);t.complement=j.default;var A=n(647);t.grayscale=A.default;var M=n(359);t.adjust=M.default;var P=n(193);t.change=P.default;var N=n(648);t.invert=N.default;var D=n(360);t.mix=D.default;var R=n(649);t.scale=R.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:function(e){return e>=255?255:e<0?0:e},g:function(e){return e>=255?255:e<0?0:e},b:function(e){return e>=255?255:e<0?0:e},h:function(e){return e%360},s:function(e){return e>=100?100:e<0?0:e},l:function(e){return e>=100?100:e<0?0:e},a:function(e){return e>=1?1:e<0?0:e}},toLinear:function(e){var t=e/255;return e>.03928?Math.pow((t+.055)/1.055,2.4):t/12.92},hue2rgb:function(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e},hsl2rgb:function(e,t){var n=e.h,i=e.s,o=e.l;if(100===i)return 2.55*o;n/=360,i/=100;var a=(o/=100)<.5?o*(1+i):o+i-o*i,s=2*o-a;switch(t){case\"r\":return 255*r.hue2rgb(s,a,n+1/3);case\"g\":return 255*r.hue2rgb(s,a,n);case\"b\":return 255*r.hue2rgb(s,a,n-1/3)}},rgb2hsl:function(e,t){var n=e.r,r=e.g,i=e.b;n/=255,r/=255,i/=255;var o=Math.max(n,r,i),a=Math.min(n,r,i),s=(o+a)/2;if(\"l\"===t)return 100*s;if(o===a)return 0;var c=o-a;if(\"s\"===t)return 100*(s>.5?c/(2-o-a):c/(o+a));switch(o){case n:return 60*((r-i)/c+(r<i?6:0));case r:return 60*((i-n)/c+2);case i:return 60*((n-r)/c+4);default:return-1}}};t.default=r},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r={round:function(e){return Math.round(1e10*e)/1e10}};t.default=r},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r={frac2hex:function(e){var t=Math.round(255*e).toString(16);return t.length>1?t:\"0\"+t},dec2hex:function(e){var t=Math.round(e).toString(16);return t.length>1?t:\"0\"+t}};t.default=r},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(67),i=n(255),o=n(629),a=function(){function e(e,t){this.color=t,this.changed=!1,this.data=e,this.type=new o.default}return e.prototype.set=function(e,t){return this.color=t,this.changed=!1,this.data=e,this.type.type=i.TYPE.ALL,this},e.prototype._ensureHSL=function(){void 0===this.data.h&&(this.data.h=r.default.channel.rgb2hsl(this.data,\"h\")),void 0===this.data.s&&(this.data.s=r.default.channel.rgb2hsl(this.data,\"s\")),void 0===this.data.l&&(this.data.l=r.default.channel.rgb2hsl(this.data,\"l\"))},e.prototype._ensureRGB=function(){void 0===this.data.r&&(this.data.r=r.default.channel.hsl2rgb(this.data,\"r\")),void 0===this.data.g&&(this.data.g=r.default.channel.hsl2rgb(this.data,\"g\")),void 0===this.data.b&&(this.data.b=r.default.channel.hsl2rgb(this.data,\"b\"))},Object.defineProperty(e.prototype,\"r\",{get:function(){return this.type.is(i.TYPE.HSL)||void 0===this.data.r?(this._ensureHSL(),r.default.channel.hsl2rgb(this.data,\"r\")):this.data.r},set:function(e){this.type.set(i.TYPE.RGB),this.changed=!0,this.data.r=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"g\",{get:function(){return this.type.is(i.TYPE.HSL)||void 0===this.data.g?(this._ensureHSL(),r.default.channel.hsl2rgb(this.data,\"g\")):this.data.g},set:function(e){this.type.set(i.TYPE.RGB),this.changed=!0,this.data.g=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"b\",{get:function(){return this.type.is(i.TYPE.HSL)||void 0===this.data.b?(this._ensureHSL(),r.default.channel.hsl2rgb(this.data,\"b\")):this.data.b},set:function(e){this.type.set(i.TYPE.RGB),this.changed=!0,this.data.b=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"h\",{get:function(){return this.type.is(i.TYPE.RGB)||void 0===this.data.h?(this._ensureRGB(),r.default.channel.rgb2hsl(this.data,\"h\")):this.data.h},set:function(e){this.type.set(i.TYPE.HSL),this.changed=!0,this.data.h=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"s\",{get:function(){return this.type.is(i.TYPE.RGB)||void 0===this.data.s?(this._ensureRGB(),r.default.channel.rgb2hsl(this.data,\"s\")):this.data.s},set:function(e){this.type.set(i.TYPE.HSL),this.changed=!0,this.data.s=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"l\",{get:function(){return this.type.is(i.TYPE.RGB)||void 0===this.data.l?(this._ensureRGB(),r.default.channel.rgb2hsl(this.data,\"l\")):this.data.l},set:function(e){this.type.set(i.TYPE.HSL),this.changed=!0,this.data.l=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"a\",{get:function(){return this.data.a},set:function(e){this.changed=!0,this.data.a=e},enumerable:!0,configurable:!0}),e}();t.default=a},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(255),i=function(){function e(){this.type=r.TYPE.ALL}return e.prototype.get=function(){return this.type},e.prototype.set=function(e){if(this.type&&this.type!==e)throw new Error(\"Cannot change both RGB and HSL channels at the same time\");this.type=e},e.prototype.reset=function(){this.type=r.TYPE.ALL},e.prototype.is=function(e){return this.type===e},e}();t.default=i},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(67),i={};t.DEC2HEX=i;for(var o=0;o<=255;o++)i[o]=r.default.unit.dec2hex(o)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(352),i={colors:{aliceblue:\"#f0f8ff\",antiquewhite:\"#faebd7\",aqua:\"#00ffff\",aquamarine:\"#7fffd4\",azure:\"#f0ffff\",beige:\"#f5f5dc\",bisque:\"#ffe4c4\",black:\"#000000\",blanchedalmond:\"#ffebcd\",blue:\"#0000ff\",blueviolet:\"#8a2be2\",brown:\"#a52a2a\",burlywood:\"#deb887\",cadetblue:\"#5f9ea0\",chartreuse:\"#7fff00\",chocolate:\"#d2691e\",coral:\"#ff7f50\",cornflowerblue:\"#6495ed\",cornsilk:\"#fff8dc\",crimson:\"#dc143c\",cyanaqua:\"#00ffff\",darkblue:\"#00008b\",darkcyan:\"#008b8b\",darkgoldenrod:\"#b8860b\",darkgray:\"#a9a9a9\",darkgreen:\"#006400\",darkgrey:\"#a9a9a9\",darkkhaki:\"#bdb76b\",darkmagenta:\"#8b008b\",darkolivegreen:\"#556b2f\",darkorange:\"#ff8c00\",darkorchid:\"#9932cc\",darkred:\"#8b0000\",darksalmon:\"#e9967a\",darkseagreen:\"#8fbc8f\",darkslateblue:\"#483d8b\",darkslategray:\"#2f4f4f\",darkslategrey:\"#2f4f4f\",darkturquoise:\"#00ced1\",darkviolet:\"#9400d3\",deeppink:\"#ff1493\",deepskyblue:\"#00bfff\",dimgray:\"#696969\",dimgrey:\"#696969\",dodgerblue:\"#1e90ff\",firebrick:\"#b22222\",floralwhite:\"#fffaf0\",forestgreen:\"#228b22\",fuchsia:\"#ff00ff\",gainsboro:\"#dcdcdc\",ghostwhite:\"#f8f8ff\",gold:\"#ffd700\",goldenrod:\"#daa520\",gray:\"#808080\",green:\"#008000\",greenyellow:\"#adff2f\",grey:\"#808080\",honeydew:\"#f0fff0\",hotpink:\"#ff69b4\",indianred:\"#cd5c5c\",indigo:\"#4b0082\",ivory:\"#fffff0\",khaki:\"#f0e68c\",lavender:\"#e6e6fa\",lavenderblush:\"#fff0f5\",lawngreen:\"#7cfc00\",lemonchiffon:\"#fffacd\",lightblue:\"#add8e6\",lightcoral:\"#f08080\",lightcyan:\"#e0ffff\",lightgoldenrodyellow:\"#fafad2\",lightgray:\"#d3d3d3\",lightgreen:\"#90ee90\",lightgrey:\"#d3d3d3\",lightpink:\"#ffb6c1\",lightsalmon:\"#ffa07a\",lightseagreen:\"#20b2aa\",lightskyblue:\"#87cefa\",lightslategray:\"#778899\",lightslategrey:\"#778899\",lightsteelblue:\"#b0c4de\",lightyellow:\"#ffffe0\",lime:\"#00ff00\",limegreen:\"#32cd32\",linen:\"#faf0e6\",magenta:\"#ff00ff\",maroon:\"#800000\",mediumaquamarine:\"#66cdaa\",mediumblue:\"#0000cd\",mediumorchid:\"#ba55d3\",mediumpurple:\"#9370db\",mediumseagreen:\"#3cb371\",mediumslateblue:\"#7b68ee\",mediumspringgreen:\"#00fa9a\",mediumturquoise:\"#48d1cc\",mediumvioletred:\"#c71585\",midnightblue:\"#191970\",mintcream:\"#f5fffa\",mistyrose:\"#ffe4e1\",moccasin:\"#ffe4b5\",navajowhite:\"#ffdead\",navy:\"#000080\",oldlace:\"#fdf5e6\",olive:\"#808000\",olivedrab:\"#6b8e23\",orange:\"#ffa500\",orangered:\"#ff4500\",orchid:\"#da70d6\",palegoldenrod:\"#eee8aa\",palegreen:\"#98fb98\",paleturquoise:\"#afeeee\",palevioletred:\"#db7093\",papayawhip:\"#ffefd5\",peachpuff:\"#ffdab9\",peru:\"#cd853f\",pink:\"#ffc0cb\",plum:\"#dda0dd\",powderblue:\"#b0e0e6\",purple:\"#800080\",rebeccapurple:\"#663399\",red:\"#ff0000\",rosybrown:\"#bc8f8f\",royalblue:\"#4169e1\",saddlebrown:\"#8b4513\",salmon:\"#fa8072\",sandybrown:\"#f4a460\",seagreen:\"#2e8b57\",seashell:\"#fff5ee\",sienna:\"#a0522d\",silver:\"#c0c0c0\",skyblue:\"#87ceeb\",slateblue:\"#6a5acd\",slategray:\"#708090\",slategrey:\"#708090\",snow:\"#fffafa\",springgreen:\"#00ff7f\",tan:\"#d2b48c\",teal:\"#008080\",thistle:\"#d8bfd8\",transparent:\"#00000000\",turquoise:\"#40e0d0\",violet:\"#ee82ee\",wheat:\"#f5deb3\",white:\"#ffffff\",whitesmoke:\"#f5f5f5\",yellow:\"#ffff00\",yellowgreen:\"#9acd32\"},parse:function(e){e=e.toLowerCase();var t=i.colors[e];if(t)return r.default.parse(t)},stringify:function(e){var t=r.default.stringify(e);for(var n in i.colors)if(i.colors[n]===t)return n}};t.default=i},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(67),i=n(165),o={re:/^rgba?\\(\\s*?(-?(?:\\d+(?:\\.\\d+)?|(?:\\.\\d+))(?:e\\d+)?(%?))\\s*?(?:,|\\s)\\s*?(-?(?:\\d+(?:\\.\\d+)?|(?:\\.\\d+))(?:e\\d+)?(%?))\\s*?(?:,|\\s)\\s*?(-?(?:\\d+(?:\\.\\d+)?|(?:\\.\\d+))(?:e\\d+)?(%?))(?:\\s*?(?:,|\\/)\\s*?\\+?(-?(?:\\d+(?:\\.\\d+)?|(?:\\.\\d+))(?:e\\d+)?(%?)))?\\s*?\\)$/i,parse:function(e){var t=e.charCodeAt(0);if(114===t||82===t){var n=e.match(o.re);if(n){var a=n[1],s=n[2],c=n[3],u=n[4],l=n[5],f=n[6],d=n[7],h=n[8];return i.default.set({r:r.default.channel.clamp.r(s?2.55*parseFloat(a):parseFloat(a)),g:r.default.channel.clamp.g(u?2.55*parseFloat(c):parseFloat(c)),b:r.default.channel.clamp.b(f?2.55*parseFloat(l):parseFloat(l)),a:d?r.default.channel.clamp.a(h?parseFloat(d)/100:parseFloat(d)):1},e)}}},stringify:function(e){return e.a<1?\"rgba(\"+r.default.lang.round(e.r)+\", \"+r.default.lang.round(e.g)+\", \"+r.default.lang.round(e.b)+\", \"+r.default.lang.round(e.a)+\")\":\"rgb(\"+r.default.lang.round(e.r)+\", \"+r.default.lang.round(e.g)+\", \"+r.default.lang.round(e.b)+\")\"}};t.default=o},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(67),i=n(165),o={re:/^hsla?\\(\\s*?(-?(?:\\d+(?:\\.\\d+)?|(?:\\.\\d+))(?:e-?\\d+)?(?:deg|grad|rad|turn)?)\\s*?(?:,|\\s)\\s*?(-?(?:\\d+(?:\\.\\d+)?|(?:\\.\\d+))(?:e-?\\d+)?%)\\s*?(?:,|\\s)\\s*?(-?(?:\\d+(?:\\.\\d+)?|(?:\\.\\d+))(?:e-?\\d+)?%)(?:\\s*?(?:,|\\/)\\s*?\\+?(-?(?:\\d+(?:\\.\\d+)?|(?:\\.\\d+))(?:e-?\\d+)?(%)?))?\\s*?\\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:function(e){var t=e.match(o.hueRe);if(t){var n=t[1];switch(t[2]){case\"grad\":return r.default.channel.clamp.h(.9*parseFloat(n));case\"rad\":return r.default.channel.clamp.h(180*parseFloat(n)/Math.PI);case\"turn\":return r.default.channel.clamp.h(360*parseFloat(n))}}return r.default.channel.clamp.h(parseFloat(e))},parse:function(e){var t=e.charCodeAt(0);if(104===t||72===t){var n=e.match(o.re);if(n){var a=n[1],s=n[2],c=n[3],u=n[4],l=n[5];return i.default.set({h:o._hue2deg(a),s:r.default.channel.clamp.s(parseFloat(s)),l:r.default.channel.clamp.l(parseFloat(c)),a:u?r.default.channel.clamp.a(l?parseFloat(u)/100:parseFloat(u)):1},e)}}},stringify:function(e){return e.a<1?\"hsla(\"+r.default.lang.round(e.h)+\", \"+r.default.lang.round(e.s)+\"%, \"+r.default.lang.round(e.l)+\"%, \"+e.a+\")\":\"hsl(\"+r.default.lang.round(e.h)+\", \"+r.default.lang.round(e.s)+\"%, \"+r.default.lang.round(e.l)+\"%)\"}};t.default=o},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(97);t.default=function(e){return r.default(e,\"r\")}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(97);t.default=function(e){return r.default(e,\"g\")}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(97);t.default=function(e){return r.default(e,\"b\")}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(97);t.default=function(e){return r.default(e,\"h\")}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(97);t.default=function(e){return r.default(e,\"s\")}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(97);t.default=function(e){return r.default(e,\"l\")}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(356);t.default=function(e){return!r.default(e)}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(73);t.default=function(e){try{return r.default.parse(e),!0}catch(t){return!1}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(119);t.default=function(e,t){return r.default(e,\"s\",t)}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(119);t.default=function(e,t){return r.default(e,\"s\",-t)}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(119);t.default=function(e,t){return r.default(e,\"l\",t)}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(119);t.default=function(e,t){return r.default(e,\"l\",-t)}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(119);t.default=function(e){return r.default(e,\"h\",180)}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(193);t.default=function(e){return r.default(e,{s:0})}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(73),i=n(360);t.default=function(e,t){void 0===t&&(t=100);var n=r.default.parse(e);return n.r=255-n.r,n.g=255-n.g,n.b=255-n.b,i.default(n,e,t)}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(67),i=n(73),o=n(359);t.default=function(e,t){var n,a,s,c=i.default.parse(e),u={};for(var l in t)u[l]=(n=c[l],a=t[l],s=r.default.channel.max[l],a>0?(s-n)*a/100:n*a/100);return o.default(e,u)}},function(e,t,n){(function(e){e.exports=function(){\"use strict\";var t,r;function i(){return t.apply(null,arguments)}function o(e){return e instanceof Array||\"[object Array]\"===Object.prototype.toString.call(e)}function a(e){return null!=e&&\"[object Object]\"===Object.prototype.toString.call(e)}function s(e){return void 0===e}function c(e){return\"number\"==typeof e||\"[object Number]\"===Object.prototype.toString.call(e)}function u(e){return e instanceof Date||\"[object Date]\"===Object.prototype.toString.call(e)}function l(e,t){var n,r=[];for(n=0;n<e.length;++n)r.push(t(e[n],n));return r}function f(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function d(e,t){for(var n in t)f(t,n)&&(e[n]=t[n]);return f(t,\"toString\")&&(e.toString=t.toString),f(t,\"valueOf\")&&(e.valueOf=t.valueOf),e}function h(e,t,n,r){return jt(e,t,n,r,!0).utc()}function p(e){return null==e._pf&&(e._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),e._pf}function g(e){if(null==e._isValid){var t=p(e),n=r.call(t.parsedDateParts,(function(e){return null!=e})),i=!isNaN(e._d.getTime())&&t.overflow<0&&!t.empty&&!t.invalidMonth&&!t.invalidWeekday&&!t.weekdayMismatch&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated&&(!t.meridiem||t.meridiem&&n);if(e._strict&&(i=i&&0===t.charsLeftOver&&0===t.unusedTokens.length&&void 0===t.bigHour),null!=Object.isFrozen&&Object.isFrozen(e))return i;e._isValid=i}return e._isValid}function y(e){var t=h(NaN);return null!=e?d(p(t),e):p(t).userInvalidated=!0,t}r=Array.prototype.some?Array.prototype.some:function(e){for(var t=Object(this),n=t.length>>>0,r=0;r<n;r++)if(r in t&&e.call(this,t[r],r,t))return!0;return!1};var m=i.momentProperties=[];function b(e,t){var n,r,i;if(s(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),s(t._i)||(e._i=t._i),s(t._f)||(e._f=t._f),s(t._l)||(e._l=t._l),s(t._strict)||(e._strict=t._strict),s(t._tzm)||(e._tzm=t._tzm),s(t._isUTC)||(e._isUTC=t._isUTC),s(t._offset)||(e._offset=t._offset),s(t._pf)||(e._pf=p(t)),s(t._locale)||(e._locale=t._locale),0<m.length)for(n=0;n<m.length;n++)s(i=t[r=m[n]])||(e[r]=i);return e}var v=!1;function x(e){b(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===v&&(v=!0,i.updateOffset(this),v=!1)}function w(e){return e instanceof x||null!=e&&null!=e._isAMomentObject}function _(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function k(e){var t=+e,n=0;return 0!==t&&isFinite(t)&&(n=_(t)),n}function O(e,t,n){var r,i=Math.min(e.length,t.length),o=Math.abs(e.length-t.length),a=0;for(r=0;r<i;r++)(n&&e[r]!==t[r]||!n&&k(e[r])!==k(t[r]))&&a++;return a+o}function E(e){!1===i.suppressDeprecationWarnings&&\"undefined\"!=typeof console&&console.warn&&console.warn(\"Deprecation warning: \"+e)}function S(e,t){var n=!0;return d((function(){if(null!=i.deprecationHandler&&i.deprecationHandler(null,e),n){for(var r,o=[],a=0;a<arguments.length;a++){if(r=\"\",\"object\"==typeof arguments[a]){for(var s in r+=\"\\n[\"+a+\"] \",arguments[0])r+=s+\": \"+arguments[0][s]+\", \";r=r.slice(0,-2)}else r=arguments[a];o.push(r)}E(e+\"\\nArguments: \"+Array.prototype.slice.call(o).join(\"\")+\"\\n\"+(new Error).stack),n=!1}return t.apply(this,arguments)}),t)}var C,T={};function j(e,t){null!=i.deprecationHandler&&i.deprecationHandler(e,t),T[e]||(E(t),T[e]=!0)}function A(e){return e instanceof Function||\"[object Function]\"===Object.prototype.toString.call(e)}function M(e,t){var n,r=d({},e);for(n in t)f(t,n)&&(a(e[n])&&a(t[n])?(r[n]={},d(r[n],e[n]),d(r[n],t[n])):null!=t[n]?r[n]=t[n]:delete r[n]);for(n in e)f(e,n)&&!f(t,n)&&a(e[n])&&(r[n]=d({},r[n]));return r}function P(e){null!=e&&this.set(e)}i.suppressDeprecationWarnings=!1,i.deprecationHandler=null,C=Object.keys?Object.keys:function(e){var t,n=[];for(t in e)f(e,t)&&n.push(t);return n};var N={};function D(e,t){var n=e.toLowerCase();N[n]=N[n+\"s\"]=N[t]=e}function R(e){return\"string\"==typeof e?N[e]||N[e.toLowerCase()]:void 0}function I(e){var t,n,r={};for(n in e)f(e,n)&&(t=R(n))&&(r[t]=e[n]);return r}var L={};function B(e,t){L[e]=t}function F(e,t,n){var r=\"\"+Math.abs(e),i=t-r.length;return(0<=e?n?\"+\":\"\":\"-\")+Math.pow(10,Math.max(0,i)).toString().substr(1)+r}var z=/(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,U=/(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,H={},W={};function Y(e,t,n,r){var i=r;\"string\"==typeof r&&(i=function(){return this[r]()}),e&&(W[e]=i),t&&(W[t[0]]=function(){return F(i.apply(this,arguments),t[1],t[2])}),n&&(W[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function V(e,t){return e.isValid()?(t=q(t,e.localeData()),H[t]=H[t]||function(e){var t,n,r,i=e.match(z);for(t=0,n=i.length;t<n;t++)W[i[t]]?i[t]=W[i[t]]:i[t]=(r=i[t]).match(/\\[[\\s\\S]/)?r.replace(/^\\[|\\]$/g,\"\"):r.replace(/\\\\/g,\"\");return function(t){var r,o=\"\";for(r=0;r<n;r++)o+=A(i[r])?i[r].call(t,e):i[r];return o}}(t),H[t](e)):e.localeData().invalidDate()}function q(e,t){var n=5;function r(e){return t.longDateFormat(e)||e}for(U.lastIndex=0;0<=n&&U.test(e);)e=e.replace(U,r),U.lastIndex=0,n-=1;return e}var $=/\\d/,G=/\\d\\d/,X=/\\d{3}/,K=/\\d{4}/,Z=/[+-]?\\d{6}/,J=/\\d\\d?/,Q=/\\d\\d\\d\\d?/,ee=/\\d\\d\\d\\d\\d\\d?/,te=/\\d{1,3}/,ne=/\\d{1,4}/,re=/[+-]?\\d{1,6}/,ie=/\\d+/,oe=/[+-]?\\d+/,ae=/Z|[+-]\\d\\d:?\\d\\d/gi,se=/Z|[+-]\\d\\d(?::?\\d\\d)?/gi,ce=/[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,ue={};function le(e,t,n){ue[e]=A(t)?t:function(e,r){return e&&n?n:t}}function fe(e,t){return f(ue,e)?ue[e](t._strict,t._locale):new RegExp(de(e.replace(\"\\\\\",\"\").replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,(function(e,t,n,r,i){return t||n||r||i}))))}function de(e){return e.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\")}var he={};function pe(e,t){var n,r=t;for(\"string\"==typeof e&&(e=[e]),c(t)&&(r=function(e,n){n[t]=k(e)}),n=0;n<e.length;n++)he[e[n]]=r}function ge(e,t){pe(e,(function(e,n,r,i){r._w=r._w||{},t(e,r._w,r,i)}))}var ye=0,me=1,be=2,ve=3,xe=4,we=5,_e=6,ke=7,Oe=8;function Ee(e){return Se(e)?366:365}function Se(e){return e%4==0&&e%100!=0||e%400==0}Y(\"Y\",0,0,(function(){var e=this.year();return e<=9999?\"\"+e:\"+\"+e})),Y(0,[\"YY\",2],0,(function(){return this.year()%100})),Y(0,[\"YYYY\",4],0,\"year\"),Y(0,[\"YYYYY\",5],0,\"year\"),Y(0,[\"YYYYYY\",6,!0],0,\"year\"),D(\"year\",\"y\"),B(\"year\",1),le(\"Y\",oe),le(\"YY\",J,G),le(\"YYYY\",ne,K),le(\"YYYYY\",re,Z),le(\"YYYYYY\",re,Z),pe([\"YYYYY\",\"YYYYYY\"],ye),pe(\"YYYY\",(function(e,t){t[ye]=2===e.length?i.parseTwoDigitYear(e):k(e)})),pe(\"YY\",(function(e,t){t[ye]=i.parseTwoDigitYear(e)})),pe(\"Y\",(function(e,t){t[ye]=parseInt(e,10)})),i.parseTwoDigitYear=function(e){return k(e)+(68<k(e)?1900:2e3)};var Ce,Te=je(\"FullYear\",!0);function je(e,t){return function(n){return null!=n?(Me(this,e,n),i.updateOffset(this,t),this):Ae(this,e)}}function Ae(e,t){return e.isValid()?e._d[\"get\"+(e._isUTC?\"UTC\":\"\")+t]():NaN}function Me(e,t,n){e.isValid()&&!isNaN(n)&&(\"FullYear\"===t&&Se(e.year())&&1===e.month()&&29===e.date()?e._d[\"set\"+(e._isUTC?\"UTC\":\"\")+t](n,e.month(),Pe(n,e.month())):e._d[\"set\"+(e._isUTC?\"UTC\":\"\")+t](n))}function Pe(e,t){if(isNaN(e)||isNaN(t))return NaN;var n,r=(t%(n=12)+n)%n;return e+=(t-r)/12,1===r?Se(e)?29:28:31-r%7%2}Ce=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t<this.length;++t)if(this[t]===e)return t;return-1},Y(\"M\",[\"MM\",2],\"Mo\",(function(){return this.month()+1})),Y(\"MMM\",0,0,(function(e){return this.localeData().monthsShort(this,e)})),Y(\"MMMM\",0,0,(function(e){return this.localeData().months(this,e)})),D(\"month\",\"M\"),B(\"month\",8),le(\"M\",J),le(\"MM\",J,G),le(\"MMM\",(function(e,t){return t.monthsShortRegex(e)})),le(\"MMMM\",(function(e,t){return t.monthsRegex(e)})),pe([\"M\",\"MM\"],(function(e,t){t[me]=k(e)-1})),pe([\"MMM\",\"MMMM\"],(function(e,t,n,r){var i=n._locale.monthsParse(e,r,n._strict);null!=i?t[me]=i:p(n).invalidMonth=e}));var Ne=/D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,De=\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),Re=\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\");function Ie(e,t){var n;if(!e.isValid())return e;if(\"string\"==typeof t)if(/^\\d+$/.test(t))t=k(t);else if(!c(t=e.localeData().monthsParse(t)))return e;return n=Math.min(e.date(),Pe(e.year(),t)),e._d[\"set\"+(e._isUTC?\"UTC\":\"\")+\"Month\"](t,n),e}function Le(e){return null!=e?(Ie(this,e),i.updateOffset(this,!0),this):Ae(this,\"Month\")}var Be=ce,Fe=ce;function ze(){function e(e,t){return t.length-e.length}var t,n,r=[],i=[],o=[];for(t=0;t<12;t++)n=h([2e3,t]),r.push(this.monthsShort(n,\"\")),i.push(this.months(n,\"\")),o.push(this.months(n,\"\")),o.push(this.monthsShort(n,\"\"));for(r.sort(e),i.sort(e),o.sort(e),t=0;t<12;t++)r[t]=de(r[t]),i[t]=de(i[t]);for(t=0;t<24;t++)o[t]=de(o[t]);this._monthsRegex=new RegExp(\"^(\"+o.join(\"|\")+\")\",\"i\"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp(\"^(\"+i.join(\"|\")+\")\",\"i\"),this._monthsShortStrictRegex=new RegExp(\"^(\"+r.join(\"|\")+\")\",\"i\")}function Ue(e){var t;if(e<100&&0<=e){var n=Array.prototype.slice.call(arguments);n[0]=e+400,t=new Date(Date.UTC.apply(null,n)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)}else t=new Date(Date.UTC.apply(null,arguments));return t}function He(e,t,n){var r=7+t-n;return-(7+Ue(e,0,r).getUTCDay()-t)%7+r-1}function We(e,t,n,r,i){var o,a,s=1+7*(t-1)+(7+n-r)%7+He(e,r,i);return a=s<=0?Ee(o=e-1)+s:s>Ee(e)?(o=e+1,s-Ee(e)):(o=e,s),{year:o,dayOfYear:a}}function Ye(e,t,n){var r,i,o=He(e.year(),t,n),a=Math.floor((e.dayOfYear()-o-1)/7)+1;return a<1?r=a+Ve(i=e.year()-1,t,n):a>Ve(e.year(),t,n)?(r=a-Ve(e.year(),t,n),i=e.year()+1):(i=e.year(),r=a),{week:r,year:i}}function Ve(e,t,n){var r=He(e,t,n),i=He(e+1,t,n);return(Ee(e)-r+i)/7}function qe(e,t){return e.slice(t,7).concat(e.slice(0,t))}Y(\"w\",[\"ww\",2],\"wo\",\"week\"),Y(\"W\",[\"WW\",2],\"Wo\",\"isoWeek\"),D(\"week\",\"w\"),D(\"isoWeek\",\"W\"),B(\"week\",5),B(\"isoWeek\",5),le(\"w\",J),le(\"ww\",J,G),le(\"W\",J),le(\"WW\",J,G),ge([\"w\",\"ww\",\"W\",\"WW\"],(function(e,t,n,r){t[r.substr(0,1)]=k(e)})),Y(\"d\",0,\"do\",\"day\"),Y(\"dd\",0,0,(function(e){return this.localeData().weekdaysMin(this,e)})),Y(\"ddd\",0,0,(function(e){return this.localeData().weekdaysShort(this,e)})),Y(\"dddd\",0,0,(function(e){return this.localeData().weekdays(this,e)})),Y(\"e\",0,0,\"weekday\"),Y(\"E\",0,0,\"isoWeekday\"),D(\"day\",\"d\"),D(\"weekday\",\"e\"),D(\"isoWeekday\",\"E\"),B(\"day\",11),B(\"weekday\",11),B(\"isoWeekday\",11),le(\"d\",J),le(\"e\",J),le(\"E\",J),le(\"dd\",(function(e,t){return t.weekdaysMinRegex(e)})),le(\"ddd\",(function(e,t){return t.weekdaysShortRegex(e)})),le(\"dddd\",(function(e,t){return t.weekdaysRegex(e)})),ge([\"dd\",\"ddd\",\"dddd\"],(function(e,t,n,r){var i=n._locale.weekdaysParse(e,r,n._strict);null!=i?t.d=i:p(n).invalidWeekday=e})),ge([\"d\",\"e\",\"E\"],(function(e,t,n,r){t[r]=k(e)}));var $e=\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),Ge=\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),Xe=\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),Ke=ce,Ze=ce,Je=ce;function Qe(){function e(e,t){return t.length-e.length}var t,n,r,i,o,a=[],s=[],c=[],u=[];for(t=0;t<7;t++)n=h([2e3,1]).day(t),r=this.weekdaysMin(n,\"\"),i=this.weekdaysShort(n,\"\"),o=this.weekdays(n,\"\"),a.push(r),s.push(i),c.push(o),u.push(r),u.push(i),u.push(o);for(a.sort(e),s.sort(e),c.sort(e),u.sort(e),t=0;t<7;t++)s[t]=de(s[t]),c[t]=de(c[t]),u[t]=de(u[t]);this._weekdaysRegex=new RegExp(\"^(\"+u.join(\"|\")+\")\",\"i\"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp(\"^(\"+c.join(\"|\")+\")\",\"i\"),this._weekdaysShortStrictRegex=new RegExp(\"^(\"+s.join(\"|\")+\")\",\"i\"),this._weekdaysMinStrictRegex=new RegExp(\"^(\"+a.join(\"|\")+\")\",\"i\")}function et(){return this.hours()%12||12}function tt(e,t){Y(e,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)}))}function nt(e,t){return t._meridiemParse}Y(\"H\",[\"HH\",2],0,\"hour\"),Y(\"h\",[\"hh\",2],0,et),Y(\"k\",[\"kk\",2],0,(function(){return this.hours()||24})),Y(\"hmm\",0,0,(function(){return\"\"+et.apply(this)+F(this.minutes(),2)})),Y(\"hmmss\",0,0,(function(){return\"\"+et.apply(this)+F(this.minutes(),2)+F(this.seconds(),2)})),Y(\"Hmm\",0,0,(function(){return\"\"+this.hours()+F(this.minutes(),2)})),Y(\"Hmmss\",0,0,(function(){return\"\"+this.hours()+F(this.minutes(),2)+F(this.seconds(),2)})),tt(\"a\",!0),tt(\"A\",!1),D(\"hour\",\"h\"),B(\"hour\",13),le(\"a\",nt),le(\"A\",nt),le(\"H\",J),le(\"h\",J),le(\"k\",J),le(\"HH\",J,G),le(\"hh\",J,G),le(\"kk\",J,G),le(\"hmm\",Q),le(\"hmmss\",ee),le(\"Hmm\",Q),le(\"Hmmss\",ee),pe([\"H\",\"HH\"],ve),pe([\"k\",\"kk\"],(function(e,t,n){var r=k(e);t[ve]=24===r?0:r})),pe([\"a\",\"A\"],(function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e})),pe([\"h\",\"hh\"],(function(e,t,n){t[ve]=k(e),p(n).bigHour=!0})),pe(\"hmm\",(function(e,t,n){var r=e.length-2;t[ve]=k(e.substr(0,r)),t[xe]=k(e.substr(r)),p(n).bigHour=!0})),pe(\"hmmss\",(function(e,t,n){var r=e.length-4,i=e.length-2;t[ve]=k(e.substr(0,r)),t[xe]=k(e.substr(r,2)),t[we]=k(e.substr(i)),p(n).bigHour=!0})),pe(\"Hmm\",(function(e,t,n){var r=e.length-2;t[ve]=k(e.substr(0,r)),t[xe]=k(e.substr(r))})),pe(\"Hmmss\",(function(e,t,n){var r=e.length-4,i=e.length-2;t[ve]=k(e.substr(0,r)),t[xe]=k(e.substr(r,2)),t[we]=k(e.substr(i))}));var rt,it=je(\"Hours\",!0),ot={calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},longDateFormat:{LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},invalidDate:\"Invalid date\",ordinal:\"%d\",dayOfMonthOrdinalParse:/\\d{1,2}/,relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",ss:\"%d seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},months:De,monthsShort:Re,week:{dow:0,doy:6},weekdays:$e,weekdaysMin:Xe,weekdaysShort:Ge,meridiemParse:/[ap]\\.?m?\\.?/i},at={},st={};function ct(e){return e?e.toLowerCase().replace(\"_\",\"-\"):e}function ut(t){var r=null;if(!at[t]&&\"undefined\"!=typeof e&&e&&e.exports)try{r=rt._abbr,n(651)(\"./\"+t),lt(r)}catch(t){}return at[t]}function lt(e,t){var n;return e&&((n=s(t)?dt(e):ft(e,t))?rt=n:\"undefined\"!=typeof console&&console.warn&&console.warn(\"Locale \"+e+\" not found. Did you forget to load it?\")),rt._abbr}function ft(e,t){if(null===t)return delete at[e],null;var n,r=ot;if(t.abbr=e,null!=at[e])j(\"defineLocaleOverride\",\"use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info.\"),r=at[e]._config;else if(null!=t.parentLocale)if(null!=at[t.parentLocale])r=at[t.parentLocale]._config;else{if(null==(n=ut(t.parentLocale)))return st[t.parentLocale]||(st[t.parentLocale]=[]),st[t.parentLocale].push({name:e,config:t}),null;r=n._config}return at[e]=new P(M(r,t)),st[e]&&st[e].forEach((function(e){ft(e.name,e.config)})),lt(e),at[e]}function dt(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return rt;if(!o(e)){if(t=ut(e))return t;e=[e]}return function(e){for(var t,n,r,i,o=0;o<e.length;){for(t=(i=ct(e[o]).split(\"-\")).length,n=(n=ct(e[o+1]))?n.split(\"-\"):null;0<t;){if(r=ut(i.slice(0,t).join(\"-\")))return r;if(n&&n.length>=t&&O(i,n,!0)>=t-1)break;t--}o++}return rt}(e)}function ht(e){var t,n=e._a;return n&&-2===p(e).overflow&&(t=n[me]<0||11<n[me]?me:n[be]<1||n[be]>Pe(n[ye],n[me])?be:n[ve]<0||24<n[ve]||24===n[ve]&&(0!==n[xe]||0!==n[we]||0!==n[_e])?ve:n[xe]<0||59<n[xe]?xe:n[we]<0||59<n[we]?we:n[_e]<0||999<n[_e]?_e:-1,p(e)._overflowDayOfYear&&(t<ye||be<t)&&(t=be),p(e)._overflowWeeks&&-1===t&&(t=ke),p(e)._overflowWeekday&&-1===t&&(t=Oe),p(e).overflow=t),e}function pt(e,t,n){return null!=e?e:null!=t?t:n}function gt(e){var t,n,r,o,a,s=[];if(!e._d){var c,u;for(c=e,u=new Date(i.now()),r=c._useUTC?[u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate()]:[u.getFullYear(),u.getMonth(),u.getDate()],e._w&&null==e._a[be]&&null==e._a[me]&&function(e){var t,n,r,i,o,a,s,c;if(null!=(t=e._w).GG||null!=t.W||null!=t.E)o=1,a=4,n=pt(t.GG,e._a[ye],Ye(At(),1,4).year),r=pt(t.W,1),((i=pt(t.E,1))<1||7<i)&&(c=!0);else{o=e._locale._week.dow,a=e._locale._week.doy;var u=Ye(At(),o,a);n=pt(t.gg,e._a[ye],u.year),r=pt(t.w,u.week),null!=t.d?((i=t.d)<0||6<i)&&(c=!0):null!=t.e?(i=t.e+o,(t.e<0||6<t.e)&&(c=!0)):i=o}r<1||r>Ve(n,o,a)?p(e)._overflowWeeks=!0:null!=c?p(e)._overflowWeekday=!0:(s=We(n,r,i,o,a),e._a[ye]=s.year,e._dayOfYear=s.dayOfYear)}(e),null!=e._dayOfYear&&(a=pt(e._a[ye],r[ye]),(e._dayOfYear>Ee(a)||0===e._dayOfYear)&&(p(e)._overflowDayOfYear=!0),n=Ue(a,0,e._dayOfYear),e._a[me]=n.getUTCMonth(),e._a[be]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=s[t]=r[t];for(;t<7;t++)e._a[t]=s[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[ve]&&0===e._a[xe]&&0===e._a[we]&&0===e._a[_e]&&(e._nextDay=!0,e._a[ve]=0),e._d=(e._useUTC?Ue:function(e,t,n,r,i,o,a){var s;return e<100&&0<=e?(s=new Date(e+400,t,n,r,i,o,a),isFinite(s.getFullYear())&&s.setFullYear(e)):s=new Date(e,t,n,r,i,o,a),s}).apply(null,s),o=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[ve]=24),e._w&&void 0!==e._w.d&&e._w.d!==o&&(p(e).weekdayMismatch=!0)}}var yt=/^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,mt=/^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,bt=/Z|[+-]\\d\\d(?::?\\d\\d)?/,vt=[[\"YYYYYY-MM-DD\",/[+-]\\d{6}-\\d\\d-\\d\\d/],[\"YYYY-MM-DD\",/\\d{4}-\\d\\d-\\d\\d/],[\"GGGG-[W]WW-E\",/\\d{4}-W\\d\\d-\\d/],[\"GGGG-[W]WW\",/\\d{4}-W\\d\\d/,!1],[\"YYYY-DDD\",/\\d{4}-\\d{3}/],[\"YYYY-MM\",/\\d{4}-\\d\\d/,!1],[\"YYYYYYMMDD\",/[+-]\\d{10}/],[\"YYYYMMDD\",/\\d{8}/],[\"GGGG[W]WWE\",/\\d{4}W\\d{3}/],[\"GGGG[W]WW\",/\\d{4}W\\d{2}/,!1],[\"YYYYDDD\",/\\d{7}/]],xt=[[\"HH:mm:ss.SSSS\",/\\d\\d:\\d\\d:\\d\\d\\.\\d+/],[\"HH:mm:ss,SSSS\",/\\d\\d:\\d\\d:\\d\\d,\\d+/],[\"HH:mm:ss\",/\\d\\d:\\d\\d:\\d\\d/],[\"HH:mm\",/\\d\\d:\\d\\d/],[\"HHmmss.SSSS\",/\\d\\d\\d\\d\\d\\d\\.\\d+/],[\"HHmmss,SSSS\",/\\d\\d\\d\\d\\d\\d,\\d+/],[\"HHmmss\",/\\d\\d\\d\\d\\d\\d/],[\"HHmm\",/\\d\\d\\d\\d/],[\"HH\",/\\d\\d/]],wt=/^\\/?Date\\((\\-?\\d+)/i;function _t(e){var t,n,r,i,o,a,s=e._i,c=yt.exec(s)||mt.exec(s);if(c){for(p(e).iso=!0,t=0,n=vt.length;t<n;t++)if(vt[t][1].exec(c[1])){i=vt[t][0],r=!1!==vt[t][2];break}if(null==i)return void(e._isValid=!1);if(c[3]){for(t=0,n=xt.length;t<n;t++)if(xt[t][1].exec(c[3])){o=(c[2]||\" \")+xt[t][0];break}if(null==o)return void(e._isValid=!1)}if(!r&&null!=o)return void(e._isValid=!1);if(c[4]){if(!bt.exec(c[4]))return void(e._isValid=!1);a=\"Z\"}e._f=i+(o||\"\")+(a||\"\"),Ct(e)}else e._isValid=!1}var kt=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;function Ot(e,t,n,r,i,o){var a=[function(e){var t=parseInt(e,10);return t<=49?2e3+t:t<=999?1900+t:t}(e),Re.indexOf(t),parseInt(n,10),parseInt(r,10),parseInt(i,10)];return o&&a.push(parseInt(o,10)),a}var Et={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function St(e){var t,n,r,i=kt.exec(e._i.replace(/\\([^)]*\\)|[\\n\\t]/g,\" \").replace(/(\\s\\s+)/g,\" \").replace(/^\\s\\s*/,\"\").replace(/\\s\\s*$/,\"\"));if(i){var o=Ot(i[4],i[3],i[2],i[5],i[6],i[7]);if(n=o,r=e,(t=i[1])&&Ge.indexOf(t)!==new Date(n[0],n[1],n[2]).getDay()&&(p(r).weekdayMismatch=!0,!(r._isValid=!1)))return;e._a=o,e._tzm=function(e,t,n){if(e)return Et[e];if(t)return 0;var r=parseInt(n,10),i=r%100;return(r-i)/100*60+i}(i[8],i[9],i[10]),e._d=Ue.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),p(e).rfc2822=!0}else e._isValid=!1}function Ct(e){if(e._f!==i.ISO_8601)if(e._f!==i.RFC_2822){e._a=[],p(e).empty=!0;var t,n,r,o,a,s,c,u,l=\"\"+e._i,d=l.length,h=0;for(r=q(e._f,e._locale).match(z)||[],t=0;t<r.length;t++)o=r[t],(n=(l.match(fe(o,e))||[])[0])&&(0<(a=l.substr(0,l.indexOf(n))).length&&p(e).unusedInput.push(a),l=l.slice(l.indexOf(n)+n.length),h+=n.length),W[o]?(n?p(e).empty=!1:p(e).unusedTokens.push(o),s=o,u=e,null!=(c=n)&&f(he,s)&&he[s](c,u._a,u,s)):e._strict&&!n&&p(e).unusedTokens.push(o);p(e).charsLeftOver=d-h,0<l.length&&p(e).unusedInput.push(l),e._a[ve]<=12&&!0===p(e).bigHour&&0<e._a[ve]&&(p(e).bigHour=void 0),p(e).parsedDateParts=e._a.slice(0),p(e).meridiem=e._meridiem,e._a[ve]=function(e,t,n){var r;return null==n?t:null!=e.meridiemHour?e.meridiemHour(t,n):(null!=e.isPM&&((r=e.isPM(n))&&t<12&&(t+=12),r||12!==t||(t=0)),t)}(e._locale,e._a[ve],e._meridiem),gt(e),ht(e)}else St(e);else _t(e)}function Tt(e){var t,n,r,f,h=e._i,m=e._f;return e._locale=e._locale||dt(e._l),null===h||void 0===m&&\"\"===h?y({nullInput:!0}):(\"string\"==typeof h&&(e._i=h=e._locale.preparse(h)),w(h)?new x(ht(h)):(u(h)?e._d=h:o(m)?function(e){var t,n,r,i,o;if(0===e._f.length)return p(e).invalidFormat=!0,e._d=new Date(NaN);for(i=0;i<e._f.length;i++)o=0,t=b({},e),null!=e._useUTC&&(t._useUTC=e._useUTC),t._f=e._f[i],Ct(t),g(t)&&(o+=p(t).charsLeftOver,o+=10*p(t).unusedTokens.length,p(t).score=o,(null==r||o<r)&&(r=o,n=t));d(e,n||t)}(e):m?Ct(e):s(n=(t=e)._i)?t._d=new Date(i.now()):u(n)?t._d=new Date(n.valueOf()):\"string\"==typeof n?(r=t,null===(f=wt.exec(r._i))?(_t(r),!1===r._isValid&&(delete r._isValid,St(r),!1===r._isValid&&(delete r._isValid,i.createFromInputFallback(r)))):r._d=new Date(+f[1])):o(n)?(t._a=l(n.slice(0),(function(e){return parseInt(e,10)})),gt(t)):a(n)?function(e){if(!e._d){var t=I(e._i);e._a=l([t.year,t.month,t.day||t.date,t.hour,t.minute,t.second,t.millisecond],(function(e){return e&&parseInt(e,10)})),gt(e)}}(t):c(n)?t._d=new Date(n):i.createFromInputFallback(t),g(e)||(e._d=null),e))}function jt(e,t,n,r,i){var s,c={};return!0!==n&&!1!==n||(r=n,n=void 0),(a(e)&&function(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var t;for(t in e)if(e.hasOwnProperty(t))return!1;return!0}(e)||o(e)&&0===e.length)&&(e=void 0),c._isAMomentObject=!0,c._useUTC=c._isUTC=i,c._l=n,c._i=e,c._f=t,c._strict=r,(s=new x(ht(Tt(c))))._nextDay&&(s.add(1,\"d\"),s._nextDay=void 0),s}function At(e,t,n,r){return jt(e,t,n,r,!1)}i.createFromInputFallback=S(\"value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.\",(function(e){e._d=new Date(e._i+(e._useUTC?\" UTC\":\"\"))})),i.ISO_8601=function(){},i.RFC_2822=function(){};var Mt=S(\"moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/\",(function(){var e=At.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:y()})),Pt=S(\"moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/\",(function(){var e=At.apply(null,arguments);return this.isValid()&&e.isValid()?this<e?this:e:y()}));function Nt(e,t){var n,r;if(1===t.length&&o(t[0])&&(t=t[0]),!t.length)return At();for(n=t[0],r=1;r<t.length;++r)t[r].isValid()&&!t[r][e](n)||(n=t[r]);return n}var Dt=[\"year\",\"quarter\",\"month\",\"week\",\"day\",\"hour\",\"minute\",\"second\",\"millisecond\"];function Rt(e){var t=I(e),n=t.year||0,r=t.quarter||0,i=t.month||0,o=t.week||t.isoWeek||0,a=t.day||0,s=t.hour||0,c=t.minute||0,u=t.second||0,l=t.millisecond||0;this._isValid=function(e){for(var t in e)if(-1===Ce.call(Dt,t)||null!=e[t]&&isNaN(e[t]))return!1;for(var n=!1,r=0;r<Dt.length;++r)if(e[Dt[r]]){if(n)return!1;parseFloat(e[Dt[r]])!==k(e[Dt[r]])&&(n=!0)}return!0}(t),this._milliseconds=+l+1e3*u+6e4*c+1e3*s*60*60,this._days=+a+7*o,this._months=+i+3*r+12*n,this._data={},this._locale=dt(),this._bubble()}function It(e){return e instanceof Rt}function Lt(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function Bt(e,t){Y(e,0,0,(function(){var e=this.utcOffset(),n=\"+\";return e<0&&(e=-e,n=\"-\"),n+F(~~(e/60),2)+t+F(~~e%60,2)}))}Bt(\"Z\",\":\"),Bt(\"ZZ\",\"\"),le(\"Z\",se),le(\"ZZ\",se),pe([\"Z\",\"ZZ\"],(function(e,t,n){n._useUTC=!0,n._tzm=zt(se,e)}));var Ft=/([\\+\\-]|\\d\\d)/gi;function zt(e,t){var n=(t||\"\").match(e);if(null===n)return null;var r=((n[n.length-1]||[])+\"\").match(Ft)||[\"-\",0,0],i=60*r[1]+k(r[2]);return 0===i?0:\"+\"===r[0]?i:-i}function Ut(e,t){var n,r;return t._isUTC?(n=t.clone(),r=(w(e)||u(e)?e.valueOf():At(e).valueOf())-n.valueOf(),n._d.setTime(n._d.valueOf()+r),i.updateOffset(n,!1),n):At(e).local()}function Ht(e){return 15*-Math.round(e._d.getTimezoneOffset()/15)}function Wt(){return!!this.isValid()&&this._isUTC&&0===this._offset}i.updateOffset=function(){};var Yt=/^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/,Vt=/^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function qt(e,t){var n,r,i,o=e,a=null;return It(e)?o={ms:e._milliseconds,d:e._days,M:e._months}:c(e)?(o={},t?o[t]=e:o.milliseconds=e):(a=Yt.exec(e))?(n=\"-\"===a[1]?-1:1,o={y:0,d:k(a[be])*n,h:k(a[ve])*n,m:k(a[xe])*n,s:k(a[we])*n,ms:k(Lt(1e3*a[_e]))*n}):(a=Vt.exec(e))?(n=\"-\"===a[1]?-1:1,o={y:$t(a[2],n),M:$t(a[3],n),w:$t(a[4],n),d:$t(a[5],n),h:$t(a[6],n),m:$t(a[7],n),s:$t(a[8],n)}):null==o?o={}:\"object\"==typeof o&&(\"from\"in o||\"to\"in o)&&(i=function(e,t){var n;return e.isValid()&&t.isValid()?(t=Ut(t,e),e.isBefore(t)?n=Gt(e,t):((n=Gt(t,e)).milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}(At(o.from),At(o.to)),(o={}).ms=i.milliseconds,o.M=i.months),r=new Rt(o),It(e)&&f(e,\"_locale\")&&(r._locale=e._locale),r}function $t(e,t){var n=e&&parseFloat(e.replace(\",\",\".\"));return(isNaN(n)?0:n)*t}function Gt(e,t){var n={};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,\"M\").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,\"M\"),n}function Xt(e,t){return function(n,r){var i;return null===r||isNaN(+r)||(j(t,\"moment().\"+t+\"(period, number) is deprecated. Please use moment().\"+t+\"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.\"),i=n,n=r,r=i),Kt(this,qt(n=\"string\"==typeof n?+n:n,r),e),this}}function Kt(e,t,n,r){var o=t._milliseconds,a=Lt(t._days),s=Lt(t._months);e.isValid()&&(r=null==r||r,s&&Ie(e,Ae(e,\"Month\")+s*n),a&&Me(e,\"Date\",Ae(e,\"Date\")+a*n),o&&e._d.setTime(e._d.valueOf()+o*n),r&&i.updateOffset(e,a||s))}qt.fn=Rt.prototype,qt.invalid=function(){return qt(NaN)};var Zt=Xt(1,\"add\"),Jt=Xt(-1,\"subtract\");function Qt(e,t){var n=12*(t.year()-e.year())+(t.month()-e.month()),r=e.clone().add(n,\"months\");return-(n+(t-r<0?(t-r)/(r-e.clone().add(n-1,\"months\")):(t-r)/(e.clone().add(n+1,\"months\")-r)))||0}function en(e){var t;return void 0===e?this._locale._abbr:(null!=(t=dt(e))&&(this._locale=t),this)}i.defaultFormat=\"YYYY-MM-DDTHH:mm:ssZ\",i.defaultFormatUtc=\"YYYY-MM-DDTHH:mm:ss[Z]\";var tn=S(\"moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.\",(function(e){return void 0===e?this.localeData():this.locale(e)}));function nn(){return this._locale}var rn=126227808e5;function on(e,t){return(e%t+t)%t}function an(e,t,n){return e<100&&0<=e?new Date(e+400,t,n)-rn:new Date(e,t,n).valueOf()}function sn(e,t,n){return e<100&&0<=e?Date.UTC(e+400,t,n)-rn:Date.UTC(e,t,n)}function cn(e,t){Y(0,[e,e.length],0,t)}function un(e,t,n,r,i){var o;return null==e?Ye(this,r,i).year:((o=Ve(e,r,i))<t&&(t=o),function(e,t,n,r,i){var o=We(e,t,n,r,i),a=Ue(o.year,0,o.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}.call(this,e,t,n,r,i))}Y(0,[\"gg\",2],0,(function(){return this.weekYear()%100})),Y(0,[\"GG\",2],0,(function(){return this.isoWeekYear()%100})),cn(\"gggg\",\"weekYear\"),cn(\"ggggg\",\"weekYear\"),cn(\"GGGG\",\"isoWeekYear\"),cn(\"GGGGG\",\"isoWeekYear\"),D(\"weekYear\",\"gg\"),D(\"isoWeekYear\",\"GG\"),B(\"weekYear\",1),B(\"isoWeekYear\",1),le(\"G\",oe),le(\"g\",oe),le(\"GG\",J,G),le(\"gg\",J,G),le(\"GGGG\",ne,K),le(\"gggg\",ne,K),le(\"GGGGG\",re,Z),le(\"ggggg\",re,Z),ge([\"gggg\",\"ggggg\",\"GGGG\",\"GGGGG\"],(function(e,t,n,r){t[r.substr(0,2)]=k(e)})),ge([\"gg\",\"GG\"],(function(e,t,n,r){t[r]=i.parseTwoDigitYear(e)})),Y(\"Q\",0,\"Qo\",\"quarter\"),D(\"quarter\",\"Q\"),B(\"quarter\",7),le(\"Q\",$),pe(\"Q\",(function(e,t){t[me]=3*(k(e)-1)})),Y(\"D\",[\"DD\",2],\"Do\",\"date\"),D(\"date\",\"D\"),B(\"date\",9),le(\"D\",J),le(\"DD\",J,G),le(\"Do\",(function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient})),pe([\"D\",\"DD\"],be),pe(\"Do\",(function(e,t){t[be]=k(e.match(J)[0])}));var ln=je(\"Date\",!0);Y(\"DDD\",[\"DDDD\",3],\"DDDo\",\"dayOfYear\"),D(\"dayOfYear\",\"DDD\"),B(\"dayOfYear\",4),le(\"DDD\",te),le(\"DDDD\",X),pe([\"DDD\",\"DDDD\"],(function(e,t,n){n._dayOfYear=k(e)})),Y(\"m\",[\"mm\",2],0,\"minute\"),D(\"minute\",\"m\"),B(\"minute\",14),le(\"m\",J),le(\"mm\",J,G),pe([\"m\",\"mm\"],xe);var fn=je(\"Minutes\",!1);Y(\"s\",[\"ss\",2],0,\"second\"),D(\"second\",\"s\"),B(\"second\",15),le(\"s\",J),le(\"ss\",J,G),pe([\"s\",\"ss\"],we);var dn,hn=je(\"Seconds\",!1);for(Y(\"S\",0,0,(function(){return~~(this.millisecond()/100)})),Y(0,[\"SS\",2],0,(function(){return~~(this.millisecond()/10)})),Y(0,[\"SSS\",3],0,\"millisecond\"),Y(0,[\"SSSS\",4],0,(function(){return 10*this.millisecond()})),Y(0,[\"SSSSS\",5],0,(function(){return 100*this.millisecond()})),Y(0,[\"SSSSSS\",6],0,(function(){return 1e3*this.millisecond()})),Y(0,[\"SSSSSSS\",7],0,(function(){return 1e4*this.millisecond()})),Y(0,[\"SSSSSSSS\",8],0,(function(){return 1e5*this.millisecond()})),Y(0,[\"SSSSSSSSS\",9],0,(function(){return 1e6*this.millisecond()})),D(\"millisecond\",\"ms\"),B(\"millisecond\",16),le(\"S\",te,$),le(\"SS\",te,G),le(\"SSS\",te,X),dn=\"SSSS\";dn.length<=9;dn+=\"S\")le(dn,ie);function pn(e,t){t[_e]=k(1e3*(\"0.\"+e))}for(dn=\"S\";dn.length<=9;dn+=\"S\")pe(dn,pn);var gn=je(\"Milliseconds\",!1);Y(\"z\",0,0,\"zoneAbbr\"),Y(\"zz\",0,0,\"zoneName\");var yn=x.prototype;function mn(e){return e}yn.add=Zt,yn.calendar=function(e,t){var n=e||At(),r=Ut(n,this).startOf(\"day\"),o=i.calendarFormat(this,r)||\"sameElse\",a=t&&(A(t[o])?t[o].call(this,n):t[o]);return this.format(a||this.localeData().calendar(o,this,At(n)))},yn.clone=function(){return new x(this)},yn.diff=function(e,t,n){var r,i,o;if(!this.isValid())return NaN;if(!(r=Ut(e,this)).isValid())return NaN;switch(i=6e4*(r.utcOffset()-this.utcOffset()),t=R(t)){case\"year\":o=Qt(this,r)/12;break;case\"month\":o=Qt(this,r);break;case\"quarter\":o=Qt(this,r)/3;break;case\"second\":o=(this-r)/1e3;break;case\"minute\":o=(this-r)/6e4;break;case\"hour\":o=(this-r)/36e5;break;case\"day\":o=(this-r-i)/864e5;break;case\"week\":o=(this-r-i)/6048e5;break;default:o=this-r}return n?o:_(o)},yn.endOf=function(e){var t;if(void 0===(e=R(e))||\"millisecond\"===e||!this.isValid())return this;var n=this._isUTC?sn:an;switch(e){case\"year\":t=n(this.year()+1,0,1)-1;break;case\"quarter\":t=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case\"month\":t=n(this.year(),this.month()+1,1)-1;break;case\"week\":t=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case\"isoWeek\":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case\"day\":case\"date\":t=n(this.year(),this.month(),this.date()+1)-1;break;case\"hour\":t=this._d.valueOf(),t+=36e5-on(t+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case\"minute\":t=this._d.valueOf(),t+=6e4-on(t,6e4)-1;break;case\"second\":t=this._d.valueOf(),t+=1e3-on(t,1e3)-1}return this._d.setTime(t),i.updateOffset(this,!0),this},yn.format=function(e){e||(e=this.isUtc()?i.defaultFormatUtc:i.defaultFormat);var t=V(this,e);return this.localeData().postformat(t)},yn.from=function(e,t){return this.isValid()&&(w(e)&&e.isValid()||At(e).isValid())?qt({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},yn.fromNow=function(e){return this.from(At(),e)},yn.to=function(e,t){return this.isValid()&&(w(e)&&e.isValid()||At(e).isValid())?qt({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},yn.toNow=function(e){return this.to(At(),e)},yn.get=function(e){return A(this[e=R(e)])?this[e]():this},yn.invalidAt=function(){return p(this).overflow},yn.isAfter=function(e,t){var n=w(e)?e:At(e);return!(!this.isValid()||!n.isValid())&&(\"millisecond\"===(t=R(t)||\"millisecond\")?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(t).valueOf())},yn.isBefore=function(e,t){var n=w(e)?e:At(e);return!(!this.isValid()||!n.isValid())&&(\"millisecond\"===(t=R(t)||\"millisecond\")?this.valueOf()<n.valueOf():this.clone().endOf(t).valueOf()<n.valueOf())},yn.isBetween=function(e,t,n,r){var i=w(e)?e:At(e),o=w(t)?t:At(t);return!!(this.isValid()&&i.isValid()&&o.isValid())&&(\"(\"===(r=r||\"()\")[0]?this.isAfter(i,n):!this.isBefore(i,n))&&(\")\"===r[1]?this.isBefore(o,n):!this.isAfter(o,n))},yn.isSame=function(e,t){var n,r=w(e)?e:At(e);return!(!this.isValid()||!r.isValid())&&(\"millisecond\"===(t=R(t)||\"millisecond\")?this.valueOf()===r.valueOf():(n=r.valueOf(),this.clone().startOf(t).valueOf()<=n&&n<=this.clone().endOf(t).valueOf()))},yn.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)},yn.isSameOrBefore=function(e,t){return this.isSame(e,t)||this.isBefore(e,t)},yn.isValid=function(){return g(this)},yn.lang=tn,yn.locale=en,yn.localeData=nn,yn.max=Pt,yn.min=Mt,yn.parsingFlags=function(){return d({},p(this))},yn.set=function(e,t){if(\"object\"==typeof e)for(var n=function(e){var t=[];for(var n in e)t.push({unit:n,priority:L[n]});return t.sort((function(e,t){return e.priority-t.priority})),t}(e=I(e)),r=0;r<n.length;r++)this[n[r].unit](e[n[r].unit]);else if(A(this[e=R(e)]))return this[e](t);return this},yn.startOf=function(e){var t;if(void 0===(e=R(e))||\"millisecond\"===e||!this.isValid())return this;var n=this._isUTC?sn:an;switch(e){case\"year\":t=n(this.year(),0,1);break;case\"quarter\":t=n(this.year(),this.month()-this.month()%3,1);break;case\"month\":t=n(this.year(),this.month(),1);break;case\"week\":t=n(this.year(),this.month(),this.date()-this.weekday());break;case\"isoWeek\":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case\"day\":case\"date\":t=n(this.year(),this.month(),this.date());break;case\"hour\":t=this._d.valueOf(),t-=on(t+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case\"minute\":t=this._d.valueOf(),t-=on(t,6e4);break;case\"second\":t=this._d.valueOf(),t-=on(t,1e3)}return this._d.setTime(t),i.updateOffset(this,!0),this},yn.subtract=Jt,yn.toArray=function(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]},yn.toObject=function(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}},yn.toDate=function(){return new Date(this.valueOf())},yn.toISOString=function(e){if(!this.isValid())return null;var t=!0!==e,n=t?this.clone().utc():this;return n.year()<0||9999<n.year()?V(n,t?\"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]\":\"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ\"):A(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace(\"Z\",V(n,\"Z\")):V(n,t?\"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]\":\"YYYY-MM-DD[T]HH:mm:ss.SSSZ\")},yn.inspect=function(){if(!this.isValid())return\"moment.invalid(/* \"+this._i+\" */)\";var e=\"moment\",t=\"\";this.isLocal()||(e=0===this.utcOffset()?\"moment.utc\":\"moment.parseZone\",t=\"Z\");var n=\"[\"+e+'(\"]',r=0<=this.year()&&this.year()<=9999?\"YYYY\":\"YYYYYY\",i=t+'[\")]';return this.format(n+r+\"-MM-DD[T]HH:mm:ss.SSS\"+i)},yn.toJSON=function(){return this.isValid()?this.toISOString():null},yn.toString=function(){return this.clone().locale(\"en\").format(\"ddd MMM DD YYYY HH:mm:ss [GMT]ZZ\")},yn.unix=function(){return Math.floor(this.valueOf()/1e3)},yn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},yn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},yn.year=Te,yn.isLeapYear=function(){return Se(this.year())},yn.weekYear=function(e){return un.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},yn.isoWeekYear=function(e){return un.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},yn.quarter=yn.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},yn.month=Le,yn.daysInMonth=function(){return Pe(this.year(),this.month())},yn.week=yn.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),\"d\")},yn.isoWeek=yn.isoWeeks=function(e){var t=Ye(this,1,4).week;return null==e?t:this.add(7*(e-t),\"d\")},yn.weeksInYear=function(){var e=this.localeData()._week;return Ve(this.year(),e.dow,e.doy)},yn.isoWeeksInYear=function(){return Ve(this.year(),1,4)},yn.date=ln,yn.day=yn.days=function(e){if(!this.isValid())return null!=e?this:NaN;var t,n,r=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(t=e,n=this.localeData(),e=\"string\"!=typeof t?t:isNaN(t)?\"number\"==typeof(t=n.weekdaysParse(t))?t:null:parseInt(t,10),this.add(e-r,\"d\")):r},yn.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,\"d\")},yn.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null==e)return this.day()||7;var t,n,r=(t=e,n=this.localeData(),\"string\"==typeof t?n.weekdaysParse(t)%7||7:isNaN(t)?null:t);return this.day(this.day()%7?r:r-7)},yn.dayOfYear=function(e){var t=Math.round((this.clone().startOf(\"day\")-this.clone().startOf(\"year\"))/864e5)+1;return null==e?t:this.add(e-t,\"d\")},yn.hour=yn.hours=it,yn.minute=yn.minutes=fn,yn.second=yn.seconds=hn,yn.millisecond=yn.milliseconds=gn,yn.utcOffset=function(e,t,n){var r,o=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null==e)return this._isUTC?o:Ht(this);if(\"string\"==typeof e){if(null===(e=zt(se,e)))return this}else Math.abs(e)<16&&!n&&(e*=60);return!this._isUTC&&t&&(r=Ht(this)),this._offset=e,this._isUTC=!0,null!=r&&this.add(r,\"m\"),o!==e&&(!t||this._changeInProgress?Kt(this,qt(e-o,\"m\"),1,!1):this._changeInProgress||(this._changeInProgress=!0,i.updateOffset(this,!0),this._changeInProgress=null)),this},yn.utc=function(e){return this.utcOffset(0,e)},yn.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Ht(this),\"m\")),this},yn.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if(\"string\"==typeof this._i){var e=zt(ae,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this},yn.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?At(e).utcOffset():0,(this.utcOffset()-e)%60==0)},yn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},yn.isLocal=function(){return!!this.isValid()&&!this._isUTC},yn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},yn.isUtc=Wt,yn.isUTC=Wt,yn.zoneAbbr=function(){return this._isUTC?\"UTC\":\"\"},yn.zoneName=function(){return this._isUTC?\"Coordinated Universal Time\":\"\"},yn.dates=S(\"dates accessor is deprecated. Use date instead.\",ln),yn.months=S(\"months accessor is deprecated. Use month instead\",Le),yn.years=S(\"years accessor is deprecated. Use year instead\",Te),yn.zone=S(\"moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/\",(function(e,t){return null!=e?(\"string\"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()})),yn.isDSTShifted=S(\"isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information\",(function(){if(!s(this._isDSTShifted))return this._isDSTShifted;var e={};if(b(e,this),(e=Tt(e))._a){var t=e._isUTC?h(e._a):At(e._a);this._isDSTShifted=this.isValid()&&0<O(e._a,t.toArray())}else this._isDSTShifted=!1;return this._isDSTShifted}));var bn=P.prototype;function vn(e,t,n,r){var i=dt(),o=h().set(r,t);return i[n](o,e)}function xn(e,t,n){if(c(e)&&(t=e,e=void 0),e=e||\"\",null!=t)return vn(e,t,n,\"month\");var r,i=[];for(r=0;r<12;r++)i[r]=vn(e,r,n,\"month\");return i}function wn(e,t,n,r){\"boolean\"==typeof e?c(t)&&(n=t,t=void 0):(t=e,e=!1,c(n=t)&&(n=t,t=void 0)),t=t||\"\";var i,o=dt(),a=e?o._week.dow:0;if(null!=n)return vn(t,(n+a)%7,r,\"day\");var s=[];for(i=0;i<7;i++)s[i]=vn(t,(i+a)%7,r,\"day\");return s}bn.calendar=function(e,t,n){var r=this._calendar[e]||this._calendar.sameElse;return A(r)?r.call(t,n):r},bn.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.replace(/MMMM|MM|DD|dddd/g,(function(e){return e.slice(1)})),this._longDateFormat[e])},bn.invalidDate=function(){return this._invalidDate},bn.ordinal=function(e){return this._ordinal.replace(\"%d\",e)},bn.preparse=mn,bn.postformat=mn,bn.relativeTime=function(e,t,n,r){var i=this._relativeTime[n];return A(i)?i(e,t,n,r):i.replace(/%d/i,e)},bn.pastFuture=function(e,t){var n=this._relativeTime[0<e?\"future\":\"past\"];return A(n)?n(t):n.replace(/%s/i,t)},bn.set=function(e){var t,n;for(n in e)A(t=e[n])?this[n]=t:this[\"_\"+n]=t;this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+\"|\"+/\\d{1,2}/.source)},bn.months=function(e,t){return e?o(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||Ne).test(t)?\"format\":\"standalone\"][e.month()]:o(this._months)?this._months:this._months.standalone},bn.monthsShort=function(e,t){return e?o(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[Ne.test(t)?\"format\":\"standalone\"][e.month()]:o(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},bn.monthsParse=function(e,t,n){var r,i,o;if(this._monthsParseExact)return function(e,t,n){var r,i,o,a=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],r=0;r<12;++r)o=h([2e3,r]),this._shortMonthsParse[r]=this.monthsShort(o,\"\").toLocaleLowerCase(),this._longMonthsParse[r]=this.months(o,\"\").toLocaleLowerCase();return n?\"MMM\"===t?-1!==(i=Ce.call(this._shortMonthsParse,a))?i:null:-1!==(i=Ce.call(this._longMonthsParse,a))?i:null:\"MMM\"===t?-1!==(i=Ce.call(this._shortMonthsParse,a))||-1!==(i=Ce.call(this._longMonthsParse,a))?i:null:-1!==(i=Ce.call(this._longMonthsParse,a))||-1!==(i=Ce.call(this._shortMonthsParse,a))?i:null}.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),r=0;r<12;r++){if(i=h([2e3,r]),n&&!this._longMonthsParse[r]&&(this._longMonthsParse[r]=new RegExp(\"^\"+this.months(i,\"\").replace(\".\",\"\")+\"$\",\"i\"),this._shortMonthsParse[r]=new RegExp(\"^\"+this.monthsShort(i,\"\").replace(\".\",\"\")+\"$\",\"i\")),n||this._monthsParse[r]||(o=\"^\"+this.months(i,\"\")+\"|^\"+this.monthsShort(i,\"\"),this._monthsParse[r]=new RegExp(o.replace(\".\",\"\"),\"i\")),n&&\"MMMM\"===t&&this._longMonthsParse[r].test(e))return r;if(n&&\"MMM\"===t&&this._shortMonthsParse[r].test(e))return r;if(!n&&this._monthsParse[r].test(e))return r}},bn.monthsRegex=function(e){return this._monthsParseExact?(f(this,\"_monthsRegex\")||ze.call(this),e?this._monthsStrictRegex:this._monthsRegex):(f(this,\"_monthsRegex\")||(this._monthsRegex=Fe),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},bn.monthsShortRegex=function(e){return this._monthsParseExact?(f(this,\"_monthsRegex\")||ze.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(f(this,\"_monthsShortRegex\")||(this._monthsShortRegex=Be),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},bn.week=function(e){return Ye(e,this._week.dow,this._week.doy).week},bn.firstDayOfYear=function(){return this._week.doy},bn.firstDayOfWeek=function(){return this._week.dow},bn.weekdays=function(e,t){var n=o(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?\"format\":\"standalone\"];return!0===e?qe(n,this._week.dow):e?n[e.day()]:n},bn.weekdaysMin=function(e){return!0===e?qe(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},bn.weekdaysShort=function(e){return!0===e?qe(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},bn.weekdaysParse=function(e,t,n){var r,i,o;if(this._weekdaysParseExact)return function(e,t,n){var r,i,o,a=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)o=h([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(o,\"\").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(o,\"\").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(o,\"\").toLocaleLowerCase();return n?\"dddd\"===t?-1!==(i=Ce.call(this._weekdaysParse,a))?i:null:\"ddd\"===t?-1!==(i=Ce.call(this._shortWeekdaysParse,a))?i:null:-1!==(i=Ce.call(this._minWeekdaysParse,a))?i:null:\"dddd\"===t?-1!==(i=Ce.call(this._weekdaysParse,a))||-1!==(i=Ce.call(this._shortWeekdaysParse,a))||-1!==(i=Ce.call(this._minWeekdaysParse,a))?i:null:\"ddd\"===t?-1!==(i=Ce.call(this._shortWeekdaysParse,a))||-1!==(i=Ce.call(this._weekdaysParse,a))||-1!==(i=Ce.call(this._minWeekdaysParse,a))?i:null:-1!==(i=Ce.call(this._minWeekdaysParse,a))||-1!==(i=Ce.call(this._weekdaysParse,a))||-1!==(i=Ce.call(this._shortWeekdaysParse,a))?i:null}.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(i=h([2e3,1]).day(r),n&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp(\"^\"+this.weekdays(i,\"\").replace(\".\",\"\\\\.?\")+\"$\",\"i\"),this._shortWeekdaysParse[r]=new RegExp(\"^\"+this.weekdaysShort(i,\"\").replace(\".\",\"\\\\.?\")+\"$\",\"i\"),this._minWeekdaysParse[r]=new RegExp(\"^\"+this.weekdaysMin(i,\"\").replace(\".\",\"\\\\.?\")+\"$\",\"i\")),this._weekdaysParse[r]||(o=\"^\"+this.weekdays(i,\"\")+\"|^\"+this.weekdaysShort(i,\"\")+\"|^\"+this.weekdaysMin(i,\"\"),this._weekdaysParse[r]=new RegExp(o.replace(\".\",\"\"),\"i\")),n&&\"dddd\"===t&&this._fullWeekdaysParse[r].test(e))return r;if(n&&\"ddd\"===t&&this._shortWeekdaysParse[r].test(e))return r;if(n&&\"dd\"===t&&this._minWeekdaysParse[r].test(e))return r;if(!n&&this._weekdaysParse[r].test(e))return r}},bn.weekdaysRegex=function(e){return this._weekdaysParseExact?(f(this,\"_weekdaysRegex\")||Qe.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(f(this,\"_weekdaysRegex\")||(this._weekdaysRegex=Ke),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},bn.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(f(this,\"_weekdaysRegex\")||Qe.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(f(this,\"_weekdaysShortRegex\")||(this._weekdaysShortRegex=Ze),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},bn.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(f(this,\"_weekdaysRegex\")||Qe.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(f(this,\"_weekdaysMinRegex\")||(this._weekdaysMinRegex=Je),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},bn.isPM=function(e){return\"p\"===(e+\"\").toLowerCase().charAt(0)},bn.meridiem=function(e,t,n){return 11<e?n?\"pm\":\"PM\":n?\"am\":\"AM\"},lt(\"en\",{dayOfMonthOrdinalParse:/\\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===k(e%100/10)?\"th\":1===t?\"st\":2===t?\"nd\":3===t?\"rd\":\"th\")}}),i.lang=S(\"moment.lang is deprecated. Use moment.locale instead.\",lt),i.langData=S(\"moment.langData is deprecated. Use moment.localeData instead.\",dt);var _n=Math.abs;function kn(e,t,n,r){var i=qt(t,n);return e._milliseconds+=r*i._milliseconds,e._days+=r*i._days,e._months+=r*i._months,e._bubble()}function On(e){return e<0?Math.floor(e):Math.ceil(e)}function En(e){return 4800*e/146097}function Sn(e){return 146097*e/4800}function Cn(e){return function(){return this.as(e)}}var Tn=Cn(\"ms\"),jn=Cn(\"s\"),An=Cn(\"m\"),Mn=Cn(\"h\"),Pn=Cn(\"d\"),Nn=Cn(\"w\"),Dn=Cn(\"M\"),Rn=Cn(\"Q\"),In=Cn(\"y\");function Ln(e){return function(){return this.isValid()?this._data[e]:NaN}}var Bn=Ln(\"milliseconds\"),Fn=Ln(\"seconds\"),zn=Ln(\"minutes\"),Un=Ln(\"hours\"),Hn=Ln(\"days\"),Wn=Ln(\"months\"),Yn=Ln(\"years\"),Vn=Math.round,qn={ss:44,s:45,m:45,h:22,d:26,M:11},$n=Math.abs;function Gn(e){return(0<e)-(e<0)||+e}function Xn(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n=$n(this._milliseconds)/1e3,r=$n(this._days),i=$n(this._months);t=_((e=_(n/60))/60),n%=60,e%=60;var o=_(i/12),a=i%=12,s=r,c=t,u=e,l=n?n.toFixed(3).replace(/\\.?0+$/,\"\"):\"\",f=this.asSeconds();if(!f)return\"P0D\";var d=f<0?\"-\":\"\",h=Gn(this._months)!==Gn(f)?\"-\":\"\",p=Gn(this._days)!==Gn(f)?\"-\":\"\",g=Gn(this._milliseconds)!==Gn(f)?\"-\":\"\";return d+\"P\"+(o?h+o+\"Y\":\"\")+(a?h+a+\"M\":\"\")+(s?p+s+\"D\":\"\")+(c||u||l?\"T\":\"\")+(c?g+c+\"H\":\"\")+(u?g+u+\"M\":\"\")+(l?g+l+\"S\":\"\")}var Kn=Rt.prototype;return Kn.isValid=function(){return this._isValid},Kn.abs=function(){var e=this._data;return this._milliseconds=_n(this._milliseconds),this._days=_n(this._days),this._months=_n(this._months),e.milliseconds=_n(e.milliseconds),e.seconds=_n(e.seconds),e.minutes=_n(e.minutes),e.hours=_n(e.hours),e.months=_n(e.months),e.years=_n(e.years),this},Kn.add=function(e,t){return kn(this,e,t,1)},Kn.subtract=function(e,t){return kn(this,e,t,-1)},Kn.as=function(e){if(!this.isValid())return NaN;var t,n,r=this._milliseconds;if(\"month\"===(e=R(e))||\"quarter\"===e||\"year\"===e)switch(t=this._days+r/864e5,n=this._months+En(t),e){case\"month\":return n;case\"quarter\":return n/3;case\"year\":return n/12}else switch(t=this._days+Math.round(Sn(this._months)),e){case\"week\":return t/7+r/6048e5;case\"day\":return t+r/864e5;case\"hour\":return 24*t+r/36e5;case\"minute\":return 1440*t+r/6e4;case\"second\":return 86400*t+r/1e3;case\"millisecond\":return Math.floor(864e5*t)+r;default:throw new Error(\"Unknown unit \"+e)}},Kn.asMilliseconds=Tn,Kn.asSeconds=jn,Kn.asMinutes=An,Kn.asHours=Mn,Kn.asDays=Pn,Kn.asWeeks=Nn,Kn.asMonths=Dn,Kn.asQuarters=Rn,Kn.asYears=In,Kn.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*k(this._months/12):NaN},Kn._bubble=function(){var e,t,n,r,i,o=this._milliseconds,a=this._days,s=this._months,c=this._data;return 0<=o&&0<=a&&0<=s||o<=0&&a<=0&&s<=0||(o+=864e5*On(Sn(s)+a),s=a=0),c.milliseconds=o%1e3,e=_(o/1e3),c.seconds=e%60,t=_(e/60),c.minutes=t%60,n=_(t/60),c.hours=n%24,s+=i=_(En(a+=_(n/24))),a-=On(Sn(i)),r=_(s/12),s%=12,c.days=a,c.months=s,c.years=r,this},Kn.clone=function(){return qt(this)},Kn.get=function(e){return e=R(e),this.isValid()?this[e+\"s\"]():NaN},Kn.milliseconds=Bn,Kn.seconds=Fn,Kn.minutes=zn,Kn.hours=Un,Kn.days=Hn,Kn.weeks=function(){return _(this.days()/7)},Kn.months=Wn,Kn.years=Yn,Kn.humanize=function(e){if(!this.isValid())return this.localeData().invalidDate();var t,n,r,i,o,a,s,c,u,l,f,d=this.localeData(),h=(n=!e,r=d,i=qt(t=this).abs(),o=Vn(i.as(\"s\")),a=Vn(i.as(\"m\")),s=Vn(i.as(\"h\")),c=Vn(i.as(\"d\")),u=Vn(i.as(\"M\")),l=Vn(i.as(\"y\")),(f=o<=qn.ss&&[\"s\",o]||o<qn.s&&[\"ss\",o]||a<=1&&[\"m\"]||a<qn.m&&[\"mm\",a]||s<=1&&[\"h\"]||s<qn.h&&[\"hh\",s]||c<=1&&[\"d\"]||c<qn.d&&[\"dd\",c]||u<=1&&[\"M\"]||u<qn.M&&[\"MM\",u]||l<=1&&[\"y\"]||[\"yy\",l])[2]=n,f[3]=0<+t,f[4]=r,function(e,t,n,r,i){return i.relativeTime(t||1,!!n,e,r)}.apply(null,f));return e&&(h=d.pastFuture(+this,h)),d.postformat(h)},Kn.toISOString=Xn,Kn.toString=Xn,Kn.toJSON=Xn,Kn.locale=en,Kn.localeData=nn,Kn.toIsoString=S(\"toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)\",Xn),Kn.lang=tn,Y(\"X\",0,0,\"unix\"),Y(\"x\",0,0,\"valueOf\"),le(\"x\",oe),le(\"X\",/[+-]?\\d+(\\.\\d{1,3})?/),pe(\"X\",(function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))})),pe(\"x\",(function(e,t,n){n._d=new Date(k(e))})),i.version=\"2.24.0\",t=At,i.fn=yn,i.min=function(){return Nt(\"isBefore\",[].slice.call(arguments,0))},i.max=function(){return Nt(\"isAfter\",[].slice.call(arguments,0))},i.now=function(){return Date.now?Date.now():+new Date},i.utc=h,i.unix=function(e){return At(1e3*e)},i.months=function(e,t){return xn(e,t,\"months\")},i.isDate=u,i.locale=lt,i.invalid=y,i.duration=qt,i.isMoment=w,i.weekdays=function(e,t,n){return wn(e,t,n,\"weekdays\")},i.parseZone=function(){return At.apply(null,arguments).parseZone()},i.localeData=dt,i.isDuration=It,i.monthsShort=function(e,t){return xn(e,t,\"monthsShort\")},i.weekdaysMin=function(e,t,n){return wn(e,t,n,\"weekdaysMin\")},i.defineLocale=ft,i.updateLocale=function(e,t){if(null!=t){var n,r,i=ot;null!=(r=ut(e))&&(i=r._config),(n=new P(t=M(i,t))).parentLocale=at[e],at[e]=n,lt(e)}else null!=at[e]&&(null!=at[e].parentLocale?at[e]=at[e].parentLocale:null!=at[e]&&delete at[e]);return at[e]},i.locales=function(){return C(at)},i.weekdaysShort=function(e,t,n){return wn(e,t,n,\"weekdaysShort\")},i.normalizeUnits=R,i.relativeTimeRounding=function(e){return void 0===e?Vn:\"function\"==typeof e&&(Vn=e,!0)},i.relativeTimeThreshold=function(e,t){return void 0!==qn[e]&&(void 0===t?qn[e]:(qn[e]=t,\"s\"===e&&(qn.ss=t-1),!0))},i.calendarFormat=function(e,t){var n=e.diff(t,\"days\",!0);return n<-6?\"sameElse\":n<-1?\"lastWeek\":n<0?\"lastDay\":n<1?\"sameDay\":n<2?\"nextDay\":n<7?\"nextWeek\":\"sameElse\"},i.prototype=yn,i.HTML5_FMT={DATETIME_LOCAL:\"YYYY-MM-DDTHH:mm\",DATETIME_LOCAL_SECONDS:\"YYYY-MM-DDTHH:mm:ss\",DATETIME_LOCAL_MS:\"YYYY-MM-DDTHH:mm:ss.SSS\",DATE:\"YYYY-MM-DD\",TIME:\"HH:mm\",TIME_SECONDS:\"HH:mm:ss\",TIME_MS:\"HH:mm:ss.SSS\",WEEK:\"GGGG-[W]WW\",MONTH:\"YYYY-MM\"},i}()}).call(this,n(157)(e))},,function(e,t,n){e.exports=function e(t){\"use strict\";var n=/^\\0+/g,r=/[\\0\\r\\f]/g,i=/: */g,o=/zoo|gra/,a=/([,: ])(transform)/g,s=/,+\\s*(?![^(]*[)])/g,c=/ +\\s*(?![^(]*[)])/g,u=/ *[\\0] */g,l=/,\\r+?/g,f=/([\\t\\r\\n ])*\\f?&/g,d=/:global\\(((?:[^\\(\\)\\[\\]]*|\\[.*\\]|\\([^\\(\\)]*\\))*)\\)/g,h=/\\W+/g,p=/@(k\\w+)\\s*(\\S*)\\s*/,g=/::(place)/g,y=/:(read-only)/g,m=/\\s+(?=[{\\];=:>])/g,b=/([[}=:>])\\s+/g,v=/(\\{[^{]+?);(?=\\})/g,x=/\\s{2,}/g,w=/([^\\(])(:+) */g,_=/[svh]\\w+-[tblr]{2}/,k=/\\(\\s*(.*)\\s*\\)/g,O=/([\\s\\S]*?);/g,E=/-self|flex-/g,S=/[^]*?(:[rp][el]a[\\w-]+)[^]*/,C=/stretch|:\\s*\\w+\\-(?:conte|avail)/,T=/([^-])(image-set\\()/,j=\"-webkit-\",A=\"-moz-\",M=\"-ms-\",P=59,N=125,D=123,R=40,I=41,L=91,B=93,F=10,z=13,U=9,H=64,W=32,Y=38,V=45,q=95,$=42,G=44,X=58,K=39,Z=34,J=47,Q=62,ee=43,te=126,ne=0,re=12,ie=11,oe=107,ae=109,se=115,ce=112,ue=111,le=105,fe=99,de=100,he=112,pe=1,ge=1,ye=0,me=1,be=1,ve=1,xe=0,we=0,_e=0,ke=[],Oe=[],Ee=0,Se=null,Ce=-2,Te=-1,je=0,Ae=1,Me=2,Pe=3,Ne=0,De=1,Re=\"\",Ie=\"\",Le=\"\";function Be(e,t,i,o,a){for(var s,c,u=0,l=0,f=0,d=0,h=0,m=0,b=0,v=0,x=0,w=0,_=0,O=0,E=0,S=0,C=0,T=0,q=0,ve=0,xe=0,Oe=i.length,Se=Oe-1,Ce=\"\",Te=\"\",ze=\"\",Ye=\"\",Ge=\"\",Xe=\"\";C<Oe;){if(b=i.charCodeAt(C),C===Se&&l+d+f+u!==0&&(0!==l&&(b=l===J?F:J),d=f=u=0,Oe++,Se++),l+d+f+u===0){if(C===Se&&(T>0&&(Te=Te.replace(r,\"\")),Te.trim().length>0)){switch(b){case W:case U:case P:case z:case F:break;default:Te+=i.charAt(C)}b=P}if(1===q)switch(b){case D:case N:case P:case Z:case K:case R:case I:case G:q=0;case U:case z:case F:case W:break;default:for(q=0,xe=C,h=b,C--,b=P;xe<Oe;)switch(i.charCodeAt(xe++)){case F:case z:case P:++C,b=h,xe=Oe;break;case X:T>0&&(++C,b=h);case D:xe=Oe}}switch(b){case D:for(h=(Te=Te.trim()).charCodeAt(0),_=1,xe=++C;C<Oe;){switch(b=i.charCodeAt(C)){case D:_++;break;case N:_--;break;case J:switch(m=i.charCodeAt(C+1)){case $:case J:C=$e(m,C,Se,i)}break;case L:b++;case R:b++;case Z:case K:for(;C++<Se&&i.charCodeAt(C)!==b;);}if(0===_)break;C++}if(ze=i.substring(xe,C),h===ne&&(h=(Te=Te.replace(n,\"\").trim()).charCodeAt(0)),h===H){switch(T>0&&(Te=Te.replace(r,\"\")),m=Te.charCodeAt(1)){case de:case ae:case se:case V:s=t;break;default:s=ke}if(xe=(ze=Be(t,s,ze,m,a+1)).length,_e>0&&0===xe&&(xe=Te.length),Ee>0&&(s=Fe(ke,Te,ve),c=qe(Pe,ze,s,t,ge,pe,xe,m,a,o),Te=s.join(\"\"),void 0!==c&&0===(xe=(ze=c.trim()).length)&&(m=0,ze=\"\")),xe>0)switch(m){case se:Te=Te.replace(k,We);case de:case ae:case V:ze=Te+\"{\"+ze+\"}\";break;case oe:ze=(Te=Te.replace(p,\"$1 $2\"+(De>0?Re:\"\")))+\"{\"+ze+\"}\",ze=1===be||2===be&&He(\"@\"+ze,3)?\"@\"+j+ze+\"@\"+ze:\"@\"+ze;break;default:ze=Te+ze,o===he&&(Ye+=ze,ze=\"\")}else ze=\"\"}else ze=Be(t,Fe(t,Te,ve),ze,o,a+1);Ge+=ze,O=0,q=0,S=0,T=0,ve=0,E=0,Te=\"\",ze=\"\",b=i.charCodeAt(++C);break;case N:case P:if((xe=(Te=(T>0?Te.replace(r,\"\"):Te).trim()).length)>1)switch(0===S&&((h=Te.charCodeAt(0))===V||h>96&&h<123)&&(xe=(Te=Te.replace(\" \",\":\")).length),Ee>0&&void 0!==(c=qe(Ae,Te,t,e,ge,pe,Ye.length,o,a,o))&&0===(xe=(Te=c.trim()).length)&&(Te=\"\\0\\0\"),h=Te.charCodeAt(0),m=Te.charCodeAt(1),h){case ne:break;case H:if(m===le||m===fe){Xe+=Te+i.charAt(C);break}default:if(Te.charCodeAt(xe-1)===X)break;Ye+=Ue(Te,h,m,Te.charCodeAt(2))}O=0,q=0,S=0,T=0,ve=0,Te=\"\",b=i.charCodeAt(++C)}}switch(b){case z:case F:if(l+d+f+u+we===0)switch(w){case I:case K:case Z:case H:case te:case Q:case $:case ee:case J:case V:case X:case G:case P:case D:case N:break;default:S>0&&(q=1)}l===J?l=0:me+O===0&&o!==oe&&Te.length>0&&(T=1,Te+=\"\\0\"),Ee*Ne>0&&qe(je,Te,t,e,ge,pe,Ye.length,o,a,o),pe=1,ge++;break;case P:case N:if(l+d+f+u===0){pe++;break}default:switch(pe++,Ce=i.charAt(C),b){case U:case W:if(d+u+l===0)switch(v){case G:case X:case U:case W:Ce=\"\";break;default:b!==W&&(Ce=\" \")}break;case ne:Ce=\"\\\\0\";break;case re:Ce=\"\\\\f\";break;case ie:Ce=\"\\\\v\";break;case Y:d+l+u===0&&me>0&&(ve=1,T=1,Ce=\"\\f\"+Ce);break;case 108:if(d+l+u+ye===0&&S>0)switch(C-S){case 2:v===ce&&i.charCodeAt(C-3)===X&&(ye=v);case 8:x===ue&&(ye=x)}break;case X:d+l+u===0&&(S=C);break;case G:l+f+d+u===0&&(T=1,Ce+=\"\\r\");break;case Z:case K:0===l&&(d=d===b?0:0===d?b:d);break;case L:d+l+f===0&&u++;break;case B:d+l+f===0&&u--;break;case I:d+l+u===0&&f--;break;case R:d+l+u===0&&(0===O&&(2*v+3*x===533||(_=0,O=1)),f++);break;case H:l+f+d+u+S+E===0&&(E=1);break;case $:case J:if(d+u+f>0)break;switch(l){case 0:switch(2*b+3*i.charCodeAt(C+1)){case 235:l=J;break;case 220:xe=C,l=$}break;case $:b===J&&v===$&&xe+2!==C&&(33===i.charCodeAt(xe+2)&&(Ye+=i.substring(xe,C+1)),Ce=\"\",l=0)}}if(0===l){if(me+d+u+E===0&&o!==oe&&b!==P)switch(b){case G:case te:case Q:case ee:case I:case R:if(0===O){switch(v){case U:case W:case F:case z:Ce+=\"\\0\";break;default:Ce=\"\\0\"+Ce+(b===G?\"\":\"\\0\")}T=1}else switch(b){case R:S+7===C&&108===v&&(S=0),O=++_;break;case I:0===(O=--_)&&(T=1,Ce+=\"\\0\")}break;case U:case W:switch(v){case ne:case D:case N:case P:case G:case re:case U:case W:case F:case z:break;default:0===O&&(T=1,Ce+=\"\\0\")}}Te+=Ce,b!==W&&b!==U&&(w=b)}}x=v,v=b,C++}if(xe=Ye.length,_e>0&&0===xe&&0===Ge.length&&0===t[0].length===!1&&(o!==ae||1===t.length&&(me>0?Ie:Le)===t[0])&&(xe=t.join(\",\").length+2),xe>0){if(s=0===me&&o!==oe?Ve(t):t,Ee>0&&void 0!==(c=qe(Me,Ye,s,e,ge,pe,xe,o,a,o))&&0===(Ye=c).length)return Xe+Ye+Ge;if(Ye=s.join(\",\")+\"{\"+Ye+\"}\",be*ye!==0){switch(2!==be||He(Ye,2)||(ye=0),ye){case ue:Ye=Ye.replace(y,\":\"+A+\"$1\")+Ye;break;case ce:Ye=Ye.replace(g,\"::\"+j+\"input-$1\")+Ye.replace(g,\"::\"+A+\"$1\")+Ye.replace(g,\":\"+M+\"input-$1\")+Ye}ye=0}}return Xe+Ye+Ge}function Fe(e,t,n){var r=t.trim().split(l),i=r,o=r.length,a=e.length;switch(a){case 0:case 1:for(var s=0,c=0===a?\"\":e[0]+\" \";s<o;++s)i[s]=ze(c,i[s],n,a).trim();break;default:s=0;var u=0;for(i=[];s<o;++s)for(var f=0;f<a;++f)i[u++]=ze(e[f]+\" \",r[s],n,a).trim()}return i}function ze(e,t,n,r){var i=t,o=i.charCodeAt(0);switch(o<33&&(o=(i=i.trim()).charCodeAt(0)),o){case Y:switch(me+r){case 0:case 1:if(0===e.trim().length)break;default:return i.replace(f,\"$1\"+e.trim())}break;case X:if(103!==i.charCodeAt(1))return e.trim()+i.replace(f,\"$1\"+e.trim());if(ve>0&&me>0)return i.replace(d,\"$1\").replace(f,\"$1\"+Le);default:if(n*me>0&&i.indexOf(\"\\f\")>0)return i.replace(f,(e.charCodeAt(0)===X?\"\":\"$1\")+e.trim())}return e+i}function Ue(e,t,n,r){var s,c=0,u=e+\";\",l=2*t+3*n+4*r;if(944===l)return Ye(u);if(0===be||2===be&&!He(u,1))return u;switch(l){case 1015:return 97===u.charCodeAt(10)?j+u+u:u;case 951:return 116===u.charCodeAt(3)?j+u+u:u;case 963:return 110===u.charCodeAt(5)?j+u+u:u;case 1009:if(100!==u.charCodeAt(4))break;case 969:case 942:return j+u+u;case 978:return j+u+A+u+u;case 1019:case 983:return j+u+A+u+M+u+u;case 883:return u.charCodeAt(8)===V?j+u+u:u.indexOf(\"image-set(\",11)>0?u.replace(T,\"$1\"+j+\"$2\")+u:u;case 932:if(u.charCodeAt(4)===V)switch(u.charCodeAt(5)){case 103:return j+\"box-\"+u.replace(\"-grow\",\"\")+j+u+M+u.replace(\"grow\",\"positive\")+u;case 115:return j+u+M+u.replace(\"shrink\",\"negative\")+u;case 98:return j+u+M+u.replace(\"basis\",\"preferred-size\")+u}return j+u+M+u+u;case 964:return j+u+M+\"flex-\"+u+u;case 1023:if(99!==u.charCodeAt(8))break;return s=u.substring(u.indexOf(\":\",15)).replace(\"flex-\",\"\").replace(\"space-between\",\"justify\"),j+\"box-pack\"+s+j+u+M+\"flex-pack\"+s+u;case 1005:return o.test(u)?u.replace(i,\":\"+j)+u.replace(i,\":\"+A)+u:u;case 1e3:switch(c=(s=u.substring(13).trim()).indexOf(\"-\")+1,s.charCodeAt(0)+s.charCodeAt(c)){case 226:s=u.replace(_,\"tb\");break;case 232:s=u.replace(_,\"tb-rl\");break;case 220:s=u.replace(_,\"lr\");break;default:return u}return j+u+M+s+u;case 1017:if(-1===u.indexOf(\"sticky\",9))return u;case 975:switch(c=(u=e).length-10,l=(s=(33===u.charCodeAt(c)?u.substring(0,c):u).substring(e.indexOf(\":\",7)+1).trim()).charCodeAt(0)+(0|s.charCodeAt(7))){case 203:if(s.charCodeAt(8)<111)break;case 115:u=u.replace(s,j+s)+\";\"+u;break;case 207:case 102:u=u.replace(s,j+(l>102?\"inline-\":\"\")+\"box\")+\";\"+u.replace(s,j+s)+\";\"+u.replace(s,M+s+\"box\")+\";\"+u}return u+\";\";case 938:if(u.charCodeAt(5)===V)switch(u.charCodeAt(6)){case 105:return s=u.replace(\"-items\",\"\"),j+u+j+\"box-\"+s+M+\"flex-\"+s+u;case 115:return j+u+M+\"flex-item-\"+u.replace(E,\"\")+u;default:return j+u+M+\"flex-line-pack\"+u.replace(\"align-content\",\"\").replace(E,\"\")+u}break;case 973:case 989:if(u.charCodeAt(3)!==V||122===u.charCodeAt(4))break;case 931:case 953:if(!0===C.test(e))return 115===(s=e.substring(e.indexOf(\":\")+1)).charCodeAt(0)?Ue(e.replace(\"stretch\",\"fill-available\"),t,n,r).replace(\":fill-available\",\":stretch\"):u.replace(s,j+s)+u.replace(s,A+s.replace(\"fill-\",\"\"))+u;break;case 962:if(u=j+u+(102===u.charCodeAt(5)?M+u:\"\")+u,n+r===211&&105===u.charCodeAt(13)&&u.indexOf(\"transform\",10)>0)return u.substring(0,u.indexOf(\";\",27)+1).replace(a,\"$1\"+j+\"$2\")+u}return u}function He(e,t){var n=e.indexOf(1===t?\":\":\"{\"),r=e.substring(0,3!==t?n:10),i=e.substring(n+1,e.length-1);return Se(2!==t?r:r.replace(S,\"$1\"),i,t)}function We(e,t){var n=Ue(t,t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2));return n!==t+\";\"?n.replace(O,\" or ($1)\").substring(4):\"(\"+t+\")\"}function Ye(e){var t=e.length,n=e.indexOf(\":\",9)+1,r=e.substring(0,n).trim(),i=e.substring(n,t-1).trim();switch(e.charCodeAt(9)*De){case 0:break;case V:if(110!==e.charCodeAt(10))break;default:var o=i.split((i=\"\",s)),a=0;for(n=0,t=o.length;a<t;n=0,++a){for(var u=o[a],l=u.split(c);u=l[n];){var f=u.charCodeAt(0);if(1===De&&(f>H&&f<90||f>96&&f<123||f===q||f===V&&u.charCodeAt(1)!==V)&&isNaN(parseFloat(u))+(-1!==u.indexOf(\"(\"))===1)switch(u){case\"infinite\":case\"alternate\":case\"backwards\":case\"running\":case\"normal\":case\"forwards\":case\"both\":case\"none\":case\"linear\":case\"ease\":case\"ease-in\":case\"ease-out\":case\"ease-in-out\":case\"paused\":case\"reverse\":case\"alternate-reverse\":case\"inherit\":case\"initial\":case\"unset\":case\"step-start\":case\"step-end\":break;default:u+=Re}l[n++]=u}i+=(0===a?\"\":\",\")+l.join(\" \")}}return i=r+i+\";\",1===be||2===be&&He(i,1)?j+i+i:i}function Ve(e){for(var t,n,i=0,o=e.length,a=Array(o);i<o;++i){for(var s=e[i].split(u),c=\"\",l=0,f=0,d=0,h=0,p=s.length;l<p;++l)if(!(0===(f=(n=s[l]).length)&&p>1)){if(d=c.charCodeAt(c.length-1),h=n.charCodeAt(0),t=\"\",0!==l)switch(d){case $:case te:case Q:case ee:case W:case R:break;default:t=\" \"}switch(h){case Y:n=t+Ie;case te:case Q:case ee:case W:case I:case R:break;case L:n=t+n+Ie;break;case X:switch(2*n.charCodeAt(1)+3*n.charCodeAt(2)){case 530:if(ve>0){n=t+n.substring(8,f-1);break}default:(l<1||s[l-1].length<1)&&(n=t+Ie+n)}break;case G:t=\"\";default:n=f>1&&n.indexOf(\":\")>0?t+n.replace(w,\"$1\"+Ie+\"$2\"):t+n+Ie}c+=n}a[i]=c.replace(r,\"\").trim()}return a}function qe(e,t,n,r,i,o,a,s,c,u){for(var l,f=0,d=t;f<Ee;++f)switch(l=Oe[f].call(Ze,e,d,n,r,i,o,a,s,c,u)){case void 0:case!1:case!0:case null:break;default:d=l}if(d!==t)return d}function $e(e,t,n,r){for(var i=t+1;i<n;++i)switch(r.charCodeAt(i)){case J:if(e===$&&r.charCodeAt(i-1)===$&&t+2!==i)return i+1;break;case F:if(e===J)return i+1}return i}function Ge(e){return e.replace(r,\"\").replace(m,\"\").replace(b,\"$1\").replace(v,\"$1\").replace(x,\" \")}function Xe(e){switch(e){case void 0:case null:Ee=Oe.length=0;break;default:if(\"function\"===typeof e)Oe[Ee++]=e;else if(\"object\"===typeof e)for(var t=0,n=e.length;t<n;++t)Xe(e[t]);else Ne=0|!!e}return Xe}function Ke(e){for(var t in e){var n=e[t];switch(t){case\"keyframe\":De=0|n;break;case\"global\":ve=0|n;break;case\"cascade\":me=0|n;break;case\"compress\":xe=0|n;break;case\"semicolon\":we=0|n;break;case\"preserve\":_e=0|n;break;case\"prefix\":Se=null,n?\"function\"!==typeof n?be=1:(be=2,Se=n):be=0}}return Ke}function Ze(t,n){if(void 0!==this&&this.constructor===Ze)return e(t);var r=t,i=r.charCodeAt(0);i<33&&(i=(r=r.trim()).charCodeAt(0)),De>0&&(Re=r.replace(h,i===L?\"\":\"-\")),i=1,1===me?Le=r:Ie=r;var o,a=[Le];Ee>0&&void 0!==(o=qe(Te,n,a,a,ge,pe,0,0,0,0))&&\"string\"===typeof o&&(n=o);var s=Be(ke,a,n,0,0);return Ee>0&&void 0!==(o=qe(Ce,s,a,a,ge,pe,s.length,0,0,0))&&\"string\"!==typeof(s=o)&&(i=0),Re=\"\",Le=\"\",Ie=\"\",ye=0,ge=1,pe=1,xe*i===0?s:Ge(s)}return Ze.use=Xe,Ze.set=Ke,void 0!==t&&Ke(t),Ze}(null)},function(e,t,n){\"use strict\";var r=n(57),i=n(362),o=n(654),a=n(368);function s(e){var t=new o(e),n=i(o.prototype.request,t);return r.extend(n,o.prototype,t),r.extend(n,t),n}var c=s(n(256));c.Axios=o,c.create=function(e){return s(a(c.defaults,e))},c.Cancel=n(369),c.CancelToken=n(668),c.isCancel=n(367),c.all=function(e){return Promise.all(e)},c.spread=n(669),c.isAxiosError=n(670),e.exports=c,e.exports.default=c},function(e,t,n){\"use strict\";var r=n(57),i=n(363),o=n(655),a=n(656),s=n(368),c=n(666),u=c.validators;function l(e){this.defaults=e,this.interceptors={request:new o,response:new o}}l.prototype.request=function(e){\"string\"===typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=s(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method=\"get\";var t=e.transitional;void 0!==t&&c.assertOptions(t,{silentJSONParsing:u.transitional(u.boolean,\"1.0.0\"),forcedJSONParsing:u.transitional(u.boolean,\"1.0.0\"),clarifyTimeoutError:u.transitional(u.boolean,\"1.0.0\")},!1);var n=[],r=!0;this.interceptors.request.forEach((function(t){\"function\"===typeof t.runWhen&&!1===t.runWhen(e)||(r=r&&t.synchronous,n.unshift(t.fulfilled,t.rejected))}));var i,o=[];if(this.interceptors.response.forEach((function(e){o.push(e.fulfilled,e.rejected)})),!r){var l=[a,void 0];for(Array.prototype.unshift.apply(l,n),l.concat(o),i=Promise.resolve(e);l.length;)i=i.then(l.shift(),l.shift());return i}for(var f=e;n.length;){var d=n.shift(),h=n.shift();try{f=d(f)}catch(p){h(p);break}}try{i=a(f)}catch(p){return Promise.reject(p)}for(;o.length;)i=i.then(o.shift(),o.shift());return i},l.prototype.getUri=function(e){return e=s(this.defaults,e),i(e.url,e.params,e.paramsSerializer).replace(/^\\?/,\"\")},r.forEach([\"delete\",\"get\",\"head\",\"options\"],(function(e){l.prototype[e]=function(t,n){return this.request(s(n||{},{method:e,url:t,data:(n||{}).data}))}})),r.forEach([\"post\",\"put\",\"patch\"],(function(e){l.prototype[e]=function(t,n,r){return this.request(s(r||{},{method:e,url:t,data:n}))}})),e.exports=l},function(e,t,n){\"use strict\";var r=n(57);function i(){this.handlers=[]}i.prototype.use=function(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1},i.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},i.prototype.forEach=function(e){r.forEach(this.handlers,(function(t){null!==t&&e(t)}))},e.exports=i},function(e,t,n){\"use strict\";var r=n(57),i=n(657),o=n(367),a=n(256);function s(e){e.cancelToken&&e.cancelToken.throwIfRequested()}e.exports=function(e){return s(e),e.headers=e.headers||{},e.data=i.call(e,e.data,e.headers,e.transformRequest),e.headers=r.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),r.forEach([\"delete\",\"get\",\"head\",\"post\",\"put\",\"patch\",\"common\"],(function(t){delete e.headers[t]})),(e.adapter||a.adapter)(e).then((function(t){return s(e),t.data=i.call(e,t.data,t.headers,e.transformResponse),t}),(function(t){return o(t)||(s(e),t&&t.response&&(t.response.data=i.call(e,t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))}},function(e,t,n){\"use strict\";var r=n(57),i=n(256);e.exports=function(e,t,n){var o=this||i;return r.forEach(n,(function(n){e=n.call(o,e,t)})),e}},function(e,t,n){\"use strict\";var r=n(57);e.exports=function(e,t){r.forEach(e,(function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])}))}},function(e,t,n){\"use strict\";var r=n(366);e.exports=function(e,t,n){var i=n.config.validateStatus;n.status&&i&&!i(n.status)?t(r(\"Request failed with status code \"+n.status,n.config,null,n.request,n)):e(n)}},function(e,t,n){\"use strict\";var r=n(57);e.exports=r.isStandardBrowserEnv()?{write:function(e,t,n,i,o,a){var s=[];s.push(e+\"=\"+encodeURIComponent(t)),r.isNumber(n)&&s.push(\"expires=\"+new Date(n).toGMTString()),r.isString(i)&&s.push(\"path=\"+i),r.isString(o)&&s.push(\"domain=\"+o),!0===a&&s.push(\"secure\"),document.cookie=s.join(\"; \")},read:function(e){var t=document.cookie.match(new RegExp(\"(^|;\\\\s*)(\"+e+\")=([^;]*)\"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,\"\",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},function(e,t,n){\"use strict\";var r=n(662),i=n(663);e.exports=function(e,t){return e&&!r(t)?i(e,t):t}},function(e,t,n){\"use strict\";e.exports=function(e){return/^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(e)}},function(e,t,n){\"use strict\";e.exports=function(e,t){return t?e.replace(/\\/+$/,\"\")+\"/\"+t.replace(/^\\/+/,\"\"):e}},function(e,t,n){\"use strict\";var r=n(57),i=[\"age\",\"authorization\",\"content-length\",\"content-type\",\"etag\",\"expires\",\"from\",\"host\",\"if-modified-since\",\"if-unmodified-since\",\"last-modified\",\"location\",\"max-forwards\",\"proxy-authorization\",\"referer\",\"retry-after\",\"user-agent\"];e.exports=function(e){var t,n,o,a={};return e?(r.forEach(e.split(\"\\n\"),(function(e){if(o=e.indexOf(\":\"),t=r.trim(e.substr(0,o)).toLowerCase(),n=r.trim(e.substr(o+1)),t){if(a[t]&&i.indexOf(t)>=0)return;a[t]=\"set-cookie\"===t?(a[t]?a[t]:[]).concat([n]):a[t]?a[t]+\", \"+n:n}})),a):a}},function(e,t,n){\"use strict\";var r=n(57);e.exports=r.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement(\"a\");function i(e){var r=e;return t&&(n.setAttribute(\"href\",r),r=n.href),n.setAttribute(\"href\",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,\"\"):\"\",host:n.host,search:n.search?n.search.replace(/^\\?/,\"\"):\"\",hash:n.hash?n.hash.replace(/^#/,\"\"):\"\",hostname:n.hostname,port:n.port,pathname:\"/\"===n.pathname.charAt(0)?n.pathname:\"/\"+n.pathname}}return e=i(window.location.href),function(t){var n=r.isString(t)?i(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return!0}},function(e,t,n){\"use strict\";var r=n(667),i={};[\"object\",\"boolean\",\"number\",\"function\",\"string\",\"symbol\"].forEach((function(e,t){i[e]=function(n){return typeof n===e||\"a\"+(t<1?\"n \":\" \")+e}}));var o={},a=r.version.split(\".\");function s(e,t){for(var n=t?t.split(\".\"):a,r=e.split(\".\"),i=0;i<3;i++){if(n[i]>r[i])return!0;if(n[i]<r[i])return!1}return!1}i.transitional=function(e,t,n){var i=t&&s(t);function a(e,t){return\"[Axios v\"+r.version+\"] Transitional option '\"+e+\"'\"+t+(n?\". \"+n:\"\")}return function(n,r,s){if(!1===e)throw new Error(a(r,\" has been removed in \"+t));return i&&!o[r]&&(o[r]=!0,console.warn(a(r,\" has been deprecated since v\"+t+\" and will be removed in the near future\"))),!e||e(n,r,s)}},e.exports={isOlderVersion:s,assertOptions:function(e,t,n){if(\"object\"!==typeof e)throw new TypeError(\"options must be an object\");for(var r=Object.keys(e),i=r.length;i-- >0;){var o=r[i],a=t[o];if(a){var s=e[o],c=void 0===s||a(s,o,e);if(!0!==c)throw new TypeError(\"option \"+o+\" must be \"+c)}else if(!0!==n)throw Error(\"Unknown option \"+o)}},validators:i}},function(e){e.exports=JSON.parse('{\"_args\":[[\"axios@0.21.2\",\"C:\\\\\\\\projects\\\\\\\\github\\\\\\\\DurableFunctionsMonitor\\\\\\\\durablefunctionsmonitor.react\"]],\"_from\":\"axios@0.21.2\",\"_id\":\"axios@0.21.2\",\"_inBundle\":false,\"_integrity\":\"sha512-87otirqUw3e8CzHTMO+/9kh/FSgXt/eVDvipijwDtEuwbkySWZ9SBm6VEubmJ/kLKEoLQV/POhxXFb66bfekfg==\",\"_location\":\"/axios\",\"_phantomChildren\":{},\"_requested\":{\"type\":\"version\",\"registry\":true,\"raw\":\"axios@0.21.2\",\"name\":\"axios\",\"escapedName\":\"axios\",\"rawSpec\":\"0.21.2\",\"saveSpec\":null,\"fetchSpec\":\"0.21.2\"},\"_requiredBy\":[\"/\"],\"_resolved\":\"https://registry.npmjs.org/axios/-/axios-0.21.2.tgz\",\"_spec\":\"0.21.2\",\"_where\":\"C:\\\\\\\\projects\\\\\\\\github\\\\\\\\DurableFunctionsMonitor\\\\\\\\durablefunctionsmonitor.react\",\"author\":{\"name\":\"Matt Zabriskie\"},\"browser\":{\"./lib/adapters/http.js\":\"./lib/adapters/xhr.js\"},\"bugs\":{\"url\":\"https://github.com/axios/axios/issues\"},\"bundlesize\":[{\"path\":\"./dist/axios.min.js\",\"threshold\":\"5kB\"}],\"dependencies\":{\"follow-redirects\":\"^1.14.0\"},\"description\":\"Promise based HTTP client for the browser and node.js\",\"devDependencies\":{\"coveralls\":\"^3.0.0\",\"es6-promise\":\"^4.2.4\",\"grunt\":\"^1.3.0\",\"grunt-banner\":\"^0.6.0\",\"grunt-cli\":\"^1.2.0\",\"grunt-contrib-clean\":\"^1.1.0\",\"grunt-contrib-watch\":\"^1.0.0\",\"grunt-eslint\":\"^23.0.0\",\"grunt-karma\":\"^4.0.0\",\"grunt-mocha-test\":\"^0.13.3\",\"grunt-ts\":\"^6.0.0-beta.19\",\"grunt-webpack\":\"^4.0.2\",\"istanbul-instrumenter-loader\":\"^1.0.0\",\"jasmine-core\":\"^2.4.1\",\"karma\":\"^6.3.2\",\"karma-chrome-launcher\":\"^3.1.0\",\"karma-firefox-launcher\":\"^2.1.0\",\"karma-jasmine\":\"^1.1.1\",\"karma-jasmine-ajax\":\"^0.1.13\",\"karma-safari-launcher\":\"^1.0.0\",\"karma-sauce-launcher\":\"^4.3.6\",\"karma-sinon\":\"^1.0.5\",\"karma-sourcemap-loader\":\"^0.3.8\",\"karma-webpack\":\"^4.0.2\",\"load-grunt-tasks\":\"^3.5.2\",\"minimist\":\"^1.2.0\",\"mocha\":\"^8.2.1\",\"sinon\":\"^4.5.0\",\"terser-webpack-plugin\":\"^4.2.3\",\"typescript\":\"^4.0.5\",\"url-search-params\":\"^0.10.0\",\"webpack\":\"^4.44.2\",\"webpack-dev-server\":\"^3.11.0\"},\"homepage\":\"https://axios-http.com\",\"jsdelivr\":\"dist/axios.min.js\",\"keywords\":[\"xhr\",\"http\",\"ajax\",\"promise\",\"node\"],\"license\":\"MIT\",\"main\":\"index.js\",\"name\":\"axios\",\"repository\":{\"type\":\"git\",\"url\":\"git+https://github.com/axios/axios.git\"},\"scripts\":{\"build\":\"NODE_ENV=production grunt build\",\"coveralls\":\"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js\",\"examples\":\"node ./examples/server.js\",\"fix\":\"eslint --fix lib/**/*.js\",\"postversion\":\"git push && git push --tags\",\"preversion\":\"npm test\",\"start\":\"node ./sandbox/server.js\",\"test\":\"grunt test\",\"version\":\"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json\"},\"typings\":\"./index.d.ts\",\"unpkg\":\"dist/axios.min.js\",\"version\":\"0.21.2\"}')},function(e,t,n){\"use strict\";var r=n(369);function i(e){if(\"function\"!==typeof e)throw new TypeError(\"executor must be a function.\");var t;this.promise=new Promise((function(e){t=e}));var n=this;e((function(e){n.reason||(n.reason=new r(e),t(n.reason))}))}i.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},i.source=function(){var e;return{token:new i((function(t){e=t})),cancel:e}},e.exports=i},function(e,t,n){\"use strict\";e.exports=function(e){return function(t){return e.apply(null,t)}}},function(e,t,n){\"use strict\";e.exports=function(e){return\"object\"===typeof e&&!0===e.isAxiosError}},function(e,t,n){\"use strict\";t.__esModule=!0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function o(e){return e&&e.__esModule?e:{default:e}}var a=o(n(257)),s=o(n(194)),c=o(n(258)),u=o(n(259)),l=o(n(260)),f=o(n(261)),d=o(n(0)),h=o(n(1)),p=1e3/60,g=function(e){function t(n){var i=this;!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t),e.call(this,n),this.wasAnimating=!1,this.animationID=null,this.prevTime=0,this.accumulatedTime=0,this.unreadPropStyle=null,this.clearUnreadPropStyle=function(e){var t=!1,n=i.state,o=n.currentStyle,a=n.currentVelocity,s=n.lastIdealStyle,c=n.lastIdealVelocity;for(var u in e)if(Object.prototype.hasOwnProperty.call(e,u)){var l=e[u];\"number\"===typeof l&&(t||(t=!0,o=r({},o),a=r({},a),s=r({},s),c=r({},c)),o[u]=l,a[u]=0,s[u]=l,c[u]=0)}t&&i.setState({currentStyle:o,currentVelocity:a,lastIdealStyle:s,lastIdealVelocity:c})},this.startAnimationIfNecessary=function(){i.animationID=l.default((function(e){var t=i.props.style;if(f.default(i.state.currentStyle,t,i.state.currentVelocity))return i.wasAnimating&&i.props.onRest&&i.props.onRest(),i.animationID=null,i.wasAnimating=!1,void(i.accumulatedTime=0);i.wasAnimating=!0;var n=e||u.default(),r=n-i.prevTime;if(i.prevTime=n,i.accumulatedTime=i.accumulatedTime+r,i.accumulatedTime>10*p&&(i.accumulatedTime=0),0===i.accumulatedTime)return i.animationID=null,void i.startAnimationIfNecessary();var o=(i.accumulatedTime-Math.floor(i.accumulatedTime/p)*p)/p,a=Math.floor(i.accumulatedTime/p),s={},l={},d={},h={};for(var g in t)if(Object.prototype.hasOwnProperty.call(t,g)){var y=t[g];if(\"number\"===typeof y)d[g]=y,h[g]=0,s[g]=y,l[g]=0;else{for(var m=i.state.lastIdealStyle[g],b=i.state.lastIdealVelocity[g],v=0;v<a;v++){var x=c.default(p/1e3,m,b,y.val,y.stiffness,y.damping,y.precision);m=x[0],b=x[1]}var w=c.default(p/1e3,m,b,y.val,y.stiffness,y.damping,y.precision),_=w[0],k=w[1];d[g]=m+(_-m)*o,h[g]=b+(k-b)*o,s[g]=m,l[g]=b}}i.animationID=null,i.accumulatedTime-=a*p,i.setState({currentStyle:d,currentVelocity:h,lastIdealStyle:s,lastIdealVelocity:l}),i.unreadPropStyle=null,i.startAnimationIfNecessary()}))},this.state=this.defaultState()}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,null,[{key:\"propTypes\",value:{defaultStyle:h.default.objectOf(h.default.number),style:h.default.objectOf(h.default.oneOfType([h.default.number,h.default.object])).isRequired,children:h.default.func.isRequired,onRest:h.default.func},enumerable:!0}]),t.prototype.defaultState=function(){var e=this.props,t=e.defaultStyle,n=e.style,r=t||s.default(n),i=a.default(r);return{currentStyle:r,currentVelocity:i,lastIdealStyle:r,lastIdealVelocity:i}},t.prototype.componentDidMount=function(){this.prevTime=u.default(),this.startAnimationIfNecessary()},t.prototype.componentWillReceiveProps=function(e){null!=this.unreadPropStyle&&this.clearUnreadPropStyle(this.unreadPropStyle),this.unreadPropStyle=e.style,null==this.animationID&&(this.prevTime=u.default(),this.startAnimationIfNecessary())},t.prototype.componentWillUnmount=function(){null!=this.animationID&&(l.default.cancel(this.animationID),this.animationID=null)},t.prototype.render=function(){var e=this.props.children(this.state.currentStyle);return e&&d.default.Children.only(e)},t}(d.default.Component);t.default=g,e.exports=t.default},function(e,t,n){(function(t){(function(){var n,r,i,o,a,s;\"undefined\"!==typeof performance&&null!==performance&&performance.now?e.exports=function(){return performance.now()}:\"undefined\"!==typeof t&&null!==t&&t.hrtime?(e.exports=function(){return(n()-a)/1e6},r=t.hrtime,o=(n=function(){var e;return 1e9*(e=r())[0]+e[1]})(),s=1e9*t.uptime(),a=o-s):Date.now?(e.exports=function(){return Date.now()-i},i=Date.now()):(e.exports=function(){return(new Date).getTime()-i},i=(new Date).getTime())}).call(this)}).call(this,n(156))},function(e,t,n){\"use strict\";t.__esModule=!0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function o(e){return e&&e.__esModule?e:{default:e}}var a=o(n(257)),s=o(n(194)),c=o(n(258)),u=o(n(259)),l=o(n(260)),f=o(n(261)),d=o(n(0)),h=o(n(1)),p=1e3/60;var g=function(e){function t(n){var i=this;!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t),e.call(this,n),this.animationID=null,this.prevTime=0,this.accumulatedTime=0,this.unreadPropStyles=null,this.clearUnreadPropStyle=function(e){for(var t=i.state,n=t.currentStyles,o=t.currentVelocities,a=t.lastIdealStyles,s=t.lastIdealVelocities,c=!1,u=0;u<e.length;u++){var l=e[u],f=!1;for(var d in l)if(Object.prototype.hasOwnProperty.call(l,d)){var h=l[d];\"number\"===typeof h&&(f||(f=!0,c=!0,n[u]=r({},n[u]),o[u]=r({},o[u]),a[u]=r({},a[u]),s[u]=r({},s[u])),n[u][d]=h,o[u][d]=0,a[u][d]=h,s[u][d]=0)}}c&&i.setState({currentStyles:n,currentVelocities:o,lastIdealStyles:a,lastIdealVelocities:s})},this.startAnimationIfNecessary=function(){i.animationID=l.default((function(e){var t=i.props.styles(i.state.lastIdealStyles);if(function(e,t,n){for(var r=0;r<e.length;r++)if(!f.default(e[r],t[r],n[r]))return!1;return!0}(i.state.currentStyles,t,i.state.currentVelocities))return i.animationID=null,void(i.accumulatedTime=0);var n=e||u.default(),r=n-i.prevTime;if(i.prevTime=n,i.accumulatedTime=i.accumulatedTime+r,i.accumulatedTime>10*p&&(i.accumulatedTime=0),0===i.accumulatedTime)return i.animationID=null,void i.startAnimationIfNecessary();for(var o=(i.accumulatedTime-Math.floor(i.accumulatedTime/p)*p)/p,a=Math.floor(i.accumulatedTime/p),s=[],l=[],d=[],h=[],g=0;g<t.length;g++){var y=t[g],m={},b={},v={},x={};for(var w in y)if(Object.prototype.hasOwnProperty.call(y,w)){var _=y[w];if(\"number\"===typeof _)m[w]=_,b[w]=0,v[w]=_,x[w]=0;else{for(var k=i.state.lastIdealStyles[g][w],O=i.state.lastIdealVelocities[g][w],E=0;E<a;E++){var S=c.default(p/1e3,k,O,_.val,_.stiffness,_.damping,_.precision);k=S[0],O=S[1]}var C=c.default(p/1e3,k,O,_.val,_.stiffness,_.damping,_.precision),T=C[0],j=C[1];m[w]=k+(T-k)*o,b[w]=O+(j-O)*o,v[w]=k,x[w]=O}}d[g]=m,h[g]=b,s[g]=v,l[g]=x}i.animationID=null,i.accumulatedTime-=a*p,i.setState({currentStyles:d,currentVelocities:h,lastIdealStyles:s,lastIdealVelocities:l}),i.unreadPropStyles=null,i.startAnimationIfNecessary()}))},this.state=this.defaultState()}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,null,[{key:\"propTypes\",value:{defaultStyles:h.default.arrayOf(h.default.objectOf(h.default.number)),styles:h.default.func.isRequired,children:h.default.func.isRequired},enumerable:!0}]),t.prototype.defaultState=function(){var e=this.props,t=e.defaultStyles,n=e.styles,r=t||n().map(s.default),i=r.map((function(e){return a.default(e)}));return{currentStyles:r,currentVelocities:i,lastIdealStyles:r,lastIdealVelocities:i}},t.prototype.componentDidMount=function(){this.prevTime=u.default(),this.startAnimationIfNecessary()},t.prototype.componentWillReceiveProps=function(e){null!=this.unreadPropStyles&&this.clearUnreadPropStyle(this.unreadPropStyles),this.unreadPropStyles=e.styles(this.state.lastIdealStyles),null==this.animationID&&(this.prevTime=u.default(),this.startAnimationIfNecessary())},t.prototype.componentWillUnmount=function(){null!=this.animationID&&(l.default.cancel(this.animationID),this.animationID=null)},t.prototype.render=function(){var e=this.props.children(this.state.currentStyles);return e&&d.default.Children.only(e)},t}(d.default.Component);t.default=g,e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function o(e){return e&&e.__esModule?e:{default:e}}var a=o(n(257)),s=o(n(194)),c=o(n(258)),u=o(n(675)),l=o(n(259)),f=o(n(260)),d=o(n(261)),h=o(n(0)),p=o(n(1)),g=1e3/60;function y(e,t,n){var r=t;return null==r?e.map((function(e,t){return{key:e.key,data:e.data,style:n[t]}})):e.map((function(e,t){for(var i=0;i<r.length;i++)if(r[i].key===e.key)return{key:r[i].key,data:r[i].data,style:n[t]};return{key:e.key,data:e.data,style:n[t]}}))}function m(e,t,n,r,i,o,s,c,l){for(var f=u.default(r,i,(function(e,r){var i=t(r);return null==i||d.default(o[e],i,s[e])?(n({key:r.key,data:r.data}),null):{key:r.key,data:r.data,style:i}})),h=[],p=[],g=[],y=[],m=0;m<f.length;m++){for(var b=f[m],v=null,x=0;x<r.length;x++)if(r[x].key===b.key){v=x;break}if(null==v){var w=e(b);h[m]=w,g[m]=w;var _=a.default(b.style);p[m]=_,y[m]=_}else h[m]=o[v],g[m]=c[v],p[m]=s[v],y[m]=l[v]}return[f,h,p,g,y]}var b=function(e){function t(n){var i=this;!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t),e.call(this,n),this.unmounting=!1,this.animationID=null,this.prevTime=0,this.accumulatedTime=0,this.unreadPropStyles=null,this.clearUnreadPropStyle=function(e){for(var t=m(i.props.willEnter,i.props.willLeave,i.props.didLeave,i.state.mergedPropsStyles,e,i.state.currentStyles,i.state.currentVelocities,i.state.lastIdealStyles,i.state.lastIdealVelocities),n=t[0],o=t[1],a=t[2],s=t[3],c=t[4],u=0;u<e.length;u++){var l=e[u].style,f=!1;for(var d in l)if(Object.prototype.hasOwnProperty.call(l,d)){var h=l[d];\"number\"===typeof h&&(f||(f=!0,o[u]=r({},o[u]),a[u]=r({},a[u]),s[u]=r({},s[u]),c[u]=r({},c[u]),n[u]={key:n[u].key,data:n[u].data,style:r({},n[u].style)}),o[u][d]=h,a[u][d]=0,s[u][d]=h,c[u][d]=0,n[u].style[d]=h)}}i.setState({currentStyles:o,currentVelocities:a,mergedPropsStyles:n,lastIdealStyles:s,lastIdealVelocities:c})},this.startAnimationIfNecessary=function(){i.unmounting||(i.animationID=f.default((function(e){if(!i.unmounting){var t=i.props.styles,n=\"function\"===typeof t?t(y(i.state.mergedPropsStyles,i.unreadPropStyles,i.state.lastIdealStyles)):t;if(function(e,t,n,r){if(r.length!==t.length)return!1;for(var i=0;i<r.length;i++)if(r[i].key!==t[i].key)return!1;for(i=0;i<r.length;i++)if(!d.default(e[i],t[i].style,n[i]))return!1;return!0}(i.state.currentStyles,n,i.state.currentVelocities,i.state.mergedPropsStyles))return i.animationID=null,void(i.accumulatedTime=0);var r=e||l.default(),o=r-i.prevTime;if(i.prevTime=r,i.accumulatedTime=i.accumulatedTime+o,i.accumulatedTime>10*g&&(i.accumulatedTime=0),0===i.accumulatedTime)return i.animationID=null,void i.startAnimationIfNecessary();for(var a=(i.accumulatedTime-Math.floor(i.accumulatedTime/g)*g)/g,s=Math.floor(i.accumulatedTime/g),u=m(i.props.willEnter,i.props.willLeave,i.props.didLeave,i.state.mergedPropsStyles,n,i.state.currentStyles,i.state.currentVelocities,i.state.lastIdealStyles,i.state.lastIdealVelocities),f=u[0],h=u[1],p=u[2],b=u[3],v=u[4],x=0;x<f.length;x++){var w=f[x].style,_={},k={},O={},E={};for(var S in w)if(Object.prototype.hasOwnProperty.call(w,S)){var C=w[S];if(\"number\"===typeof C)_[S]=C,k[S]=0,O[S]=C,E[S]=0;else{for(var T=b[x][S],j=v[x][S],A=0;A<s;A++){var M=c.default(g/1e3,T,j,C.val,C.stiffness,C.damping,C.precision);T=M[0],j=M[1]}var P=c.default(g/1e3,T,j,C.val,C.stiffness,C.damping,C.precision),N=P[0],D=P[1];_[S]=T+(N-T)*a,k[S]=j+(D-j)*a,O[S]=T,E[S]=j}}b[x]=O,v[x]=E,h[x]=_,p[x]=k}i.animationID=null,i.accumulatedTime-=s*g,i.setState({currentStyles:h,currentVelocities:p,lastIdealStyles:b,lastIdealVelocities:v,mergedPropsStyles:f}),i.unreadPropStyles=null,i.startAnimationIfNecessary()}})))},this.state=this.defaultState()}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,null,[{key:\"propTypes\",value:{defaultStyles:p.default.arrayOf(p.default.shape({key:p.default.string.isRequired,data:p.default.any,style:p.default.objectOf(p.default.number).isRequired})),styles:p.default.oneOfType([p.default.func,p.default.arrayOf(p.default.shape({key:p.default.string.isRequired,data:p.default.any,style:p.default.objectOf(p.default.oneOfType([p.default.number,p.default.object])).isRequired}))]).isRequired,children:p.default.func.isRequired,willEnter:p.default.func,willLeave:p.default.func,didLeave:p.default.func},enumerable:!0},{key:\"defaultProps\",value:{willEnter:function(e){return s.default(e.style)},willLeave:function(){return null},didLeave:function(){}},enumerable:!0}]),t.prototype.defaultState=function(){var e=this.props,t=e.defaultStyles,n=e.styles,r=e.willEnter,i=e.willLeave,o=e.didLeave,c=\"function\"===typeof n?n(t):n,u=void 0;u=null==t?c:t.map((function(e){for(var t=0;t<c.length;t++)if(c[t].key===e.key)return c[t];return e}));var l=null==t?c.map((function(e){return s.default(e.style)})):t.map((function(e){return s.default(e.style)})),f=null==t?c.map((function(e){return a.default(e.style)})):t.map((function(e){return a.default(e.style)})),d=m(r,i,o,u,c,l,f,l,f),h=d[0];return{currentStyles:d[1],currentVelocities:d[2],lastIdealStyles:d[3],lastIdealVelocities:d[4],mergedPropsStyles:h}},t.prototype.componentDidMount=function(){this.prevTime=l.default(),this.startAnimationIfNecessary()},t.prototype.componentWillReceiveProps=function(e){this.unreadPropStyles&&this.clearUnreadPropStyle(this.unreadPropStyles);var t=e.styles;this.unreadPropStyles=\"function\"===typeof t?t(y(this.state.mergedPropsStyles,this.unreadPropStyles,this.state.lastIdealStyles)):t,null==this.animationID&&(this.prevTime=l.default(),this.startAnimationIfNecessary())},t.prototype.componentWillUnmount=function(){this.unmounting=!0,null!=this.animationID&&(f.default.cancel(this.animationID),this.animationID=null)},t.prototype.render=function(){var e=y(this.state.mergedPropsStyles,this.unreadPropStyles,this.state.currentStyles),t=this.props.children(e);return t&&h.default.Children.only(t)},t}(h.default.Component);t.default=b,e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e,t,n){for(var r={},i=0;i<e.length;i++)r[e[i].key]=i;var o={};for(i=0;i<t.length;i++)o[t[i].key]=i;var a=[];for(i=0;i<t.length;i++)a[i]=t[i];for(i=0;i<e.length;i++)if(!Object.prototype.hasOwnProperty.call(o,e[i].key)){var s=n(i,e[i]);null!=s&&a.push(s)}return a.sort((function(e,n){var i=o[e.key],a=o[n.key],s=r[e.key],c=r[n.key];if(null!=i&&null!=a)return o[e.key]-o[n.key];if(null!=s&&null!=c)return r[e.key]-r[n.key];if(null!=i){for(var u=0;u<t.length;u++){var l=t[u].key;if(Object.prototype.hasOwnProperty.call(r,l)){if(i<o[l]&&c>r[l])return-1;if(i>o[l]&&c<r[l])return 1}}return 1}for(u=0;u<t.length;u++){l=t[u].key;if(Object.prototype.hasOwnProperty.call(r,l)){if(a<o[l]&&s>r[l])return 1;if(a>o[l]&&s<r[l])return-1}}return-1}))},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=function(e,t){return r({},s,t,{val:e})};var i,o=n(370),a=(i=o)&&i.__esModule?i:{default:i},s=r({},a.default.noWobble,{precision:.01});e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(){0};e.exports=t.default},function(e,t,n){\"use strict\";var r;if(!Object.keys){var i=Object.prototype.hasOwnProperty,o=Object.prototype.toString,a=n(372),s=Object.prototype.propertyIsEnumerable,c=!s.call({toString:null},\"toString\"),u=s.call((function(){}),\"prototype\"),l=[\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\"],f=function(e){var t=e.constructor;return t&&t.prototype===e},d={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},h=function(){if(\"undefined\"===typeof window)return!1;for(var e in window)try{if(!d[\"$\"+e]&&i.call(window,e)&&null!==window[e]&&\"object\"===typeof window[e])try{f(window[e])}catch(t){return!0}}catch(t){return!0}return!1}();r=function(e){var t=null!==e&&\"object\"===typeof e,n=\"[object Function]\"===o.call(e),r=a(e),s=t&&\"[object String]\"===o.call(e),d=[];if(!t&&!n&&!r)throw new TypeError(\"Object.keys called on a non-object\");var p=u&&n;if(s&&e.length>0&&!i.call(e,0))for(var g=0;g<e.length;++g)d.push(String(g));if(r&&e.length>0)for(var y=0;y<e.length;++y)d.push(String(y));else for(var m in e)p&&\"prototype\"===m||!i.call(e,m)||d.push(String(m));if(c)for(var b=function(e){if(\"undefined\"===typeof window||!h)return f(e);try{return f(e)}catch(t){return!1}}(e),v=0;v<l.length;++v)b&&\"constructor\"===l[v]||!i.call(e,l[v])||d.push(l[v]);return d}}e.exports=r},function(e,t,n){\"use strict\";var r=\"function\"===typeof Symbol&&\"symbol\"===typeof Symbol.toStringTag,i=Object.prototype.toString,o=function(e){return!(r&&e&&\"object\"===typeof e&&Symbol.toStringTag in e)&&\"[object Arguments]\"===i.call(e)},a=function(e){return!!o(e)||null!==e&&\"object\"===typeof e&&\"number\"===typeof e.length&&e.length>=0&&\"[object Array]\"!==i.call(e)&&\"[object Function]\"===i.call(e.callee)},s=function(){return o(arguments)}();o.isLegacyArguments=a,e.exports=s?o:a},function(e,t,n){\"use strict\";var r=n(166),i=n(681),o=n(373),a=n(374),s=n(686),c=i(a(),Object);r(c,{getPolyfill:a,implementation:o,shim:s}),e.exports=c},function(e,t,n){\"use strict\";var r=n(167),i=n(683),o=i(\"%Function.prototype.apply%\"),a=i(\"%Function.prototype.call%\"),s=i(\"%Reflect.apply%\",!0)||r.call(a,o),c=i(\"%Object.defineProperty%\",!0);if(c)try{c({},\"a\",{value:1})}catch(l){c=null}e.exports=function(){return s(r,a,arguments)};var u=function(){return s(r,o,arguments)};c?c(e.exports,\"apply\",{value:u}):e.exports.apply=u},function(e,t,n){\"use strict\";var r=\"Function.prototype.bind called on incompatible \",i=Array.prototype.slice,o=Object.prototype.toString,a=\"[object Function]\";e.exports=function(e){var t=this;if(\"function\"!==typeof t||o.call(t)!==a)throw new TypeError(r+t);for(var n,s=i.call(arguments,1),c=function(){if(this instanceof n){var r=t.apply(this,s.concat(i.call(arguments)));return Object(r)===r?r:this}return t.apply(e,s.concat(i.call(arguments)))},u=Math.max(0,t.length-s.length),l=[],f=0;f<u;f++)l.push(\"$\"+f);if(n=Function(\"binder\",\"return function (\"+l.join(\",\")+\"){ return binder.apply(this,arguments); }\")(c),t.prototype){var d=function(){};d.prototype=t.prototype,n.prototype=new d,d.prototype=null}return n}},function(e,t,n){\"use strict\";var r,i=SyntaxError,o=Function,a=TypeError,s=function(e){try{return Function('\"use strict\"; return ('+e+\").constructor;\")()}catch(t){}},c=Object.getOwnPropertyDescriptor;if(c)try{c({},\"\")}catch(T){c=null}var u=function(){throw new a},l=c?function(){try{return u}catch(e){try{return c(arguments,\"callee\").get}catch(t){return u}}}():u,f=n(262)(),d=Object.getPrototypeOf||function(e){return e.__proto__},h=s(\"async function* () {}\"),p=h?h.prototype:r,g=p?p.prototype:r,y=\"undefined\"===typeof Uint8Array?r:d(Uint8Array),m={\"%AggregateError%\":\"undefined\"===typeof AggregateError?r:AggregateError,\"%Array%\":Array,\"%ArrayBuffer%\":\"undefined\"===typeof ArrayBuffer?r:ArrayBuffer,\"%ArrayIteratorPrototype%\":f?d([][Symbol.iterator]()):r,\"%AsyncFromSyncIteratorPrototype%\":r,\"%AsyncFunction%\":s(\"async function () {}\"),\"%AsyncGenerator%\":p,\"%AsyncGeneratorFunction%\":h,\"%AsyncIteratorPrototype%\":g?d(g):r,\"%Atomics%\":\"undefined\"===typeof Atomics?r:Atomics,\"%BigInt%\":\"undefined\"===typeof BigInt?r:BigInt,\"%Boolean%\":Boolean,\"%DataView%\":\"undefined\"===typeof DataView?r:DataView,\"%Date%\":Date,\"%decodeURI%\":decodeURI,\"%decodeURIComponent%\":decodeURIComponent,\"%encodeURI%\":encodeURI,\"%encodeURIComponent%\":encodeURIComponent,\"%Error%\":Error,\"%eval%\":eval,\"%EvalError%\":EvalError,\"%Float32Array%\":\"undefined\"===typeof Float32Array?r:Float32Array,\"%Float64Array%\":\"undefined\"===typeof Float64Array?r:Float64Array,\"%FinalizationRegistry%\":\"undefined\"===typeof FinalizationRegistry?r:FinalizationRegistry,\"%Function%\":o,\"%GeneratorFunction%\":s(\"function* () {}\"),\"%Int8Array%\":\"undefined\"===typeof Int8Array?r:Int8Array,\"%Int16Array%\":\"undefined\"===typeof Int16Array?r:Int16Array,\"%Int32Array%\":\"undefined\"===typeof Int32Array?r:Int32Array,\"%isFinite%\":isFinite,\"%isNaN%\":isNaN,\"%IteratorPrototype%\":f?d(d([][Symbol.iterator]())):r,\"%JSON%\":\"object\"===typeof JSON?JSON:r,\"%Map%\":\"undefined\"===typeof Map?r:Map,\"%MapIteratorPrototype%\":\"undefined\"!==typeof Map&&f?d((new Map)[Symbol.iterator]()):r,\"%Math%\":Math,\"%Number%\":Number,\"%Object%\":Object,\"%parseFloat%\":parseFloat,\"%parseInt%\":parseInt,\"%Promise%\":\"undefined\"===typeof Promise?r:Promise,\"%Proxy%\":\"undefined\"===typeof Proxy?r:Proxy,\"%RangeError%\":RangeError,\"%ReferenceError%\":ReferenceError,\"%Reflect%\":\"undefined\"===typeof Reflect?r:Reflect,\"%RegExp%\":RegExp,\"%Set%\":\"undefined\"===typeof Set?r:Set,\"%SetIteratorPrototype%\":\"undefined\"!==typeof Set&&f?d((new Set)[Symbol.iterator]()):r,\"%SharedArrayBuffer%\":\"undefined\"===typeof SharedArrayBuffer?r:SharedArrayBuffer,\"%String%\":String,\"%StringIteratorPrototype%\":f?d(\"\"[Symbol.iterator]()):r,\"%Symbol%\":f?Symbol:r,\"%SyntaxError%\":i,\"%ThrowTypeError%\":l,\"%TypedArray%\":y,\"%TypeError%\":a,\"%Uint8Array%\":\"undefined\"===typeof Uint8Array?r:Uint8Array,\"%Uint8ClampedArray%\":\"undefined\"===typeof Uint8ClampedArray?r:Uint8ClampedArray,\"%Uint16Array%\":\"undefined\"===typeof Uint16Array?r:Uint16Array,\"%Uint32Array%\":\"undefined\"===typeof Uint32Array?r:Uint32Array,\"%URIError%\":URIError,\"%WeakMap%\":\"undefined\"===typeof WeakMap?r:WeakMap,\"%WeakRef%\":\"undefined\"===typeof WeakRef?r:WeakRef,\"%WeakSet%\":\"undefined\"===typeof WeakSet?r:WeakSet},b={\"%ArrayBufferPrototype%\":[\"ArrayBuffer\",\"prototype\"],\"%ArrayPrototype%\":[\"Array\",\"prototype\"],\"%ArrayProto_entries%\":[\"Array\",\"prototype\",\"entries\"],\"%ArrayProto_forEach%\":[\"Array\",\"prototype\",\"forEach\"],\"%ArrayProto_keys%\":[\"Array\",\"prototype\",\"keys\"],\"%ArrayProto_values%\":[\"Array\",\"prototype\",\"values\"],\"%AsyncFunctionPrototype%\":[\"AsyncFunction\",\"prototype\"],\"%AsyncGenerator%\":[\"AsyncGeneratorFunction\",\"prototype\"],\"%AsyncGeneratorPrototype%\":[\"AsyncGeneratorFunction\",\"prototype\",\"prototype\"],\"%BooleanPrototype%\":[\"Boolean\",\"prototype\"],\"%DataViewPrototype%\":[\"DataView\",\"prototype\"],\"%DatePrototype%\":[\"Date\",\"prototype\"],\"%ErrorPrototype%\":[\"Error\",\"prototype\"],\"%EvalErrorPrototype%\":[\"EvalError\",\"prototype\"],\"%Float32ArrayPrototype%\":[\"Float32Array\",\"prototype\"],\"%Float64ArrayPrototype%\":[\"Float64Array\",\"prototype\"],\"%FunctionPrototype%\":[\"Function\",\"prototype\"],\"%Generator%\":[\"GeneratorFunction\",\"prototype\"],\"%GeneratorPrototype%\":[\"GeneratorFunction\",\"prototype\",\"prototype\"],\"%Int8ArrayPrototype%\":[\"Int8Array\",\"prototype\"],\"%Int16ArrayPrototype%\":[\"Int16Array\",\"prototype\"],\"%Int32ArrayPrototype%\":[\"Int32Array\",\"prototype\"],\"%JSONParse%\":[\"JSON\",\"parse\"],\"%JSONStringify%\":[\"JSON\",\"stringify\"],\"%MapPrototype%\":[\"Map\",\"prototype\"],\"%NumberPrototype%\":[\"Number\",\"prototype\"],\"%ObjectPrototype%\":[\"Object\",\"prototype\"],\"%ObjProto_toString%\":[\"Object\",\"prototype\",\"toString\"],\"%ObjProto_valueOf%\":[\"Object\",\"prototype\",\"valueOf\"],\"%PromisePrototype%\":[\"Promise\",\"prototype\"],\"%PromiseProto_then%\":[\"Promise\",\"prototype\",\"then\"],\"%Promise_all%\":[\"Promise\",\"all\"],\"%Promise_reject%\":[\"Promise\",\"reject\"],\"%Promise_resolve%\":[\"Promise\",\"resolve\"],\"%RangeErrorPrototype%\":[\"RangeError\",\"prototype\"],\"%ReferenceErrorPrototype%\":[\"ReferenceError\",\"prototype\"],\"%RegExpPrototype%\":[\"RegExp\",\"prototype\"],\"%SetPrototype%\":[\"Set\",\"prototype\"],\"%SharedArrayBufferPrototype%\":[\"SharedArrayBuffer\",\"prototype\"],\"%StringPrototype%\":[\"String\",\"prototype\"],\"%SymbolPrototype%\":[\"Symbol\",\"prototype\"],\"%SyntaxErrorPrototype%\":[\"SyntaxError\",\"prototype\"],\"%TypedArrayPrototype%\":[\"TypedArray\",\"prototype\"],\"%TypeErrorPrototype%\":[\"TypeError\",\"prototype\"],\"%Uint8ArrayPrototype%\":[\"Uint8Array\",\"prototype\"],\"%Uint8ClampedArrayPrototype%\":[\"Uint8ClampedArray\",\"prototype\"],\"%Uint16ArrayPrototype%\":[\"Uint16Array\",\"prototype\"],\"%Uint32ArrayPrototype%\":[\"Uint32Array\",\"prototype\"],\"%URIErrorPrototype%\":[\"URIError\",\"prototype\"],\"%WeakMapPrototype%\":[\"WeakMap\",\"prototype\"],\"%WeakSetPrototype%\":[\"WeakSet\",\"prototype\"]},v=n(167),x=n(685),w=v.call(Function.call,Array.prototype.concat),_=v.call(Function.apply,Array.prototype.splice),k=v.call(Function.call,String.prototype.replace),O=/[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g,E=/\\\\(\\\\)?/g,S=function(e){var t=[];return k(e,O,(function(e,n,r,i){t[t.length]=r?k(i,E,\"$1\"):n||e})),t},C=function(e,t){var n,r=e;if(x(b,r)&&(r=\"%\"+(n=b[r])[0]+\"%\"),x(m,r)){var o=m[r];if(\"undefined\"===typeof o&&!t)throw new a(\"intrinsic \"+e+\" exists, but is not available. Please file an issue!\");return{alias:n,name:r,value:o}}throw new i(\"intrinsic \"+e+\" does not exist!\")};e.exports=function(e,t){if(\"string\"!==typeof e||0===e.length)throw new a(\"intrinsic name must be a non-empty string\");if(arguments.length>1&&\"boolean\"!==typeof t)throw new a('\"allowMissing\" argument must be a boolean');var n=S(e),r=n.length>0?n[0]:\"\",i=C(\"%\"+r+\"%\",t),o=i.name,s=i.value,u=!1,l=i.alias;l&&(r=l[0],_(n,w([0,1],l)));for(var f=1,d=!0;f<n.length;f+=1){var h=n[f];if(\"constructor\"!==h&&d||(u=!0),x(m,o=\"%\"+(r+=\".\"+h)+\"%\"))s=m[o];else if(null!=s){if(c&&f+1>=n.length){var p=c(s,h);if(d=!!p,!t&&!(h in s))throw new a(\"base intrinsic for \"+e+\" exists, but the property is not available.\");s=d&&\"get\"in p&&!(\"originalValue\"in p.get)?p.get:s[h]}else d=x(s,h),s=s[h];d&&!u&&(m[o]=s)}}return s}},function(e,t,n){\"use strict\";e.exports=function(){if(\"function\"!==typeof Symbol||\"function\"!==typeof Object.getOwnPropertySymbols)return!1;if(\"symbol\"===typeof Symbol.iterator)return!0;var e={},t=Symbol(\"test\"),n=Object(t);if(\"string\"===typeof t)return!1;if(\"[object Symbol]\"!==Object.prototype.toString.call(t))return!1;if(\"[object Symbol]\"!==Object.prototype.toString.call(n))return!1;for(t in e[t]=42,e)return!1;if(\"function\"===typeof Object.keys&&0!==Object.keys(e).length)return!1;if(\"function\"===typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var r=Object.getOwnPropertySymbols(e);if(1!==r.length||r[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if(\"function\"===typeof Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(e,t);if(42!==i.value||!0!==i.enumerable)return!1}return!0}},function(e,t,n){\"use strict\";var r=n(167);e.exports=r.call(Function.call,Object.prototype.hasOwnProperty)},function(e,t,n){\"use strict\";var r=n(374),i=n(166);e.exports=function(){var e=r();return i(Object,{is:e},{is:function(){return Object.is!==e}}),e}},function(e,t,n){\"use strict\";var r,i,o,a,s=n(262)()&&\"symbol\"===typeof Symbol.toStringTag;if(s){r=Function.call.bind(Object.prototype.hasOwnProperty),i=Function.call.bind(RegExp.prototype.exec),o={};var c=function(){throw o};a={toString:c,valueOf:c},\"symbol\"===typeof Symbol.toPrimitive&&(a[Symbol.toPrimitive]=c)}var u=Object.prototype.toString,l=Object.getOwnPropertyDescriptor;e.exports=s?function(e){if(!e||\"object\"!==typeof e)return!1;var t=l(e,\"lastIndex\");if(!(t&&r(t,\"value\")))return!1;try{i(e,a)}catch(n){return n===o}}:function(e){return!(!e||\"object\"!==typeof e&&\"function\"!==typeof e)&&\"[object RegExp]\"===u.call(e)}},function(e,t,n){\"use strict\";var r=n(166),i=n(689),o=n(375),a=n(376),s=n(691),c=i(o);r(c,{getPolyfill:a,implementation:o,shim:s}),e.exports=c},function(e,t,n){\"use strict\";var r=n(167),i=n(690),o=i(\"%Function.prototype.apply%\"),a=i(\"%Function.prototype.call%\"),s=i(\"%Reflect.apply%\",!0)||r.call(a,o),c=i(\"%Object.defineProperty%\",!0);if(c)try{c({},\"a\",{value:1})}catch(l){c=null}e.exports=function(){return s(r,a,arguments)};var u=function(){return s(r,o,arguments)};c?c(e.exports,\"apply\",{value:u}):e.exports.apply=u},function(e,t,n){\"use strict\";var r,i=TypeError,o=Object.getOwnPropertyDescriptor;if(o)try{o({},\"\")}catch(w){o=null}var a=function(){throw new i},s=o?function(){try{return a}catch(e){try{return o(arguments,\"callee\").get}catch(t){return a}}}():a,c=n(262)(),u=Object.getPrototypeOf||function(e){return e.__proto__},l=r,f=r,d=r,h=r,p=\"undefined\"===typeof Uint8Array?r:u(Uint8Array),g={\"%Array%\":Array,\"%ArrayBuffer%\":\"undefined\"===typeof ArrayBuffer?r:ArrayBuffer,\"%ArrayBufferPrototype%\":\"undefined\"===typeof ArrayBuffer?r:ArrayBuffer.prototype,\"%ArrayIteratorPrototype%\":c?u([][Symbol.iterator]()):r,\"%ArrayPrototype%\":Array.prototype,\"%ArrayProto_entries%\":Array.prototype.entries,\"%ArrayProto_forEach%\":Array.prototype.forEach,\"%ArrayProto_keys%\":Array.prototype.keys,\"%ArrayProto_values%\":Array.prototype.values,\"%AsyncFromSyncIteratorPrototype%\":r,\"%AsyncFunction%\":f,\"%AsyncFunctionPrototype%\":r,\"%AsyncGenerator%\":r,\"%AsyncGeneratorFunction%\":d,\"%AsyncGeneratorPrototype%\":r,\"%AsyncIteratorPrototype%\":h&&c&&Symbol.asyncIterator?h[Symbol.asyncIterator]():r,\"%Atomics%\":\"undefined\"===typeof Atomics?r:Atomics,\"%Boolean%\":Boolean,\"%BooleanPrototype%\":Boolean.prototype,\"%DataView%\":\"undefined\"===typeof DataView?r:DataView,\"%DataViewPrototype%\":\"undefined\"===typeof DataView?r:DataView.prototype,\"%Date%\":Date,\"%DatePrototype%\":Date.prototype,\"%decodeURI%\":decodeURI,\"%decodeURIComponent%\":decodeURIComponent,\"%encodeURI%\":encodeURI,\"%encodeURIComponent%\":encodeURIComponent,\"%Error%\":Error,\"%ErrorPrototype%\":Error.prototype,\"%eval%\":eval,\"%EvalError%\":EvalError,\"%EvalErrorPrototype%\":EvalError.prototype,\"%Float32Array%\":\"undefined\"===typeof Float32Array?r:Float32Array,\"%Float32ArrayPrototype%\":\"undefined\"===typeof Float32Array?r:Float32Array.prototype,\"%Float64Array%\":\"undefined\"===typeof Float64Array?r:Float64Array,\"%Float64ArrayPrototype%\":\"undefined\"===typeof Float64Array?r:Float64Array.prototype,\"%Function%\":Function,\"%FunctionPrototype%\":Function.prototype,\"%Generator%\":r,\"%GeneratorFunction%\":l,\"%GeneratorPrototype%\":r,\"%Int8Array%\":\"undefined\"===typeof Int8Array?r:Int8Array,\"%Int8ArrayPrototype%\":\"undefined\"===typeof Int8Array?r:Int8Array.prototype,\"%Int16Array%\":\"undefined\"===typeof Int16Array?r:Int16Array,\"%Int16ArrayPrototype%\":\"undefined\"===typeof Int16Array?r:Int8Array.prototype,\"%Int32Array%\":\"undefined\"===typeof Int32Array?r:Int32Array,\"%Int32ArrayPrototype%\":\"undefined\"===typeof Int32Array?r:Int32Array.prototype,\"%isFinite%\":isFinite,\"%isNaN%\":isNaN,\"%IteratorPrototype%\":c?u(u([][Symbol.iterator]())):r,\"%JSON%\":\"object\"===typeof JSON?JSON:r,\"%JSONParse%\":\"object\"===typeof JSON?JSON.parse:r,\"%Map%\":\"undefined\"===typeof Map?r:Map,\"%MapIteratorPrototype%\":\"undefined\"!==typeof Map&&c?u((new Map)[Symbol.iterator]()):r,\"%MapPrototype%\":\"undefined\"===typeof Map?r:Map.prototype,\"%Math%\":Math,\"%Number%\":Number,\"%NumberPrototype%\":Number.prototype,\"%Object%\":Object,\"%ObjectPrototype%\":Object.prototype,\"%ObjProto_toString%\":Object.prototype.toString,\"%ObjProto_valueOf%\":Object.prototype.valueOf,\"%parseFloat%\":parseFloat,\"%parseInt%\":parseInt,\"%Promise%\":\"undefined\"===typeof Promise?r:Promise,\"%PromisePrototype%\":\"undefined\"===typeof Promise?r:Promise.prototype,\"%PromiseProto_then%\":\"undefined\"===typeof Promise?r:Promise.prototype.then,\"%Promise_all%\":\"undefined\"===typeof Promise?r:Promise.all,\"%Promise_reject%\":\"undefined\"===typeof Promise?r:Promise.reject,\"%Promise_resolve%\":\"undefined\"===typeof Promise?r:Promise.resolve,\"%Proxy%\":\"undefined\"===typeof Proxy?r:Proxy,\"%RangeError%\":RangeError,\"%RangeErrorPrototype%\":RangeError.prototype,\"%ReferenceError%\":ReferenceError,\"%ReferenceErrorPrototype%\":ReferenceError.prototype,\"%Reflect%\":\"undefined\"===typeof Reflect?r:Reflect,\"%RegExp%\":RegExp,\"%RegExpPrototype%\":RegExp.prototype,\"%Set%\":\"undefined\"===typeof Set?r:Set,\"%SetIteratorPrototype%\":\"undefined\"!==typeof Set&&c?u((new Set)[Symbol.iterator]()):r,\"%SetPrototype%\":\"undefined\"===typeof Set?r:Set.prototype,\"%SharedArrayBuffer%\":\"undefined\"===typeof SharedArrayBuffer?r:SharedArrayBuffer,\"%SharedArrayBufferPrototype%\":\"undefined\"===typeof SharedArrayBuffer?r:SharedArrayBuffer.prototype,\"%String%\":String,\"%StringIteratorPrototype%\":c?u(\"\"[Symbol.iterator]()):r,\"%StringPrototype%\":String.prototype,\"%Symbol%\":c?Symbol:r,\"%SymbolPrototype%\":c?Symbol.prototype:r,\"%SyntaxError%\":SyntaxError,\"%SyntaxErrorPrototype%\":SyntaxError.prototype,\"%ThrowTypeError%\":s,\"%TypedArray%\":p,\"%TypedArrayPrototype%\":p?p.prototype:r,\"%TypeError%\":i,\"%TypeErrorPrototype%\":i.prototype,\"%Uint8Array%\":\"undefined\"===typeof Uint8Array?r:Uint8Array,\"%Uint8ArrayPrototype%\":\"undefined\"===typeof Uint8Array?r:Uint8Array.prototype,\"%Uint8ClampedArray%\":\"undefined\"===typeof Uint8ClampedArray?r:Uint8ClampedArray,\"%Uint8ClampedArrayPrototype%\":\"undefined\"===typeof Uint8ClampedArray?r:Uint8ClampedArray.prototype,\"%Uint16Array%\":\"undefined\"===typeof Uint16Array?r:Uint16Array,\"%Uint16ArrayPrototype%\":\"undefined\"===typeof Uint16Array?r:Uint16Array.prototype,\"%Uint32Array%\":\"undefined\"===typeof Uint32Array?r:Uint32Array,\"%Uint32ArrayPrototype%\":\"undefined\"===typeof Uint32Array?r:Uint32Array.prototype,\"%URIError%\":URIError,\"%URIErrorPrototype%\":URIError.prototype,\"%WeakMap%\":\"undefined\"===typeof WeakMap?r:WeakMap,\"%WeakMapPrototype%\":\"undefined\"===typeof WeakMap?r:WeakMap.prototype,\"%WeakSet%\":\"undefined\"===typeof WeakSet?r:WeakSet,\"%WeakSetPrototype%\":\"undefined\"===typeof WeakSet?r:WeakSet.prototype},y=n(167).call(Function.call,String.prototype.replace),m=/[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g,b=/\\\\(\\\\)?/g,v=function(e){var t=[];return y(e,m,(function(e,n,r,i){t[t.length]=r?y(i,b,\"$1\"):n||e})),t},x=function(e,t){if(!(e in g))throw new SyntaxError(\"intrinsic \"+e+\" does not exist!\");if(\"undefined\"===typeof g[e]&&!t)throw new i(\"intrinsic \"+e+\" exists, but is not available. Please file an issue!\");return g[e]};e.exports=function(e,t){if(\"string\"!==typeof e||0===e.length)throw new TypeError(\"intrinsic name must be a non-empty string\");if(arguments.length>1&&\"boolean\"!==typeof t)throw new TypeError('\"allowMissing\" argument must be a boolean');for(var n=v(e),r=x(\"%\"+(n.length>0?n[0]:\"\")+\"%\",t),a=1;a<n.length;a+=1)if(null!=r)if(o&&a+1>=n.length){var s=o(r,n[a]);if(!t&&!(n[a]in r))throw new i(\"base intrinsic for \"+e+\" exists, but the property is not available.\");r=s&&\"get\"in s&&!(\"originalValue\"in s.get)?s.get:r[n[a]]}else r=r[n[a]];return r}},function(e,t,n){\"use strict\";var r=n(166).supportsDescriptors,i=n(376),o=Object.getOwnPropertyDescriptor,a=Object.defineProperty,s=TypeError,c=Object.getPrototypeOf,u=/a/;e.exports=function(){if(!r||!c)throw new s(\"RegExp.prototype.flags requires a true ES5 environment that supports property descriptors\");var e=i(),t=c(u),n=o(t,\"flags\");return n&&n.get===e||a(t,\"flags\",{configurable:!0,enumerable:!1,get:e}),e}},function(e,t,n){\"use strict\";var r=Date.prototype.getDay,i=Object.prototype.toString,o=\"function\"===typeof Symbol&&\"symbol\"===typeof Symbol.toStringTag;e.exports=function(e){return\"object\"===typeof e&&null!==e&&(o?function(e){try{return r.call(e),!0}catch(t){return!1}}(e):\"[object Date]\"===i.call(e))}},,,,,,,function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(385)),s=n(266),c=n(700),u=n(62),l=n(69),f=n(22);function d(e){return\"function\"===typeof e?e():e}var h=\"undefined\"!==typeof window?o.useLayoutEffect:o.useEffect,p={},g=o.forwardRef((function(e,t){var n=e.anchorEl,g=e.children,y=e.container,m=e.disablePortal,b=void 0!==m&&m,v=e.keepMounted,x=void 0!==v&&v,w=e.modifiers,_=e.open,k=e.placement,O=void 0===k?\"bottom\":k,E=e.popperOptions,S=void 0===E?p:E,C=e.popperRef,T=e.style,j=e.transition,A=void 0!==j&&j,M=Object(i.a)(e,[\"anchorEl\",\"children\",\"container\",\"disablePortal\",\"keepMounted\",\"modifiers\",\"open\",\"placement\",\"popperOptions\",\"popperRef\",\"style\",\"transition\"]),P=o.useRef(null),N=Object(f.a)(P,t),D=o.useRef(null),R=Object(f.a)(D,C),I=o.useRef(R);h((function(){I.current=R}),[R]),o.useImperativeHandle(C,(function(){return D.current}),[]);var L=o.useState(!0),B=L[0],F=L[1],z=function(e,t){if(\"ltr\"===(t&&t.direction||\"ltr\"))return e;switch(e){case\"bottom-end\":return\"bottom-start\";case\"bottom-start\":return\"bottom-end\";case\"top-end\":return\"top-start\";case\"top-start\":return\"top-end\";default:return e}}(O,Object(s.a)()),U=o.useState(z),H=U[0],W=U[1];o.useEffect((function(){D.current&&D.current.update()}));var Y=o.useCallback((function(){if(P.current&&n&&_){D.current&&(D.current.destroy(),I.current(null));var e=function(e){W(e.placement)},t=(d(n),new a.a(d(n),P.current,Object(r.a)({placement:z},S,{modifiers:Object(r.a)({},b?{}:{preventOverflow:{boundariesElement:\"window\"}},w,S.modifiers),onCreate:Object(u.a)(e,S.onCreate),onUpdate:Object(u.a)(e,S.onUpdate)})));I.current(t)}}),[n,b,w,_,z,S]),V=o.useCallback((function(e){Object(l.a)(N,e),Y()}),[N,Y]),q=function(){D.current&&(D.current.destroy(),I.current(null))};if(o.useEffect((function(){return function(){q()}}),[]),o.useEffect((function(){_||A||q()}),[_,A]),!x&&!_&&(!A||B))return null;var $={placement:H};return A&&($.TransitionProps={in:_,onEnter:function(){F(!1)},onExited:function(){F(!0),q()}}),o.createElement(c.a,{disablePortal:b,container:y},o.createElement(\"div\",Object(r.a)({ref:V,role:\"tooltip\"},M,{style:Object(r.a)({position:\"fixed\",top:0,left:0,display:_||!x||A?null:\"none\"},T)}),\"function\"===typeof g?g($):g))}));t.a=g},function(e,t,n){\"use strict\";var r=n(0),i=n(25),o=(n(1),n(69)),a=n(22);var s=\"undefined\"!==typeof window?r.useLayoutEffect:r.useEffect,c=r.forwardRef((function(e,t){var n=e.children,c=e.container,u=e.disablePortal,l=void 0!==u&&u,f=e.onRendered,d=r.useState(null),h=d[0],p=d[1],g=Object(a.a)(r.isValidElement(n)?n.ref:null,t);return s((function(){l||p(function(e){return e=\"function\"===typeof e?e():e,i.findDOMNode(e)}(c)||document.body)}),[c,l]),s((function(){if(h&&!l)return Object(o.a)(t,h),function(){Object(o.a)(t,null)}}),[t,h,l]),s((function(){f&&(h||l)&&f()}),[f,h,l]),l?r.isValidElement(n)?r.cloneElement(n,{ref:g}):n:h?i.createPortal(n,h):h}));t.a=c},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(6)),s=n(8),c=n(224),u=n(148),l=n(22),f=n(105),d=n(25),h=\"undefined\"===typeof window?o.useEffect:o.useLayoutEffect,p=o.forwardRef((function(e,t){var n=e.alignItems,s=void 0===n?\"center\":n,p=e.autoFocus,g=void 0!==p&&p,y=e.button,m=void 0!==y&&y,b=e.children,v=e.classes,x=e.className,w=e.component,_=e.ContainerComponent,k=void 0===_?\"li\":_,O=e.ContainerProps,E=(O=void 0===O?{}:O).className,S=Object(i.a)(O,[\"className\"]),C=e.dense,T=void 0!==C&&C,j=e.disabled,A=void 0!==j&&j,M=e.disableGutters,P=void 0!==M&&M,N=e.divider,D=void 0!==N&&N,R=e.focusVisibleClassName,I=e.selected,L=void 0!==I&&I,B=Object(i.a)(e,[\"alignItems\",\"autoFocus\",\"button\",\"children\",\"classes\",\"className\",\"component\",\"ContainerComponent\",\"ContainerProps\",\"dense\",\"disabled\",\"disableGutters\",\"divider\",\"focusVisibleClassName\",\"selected\"]),F=o.useContext(f.a),z={dense:T||F.dense||!1,alignItems:s},U=o.useRef(null);h((function(){g&&U.current&&U.current.focus()}),[g]);var H=o.Children.toArray(b),W=H.length&&Object(u.a)(H[H.length-1],[\"ListItemSecondaryAction\"]),Y=o.useCallback((function(e){U.current=d.findDOMNode(e)}),[]),V=Object(l.a)(Y,t),q=Object(r.a)({className:Object(a.a)(v.root,x,z.dense&&v.dense,!P&&v.gutters,D&&v.divider,A&&v.disabled,m&&v.button,\"center\"!==s&&v.alignItemsFlexStart,W&&v.secondaryAction,L&&v.selected),disabled:A},B),$=w||\"li\";return m&&(q.component=w||\"div\",q.focusVisibleClassName=Object(a.a)(v.focusVisible,R),$=c.a),W?($=q.component||w?$:\"div\",\"li\"===k&&(\"li\"===$?$=\"div\":\"li\"===q.component&&(q.component=\"div\")),o.createElement(f.a.Provider,{value:z},o.createElement(k,Object(r.a)({className:Object(a.a)(v.container,E),ref:V},S),o.createElement($,q,H),H.pop()))):o.createElement(f.a.Provider,{value:z},o.createElement($,Object(r.a)({ref:V},q),H))}));t.a=Object(s.a)((function(e){return{root:{display:\"flex\",justifyContent:\"flex-start\",alignItems:\"center\",position:\"relative\",textDecoration:\"none\",width:\"100%\",boxSizing:\"border-box\",textAlign:\"left\",paddingTop:8,paddingBottom:8,\"&$focusVisible\":{backgroundColor:e.palette.action.selected},\"&$selected, &$selected:hover\":{backgroundColor:e.palette.action.selected},\"&$disabled\":{opacity:.5}},container:{position:\"relative\"},focusVisible:{},dense:{paddingTop:4,paddingBottom:4},alignItemsFlexStart:{alignItems:\"flex-start\"},disabled:{},divider:{borderBottom:\"1px solid \".concat(e.palette.divider),backgroundClip:\"padding-box\"},gutters:{paddingLeft:16,paddingRight:16},button:{transition:e.transitions.create(\"background-color\",{duration:e.transitions.duration.shortest}),\"&:hover\":{textDecoration:\"none\",backgroundColor:e.palette.action.hover,\"@media (hover: none)\":{backgroundColor:\"transparent\"}}},secondaryAction:{paddingRight:48},selected:{}}}),{name:\"MuiListItem\"})(p)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(6)),s=n(8),c=n(19),u=n(224),l=n(17),f=o.forwardRef((function(e,t){var n=e.edge,s=void 0!==n&&n,c=e.children,f=e.classes,d=e.className,h=e.color,p=void 0===h?\"default\":h,g=e.disabled,y=void 0!==g&&g,m=e.disableFocusRipple,b=void 0!==m&&m,v=e.size,x=void 0===v?\"medium\":v,w=Object(i.a)(e,[\"edge\",\"children\",\"classes\",\"className\",\"color\",\"disabled\",\"disableFocusRipple\",\"size\"]);return o.createElement(u.a,Object(r.a)({className:Object(a.a)(f.root,d,\"default\"!==p&&f[\"color\".concat(Object(l.a)(p))],y&&f.disabled,\"small\"===x&&f[\"size\".concat(Object(l.a)(x))],{start:f.edgeStart,end:f.edgeEnd}[s]),centerRipple:!0,focusRipple:!b,disabled:y,ref:t},w),o.createElement(\"span\",{className:f.label},c))}));t.a=Object(s.a)((function(e){return{root:{textAlign:\"center\",flex:\"0 0 auto\",fontSize:e.typography.pxToRem(24),padding:12,borderRadius:\"50%\",overflow:\"visible\",color:e.palette.action.active,transition:e.transitions.create(\"background-color\",{duration:e.transitions.duration.shortest}),\"&:hover\":{backgroundColor:Object(c.c)(e.palette.action.active,e.palette.action.hoverOpacity),\"@media (hover: none)\":{backgroundColor:\"transparent\"}},\"&$disabled\":{backgroundColor:\"transparent\",color:e.palette.action.disabled}},edgeStart:{marginLeft:-12,\"$sizeSmall&\":{marginLeft:-3}},edgeEnd:{marginRight:-12,\"$sizeSmall&\":{marginRight:-3}},colorInherit:{color:\"inherit\"},colorPrimary:{color:e.palette.primary.main,\"&:hover\":{backgroundColor:Object(c.c)(e.palette.primary.main,e.palette.action.hoverOpacity),\"@media (hover: none)\":{backgroundColor:\"transparent\"}}},colorSecondary:{color:e.palette.secondary.main,\"&:hover\":{backgroundColor:Object(c.c)(e.palette.secondary.main,e.palette.action.hoverOpacity),\"@media (hover: none)\":{backgroundColor:\"transparent\"}}},disabled:{},sizeSmall:{padding:3,fontSize:e.typography.pxToRem(18)},label:{width:\"100%\",display:\"flex\",alignItems:\"inherit\",justifyContent:\"inherit\"}}}),{name:\"MuiIconButton\"})(f)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(6)),s=n(8),c=o.forwardRef((function(e,t){var n=e.classes,s=e.className,c=e.row,u=void 0!==c&&c,l=Object(i.a)(e,[\"classes\",\"className\",\"row\"]);return o.createElement(\"div\",Object(r.a)({className:Object(a.a)(n.root,s,u&&n.row),ref:t},l))}));t.a=Object(s.a)({root:{display:\"flex\",flexDirection:\"column\",flexWrap:\"wrap\"},row:{flexDirection:\"row\"}},{name:\"MuiFormGroup\"})(c)},function(e,t,n){\"use strict\";var r=n(7),i=n(3),o=n(0),a=(n(1),n(6)),s=n(68),c=n(60),u=n(8),l=o.forwardRef((function(e,t){var n=e.children,u=e.classes,l=e.className,f=e.component,d=void 0===f?\"p\":f,h=(e.disabled,e.error,e.filled,e.focused,e.margin,e.required,e.variant,Object(r.a)(e,[\"children\",\"classes\",\"className\",\"component\",\"disabled\",\"error\",\"filled\",\"focused\",\"margin\",\"required\",\"variant\"])),p=Object(c.a)(),g=Object(s.a)({props:e,muiFormControl:p,states:[\"variant\",\"margin\",\"disabled\",\"error\",\"filled\",\"focused\",\"required\"]});return o.createElement(d,Object(i.a)({className:Object(a.a)(u.root,(\"filled\"===g.variant||\"outlined\"===g.variant)&&u.contained,l,g.disabled&&u.disabled,g.error&&u.error,g.filled&&u.filled,g.focused&&u.focused,g.required&&u.required,\"dense\"===g.margin&&u.marginDense),ref:t},h),\" \"===n?o.createElement(\"span\",{dangerouslySetInnerHTML:{__html:\"&#8203;\"}}):n)}));t.a=Object(u.a)((function(e){return{root:Object(i.a)({color:e.palette.text.secondary},e.typography.caption,{textAlign:\"left\",marginTop:3,margin:0,\"&$disabled\":{color:e.palette.text.disabled},\"&$error\":{color:e.palette.error.main}}),error:{},disabled:{},marginDense:{marginTop:4},contained:{marginLeft:14,marginRight:14},focused:{},filled:{},required:{}}}),{name:\"MuiFormHelperText\"})(l)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(6)),s=n(398),c=n(8),u=o.forwardRef((function(e,t){var n=e.disableUnderline,c=e.classes,u=e.fullWidth,l=void 0!==u&&u,f=e.inputComponent,d=void 0===f?\"input\":f,h=e.multiline,p=void 0!==h&&h,g=e.type,y=void 0===g?\"text\":g,m=Object(i.a)(e,[\"disableUnderline\",\"classes\",\"fullWidth\",\"inputComponent\",\"multiline\",\"type\"]);return o.createElement(s.a,Object(r.a)({classes:Object(r.a)({},c,{root:Object(a.a)(c.root,!n&&c.underline),underline:null}),fullWidth:l,inputComponent:d,multiline:p,ref:t,type:y},m))}));u.muiName=\"Input\",t.a=Object(c.a)((function(e){var t=\"light\"===e.palette.type?\"rgba(0, 0, 0, 0.42)\":\"rgba(255, 255, 255, 0.7)\";return{root:{position:\"relative\"},formControl:{\"label + &\":{marginTop:16}},focused:{},disabled:{},colorSecondary:{\"&$underline:after\":{borderBottomColor:e.palette.secondary.main}},underline:{\"&:after\":{borderBottom:\"2px solid \".concat(e.palette.primary.main),left:0,bottom:0,content:'\"\"',position:\"absolute\",right:0,transform:\"scaleX(0)\",transition:e.transitions.create(\"transform\",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),pointerEvents:\"none\"},\"&$focused:after\":{transform:\"scaleX(1)\"},\"&$error:after\":{borderBottomColor:e.palette.error.main,transform:\"scaleX(1)\"},\"&:before\":{borderBottom:\"1px solid \".concat(t),left:0,bottom:0,content:'\"\\\\00a0\"',position:\"absolute\",right:0,transition:e.transitions.create(\"border-bottom-color\",{duration:e.transitions.duration.shorter}),pointerEvents:\"none\"},\"&:hover:not($disabled):before\":{borderBottom:\"2px solid \".concat(e.palette.text.primary),\"@media (hover: none)\":{borderBottom:\"1px solid \".concat(t)}},\"&$disabled:before\":{borderBottomStyle:\"dotted\"}},error:{},marginDense:{},multiline:{},fullWidth:{},input:{},inputMarginDense:{},inputMultiline:{},inputTypeSearch:{}}}),{name:\"MuiInput\"})(u)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(6)),s=n(398),c=n(8),u=o.forwardRef((function(e,t){var n=e.disableUnderline,c=e.classes,u=e.fullWidth,l=void 0!==u&&u,f=e.inputComponent,d=void 0===f?\"input\":f,h=e.multiline,p=void 0!==h&&h,g=e.type,y=void 0===g?\"text\":g,m=Object(i.a)(e,[\"disableUnderline\",\"classes\",\"fullWidth\",\"inputComponent\",\"multiline\",\"type\"]);return o.createElement(s.a,Object(r.a)({classes:Object(r.a)({},c,{root:Object(a.a)(c.root,!n&&c.underline),underline:null}),fullWidth:l,inputComponent:d,multiline:p,ref:t,type:y},m))}));u.muiName=\"Input\",t.a=Object(c.a)((function(e){var t=\"light\"===e.palette.type,n=t?\"rgba(0, 0, 0, 0.42)\":\"rgba(255, 255, 255, 0.7)\",r=t?\"rgba(0, 0, 0, 0.09)\":\"rgba(255, 255, 255, 0.09)\";return{root:{position:\"relative\",backgroundColor:r,borderTopLeftRadius:e.shape.borderRadius,borderTopRightRadius:e.shape.borderRadius,transition:e.transitions.create(\"background-color\",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),\"&:hover\":{backgroundColor:t?\"rgba(0, 0, 0, 0.13)\":\"rgba(255, 255, 255, 0.13)\",\"@media (hover: none)\":{backgroundColor:r}},\"&$focused\":{backgroundColor:t?\"rgba(0, 0, 0, 0.09)\":\"rgba(255, 255, 255, 0.09)\"},\"&$disabled\":{backgroundColor:t?\"rgba(0, 0, 0, 0.12)\":\"rgba(255, 255, 255, 0.12)\"}},colorSecondary:{\"&$underline:after\":{borderBottomColor:e.palette.secondary.main}},underline:{\"&:after\":{borderBottom:\"2px solid \".concat(e.palette.primary.main),left:0,bottom:0,content:'\"\"',position:\"absolute\",right:0,transform:\"scaleX(0)\",transition:e.transitions.create(\"transform\",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),pointerEvents:\"none\"},\"&$focused:after\":{transform:\"scaleX(1)\"},\"&$error:after\":{borderBottomColor:e.palette.error.main,transform:\"scaleX(1)\"},\"&:before\":{borderBottom:\"1px solid \".concat(n),left:0,bottom:0,content:'\"\\\\00a0\"',position:\"absolute\",right:0,transition:e.transitions.create(\"border-bottom-color\",{duration:e.transitions.duration.shorter}),pointerEvents:\"none\"},\"&:hover:before\":{borderBottom:\"1px solid \".concat(e.palette.text.primary)},\"&$disabled:before\":{borderBottomStyle:\"dotted\"}},focused:{},disabled:{},adornedStart:{paddingLeft:12},adornedEnd:{paddingRight:12},error:{},marginDense:{},multiline:{padding:\"27px 12px 10px\",\"&$marginDense\":{paddingTop:23,paddingBottom:6}},input:{padding:\"27px 12px 10px\",\"&:-webkit-autofill\":{WebkitBoxShadow:\"light\"===e.palette.type?null:\"0 0 0 100px #266798 inset\",WebkitTextFillColor:\"light\"===e.palette.type?null:\"#fff\",caretColor:\"light\"===e.palette.type?null:\"#fff\",borderTopLeftRadius:\"inherit\",borderTopRightRadius:\"inherit\"}},inputMarginDense:{paddingTop:23,paddingBottom:6},inputHiddenLabel:{paddingTop:18,paddingBottom:19,\"&$inputMarginDense\":{paddingTop:10,paddingBottom:11}},inputMultiline:{padding:0},inputAdornedStart:{paddingLeft:0},inputAdornedEnd:{paddingRight:0}}}),{name:\"MuiFilledInput\"})(u)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(6)),s=n(125),c=n(8),u=n(17),l=n(148),f=n(83),d=o.forwardRef((function(e,t){var n=e.children,c=e.classes,d=e.className,h=e.color,p=void 0===h?\"primary\":h,g=e.component,y=void 0===g?\"div\":g,m=e.disabled,b=void 0!==m&&m,v=e.error,x=void 0!==v&&v,w=e.fullWidth,_=void 0!==w&&w,k=e.focused,O=e.hiddenLabel,E=void 0!==O&&O,S=e.margin,C=void 0===S?\"none\":S,T=e.required,j=void 0!==T&&T,A=e.size,M=e.variant,P=void 0===M?\"standard\":M,N=Object(i.a)(e,[\"children\",\"classes\",\"className\",\"color\",\"component\",\"disabled\",\"error\",\"fullWidth\",\"focused\",\"hiddenLabel\",\"margin\",\"required\",\"size\",\"variant\"]),D=o.useState((function(){var e=!1;return n&&o.Children.forEach(n,(function(t){if(Object(l.a)(t,[\"Input\",\"Select\"])){var n=Object(l.a)(t,[\"Select\"])?t.props.input:t;n&&Object(s.a)(n.props)&&(e=!0)}})),e})),R=D[0],I=D[1],L=o.useState((function(){var e=!1;return n&&o.Children.forEach(n,(function(t){Object(l.a)(t,[\"Input\",\"Select\"])&&Object(s.b)(t.props,!0)&&(e=!0)})),e})),B=L[0],F=L[1],z=o.useState(!1),U=z[0],H=z[1],W=void 0!==k?k:U;b&&W&&H(!1);var Y=o.useCallback((function(){F(!0)}),[]),V={adornedStart:R,setAdornedStart:I,color:p,disabled:b,error:x,filled:B,focused:W,fullWidth:_,hiddenLabel:E,margin:(\"small\"===A?\"dense\":void 0)||C,onBlur:function(){H(!1)},onEmpty:o.useCallback((function(){F(!1)}),[]),onFilled:Y,onFocus:function(){H(!0)},registerEffect:undefined,required:j,variant:P};return o.createElement(f.a.Provider,{value:V},o.createElement(y,Object(r.a)({className:Object(a.a)(c.root,d,\"none\"!==C&&c[\"margin\".concat(Object(u.a)(C))],_&&c.fullWidth),ref:t},N),n))}));t.a=Object(c.a)({root:{display:\"inline-flex\",flexDirection:\"column\",position:\"relative\",minWidth:0,padding:0,margin:0,border:0,verticalAlign:\"top\"},marginNormal:{marginTop:16,marginBottom:8},marginDense:{marginTop:8,marginBottom:4},fullWidth:{width:\"100%\"}},{name:\"MuiFormControl\"})(d)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(6)),s=n(68),c=n(60),u=n(8),l=n(709),f=o.forwardRef((function(e,t){var n=e.classes,u=e.className,f=e.disableAnimation,d=void 0!==f&&f,h=(e.margin,e.shrink),p=(e.variant,Object(i.a)(e,[\"classes\",\"className\",\"disableAnimation\",\"margin\",\"shrink\",\"variant\"])),g=Object(c.a)(),y=h;\"undefined\"===typeof y&&g&&(y=g.filled||g.focused||g.adornedStart);var m=Object(s.a)({props:e,muiFormControl:g,states:[\"margin\",\"variant\"]});return o.createElement(l.a,Object(r.a)({\"data-shrink\":y,className:Object(a.a)(n.root,u,g&&n.formControl,!d&&n.animated,y&&n.shrink,\"dense\"===m.margin&&n.marginDense,{filled:n.filled,outlined:n.outlined}[m.variant]),classes:{focused:n.focused,disabled:n.disabled,error:n.error,required:n.required,asterisk:n.asterisk},ref:t},p))}));t.a=Object(u.a)((function(e){return{root:{display:\"block\",transformOrigin:\"top left\"},focused:{},disabled:{},error:{},required:{},asterisk:{},formControl:{position:\"absolute\",left:0,top:0,transform:\"translate(0, 24px) scale(1)\"},marginDense:{transform:\"translate(0, 21px) scale(1)\"},shrink:{transform:\"translate(0, 1.5px) scale(0.75)\",transformOrigin:\"top left\"},animated:{transition:e.transitions.create([\"color\",\"transform\"],{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut})},filled:{zIndex:1,pointerEvents:\"none\",transform:\"translate(12px, 20px) scale(1)\",\"&$marginDense\":{transform:\"translate(12px, 17px) scale(1)\"},\"&$shrink\":{transform:\"translate(12px, 10px) scale(0.75)\",\"&$marginDense\":{transform:\"translate(12px, 7px) scale(0.75)\"}}},outlined:{zIndex:1,pointerEvents:\"none\",transform:\"translate(14px, 20px) scale(1)\",\"&$marginDense\":{transform:\"translate(14px, 12px) scale(1)\"},\"&$shrink\":{transform:\"translate(14px, -6px) scale(0.75)\"}}}}),{name:\"MuiInputLabel\"})(f)},function(e,t,n){\"use strict\";var r=n(7),i=n(3),o=n(0),a=(n(1),n(6)),s=n(68),c=n(60),u=n(17),l=n(8),f=o.forwardRef((function(e,t){var n=e.children,l=e.classes,f=e.className,d=(e.color,e.component),h=void 0===d?\"label\":d,p=(e.disabled,e.error,e.filled,e.focused,e.required,Object(r.a)(e,[\"children\",\"classes\",\"className\",\"color\",\"component\",\"disabled\",\"error\",\"filled\",\"focused\",\"required\"])),g=Object(c.a)(),y=Object(s.a)({props:e,muiFormControl:g,states:[\"color\",\"required\",\"focused\",\"disabled\",\"error\",\"filled\"]});return o.createElement(h,Object(i.a)({className:Object(a.a)(l.root,l[\"color\".concat(Object(u.a)(y.color||\"primary\"))],f,y.disabled&&l.disabled,y.error&&l.error,y.filled&&l.filled,y.focused&&l.focused,y.required&&l.required),ref:t},p),n,y.required&&o.createElement(\"span\",{\"aria-hidden\":!0,className:Object(a.a)(l.asterisk,y.error&&l.error)},\"\\u2009\",\"*\"))}));t.a=Object(l.a)((function(e){return{root:Object(i.a)({color:e.palette.text.secondary},e.typography.body1,{lineHeight:1,padding:0,\"&$focused\":{color:e.palette.primary.main},\"&$disabled\":{color:e.palette.text.disabled},\"&$error\":{color:e.palette.error.main}}),colorSecondary:{\"&$focused\":{color:e.palette.secondary.main}},focused:{},disabled:{},error:{},filled:{},required:{},asterisk:{\"&$error\":{color:e.palette.error.main}}}}),{name:\"MuiFormLabel\"})(f)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(746)),s=n(32),c=n(78),u=n(395),l=(n(128),n(6)),f=n(40),d=n(17),h=n(393),p=n(125),g=n(22),y=n(102);function m(e,t){return\"object\"===Object(c.a)(t)&&null!==t?e===t:String(e)===String(t)}var b=o.forwardRef((function(e,t){var n=e[\"aria-label\"],a=e.autoFocus,c=e.autoWidth,b=e.children,v=e.classes,x=e.className,w=e.defaultValue,_=e.disabled,k=e.displayEmpty,O=e.IconComponent,E=e.inputRef,S=e.labelId,C=e.MenuProps,T=void 0===C?{}:C,j=e.multiple,A=e.name,M=e.onBlur,P=e.onChange,N=e.onClose,D=e.onFocus,R=e.onOpen,I=e.open,L=e.readOnly,B=e.renderValue,F=e.SelectDisplayProps,z=void 0===F?{}:F,U=e.tabIndex,H=(e.type,e.value),W=e.variant,Y=void 0===W?\"standard\":W,V=Object(i.a)(e,[\"aria-label\",\"autoFocus\",\"autoWidth\",\"children\",\"classes\",\"className\",\"defaultValue\",\"disabled\",\"displayEmpty\",\"IconComponent\",\"inputRef\",\"labelId\",\"MenuProps\",\"multiple\",\"name\",\"onBlur\",\"onChange\",\"onClose\",\"onFocus\",\"onOpen\",\"open\",\"readOnly\",\"renderValue\",\"SelectDisplayProps\",\"tabIndex\",\"type\",\"value\",\"variant\"]),q=Object(y.a)({controlled:H,default:w,name:\"Select\"}),$=Object(s.a)(q,2),G=$[0],X=$[1],K=o.useRef(null),Z=o.useState(null),J=Z[0],Q=Z[1],ee=o.useRef(null!=I).current,te=o.useState(),ne=te[0],re=te[1],ie=o.useState(!1),oe=ie[0],ae=ie[1],se=Object(g.a)(t,E);o.useImperativeHandle(se,(function(){return{focus:function(){J.focus()},node:K.current,value:G}}),[J,G]),o.useEffect((function(){a&&J&&J.focus()}),[a,J]),o.useEffect((function(){if(J){var e=Object(f.a)(J).getElementById(S);if(e){var t=function(){getSelection().isCollapsed&&J.focus()};return e.addEventListener(\"click\",t),function(){e.removeEventListener(\"click\",t)}}}}),[S,J]);var ce,ue,le=function(e,t){e?R&&R(t):N&&N(t),ee||(re(c?null:J.clientWidth),ae(e))},fe=o.Children.toArray(b),de=function(e){return function(t){var n;if(j||le(!1,t),j){n=Array.isArray(G)?G.slice():[];var r=G.indexOf(e.props.value);-1===r?n.push(e.props.value):n.splice(r,1)}else n=e.props.value;e.props.onClick&&e.props.onClick(t),G!==n&&(X(n),P&&(t.persist(),Object.defineProperty(t,\"target\",{writable:!0,value:{value:n,name:A}}),P(t,e)))}},he=null!==J&&(ee?I:oe);delete V[\"aria-invalid\"];var pe=[],ge=!1;(Object(p.b)({value:G})||k)&&(B?ce=B(G):ge=!0);var ye=fe.map((function(e){if(!o.isValidElement(e))return null;var t;if(j){if(!Array.isArray(G))throw new Error(Object(u.a)(2));(t=G.some((function(t){return m(t,e.props.value)})))&&ge&&pe.push(e.props.children)}else(t=m(G,e.props.value))&&ge&&(ue=e.props.children);return t&&!0,o.cloneElement(e,{\"aria-selected\":t?\"true\":void 0,onClick:de(e),onKeyUp:function(t){\" \"===t.key&&t.preventDefault(),e.props.onKeyUp&&e.props.onKeyUp(t)},role:\"option\",selected:t,value:void 0,\"data-value\":e.props.value})}));ge&&(ce=j?pe.join(\", \"):ue);var me,be=ne;!c&&ee&&J&&(be=J.clientWidth),me=\"undefined\"!==typeof U?U:_?null:0;var ve=z.id||(A?\"mui-component-select-\".concat(A):void 0);return o.createElement(o.Fragment,null,o.createElement(\"div\",Object(r.a)({className:Object(l.a)(v.root,v.select,v.selectMenu,v[Y],x,_&&v.disabled),ref:Q,tabIndex:me,role:\"button\",\"aria-disabled\":_?\"true\":void 0,\"aria-expanded\":he?\"true\":void 0,\"aria-haspopup\":\"listbox\",\"aria-label\":n,\"aria-labelledby\":[S,ve].filter(Boolean).join(\" \")||void 0,onKeyDown:function(e){if(!L){-1!==[\" \",\"ArrowUp\",\"ArrowDown\",\"Enter\"].indexOf(e.key)&&(e.preventDefault(),le(!0,e))}},onMouseDown:_||L?null:function(e){0===e.button&&(e.preventDefault(),J.focus(),le(!0,e))},onBlur:function(e){!he&&M&&(e.persist(),Object.defineProperty(e,\"target\",{writable:!0,value:{value:G,name:A}}),M(e))},onFocus:D},z,{id:ve}),function(e){return null==e||\"string\"===typeof e&&!e.trim()}(ce)?o.createElement(\"span\",{dangerouslySetInnerHTML:{__html:\"&#8203;\"}}):ce),o.createElement(\"input\",Object(r.a)({value:Array.isArray(G)?G.join(\",\"):G,name:A,ref:K,\"aria-hidden\":!0,onChange:function(e){var t=fe.map((function(e){return e.props.value})).indexOf(e.target.value);if(-1!==t){var n=fe[t];X(n.props.value),P&&P(e,n)}},tabIndex:-1,className:v.nativeInput,autoFocus:a},V)),o.createElement(O,{className:Object(l.a)(v.icon,v[\"icon\".concat(Object(d.a)(Y))],he&&v.iconOpen,_&&v.disabled)}),o.createElement(h.a,Object(r.a)({id:\"menu-\".concat(A||\"\"),anchorEl:J,open:he,onClose:function(e){le(!1,e)}},T,{MenuListProps:Object(r.a)({\"aria-labelledby\":S,role:\"listbox\",disableListWrap:!0},T.MenuListProps),PaperProps:Object(r.a)({},T.PaperProps,{style:Object(r.a)({minWidth:be},null!=T.PaperProps?T.PaperProps.style:null)})}),ye))})),v=n(68),x=n(60),w=n(8),_=n(37),k=Object(_.a)(o.createElement(\"path\",{d:\"M7 10l5 5 5-5z\"}),\"ArrowDropDown\"),O=n(705),E=o.forwardRef((function(e,t){var n=e.classes,a=e.className,s=e.disabled,c=e.IconComponent,u=e.inputRef,f=e.variant,h=void 0===f?\"standard\":f,p=Object(i.a)(e,[\"classes\",\"className\",\"disabled\",\"IconComponent\",\"inputRef\",\"variant\"]);return o.createElement(o.Fragment,null,o.createElement(\"select\",Object(r.a)({className:Object(l.a)(n.root,n.select,n[h],a,s&&n.disabled),disabled:s,ref:u||t},p)),e.multiple?null:o.createElement(c,{className:Object(l.a)(n.icon,n[\"icon\".concat(Object(d.a)(h))],s&&n.disabled)}))})),S=function(e){return{root:{},select:{\"-moz-appearance\":\"none\",\"-webkit-appearance\":\"none\",userSelect:\"none\",borderRadius:0,minWidth:16,cursor:\"pointer\",\"&:focus\":{backgroundColor:\"light\"===e.palette.type?\"rgba(0, 0, 0, 0.05)\":\"rgba(255, 255, 255, 0.05)\",borderRadius:0},\"&::-ms-expand\":{display:\"none\"},\"&$disabled\":{cursor:\"default\"},\"&[multiple]\":{height:\"auto\"},\"&:not([multiple]) option, &:not([multiple]) optgroup\":{backgroundColor:e.palette.background.paper},\"&&\":{paddingRight:24}},filled:{\"&&\":{paddingRight:32}},outlined:{borderRadius:e.shape.borderRadius,\"&&\":{paddingRight:32}},selectMenu:{height:\"auto\",minHeight:\"1.1876em\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\",overflow:\"hidden\"},disabled:{},icon:{position:\"absolute\",right:0,top:\"calc(50% - 12px)\",pointerEvents:\"none\",color:e.palette.action.active,\"&$disabled\":{color:e.palette.action.disabled}},iconOpen:{transform:\"rotate(180deg)\"},iconFilled:{right:7},iconOutlined:{right:7},nativeInput:{bottom:0,left:0,position:\"absolute\",opacity:0,pointerEvents:\"none\",width:\"100%\"}}},C=o.createElement(O.a,null),T=o.forwardRef((function(e,t){var n=e.children,a=e.classes,s=e.IconComponent,c=void 0===s?k:s,u=e.input,l=void 0===u?C:u,f=e.inputProps,d=(e.variant,Object(i.a)(e,[\"children\",\"classes\",\"IconComponent\",\"input\",\"inputProps\",\"variant\"])),h=Object(x.a)(),p=Object(v.a)({props:e,muiFormControl:h,states:[\"variant\"]});return o.cloneElement(l,Object(r.a)({inputComponent:E,inputProps:Object(r.a)({children:n,classes:a,IconComponent:c,variant:p.variant,type:void 0},f,l?l.props.inputProps:{}),ref:t},d))}));T.muiName=\"Select\";Object(w.a)(S,{name:\"MuiNativeSelect\"})(T);var j=n(706),A=n(712),M=S,P=o.createElement(O.a,null),N=o.createElement(j.a,null),D=o.forwardRef((function e(t,n){var s=t.autoWidth,c=void 0!==s&&s,u=t.children,l=t.classes,f=t.displayEmpty,d=void 0!==f&&f,h=t.IconComponent,p=void 0===h?k:h,g=t.id,y=t.input,m=t.inputProps,w=t.label,_=t.labelId,O=t.labelWidth,S=void 0===O?0:O,C=t.MenuProps,T=t.multiple,j=void 0!==T&&T,M=t.native,D=void 0!==M&&M,R=t.onClose,I=t.onOpen,L=t.open,B=t.renderValue,F=t.SelectDisplayProps,z=t.variant,U=void 0===z?\"standard\":z,H=Object(i.a)(t,[\"autoWidth\",\"children\",\"classes\",\"displayEmpty\",\"IconComponent\",\"id\",\"input\",\"inputProps\",\"label\",\"labelId\",\"labelWidth\",\"MenuProps\",\"multiple\",\"native\",\"onClose\",\"onOpen\",\"open\",\"renderValue\",\"SelectDisplayProps\",\"variant\"]),W=D?E:b,Y=Object(x.a)(),V=Object(v.a)({props:t,muiFormControl:Y,states:[\"variant\"]}).variant||U,q=y||{standard:P,outlined:o.createElement(A.a,{label:w,labelWidth:S}),filled:N}[V];return o.cloneElement(q,Object(r.a)({inputComponent:W,inputProps:Object(r.a)({children:u,IconComponent:p,variant:V,type:void 0,multiple:j},D?{id:g}:{autoWidth:c,displayEmpty:d,labelId:_,MenuProps:C,onClose:R,onOpen:I,open:L,renderValue:B,SelectDisplayProps:Object(r.a)({id:g},F)},m,{classes:m?Object(a.a)({baseClasses:l,newClasses:m.classes,Component:e}):l},y?y.props.inputProps:{}),ref:n},H))}));D.muiName=\"Select\";t.a=Object(w.a)(M,{name:\"MuiSelect\"})(D)},function(e,t,n){\"use strict\";var r=n(7),i=n(3),o=n(0),a=n(25),s=(n(1),n(266)),c=n(747),u=n(40),l=n(700),f=n(62),d=n(22),h=n(42),p=n(208),g=n(89),y=n(59),m=n(61),b=n(214),v=n(144);function x(e,t){t?e.setAttribute(\"aria-hidden\",\"true\"):e.removeAttribute(\"aria-hidden\")}function w(e){return parseInt(window.getComputedStyle(e)[\"padding-right\"],10)||0}function _(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],i=arguments.length>4?arguments[4]:void 0,o=[t,n].concat(Object(m.a)(r)),a=[\"TEMPLATE\",\"SCRIPT\",\"STYLE\"];[].forEach.call(e.children,(function(e){1===e.nodeType&&-1===o.indexOf(e)&&-1===a.indexOf(e.tagName)&&x(e,i)}))}function k(e,t){var n=-1;return e.some((function(e,r){return!!t(e)&&(n=r,!0)})),n}function O(e,t){var n,r=[],i=[],o=e.container;if(!t.disableScrollLock){if(function(e){var t=Object(u.a)(e);return t.body===e?Object(v.a)(t).innerWidth>t.documentElement.clientWidth:e.scrollHeight>e.clientHeight}(o)){var a=Object(b.a)();r.push({value:o.style.paddingRight,key:\"padding-right\",el:o}),o.style[\"padding-right\"]=\"\".concat(w(o)+a,\"px\"),n=Object(u.a)(o).querySelectorAll(\".mui-fixed\"),[].forEach.call(n,(function(e){i.push(e.style.paddingRight),e.style.paddingRight=\"\".concat(w(e)+a,\"px\")}))}var s=o.parentElement,c=\"HTML\"===s.nodeName&&\"scroll\"===window.getComputedStyle(s)[\"overflow-y\"]?s:o;r.push({value:c.style.overflow,key:\"overflow\",el:c}),c.style.overflow=\"hidden\"}return function(){n&&[].forEach.call(n,(function(e,t){i[t]?e.style.paddingRight=i[t]:e.style.removeProperty(\"padding-right\")})),r.forEach((function(e){var t=e.value,n=e.el,r=e.key;t?n.style.setProperty(r,t):n.style.removeProperty(r)}))}}var E=function(){function e(){Object(g.a)(this,e),this.modals=[],this.containers=[]}return Object(y.a)(e,[{key:\"add\",value:function(e,t){var n=this.modals.indexOf(e);if(-1!==n)return n;n=this.modals.length,this.modals.push(e),e.modalRef&&x(e.modalRef,!1);var r=function(e){var t=[];return[].forEach.call(e.children,(function(e){e.getAttribute&&\"true\"===e.getAttribute(\"aria-hidden\")&&t.push(e)})),t}(t);_(t,e.mountNode,e.modalRef,r,!0);var i=k(this.containers,(function(e){return e.container===t}));return-1!==i?(this.containers[i].modals.push(e),n):(this.containers.push({modals:[e],container:t,restore:null,hiddenSiblingNodes:r}),n)}},{key:\"mount\",value:function(e,t){var n=k(this.containers,(function(t){return-1!==t.modals.indexOf(e)})),r=this.containers[n];r.restore||(r.restore=O(r,t))}},{key:\"remove\",value:function(e){var t=this.modals.indexOf(e);if(-1===t)return t;var n=k(this.containers,(function(t){return-1!==t.modals.indexOf(e)})),r=this.containers[n];if(r.modals.splice(r.modals.indexOf(e),1),this.modals.splice(t,1),0===r.modals.length)r.restore&&r.restore(),e.modalRef&&x(e.modalRef,!0),_(r.container,e.mountNode,e.modalRef,r.hiddenSiblingNodes,!1),this.containers.splice(n,1);else{var i=r.modals[r.modals.length-1];i.modalRef&&x(i.modalRef,!1)}return t}},{key:\"isTopModal\",value:function(e){return this.modals.length>0&&this.modals[this.modals.length-1]===e}}]),e}();var S=function(e){var t=e.children,n=e.disableAutoFocus,r=void 0!==n&&n,i=e.disableEnforceFocus,s=void 0!==i&&i,c=e.disableRestoreFocus,l=void 0!==c&&c,f=e.getDoc,h=e.isEnabled,p=e.open,g=o.useRef(),y=o.useRef(null),m=o.useRef(null),b=o.useRef(),v=o.useRef(null),x=o.useCallback((function(e){v.current=a.findDOMNode(e)}),[]),w=Object(d.a)(t.ref,x),_=o.useRef();return o.useEffect((function(){_.current=p}),[p]),!_.current&&p&&\"undefined\"!==typeof window&&(b.current=f().activeElement),o.useEffect((function(){if(p){var e=Object(u.a)(v.current);r||!v.current||v.current.contains(e.activeElement)||(v.current.hasAttribute(\"tabIndex\")||v.current.setAttribute(\"tabIndex\",-1),v.current.focus());var t=function(){null!==v.current&&(e.hasFocus()&&!s&&h()&&!g.current?v.current&&!v.current.contains(e.activeElement)&&v.current.focus():g.current=!1)},n=function(t){!s&&h()&&9===t.keyCode&&e.activeElement===v.current&&(g.current=!0,t.shiftKey?m.current.focus():y.current.focus())};e.addEventListener(\"focus\",t,!0),e.addEventListener(\"keydown\",n,!0);var i=setInterval((function(){t()}),50);return function(){clearInterval(i),e.removeEventListener(\"focus\",t,!0),e.removeEventListener(\"keydown\",n,!0),l||(b.current&&b.current.focus&&b.current.focus(),b.current=null)}}}),[r,s,l,h,p]),o.createElement(o.Fragment,null,o.createElement(\"div\",{tabIndex:0,ref:y,\"data-test\":\"sentinelStart\"}),o.cloneElement(t,{ref:w}),o.createElement(\"div\",{tabIndex:0,ref:m,\"data-test\":\"sentinelEnd\"}))},C={root:{zIndex:-1,position:\"fixed\",right:0,bottom:0,top:0,left:0,backgroundColor:\"rgba(0, 0, 0, 0.5)\",WebkitTapHighlightColor:\"transparent\"},invisible:{backgroundColor:\"transparent\"}},T=o.forwardRef((function(e,t){var n=e.invisible,a=void 0!==n&&n,s=e.open,c=Object(r.a)(e,[\"invisible\",\"open\"]);return s?o.createElement(\"div\",Object(i.a)({\"aria-hidden\":!0,ref:t},c,{style:Object(i.a)({},C.root,a?C.invisible:{},c.style)})):null}));var j=new E,A=o.forwardRef((function(e,t){var n=Object(s.a)(),g=Object(c.a)({name:\"MuiModal\",props:Object(i.a)({},e),theme:n}),y=g.BackdropComponent,m=void 0===y?T:y,b=g.BackdropProps,v=g.children,w=g.closeAfterTransition,_=void 0!==w&&w,k=g.container,O=g.disableAutoFocus,E=void 0!==O&&O,C=g.disableBackdropClick,A=void 0!==C&&C,M=g.disableEnforceFocus,P=void 0!==M&&M,N=g.disableEscapeKeyDown,D=void 0!==N&&N,R=g.disablePortal,I=void 0!==R&&R,L=g.disableRestoreFocus,B=void 0!==L&&L,F=g.disableScrollLock,z=void 0!==F&&F,U=g.hideBackdrop,H=void 0!==U&&U,W=g.keepMounted,Y=void 0!==W&&W,V=g.manager,q=void 0===V?j:V,$=g.onBackdropClick,G=g.onClose,X=g.onEscapeKeyDown,K=g.onRendered,Z=g.open,J=Object(r.a)(g,[\"BackdropComponent\",\"BackdropProps\",\"children\",\"closeAfterTransition\",\"container\",\"disableAutoFocus\",\"disableBackdropClick\",\"disableEnforceFocus\",\"disableEscapeKeyDown\",\"disablePortal\",\"disableRestoreFocus\",\"disableScrollLock\",\"hideBackdrop\",\"keepMounted\",\"manager\",\"onBackdropClick\",\"onClose\",\"onEscapeKeyDown\",\"onRendered\",\"open\"]),Q=o.useState(!0),ee=Q[0],te=Q[1],ne=o.useRef({}),re=o.useRef(null),ie=o.useRef(null),oe=Object(d.a)(ie,t),ae=function(e){return!!e.children&&e.children.props.hasOwnProperty(\"in\")}(g),se=function(){return Object(u.a)(re.current)},ce=function(){return ne.current.modalRef=ie.current,ne.current.mountNode=re.current,ne.current},ue=function(){q.mount(ce(),{disableScrollLock:z}),ie.current.scrollTop=0},le=Object(h.a)((function(){var e=function(e){return e=\"function\"===typeof e?e():e,a.findDOMNode(e)}(k)||se().body;q.add(ce(),e),ie.current&&ue()})),fe=o.useCallback((function(){return q.isTopModal(ce())}),[q]),de=Object(h.a)((function(e){re.current=e,e&&(K&&K(),Z&&fe()?ue():x(ie.current,!0))})),he=o.useCallback((function(){q.remove(ce())}),[q]);if(o.useEffect((function(){return function(){he()}}),[he]),o.useEffect((function(){Z?le():ae&&_||he()}),[Z,he,ae,_,le]),!Y&&!Z&&(!ae||ee))return null;var pe=function(e){return{root:{position:\"fixed\",zIndex:e.zIndex.modal,right:0,bottom:0,top:0,left:0},hidden:{visibility:\"hidden\"}}}(n||{zIndex:p.a}),ge={};return void 0===v.props.tabIndex&&(ge.tabIndex=v.props.tabIndex||\"-1\"),ae&&(ge.onEnter=Object(f.a)((function(){te(!1)}),v.props.onEnter),ge.onExited=Object(f.a)((function(){te(!0),_&&he()}),v.props.onExited)),o.createElement(l.a,{ref:de,container:k,disablePortal:I},o.createElement(\"div\",Object(i.a)({ref:oe,onKeyDown:function(e){\"Escape\"===e.key&&fe()&&(X&&X(e),D||(e.stopPropagation(),G&&G(e,\"escapeKeyDown\")))},role:\"presentation\"},J,{style:Object(i.a)({},pe.root,!Z&&ee?pe.hidden:{},J.style)}),H?null:o.createElement(m,Object(i.a)({open:Z,onClick:function(e){e.target===e.currentTarget&&($&&$(e),!A&&G&&G(e,\"backdropClick\"))}},b)),o.createElement(S,{disableEnforceFocus:P,disableAutoFocus:E,disableRestoreFocus:B,getDoc:se,isEnabled:fe,open:Z},o.cloneElement(v,ge))))}));t.a=A},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(6)),s=n(398),c=n(18),u=n(8),l=n(52),f=n(17),d=o.forwardRef((function(e,t){e.children;var n=e.classes,s=e.className,u=e.label,d=e.labelWidth,h=e.notched,p=e.style,g=Object(i.a)(e,[\"children\",\"classes\",\"className\",\"label\",\"labelWidth\",\"notched\",\"style\"]),y=\"rtl\"===Object(l.a)().direction?\"right\":\"left\";if(void 0!==u)return o.createElement(\"fieldset\",Object(r.a)({\"aria-hidden\":!0,className:Object(a.a)(n.root,s),ref:t,style:p},g),o.createElement(\"legend\",{className:Object(a.a)(n.legendLabelled,h&&n.legendNotched)},u?o.createElement(\"span\",null,u):o.createElement(\"span\",{dangerouslySetInnerHTML:{__html:\"&#8203;\"}})));var m=d>0?.75*d+8:.01;return o.createElement(\"fieldset\",Object(r.a)({\"aria-hidden\":!0,style:Object(r.a)(Object(c.a)({},\"padding\".concat(Object(f.a)(y)),8),p),className:Object(a.a)(n.root,s),ref:t},g),o.createElement(\"legend\",{className:n.legend,style:{width:h?m:.01}},o.createElement(\"span\",{dangerouslySetInnerHTML:{__html:\"&#8203;\"}})))})),h=Object(u.a)((function(e){return{root:{position:\"absolute\",bottom:0,right:0,top:-5,left:0,margin:0,padding:\"0 8px\",pointerEvents:\"none\",borderRadius:\"inherit\",borderStyle:\"solid\",borderWidth:1,overflow:\"hidden\"},legend:{textAlign:\"left\",padding:0,lineHeight:\"11px\",transition:e.transitions.create(\"width\",{duration:150,easing:e.transitions.easing.easeOut})},legendLabelled:{display:\"block\",width:\"auto\",textAlign:\"left\",padding:0,height:11,fontSize:\"0.75em\",visibility:\"hidden\",maxWidth:.01,transition:e.transitions.create(\"max-width\",{duration:50,easing:e.transitions.easing.easeOut}),\"& > span\":{paddingLeft:5,paddingRight:5,display:\"inline-block\"}},legendNotched:{maxWidth:1e3,transition:e.transitions.create(\"max-width\",{duration:100,easing:e.transitions.easing.easeOut,delay:50})}}}),{name:\"PrivateNotchedOutline\"})(d),p=o.forwardRef((function(e,t){var n=e.classes,c=e.fullWidth,u=void 0!==c&&c,l=e.inputComponent,f=void 0===l?\"input\":l,d=e.label,p=e.labelWidth,g=void 0===p?0:p,y=e.multiline,m=void 0!==y&&y,b=e.notched,v=e.type,x=void 0===v?\"text\":v,w=Object(i.a)(e,[\"classes\",\"fullWidth\",\"inputComponent\",\"label\",\"labelWidth\",\"multiline\",\"notched\",\"type\"]);return o.createElement(s.a,Object(r.a)({renderSuffix:function(e){return o.createElement(h,{className:n.notchedOutline,label:d,labelWidth:g,notched:\"undefined\"!==typeof b?b:Boolean(e.startAdornment||e.filled||e.focused)})},classes:Object(r.a)({},n,{root:Object(a.a)(n.root,n.underline),notchedOutline:null}),fullWidth:u,inputComponent:f,multiline:m,ref:t,type:x},w))}));p.muiName=\"Input\";t.a=Object(u.a)((function(e){var t=\"light\"===e.palette.type?\"rgba(0, 0, 0, 0.23)\":\"rgba(255, 255, 255, 0.23)\";return{root:{position:\"relative\",borderRadius:e.shape.borderRadius,\"&:hover $notchedOutline\":{borderColor:e.palette.text.primary},\"@media (hover: none)\":{\"&:hover $notchedOutline\":{borderColor:t}},\"&$focused $notchedOutline\":{borderColor:e.palette.primary.main,borderWidth:2},\"&$error $notchedOutline\":{borderColor:e.palette.error.main},\"&$disabled $notchedOutline\":{borderColor:e.palette.action.disabled}},colorSecondary:{\"&$focused $notchedOutline\":{borderColor:e.palette.secondary.main}},focused:{},disabled:{},adornedStart:{paddingLeft:14},adornedEnd:{paddingRight:14},error:{},marginDense:{},multiline:{padding:\"18.5px 14px\",\"&$marginDense\":{paddingTop:10.5,paddingBottom:10.5}},notchedOutline:{borderColor:t},input:{padding:\"18.5px 14px\",\"&:-webkit-autofill\":{WebkitBoxShadow:\"light\"===e.palette.type?null:\"0 0 0 100px #266798 inset\",WebkitTextFillColor:\"light\"===e.palette.type?null:\"#fff\",caretColor:\"light\"===e.palette.type?null:\"#fff\",borderRadius:\"inherit\"}},inputMarginDense:{paddingTop:10.5,paddingBottom:10.5},inputMultiline:{padding:0},inputAdornedStart:{paddingLeft:0},inputAdornedEnd:{paddingRight:0}}}),{name:\"MuiOutlinedInput\"})(p)},function(e,t,n){\"use strict\";var r=n(51),i=n(47),o=(n(1),n(0)),a=n.n(o),s=n(25),c=n.n(s),u=!1,l=n(146),f=\"unmounted\",d=\"exited\",h=\"entering\",p=\"entered\",g=\"exiting\",y=function(e){function t(t,n){var r;r=e.call(this,t,n)||this;var i,o=n&&!n.isMounting?t.enter:t.appear;return r.appearStatus=null,t.in?o?(i=d,r.appearStatus=h):i=p:i=t.unmountOnExit||t.mountOnEnter?f:d,r.state={status:i},r.nextCallback=null,r}Object(i.a)(t,e),t.getDerivedStateFromProps=function(e,t){return e.in&&t.status===f?{status:d}:null};var n=t.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(e){var t=null;if(e!==this.props){var n=this.state.status;this.props.in?n!==h&&n!==p&&(t=h):n!==h&&n!==p||(t=g)}this.updateStatus(!1,t)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var e,t,n,r=this.props.timeout;return e=t=n=r,null!=r&&\"number\"!==typeof r&&(e=r.exit,t=r.enter,n=void 0!==r.appear?r.appear:t),{exit:e,enter:t,appear:n}},n.updateStatus=function(e,t){void 0===e&&(e=!1),null!==t?(this.cancelNextCallback(),t===h?this.performEnter(e):this.performExit()):this.props.unmountOnExit&&this.state.status===d&&this.setState({status:f})},n.performEnter=function(e){var t=this,n=this.props.enter,r=this.context?this.context.isMounting:e,i=this.props.nodeRef?[r]:[c.a.findDOMNode(this),r],o=i[0],a=i[1],s=this.getTimeouts(),l=r?s.appear:s.enter;!e&&!n||u?this.safeSetState({status:p},(function(){t.props.onEntered(o)})):(this.props.onEnter(o,a),this.safeSetState({status:h},(function(){t.props.onEntering(o,a),t.onTransitionEnd(l,(function(){t.safeSetState({status:p},(function(){t.props.onEntered(o,a)}))}))})))},n.performExit=function(){var e=this,t=this.props.exit,n=this.getTimeouts(),r=this.props.nodeRef?void 0:c.a.findDOMNode(this);t&&!u?(this.props.onExit(r),this.safeSetState({status:g},(function(){e.props.onExiting(r),e.onTransitionEnd(n.exit,(function(){e.safeSetState({status:d},(function(){e.props.onExited(r)}))}))}))):this.safeSetState({status:d},(function(){e.props.onExited(r)}))},n.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(e,t){t=this.setNextCallback(t),this.setState(e,t)},n.setNextCallback=function(e){var t=this,n=!0;return this.nextCallback=function(r){n&&(n=!1,t.nextCallback=null,e(r))},this.nextCallback.cancel=function(){n=!1},this.nextCallback},n.onTransitionEnd=function(e,t){this.setNextCallback(t);var n=this.props.nodeRef?this.props.nodeRef.current:c.a.findDOMNode(this),r=null==e&&!this.props.addEndListener;if(n&&!r){if(this.props.addEndListener){var i=this.props.nodeRef?[this.nextCallback]:[n,this.nextCallback],o=i[0],a=i[1];this.props.addEndListener(o,a)}null!=e&&setTimeout(this.nextCallback,e)}else setTimeout(this.nextCallback,0)},n.render=function(){var e=this.state.status;if(e===f)return null;var t=this.props,n=t.children,i=(t.in,t.mountOnEnter,t.unmountOnExit,t.appear,t.enter,t.exit,t.timeout,t.addEndListener,t.onEnter,t.onEntering,t.onEntered,t.onExit,t.onExiting,t.onExited,t.nodeRef,Object(r.a)(t,[\"children\",\"in\",\"mountOnEnter\",\"unmountOnExit\",\"appear\",\"enter\",\"exit\",\"timeout\",\"addEndListener\",\"onEnter\",\"onEntering\",\"onEntered\",\"onExit\",\"onExiting\",\"onExited\",\"nodeRef\"]));return a.a.createElement(l.a.Provider,{value:null},\"function\"===typeof n?n(e,i):a.a.cloneElement(a.a.Children.only(n),i))},t}(a.a.Component);function m(){}y.contextType=l.a,y.propTypes={},y.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:m,onEntering:m,onEntered:m,onExit:m,onExiting:m,onExited:m},y.UNMOUNTED=f,y.EXITED=d,y.ENTERING=h,y.ENTERED=p,y.EXITING=g;t.a=y},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){\"use strict\";var r=n(7),i=n(3),o=n(0),a=(n(1),n(6)),s=n(8),c=n(19),u=n(224),l=n(17),f=o.forwardRef((function(e,t){var n=e.children,s=e.classes,c=e.className,f=e.color,d=void 0===f?\"default\":f,h=e.component,p=void 0===h?\"button\":h,g=e.disabled,y=void 0!==g&&g,m=e.disableElevation,b=void 0!==m&&m,v=e.disableFocusRipple,x=void 0!==v&&v,w=e.endIcon,_=e.focusVisibleClassName,k=e.fullWidth,O=void 0!==k&&k,E=e.size,S=void 0===E?\"medium\":E,C=e.startIcon,T=e.type,j=void 0===T?\"button\":T,A=e.variant,M=void 0===A?\"text\":A,P=Object(r.a)(e,[\"children\",\"classes\",\"className\",\"color\",\"component\",\"disabled\",\"disableElevation\",\"disableFocusRipple\",\"endIcon\",\"focusVisibleClassName\",\"fullWidth\",\"size\",\"startIcon\",\"type\",\"variant\"]),N=C&&o.createElement(\"span\",{className:Object(a.a)(s.startIcon,s[\"iconSize\".concat(Object(l.a)(S))])},C),D=w&&o.createElement(\"span\",{className:Object(a.a)(s.endIcon,s[\"iconSize\".concat(Object(l.a)(S))])},w);return o.createElement(u.a,Object(i.a)({className:Object(a.a)(s.root,s[M],c,\"inherit\"===d?s.colorInherit:\"default\"!==d&&s[\"\".concat(M).concat(Object(l.a)(d))],\"medium\"!==S&&[s[\"\".concat(M,\"Size\").concat(Object(l.a)(S))],s[\"size\".concat(Object(l.a)(S))]],b&&s.disableElevation,y&&s.disabled,O&&s.fullWidth),component:p,disabled:y,focusRipple:!x,focusVisibleClassName:Object(a.a)(s.focusVisible,_),ref:t,type:j},P),o.createElement(\"span\",{className:s.label},N,n,D))}));t.a=Object(s.a)((function(e){return{root:Object(i.a)({},e.typography.button,{boxSizing:\"border-box\",minWidth:64,padding:\"6px 16px\",borderRadius:e.shape.borderRadius,color:e.palette.text.primary,transition:e.transitions.create([\"background-color\",\"box-shadow\",\"border\"],{duration:e.transitions.duration.short}),\"&:hover\":{textDecoration:\"none\",backgroundColor:Object(c.c)(e.palette.text.primary,e.palette.action.hoverOpacity),\"@media (hover: none)\":{backgroundColor:\"transparent\"},\"&$disabled\":{backgroundColor:\"transparent\"}},\"&$disabled\":{color:e.palette.action.disabled}}),label:{width:\"100%\",display:\"inherit\",alignItems:\"inherit\",justifyContent:\"inherit\"},text:{padding:\"6px 8px\"},textPrimary:{color:e.palette.primary.main,\"&:hover\":{backgroundColor:Object(c.c)(e.palette.primary.main,e.palette.action.hoverOpacity),\"@media (hover: none)\":{backgroundColor:\"transparent\"}}},textSecondary:{color:e.palette.secondary.main,\"&:hover\":{backgroundColor:Object(c.c)(e.palette.secondary.main,e.palette.action.hoverOpacity),\"@media (hover: none)\":{backgroundColor:\"transparent\"}}},outlined:{padding:\"5px 15px\",border:\"1px solid \".concat(\"light\"===e.palette.type?\"rgba(0, 0, 0, 0.23)\":\"rgba(255, 255, 255, 0.23)\"),\"&$disabled\":{border:\"1px solid \".concat(e.palette.action.disabledBackground)}},outlinedPrimary:{color:e.palette.primary.main,border:\"1px solid \".concat(Object(c.c)(e.palette.primary.main,.5)),\"&:hover\":{border:\"1px solid \".concat(e.palette.primary.main),backgroundColor:Object(c.c)(e.palette.primary.main,e.palette.action.hoverOpacity),\"@media (hover: none)\":{backgroundColor:\"transparent\"}}},outlinedSecondary:{color:e.palette.secondary.main,border:\"1px solid \".concat(Object(c.c)(e.palette.secondary.main,.5)),\"&:hover\":{border:\"1px solid \".concat(e.palette.secondary.main),backgroundColor:Object(c.c)(e.palette.secondary.main,e.palette.action.hoverOpacity),\"@media (hover: none)\":{backgroundColor:\"transparent\"}},\"&$disabled\":{border:\"1px solid \".concat(e.palette.action.disabled)}},contained:{color:e.palette.getContrastText(e.palette.grey[300]),backgroundColor:e.palette.grey[300],boxShadow:e.shadows[2],\"&:hover\":{backgroundColor:e.palette.grey.A100,boxShadow:e.shadows[4],\"@media (hover: none)\":{boxShadow:e.shadows[2],backgroundColor:e.palette.grey[300]},\"&$disabled\":{backgroundColor:e.palette.action.disabledBackground}},\"&$focusVisible\":{boxShadow:e.shadows[6]},\"&:active\":{boxShadow:e.shadows[8]},\"&$disabled\":{color:e.palette.action.disabled,boxShadow:e.shadows[0],backgroundColor:e.palette.action.disabledBackground}},containedPrimary:{color:e.palette.primary.contrastText,backgroundColor:e.palette.primary.main,\"&:hover\":{backgroundColor:e.palette.primary.dark,\"@media (hover: none)\":{backgroundColor:e.palette.primary.main}}},containedSecondary:{color:e.palette.secondary.contrastText,backgroundColor:e.palette.secondary.main,\"&:hover\":{backgroundColor:e.palette.secondary.dark,\"@media (hover: none)\":{backgroundColor:e.palette.secondary.main}}},disableElevation:{boxShadow:\"none\",\"&:hover\":{boxShadow:\"none\"},\"&$focusVisible\":{boxShadow:\"none\"},\"&:active\":{boxShadow:\"none\"},\"&$disabled\":{boxShadow:\"none\"}},focusVisible:{},disabled:{},colorInherit:{color:\"inherit\",borderColor:\"currentColor\"},textSizeSmall:{padding:\"4px 5px\",fontSize:e.typography.pxToRem(13)},textSizeLarge:{padding:\"8px 11px\",fontSize:e.typography.pxToRem(15)},outlinedSizeSmall:{padding:\"3px 9px\",fontSize:e.typography.pxToRem(13)},outlinedSizeLarge:{padding:\"7px 21px\",fontSize:e.typography.pxToRem(15)},containedSizeSmall:{padding:\"4px 10px\",fontSize:e.typography.pxToRem(13)},containedSizeLarge:{padding:\"8px 22px\",fontSize:e.typography.pxToRem(15)},sizeSmall:{},sizeLarge:{},fullWidth:{width:\"100%\"},startIcon:{display:\"inherit\",marginRight:8,marginLeft:-4,\"&$iconSizeSmall\":{marginLeft:-2}},endIcon:{display:\"inherit\",marginRight:-4,marginLeft:8,\"&$iconSizeSmall\":{marginRight:-2}},iconSizeSmall:{\"& > *:first-child\":{fontSize:18}},iconSizeMedium:{\"& > *:first-child\":{fontSize:20}},iconSizeLarge:{\"& > *:first-child\":{fontSize:22}}}}),{name:\"MuiButton\"})(f)},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(3);function i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.baseClasses,n=e.newClasses;e.Component;if(!n)return t;var i=Object(r.a)({},t);return Object.keys(n).forEach((function(e){n[e]&&(i[e]=\"\".concat(t[e],\" \").concat(n[e]))})),i}},function(e,t,n){\"use strict\";function r(e){var t=e.theme,n=e.name,r=e.props;if(!t||!t.props||!t.props[n])return r;var i,o=t.props[n];for(i in o)void 0===r[i]&&(r[i]=o[i]);return r}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";var r=n(0),i=n.n(r),o=n(212);t.a=Object(o.a)(i.a.createElement(\"path\",{d:\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm0 14.2c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22z\"}),\"AccountCircle\")},function(e,t,n){\"use strict\";var r=n(3),i=n(32),o=n(7),a=n(18),s=n(0),c=n(25),u=(n(1),n(6)),l=n(396),f=n(19),d=n(8),h=n(17),p=n(397),g=n(699),y=n(22),m=n(213),b=n(69),v=n(143),x=n(102),w=n(52);function _(e){return Math.round(1e5*e)/1e5}var k=!1,O=null;var E=s.forwardRef((function(e,t){var n=e.arrow,a=void 0!==n&&n,f=e.children,d=e.classes,_=e.disableFocusListener,E=void 0!==_&&_,S=e.disableHoverListener,C=void 0!==S&&S,T=e.disableTouchListener,j=void 0!==T&&T,A=e.enterDelay,M=void 0===A?100:A,P=e.enterNextDelay,N=void 0===P?0:P,D=e.enterTouchDelay,R=void 0===D?700:D,I=e.id,L=e.interactive,B=void 0!==L&&L,F=e.leaveDelay,z=void 0===F?0:F,U=e.leaveTouchDelay,H=void 0===U?1500:U,W=e.onClose,Y=e.onOpen,V=e.open,q=e.placement,$=void 0===q?\"bottom\":q,G=e.PopperComponent,X=void 0===G?g.a:G,K=e.PopperProps,Z=e.title,J=e.TransitionComponent,Q=void 0===J?p.a:J,ee=e.TransitionProps,te=Object(o.a)(e,[\"arrow\",\"children\",\"classes\",\"disableFocusListener\",\"disableHoverListener\",\"disableTouchListener\",\"enterDelay\",\"enterNextDelay\",\"enterTouchDelay\",\"id\",\"interactive\",\"leaveDelay\",\"leaveTouchDelay\",\"onClose\",\"onOpen\",\"open\",\"placement\",\"PopperComponent\",\"PopperProps\",\"title\",\"TransitionComponent\",\"TransitionProps\"]),ne=Object(w.a)(),re=s.useState(),ie=re[0],oe=re[1],ae=s.useState(null),se=ae[0],ce=ae[1],ue=s.useRef(!1),le=s.useRef(),fe=s.useRef(),de=s.useRef(),he=s.useRef(),pe=Object(x.a)({controlled:V,default:!1,name:\"Tooltip\",state:\"open\"}),ge=Object(i.a)(pe,2),ye=ge[0],me=ge[1],be=ye,ve=Object(m.a)(I);s.useEffect((function(){return function(){clearTimeout(le.current),clearTimeout(fe.current),clearTimeout(de.current),clearTimeout(he.current)}}),[]);var xe=function(e){clearTimeout(O),k=!0,me(!0),Y&&Y(e)},we=function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return function(t){var n=f.props;\"mouseover\"===t.type&&n.onMouseOver&&e&&n.onMouseOver(t),ue.current&&\"touchstart\"!==t.type||(ie&&ie.removeAttribute(\"title\"),clearTimeout(fe.current),clearTimeout(de.current),M||k&&N?(t.persist(),fe.current=setTimeout((function(){xe(t)}),k?N:M)):xe(t))}},_e=Object(v.a)(),ke=_e.isFocusVisible,Oe=_e.onBlurVisible,Ee=_e.ref,Se=s.useState(!1),Ce=Se[0],Te=Se[1],je=function(){Ce&&(Te(!1),Oe())},Ae=function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return function(t){ie||oe(t.currentTarget),ke(t)&&(Te(!0),we()(t));var n=f.props;n.onFocus&&e&&n.onFocus(t)}},Me=function(e){clearTimeout(O),O=setTimeout((function(){k=!1}),800+z),me(!1),W&&W(e),clearTimeout(le.current),le.current=setTimeout((function(){ue.current=!1}),ne.transitions.duration.shortest)},Pe=function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return function(t){var n=f.props;\"blur\"===t.type&&(n.onBlur&&e&&n.onBlur(t),je()),\"mouseleave\"===t.type&&n.onMouseLeave&&t.currentTarget===ie&&n.onMouseLeave(t),clearTimeout(fe.current),clearTimeout(de.current),t.persist(),de.current=setTimeout((function(){Me(t)}),z)}},Ne=function(e){ue.current=!0;var t=f.props;t.onTouchStart&&t.onTouchStart(e)},De=Object(y.a)(oe,t),Re=Object(y.a)(Ee,De),Ie=s.useCallback((function(e){Object(b.a)(Re,c.findDOMNode(e))}),[Re]),Le=Object(y.a)(f.ref,Ie);\"\"===Z&&(be=!1);var Be=!be&&!C,Fe=Object(r.a)({\"aria-describedby\":be?ve:null,title:Be&&\"string\"===typeof Z?Z:null},te,f.props,{className:Object(u.a)(te.className,f.props.className),onTouchStart:Ne,ref:Le}),ze={};j||(Fe.onTouchStart=function(e){Ne(e),clearTimeout(de.current),clearTimeout(le.current),clearTimeout(he.current),e.persist(),he.current=setTimeout((function(){we()(e)}),R)},Fe.onTouchEnd=function(e){f.props.onTouchEnd&&f.props.onTouchEnd(e),clearTimeout(he.current),clearTimeout(de.current),e.persist(),de.current=setTimeout((function(){Me(e)}),H)}),C||(Fe.onMouseOver=we(),Fe.onMouseLeave=Pe(),B&&(ze.onMouseOver=we(!1),ze.onMouseLeave=Pe(!1))),E||(Fe.onFocus=Ae(),Fe.onBlur=Pe(),B&&(ze.onFocus=Ae(!1),ze.onBlur=Pe(!1)));var Ue=s.useMemo((function(){return Object(l.a)({popperOptions:{modifiers:{arrow:{enabled:Boolean(se),element:se}}}},K)}),[se,K]);return s.createElement(s.Fragment,null,s.cloneElement(f,Fe),s.createElement(X,Object(r.a)({className:Object(u.a)(d.popper,B&&d.popperInteractive,a&&d.popperArrow),placement:$,anchorEl:ie,open:!!ie&&be,id:Fe[\"aria-describedby\"],transition:!0},ze,Ue),(function(e){var t=e.placement,n=e.TransitionProps;return s.createElement(Q,Object(r.a)({timeout:ne.transitions.duration.shorter},n,ee),s.createElement(\"div\",{className:Object(u.a)(d.tooltip,d[\"tooltipPlacement\".concat(Object(h.a)(t.split(\"-\")[0]))],ue.current&&d.touch,a&&d.tooltipArrow)},Z,a?s.createElement(\"span\",{className:d.arrow,ref:ce}):null))})))}));t.a=Object(d.a)((function(e){return{popper:{zIndex:e.zIndex.tooltip,pointerEvents:\"none\"},popperInteractive:{pointerEvents:\"auto\"},popperArrow:{'&[x-placement*=\"bottom\"] $arrow':{top:0,left:0,marginTop:\"-0.71em\",marginLeft:4,marginRight:4,\"&::before\":{transformOrigin:\"0 100%\"}},'&[x-placement*=\"top\"] $arrow':{bottom:0,left:0,marginBottom:\"-0.71em\",marginLeft:4,marginRight:4,\"&::before\":{transformOrigin:\"100% 0\"}},'&[x-placement*=\"right\"] $arrow':{left:0,marginLeft:\"-0.71em\",height:\"1em\",width:\"0.71em\",marginTop:4,marginBottom:4,\"&::before\":{transformOrigin:\"100% 100%\"}},'&[x-placement*=\"left\"] $arrow':{right:0,marginRight:\"-0.71em\",height:\"1em\",width:\"0.71em\",marginTop:4,marginBottom:4,\"&::before\":{transformOrigin:\"0 0\"}}},tooltip:{backgroundColor:Object(f.c)(e.palette.grey[700],.9),borderRadius:e.shape.borderRadius,color:e.palette.common.white,fontFamily:e.typography.fontFamily,padding:\"4px 8px\",fontSize:e.typography.pxToRem(10),lineHeight:\"\".concat(_(1.4),\"em\"),maxWidth:300,wordWrap:\"break-word\",fontWeight:e.typography.fontWeightMedium},tooltipArrow:{position:\"relative\",margin:\"0\"},arrow:{overflow:\"hidden\",position:\"absolute\",width:\"1em\",height:\"0.71em\",boxSizing:\"border-box\",color:Object(f.c)(e.palette.grey[700],.9),\"&::before\":{content:'\"\"',margin:\"auto\",display:\"block\",width:\"100%\",height:\"100%\",backgroundColor:\"currentColor\",transform:\"rotate(45deg)\"}},touch:{padding:\"8px 16px\",fontSize:e.typography.pxToRem(14),lineHeight:\"\".concat(_(16/14),\"em\"),fontWeight:e.typography.fontWeightRegular},tooltipPlacementLeft:Object(a.a)({transformOrigin:\"right center\",margin:\"0 24px \"},e.breakpoints.up(\"sm\"),{margin:\"0 14px\"}),tooltipPlacementRight:Object(a.a)({transformOrigin:\"left center\",margin:\"0 24px\"},e.breakpoints.up(\"sm\"),{margin:\"0 14px\"}),tooltipPlacementTop:Object(a.a)({transformOrigin:\"center bottom\",margin:\"24px 0\"},e.breakpoints.up(\"sm\"),{margin:\"14px 0\"}),tooltipPlacementBottom:Object(a.a)({transformOrigin:\"center top\",margin:\"24px 0\"},e.breakpoints.up(\"sm\"),{margin:\"14px 0\"})}}),{name:\"MuiTooltip\",flip:!1})(E)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(25)),s=n(90),c=n(6),u=n(40),l=n(144),f=n(62),d=n(8),h=n(711),p=n(397),g=n(267);function y(e,t){var n=0;return\"number\"===typeof t?n=t:\"center\"===t?n=e.height/2:\"bottom\"===t&&(n=e.height),n}function m(e,t){var n=0;return\"number\"===typeof t?n=t:\"center\"===t?n=e.width/2:\"right\"===t&&(n=e.width),n}function b(e){return[e.horizontal,e.vertical].map((function(e){return\"number\"===typeof e?\"\".concat(e,\"px\"):e})).join(\" \")}function v(e){return\"function\"===typeof e?e():e}var x=o.forwardRef((function(e,t){var n=e.action,d=e.anchorEl,x=e.anchorOrigin,w=void 0===x?{vertical:\"top\",horizontal:\"left\"}:x,_=e.anchorPosition,k=e.anchorReference,O=void 0===k?\"anchorEl\":k,E=e.children,S=e.classes,C=e.className,T=e.container,j=e.elevation,A=void 0===j?8:j,M=e.getContentAnchorEl,P=e.marginThreshold,N=void 0===P?16:P,D=e.onEnter,R=e.onEntered,I=e.onEntering,L=e.onExit,B=e.onExited,F=e.onExiting,z=e.open,U=e.PaperProps,H=void 0===U?{}:U,W=e.transformOrigin,Y=void 0===W?{vertical:\"top\",horizontal:\"left\"}:W,V=e.TransitionComponent,q=void 0===V?p.a:V,$=e.transitionDuration,G=void 0===$?\"auto\":$,X=e.TransitionProps,K=void 0===X?{}:X,Z=Object(i.a)(e,[\"action\",\"anchorEl\",\"anchorOrigin\",\"anchorPosition\",\"anchorReference\",\"children\",\"classes\",\"className\",\"container\",\"elevation\",\"getContentAnchorEl\",\"marginThreshold\",\"onEnter\",\"onEntered\",\"onEntering\",\"onExit\",\"onExited\",\"onExiting\",\"open\",\"PaperProps\",\"transformOrigin\",\"TransitionComponent\",\"transitionDuration\",\"TransitionProps\"]),J=o.useRef(),Q=o.useCallback((function(e){if(\"anchorPosition\"===O)return _;var t=v(d),n=(t&&1===t.nodeType?t:Object(u.a)(J.current).body).getBoundingClientRect(),r=0===e?w.vertical:\"center\";return{top:n.top+y(n,r),left:n.left+m(n,w.horizontal)}}),[d,w.horizontal,w.vertical,_,O]),ee=o.useCallback((function(e){var t=0;if(M&&\"anchorEl\"===O){var n=M(e);if(n&&e.contains(n)){var r=function(e,t){for(var n=t,r=0;n&&n!==e;)r+=(n=n.parentElement).scrollTop;return r}(e,n);t=n.offsetTop+n.clientHeight/2-r||0}0}return t}),[w.vertical,O,M]),te=o.useCallback((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return{vertical:y(e,Y.vertical)+t,horizontal:m(e,Y.horizontal)}}),[Y.horizontal,Y.vertical]),ne=o.useCallback((function(e){var t=ee(e),n={width:e.offsetWidth,height:e.offsetHeight},r=te(n,t);if(\"none\"===O)return{top:null,left:null,transformOrigin:b(r)};var i=Q(t),o=i.top-r.vertical,a=i.left-r.horizontal,s=o+n.height,c=a+n.width,u=Object(l.a)(v(d)),f=u.innerHeight-N,h=u.innerWidth-N;if(o<N){var p=o-N;o-=p,r.vertical+=p}else if(s>f){var g=s-f;o-=g,r.vertical+=g}if(a<N){var y=a-N;a-=y,r.horizontal+=y}else if(c>h){var m=c-h;a-=m,r.horizontal+=m}return{top:\"\".concat(Math.round(o),\"px\"),left:\"\".concat(Math.round(a),\"px\"),transformOrigin:b(r)}}),[d,O,Q,ee,te,N]),re=o.useCallback((function(){var e=J.current;if(e){var t=ne(e);null!==t.top&&(e.style.top=t.top),null!==t.left&&(e.style.left=t.left),e.style.transformOrigin=t.transformOrigin}}),[ne]),ie=o.useCallback((function(e){J.current=a.findDOMNode(e)}),[]);o.useEffect((function(){z&&re()})),o.useImperativeHandle(n,(function(){return z?{updatePosition:function(){re()}}:null}),[z,re]),o.useEffect((function(){if(z){var e=Object(s.a)((function(){re()}));return window.addEventListener(\"resize\",e),function(){e.clear(),window.removeEventListener(\"resize\",e)}}}),[z,re]);var oe=G;\"auto\"!==G||q.muiSupportAuto||(oe=void 0);var ae=T||(d?Object(u.a)(v(d)).body:void 0);return o.createElement(h.a,Object(r.a)({container:ae,open:z,ref:t,BackdropProps:{invisible:!0},className:Object(c.a)(S.root,C)},Z),o.createElement(q,Object(r.a)({appear:!0,in:z,onEnter:D,onEntered:R,onExit:L,onExited:B,onExiting:F,timeout:oe},K,{onEntering:Object(f.a)((function(e,t){I&&I(e,t),re()}),K.onEntering)}),o.createElement(g.a,Object(r.a)({elevation:A,ref:ie},H,{className:Object(c.a)(S.paper,H.className)}),E)))}));t.a=Object(d.a)({root:{},paper:{position:\"absolute\",overflowY:\"auto\",overflowX:\"hidden\",minWidth:16,minHeight:16,maxWidth:\"calc(100% - 32px)\",maxHeight:\"calc(100% - 32px)\",outline:0}},{name:\"MuiPopover\"})(x)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(6)),s=n(8),c=n(105),u=o.forwardRef((function(e,t){var n=e.children,s=e.classes,u=e.className,l=e.component,f=void 0===l?\"ul\":l,d=e.dense,h=void 0!==d&&d,p=e.disablePadding,g=void 0!==p&&p,y=e.subheader,m=Object(i.a)(e,[\"children\",\"classes\",\"className\",\"component\",\"dense\",\"disablePadding\",\"subheader\"]),b=o.useMemo((function(){return{dense:h}}),[h]);return o.createElement(c.a.Provider,{value:b},o.createElement(f,Object(r.a)({className:Object(a.a)(s.root,u,h&&s.dense,!g&&s.padding,y&&s.subheader),ref:t},m),y,n))}));t.a=Object(s.a)({root:{listStyle:\"none\",margin:0,padding:0,position:\"relative\"},padding:{paddingTop:8,paddingBottom:8},dense:{},subheader:{paddingTop:0}},{name:\"MuiList\"})(u)},function(e,t,n){\"use strict\";var r=n(7),i=n(18),o=n(3),a=n(0),s=(n(1),n(6)),c=n(8),u=n(701),l=a.forwardRef((function(e,t){var n,i=e.classes,c=e.className,l=e.component,f=void 0===l?\"li\":l,d=e.disableGutters,h=void 0!==d&&d,p=e.ListItemClasses,g=e.role,y=void 0===g?\"menuitem\":g,m=e.selected,b=e.tabIndex,v=Object(r.a)(e,[\"classes\",\"className\",\"component\",\"disableGutters\",\"ListItemClasses\",\"role\",\"selected\",\"tabIndex\"]);return e.disabled||(n=void 0!==b?b:-1),a.createElement(u.a,Object(o.a)({button:!0,role:y,tabIndex:n,component:f,selected:m,disableGutters:h,classes:Object(o.a)({dense:i.dense},p),className:Object(s.a)(i.root,c,m&&i.selected,!h&&i.gutters),ref:t},v))}));t.a=Object(c.a)((function(e){return{root:Object(o.a)({},e.typography.body1,Object(i.a)({minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:\"border-box\",width:\"auto\",overflow:\"hidden\",whiteSpace:\"nowrap\"},e.breakpoints.up(\"sm\"),{minHeight:\"auto\"})),gutters:{},selected:{},dense:Object(o.a)({},e.typography.body2,{minHeight:\"auto\"})}}),{name:\"MuiMenuItem\"})(l)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(6)),s=n(8),c=o.forwardRef((function(e,t){var n=e.classes,s=e.className,c=e.dividers,u=void 0!==c&&c,l=Object(i.a)(e,[\"classes\",\"className\",\"dividers\"]);return o.createElement(\"div\",Object(r.a)({className:Object(a.a)(n.root,s,u&&n.dividers),ref:t},l))}));t.a=Object(s.a)((function(e){return{root:{flex:\"1 1 auto\",WebkitOverflowScrolling:\"touch\",overflowY:\"auto\",padding:\"8px 24px\",\"&:first-child\":{paddingTop:20}},dividers:{padding:\"16px 24px\",borderTop:\"1px solid \".concat(e.palette.divider),borderBottom:\"1px solid \".concat(e.palette.divider)}}}),{name:\"MuiDialogContent\"})(c)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(18),a=n(0),s=(n(1),n(6)),c=n(8),u=n(17),l=a.forwardRef((function(e,t){var n=e.classes,o=e.className,c=e.component,l=void 0===c?\"div\":c,f=e.disableGutters,d=void 0!==f&&f,h=e.fixed,p=void 0!==h&&h,g=e.maxWidth,y=void 0===g?\"lg\":g,m=Object(i.a)(e,[\"classes\",\"className\",\"component\",\"disableGutters\",\"fixed\",\"maxWidth\"]);return a.createElement(l,Object(r.a)({className:Object(s.a)(n.root,o,p&&n.fixed,d&&n.disableGutters,!1!==y&&n[\"maxWidth\".concat(Object(u.a)(String(y)))]),ref:t},m))}));t.a=Object(c.a)((function(e){return{root:Object(o.a)({width:\"100%\",marginLeft:\"auto\",boxSizing:\"border-box\",marginRight:\"auto\",paddingLeft:e.spacing(2),paddingRight:e.spacing(2),display:\"block\"},e.breakpoints.up(\"sm\"),{paddingLeft:e.spacing(3),paddingRight:e.spacing(3)}),disableGutters:{paddingLeft:0,paddingRight:0},fixed:Object.keys(e.breakpoints.values).reduce((function(t,n){var r=e.breakpoints.values[n];return 0!==r&&(t[e.breakpoints.up(n)]={maxWidth:r}),t}),{}),maxWidthXs:Object(o.a)({},e.breakpoints.up(\"xs\"),{maxWidth:Math.max(e.breakpoints.values.xs,444)}),maxWidthSm:Object(o.a)({},e.breakpoints.up(\"sm\"),{maxWidth:e.breakpoints.values.sm}),maxWidthMd:Object(o.a)({},e.breakpoints.up(\"md\"),{maxWidth:e.breakpoints.values.md}),maxWidthLg:Object(o.a)({},e.breakpoints.up(\"lg\"),{maxWidth:e.breakpoints.values.lg}),maxWidthXl:Object(o.a)({},e.breakpoints.up(\"xl\"),{maxWidth:e.breakpoints.values.xl})}}),{name:\"MuiContainer\"})(l)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(6)),s=n(8),c=n(17),u=44,l=o.forwardRef((function(e,t){var n=e.classes,s=e.className,l=e.color,f=void 0===l?\"primary\":l,d=e.disableShrink,h=void 0!==d&&d,p=e.size,g=void 0===p?40:p,y=e.style,m=e.thickness,b=void 0===m?3.6:m,v=e.value,x=void 0===v?0:v,w=e.variant,_=void 0===w?\"indeterminate\":w,k=Object(i.a)(e,[\"classes\",\"className\",\"color\",\"disableShrink\",\"size\",\"style\",\"thickness\",\"value\",\"variant\"]),O={},E={},S={};if(\"determinate\"===_||\"static\"===_){var C=2*Math.PI*((u-b)/2);O.strokeDasharray=C.toFixed(3),S[\"aria-valuenow\"]=Math.round(x),O.strokeDashoffset=\"\".concat(((100-x)/100*C).toFixed(3),\"px\"),E.transform=\"rotate(-90deg)\"}return o.createElement(\"div\",Object(r.a)({className:Object(a.a)(n.root,s,\"inherit\"!==f&&n[\"color\".concat(Object(c.a)(f))],{determinate:n.determinate,indeterminate:n.indeterminate,static:n.static}[_]),style:Object(r.a)({width:g,height:g},E,y),ref:t,role:\"progressbar\"},S,k),o.createElement(\"svg\",{className:n.svg,viewBox:\"\".concat(22,\" \").concat(22,\" \").concat(u,\" \").concat(u)},o.createElement(\"circle\",{className:Object(a.a)(n.circle,h&&n.circleDisableShrink,{determinate:n.circleDeterminate,indeterminate:n.circleIndeterminate,static:n.circleStatic}[_]),style:O,cx:u,cy:u,r:(u-b)/2,fill:\"none\",strokeWidth:b})))}));t.a=Object(s.a)((function(e){return{root:{display:\"inline-block\"},static:{transition:e.transitions.create(\"transform\")},indeterminate:{animation:\"$circular-rotate 1.4s linear infinite\"},determinate:{transition:e.transitions.create(\"transform\")},colorPrimary:{color:e.palette.primary.main},colorSecondary:{color:e.palette.secondary.main},svg:{display:\"block\"},circle:{stroke:\"currentColor\"},circleStatic:{transition:e.transitions.create(\"stroke-dashoffset\")},circleIndeterminate:{animation:\"$circular-dash 1.4s ease-in-out infinite\",strokeDasharray:\"80px, 200px\",strokeDashoffset:\"0px\"},circleDeterminate:{transition:e.transitions.create(\"stroke-dashoffset\")},\"@keyframes circular-rotate\":{\"0%\":{transformOrigin:\"50% 50%\"},\"100%\":{transform:\"rotate(360deg)\"}},\"@keyframes circular-dash\":{\"0%\":{strokeDasharray:\"1px, 200px\",strokeDashoffset:\"0px\"},\"50%\":{strokeDasharray:\"100px, 200px\",strokeDashoffset:\"-15px\"},\"100%\":{strokeDasharray:\"100px, 200px\",strokeDashoffset:\"-125px\"}},circleDisableShrink:{animation:\"none\"}}}),{name:\"MuiCircularProgress\",flip:!1})(l)},function(e,t,n){\"use strict\";var r=n(3),i=n(0),o=(n(1),n(8)),a=n(111),s=i.forwardRef((function(e,t){return i.createElement(a.a,Object(r.a)({component:\"p\",variant:\"body1\",color:\"textSecondary\",ref:t},e))}));t.a=Object(o.a)({root:{marginBottom:12}},{name:\"MuiDialogContentText\"})(s)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(6)),s=n(8),c=n(111),u=o.forwardRef((function(e,t){var n=e.children,s=e.classes,u=e.className,l=e.disableTypography,f=void 0!==l&&l,d=Object(i.a)(e,[\"children\",\"classes\",\"className\",\"disableTypography\"]);return o.createElement(\"div\",Object(r.a)({className:Object(a.a)(s.root,u),ref:t},d),f?n:o.createElement(c.a,{component:\"h2\",variant:\"h6\"},n))}));t.a=Object(s.a)({root:{margin:0,padding:\"16px 24px\",flex:\"0 0 auto\"}},{name:\"MuiDialogTitle\"})(u)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(6)),s=n(17),c=n(8),u=n(143),l=n(22),f=n(111),d=o.forwardRef((function(e,t){var n=e.classes,c=e.className,d=e.color,h=void 0===d?\"primary\":d,p=e.component,g=void 0===p?\"a\":p,y=e.onBlur,m=e.onFocus,b=e.TypographyClasses,v=e.underline,x=void 0===v?\"hover\":v,w=e.variant,_=void 0===w?\"inherit\":w,k=Object(i.a)(e,[\"classes\",\"className\",\"color\",\"component\",\"onBlur\",\"onFocus\",\"TypographyClasses\",\"underline\",\"variant\"]),O=Object(u.a)(),E=O.isFocusVisible,S=O.onBlurVisible,C=O.ref,T=o.useState(!1),j=T[0],A=T[1],M=Object(l.a)(t,C);return o.createElement(f.a,Object(r.a)({className:Object(a.a)(n.root,n[\"underline\".concat(Object(s.a)(x))],c,j&&n.focusVisible,\"button\"===g&&n.button),classes:b,color:h,component:g,onBlur:function(e){j&&(S(),A(!1)),y&&y(e)},onFocus:function(e){E(e)&&A(!0),m&&m(e)},ref:M,variant:_},k))}));t.a=Object(c.a)({root:{},underlineNone:{textDecoration:\"none\"},underlineHover:{textDecoration:\"none\",\"&:hover\":{textDecoration:\"underline\"}},underlineAlways:{textDecoration:\"underline\"},button:{position:\"relative\",WebkitTapHighlightColor:\"transparent\",backgroundColor:\"transparent\",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:\"pointer\",userSelect:\"none\",verticalAlign:\"middle\",\"-moz-appearance\":\"none\",\"-webkit-appearance\":\"none\",\"&::-moz-focus-inner\":{borderStyle:\"none\"},\"&$focusVisible\":{outline:\"auto\"}},focusVisible:{}},{name:\"MuiLink\"})(d)},function(e,t,n){\"use strict\";var r=n(0),i=n.n(r),o=n(212);t.a=Object(o.a)(i.a.createElement(\"path\",{d:\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\"}),\"Error\")},function(e,t,n){\"use strict\";var r=n(3),i=n(32),o=n(7),a=n(0),s=(n(1),n(703)),c=n(22),u=n(102),l=n(215),f=n(213),d=a.forwardRef((function(e,t){var n=e.actions,d=e.children,h=e.name,p=e.value,g=e.onChange,y=Object(o.a)(e,[\"actions\",\"children\",\"name\",\"value\",\"onChange\"]),m=a.useRef(null),b=Object(u.a)({controlled:p,default:e.defaultValue,name:\"RadioGroup\"}),v=Object(i.a)(b,2),x=v[0],w=v[1];a.useImperativeHandle(n,(function(){return{focus:function(){var e=m.current.querySelector(\"input:not(:disabled):checked\");e||(e=m.current.querySelector(\"input:not(:disabled)\")),e&&e.focus()}}}),[]);var _=Object(c.a)(t,m),k=Object(f.a)(h);return a.createElement(l.a.Provider,{value:{name:k,onChange:function(e){w(e.target.value),g&&g(e,e.target.value)},value:x}},a.createElement(s.a,Object(r.a)({role:\"radiogroup\",ref:_},y),d))}));t.a=d},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(6)),s=n(60),c=n(8),u=n(111),l=n(17),f=o.forwardRef((function(e,t){e.checked;var n=e.classes,c=e.className,f=e.control,d=e.disabled,h=(e.inputRef,e.label),p=e.labelPlacement,g=void 0===p?\"end\":p,y=(e.name,e.onChange,e.value,Object(i.a)(e,[\"checked\",\"classes\",\"className\",\"control\",\"disabled\",\"inputRef\",\"label\",\"labelPlacement\",\"name\",\"onChange\",\"value\"])),m=Object(s.a)(),b=d;\"undefined\"===typeof b&&\"undefined\"!==typeof f.props.disabled&&(b=f.props.disabled),\"undefined\"===typeof b&&m&&(b=m.disabled);var v={disabled:b};return[\"checked\",\"name\",\"onChange\",\"value\",\"inputRef\"].forEach((function(t){\"undefined\"===typeof f.props[t]&&\"undefined\"!==typeof e[t]&&(v[t]=e[t])})),o.createElement(\"label\",Object(r.a)({className:Object(a.a)(n.root,c,\"end\"!==g&&n[\"labelPlacement\".concat(Object(l.a)(g))],b&&n.disabled),ref:t},y),o.cloneElement(f,v),o.createElement(u.a,{component:\"span\",className:Object(a.a)(n.label,b&&n.disabled)},h))}));t.a=Object(c.a)((function(e){return{root:{display:\"inline-flex\",alignItems:\"center\",cursor:\"pointer\",verticalAlign:\"middle\",WebkitTapHighlightColor:\"transparent\",marginLeft:-11,marginRight:16,\"&$disabled\":{cursor:\"default\"}},labelPlacementStart:{flexDirection:\"row-reverse\",marginLeft:16,marginRight:-11},labelPlacementTop:{flexDirection:\"column-reverse\",marginLeft:16},labelPlacementBottom:{flexDirection:\"column\",marginLeft:16},disabled:{},label:{\"&$disabled\":{color:e.palette.text.disabled}}}}),{name:\"MuiFormControlLabel\"})(f)},function(e,t,n){\"use strict\";var r=n(7),i=n(18),o=n(3),a=n(0),s=(n(1),n(6)),c=n(8),u=n(267),l=n(19),f=a.forwardRef((function(e,t){var n=e.action,i=e.classes,c=e.className,l=e.message,f=e.role,d=void 0===f?\"alert\":f,h=Object(r.a)(e,[\"action\",\"classes\",\"className\",\"message\",\"role\"]);return a.createElement(u.a,Object(o.a)({role:d,square:!0,elevation:6,className:Object(s.a)(i.root,c),ref:t},h),a.createElement(\"div\",{className:i.message},l),n?a.createElement(\"div\",{className:i.action},n):null)}));t.a=Object(c.a)((function(e){var t=\"light\"===e.palette.type?.8:.98,n=Object(l.b)(e.palette.background.default,t);return{root:Object(o.a)({},e.typography.body2,Object(i.a)({color:e.palette.getContrastText(n),backgroundColor:n,display:\"flex\",alignItems:\"center\",flexWrap:\"wrap\",padding:\"6px 16px\",borderRadius:e.shape.borderRadius,flexGrow:1},e.breakpoints.up(\"sm\"),{flexGrow:\"initial\",minWidth:288})),message:{padding:\"8px 0\"},action:{display:\"flex\",alignItems:\"center\",marginLeft:\"auto\",paddingLeft:16,marginRight:-8}}}),{name:\"MuiSnackbarContent\"})(f)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(6)),s=n(8),c=o.forwardRef((function(e,t){var n=e.disableSpacing,s=void 0!==n&&n,c=e.classes,u=e.className,l=Object(i.a)(e,[\"disableSpacing\",\"classes\",\"className\"]);return o.createElement(\"div\",Object(r.a)({className:Object(a.a)(c.root,u,!s&&c.spacing),ref:t},l))}));t.a=Object(s.a)({root:{display:\"flex\",alignItems:\"center\",padding:8,justifyContent:\"flex-end\",flex:\"0 0 auto\"},spacing:{\"& > :not(:first-child)\":{marginLeft:8}}},{name:\"MuiDialogActions\"})(c)},function(e,t,n){\"use strict\";var r=n(7),i=n(3),o=n(0),a=(n(1),n(6)),s=n(8),c=n(221),u=\"table\",l=o.forwardRef((function(e,t){var n=e.classes,s=e.className,l=e.component,f=void 0===l?u:l,d=e.padding,h=void 0===d?\"default\":d,p=e.size,g=void 0===p?\"medium\":p,y=e.stickyHeader,m=void 0!==y&&y,b=Object(r.a)(e,[\"classes\",\"className\",\"component\",\"padding\",\"size\",\"stickyHeader\"]),v=o.useMemo((function(){return{padding:h,size:g,stickyHeader:m}}),[h,g,m]);return o.createElement(c.a.Provider,{value:v},o.createElement(f,Object(i.a)({role:f===u?null:\"table\",ref:t,className:Object(a.a)(n.root,s,m&&n.stickyHeader)},b)))}));t.a=Object(s.a)((function(e){return{root:{display:\"table\",width:\"100%\",borderCollapse:\"collapse\",borderSpacing:0,\"& caption\":Object(i.a)({},e.typography.body2,{padding:e.spacing(2),color:e.palette.text.secondary,textAlign:\"left\",captionSide:\"bottom\"})},stickyHeader:{borderCollapse:\"separate\"}}}),{name:\"MuiTable\"})(l)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(6)),s=n(8),c=n(104),u={variant:\"head\"},l=\"thead\",f=o.forwardRef((function(e,t){var n=e.classes,s=e.className,f=e.component,d=void 0===f?l:f,h=Object(i.a)(e,[\"classes\",\"className\",\"component\"]);return o.createElement(c.a.Provider,{value:u},o.createElement(d,Object(r.a)({className:Object(a.a)(n.root,s),ref:t,role:d===l?null:\"rowgroup\"},h)))}));t.a=Object(s.a)({root:{display:\"table-header-group\"}},{name:\"MuiTableHead\"})(f)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(6)),s=n(8),c=n(104),u=n(19),l=o.forwardRef((function(e,t){var n=e.classes,s=e.className,u=e.component,l=void 0===u?\"tr\":u,f=e.hover,d=void 0!==f&&f,h=e.selected,p=void 0!==h&&h,g=Object(i.a)(e,[\"classes\",\"className\",\"component\",\"hover\",\"selected\"]),y=o.useContext(c.a);return o.createElement(l,Object(r.a)({ref:t,className:Object(a.a)(n.root,s,y&&{head:n.head,footer:n.footer}[y.variant],d&&n.hover,p&&n.selected),role:\"tr\"===l?null:\"row\"},g))}));t.a=Object(s.a)((function(e){return{root:{color:\"inherit\",display:\"table-row\",verticalAlign:\"middle\",outline:0,\"&$hover:hover\":{backgroundColor:e.palette.action.hover},\"&$selected, &$selected:hover\":{backgroundColor:Object(u.c)(e.palette.secondary.main,e.palette.action.selectedOpacity)}},selected:{},hover:{},head:{},footer:{}}}),{name:\"MuiTableRow\"})(l)},function(e,t,n){\"use strict\";var r=n(7),i=n(3),o=n(0),a=(n(1),n(6)),s=n(8),c=n(17),u=n(19),l=n(221),f=n(104),d=o.forwardRef((function(e,t){var n,s,u=e.align,d=void 0===u?\"inherit\":u,h=e.classes,p=e.className,g=e.component,y=e.padding,m=e.scope,b=e.size,v=e.sortDirection,x=e.variant,w=Object(r.a)(e,[\"align\",\"classes\",\"className\",\"component\",\"padding\",\"scope\",\"size\",\"sortDirection\",\"variant\"]),_=o.useContext(l.a),k=o.useContext(f.a),O=k&&\"head\"===k.variant;g?(s=g,n=O?\"columnheader\":\"cell\"):s=O?\"th\":\"td\";var E=m;!E&&O&&(E=\"col\");var S=y||(_&&_.padding?_.padding:\"default\"),C=b||(_&&_.size?_.size:\"medium\"),T=x||k&&k.variant,j=null;return v&&(j=\"asc\"===v?\"ascending\":\"descending\"),o.createElement(s,Object(i.a)({ref:t,className:Object(a.a)(h.root,h[T],p,\"inherit\"!==d&&h[\"align\".concat(Object(c.a)(d))],\"default\"!==S&&h[\"padding\".concat(Object(c.a)(S))],\"medium\"!==C&&h[\"size\".concat(Object(c.a)(C))],\"head\"===T&&_&&_.stickyHeader&&h.stickyHeader),\"aria-sort\":j,role:n,scope:E},w))}));t.a=Object(s.a)((function(e){return{root:Object(i.a)({},e.typography.body2,{display:\"table-cell\",verticalAlign:\"inherit\",borderBottom:\"1px solid\\n    \".concat(\"light\"===e.palette.type?Object(u.e)(Object(u.c)(e.palette.divider,1),.88):Object(u.a)(Object(u.c)(e.palette.divider,1),.68)),textAlign:\"left\",padding:16}),head:{color:e.palette.text.primary,lineHeight:e.typography.pxToRem(24),fontWeight:e.typography.fontWeightMedium},body:{color:e.palette.text.primary},footer:{color:e.palette.text.secondary,lineHeight:e.typography.pxToRem(21),fontSize:e.typography.pxToRem(12)},sizeSmall:{padding:\"6px 24px 6px 16px\",\"&:last-child\":{paddingRight:16},\"&$paddingCheckbox\":{width:24,padding:\"0 12px 0 16px\",\"&:last-child\":{paddingLeft:12,paddingRight:16},\"& > *\":{padding:0}}},paddingCheckbox:{width:48,padding:\"0 0 0 4px\",\"&:last-child\":{paddingLeft:0,paddingRight:4}},paddingNone:{padding:0,\"&:last-child\":{padding:0}},alignLeft:{textAlign:\"left\"},alignCenter:{textAlign:\"center\"},alignRight:{textAlign:\"right\",flexDirection:\"row-reverse\"},alignJustify:{textAlign:\"justify\"},stickyHeader:{position:\"sticky\",top:0,left:0,zIndex:2,backgroundColor:e.palette.background.default}}}),{name:\"MuiTableCell\"})(d)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(6)),s=n(8),c=n(104),u={variant:\"body\"},l=\"tbody\",f=o.forwardRef((function(e,t){var n=e.classes,s=e.className,f=e.component,d=void 0===f?l:f,h=Object(i.a)(e,[\"classes\",\"className\",\"component\"]);return o.createElement(c.a.Provider,{value:u},o.createElement(d,Object(r.a)({className:Object(a.a)(n.root,s),ref:t,role:d===l?null:\"rowgroup\"},h)))}));t.a=Object(s.a)({root:{display:\"table-row-group\"}},{name:\"MuiTableBody\"})(f)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(18),a=n(0),s=(n(1),n(6)),c=n(8),u=a.forwardRef((function(e,t){var n=e.classes,o=e.className,c=e.component,u=void 0===c?\"div\":c,l=e.disableGutters,f=void 0!==l&&l,d=e.variant,h=void 0===d?\"regular\":d,p=Object(i.a)(e,[\"classes\",\"className\",\"component\",\"disableGutters\",\"variant\"]);return a.createElement(u,Object(r.a)({className:Object(s.a)(n.root,n[h],o,!f&&n.gutters),ref:t},p))}));t.a=Object(c.a)((function(e){return{root:{position:\"relative\",display:\"flex\",alignItems:\"center\"},gutters:Object(o.a)({paddingLeft:e.spacing(2),paddingRight:e.spacing(2)},e.breakpoints.up(\"sm\"),{paddingLeft:e.spacing(3),paddingRight:e.spacing(3)}),regular:e.mixins.toolbar,dense:{minHeight:48}}}),{name:\"MuiToolbar\"})(u)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(6)),s=n(8),c=n(17),u=n(267),l=o.forwardRef((function(e,t){var n=e.classes,s=e.className,l=e.color,f=void 0===l?\"primary\":l,d=e.position,h=void 0===d?\"fixed\":d,p=Object(i.a)(e,[\"classes\",\"className\",\"color\",\"position\"]);return o.createElement(u.a,Object(r.a)({square:!0,component:\"header\",elevation:4,className:Object(a.a)(n.root,n[\"position\".concat(Object(c.a)(h))],n[\"color\".concat(Object(c.a)(f))],s,\"fixed\"===h&&\"mui-fixed\"),ref:t},p))}));t.a=Object(s.a)((function(e){var t=\"light\"===e.palette.type?e.palette.grey[100]:e.palette.grey[900];return{root:{display:\"flex\",flexDirection:\"column\",width:\"100%\",boxSizing:\"border-box\",zIndex:e.zIndex.appBar,flexShrink:0},positionFixed:{position:\"fixed\",top:0,left:\"auto\",right:0,\"@media print\":{position:\"absolute\"}},positionAbsolute:{position:\"absolute\",top:0,left:\"auto\",right:0},positionSticky:{position:\"sticky\",top:0,left:\"auto\",right:0},positionStatic:{position:\"static\"},positionRelative:{position:\"relative\"},colorDefault:{backgroundColor:t,color:e.palette.getContrastText(t)},colorPrimary:{backgroundColor:e.palette.primary.main,color:e.palette.primary.contrastText},colorSecondary:{backgroundColor:e.palette.secondary.main,color:e.palette.secondary.contrastText},colorInherit:{color:\"inherit\"},colorTransparent:{backgroundColor:\"transparent\",color:\"inherit\"}}}),{name:\"MuiAppBar\"})(l)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(6)),s=n(17),c=n(8),u=n(19),l=n(52),f=o.forwardRef((function(e,t){var n=e.classes,c=e.className,u=e.color,f=void 0===u?\"primary\":u,d=e.value,h=e.valueBuffer,p=e.variant,g=void 0===p?\"indeterminate\":p,y=Object(i.a)(e,[\"classes\",\"className\",\"color\",\"value\",\"valueBuffer\",\"variant\"]),m=Object(l.a)(),b={},v={bar1:{},bar2:{}};if(\"determinate\"===g||\"buffer\"===g)if(void 0!==d){b[\"aria-valuenow\"]=Math.round(d),b[\"aria-valuemin\"]=0,b[\"aria-valuemax\"]=100;var x=d-100;\"rtl\"===m.direction&&(x=-x),v.bar1.transform=\"translateX(\".concat(x,\"%)\")}else 0;if(\"buffer\"===g)if(void 0!==h){var w=(h||0)-100;\"rtl\"===m.direction&&(w=-w),v.bar2.transform=\"translateX(\".concat(w,\"%)\")}else 0;return o.createElement(\"div\",Object(r.a)({className:Object(a.a)(n.root,n[\"color\".concat(Object(s.a)(f))],c,{determinate:n.determinate,indeterminate:n.indeterminate,buffer:n.buffer,query:n.query}[g]),role:\"progressbar\"},b,{ref:t},y),\"buffer\"===g?o.createElement(\"div\",{className:Object(a.a)(n.dashed,n[\"dashedColor\".concat(Object(s.a)(f))])}):null,o.createElement(\"div\",{className:Object(a.a)(n.bar,n[\"barColor\".concat(Object(s.a)(f))],(\"indeterminate\"===g||\"query\"===g)&&n.bar1Indeterminate,{determinate:n.bar1Determinate,buffer:n.bar1Buffer}[g]),style:v.bar1}),\"determinate\"===g?null:o.createElement(\"div\",{className:Object(a.a)(n.bar,(\"indeterminate\"===g||\"query\"===g)&&n.bar2Indeterminate,\"buffer\"===g?[n[\"color\".concat(Object(s.a)(f))],n.bar2Buffer]:n[\"barColor\".concat(Object(s.a)(f))]),style:v.bar2}))}));t.a=Object(c.a)((function(e){var t=function(t){return\"light\"===e.palette.type?Object(u.e)(t,.62):Object(u.a)(t,.5)},n=t(e.palette.primary.main),r=t(e.palette.secondary.main);return{root:{position:\"relative\",overflow:\"hidden\",height:4,\"@media print\":{colorAdjust:\"exact\"}},colorPrimary:{backgroundColor:n},colorSecondary:{backgroundColor:r},determinate:{},indeterminate:{},buffer:{backgroundColor:\"transparent\"},query:{transform:\"rotate(180deg)\"},dashed:{position:\"absolute\",marginTop:0,height:\"100%\",width:\"100%\",animation:\"$buffer 3s infinite linear\"},dashedColorPrimary:{backgroundImage:\"radial-gradient(\".concat(n,\" 0%, \").concat(n,\" 16%, transparent 42%)\"),backgroundSize:\"10px 10px\",backgroundPosition:\"0 -23px\"},dashedColorSecondary:{backgroundImage:\"radial-gradient(\".concat(r,\" 0%, \").concat(r,\" 16%, transparent 42%)\"),backgroundSize:\"10px 10px\",backgroundPosition:\"0 -23px\"},bar:{width:\"100%\",position:\"absolute\",left:0,bottom:0,top:0,transition:\"transform 0.2s linear\",transformOrigin:\"left\"},barColorPrimary:{backgroundColor:e.palette.primary.main},barColorSecondary:{backgroundColor:e.palette.secondary.main},bar1Indeterminate:{width:\"auto\",animation:\"$indeterminate1 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite\"},bar1Determinate:{transition:\"transform .\".concat(4,\"s linear\")},bar1Buffer:{zIndex:1,transition:\"transform .\".concat(4,\"s linear\")},bar2Indeterminate:{width:\"auto\",animation:\"$indeterminate2 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite\"},bar2Buffer:{transition:\"transform .\".concat(4,\"s linear\")},\"@keyframes indeterminate1\":{\"0%\":{left:\"-35%\",right:\"100%\"},\"60%\":{left:\"100%\",right:\"-90%\"},\"100%\":{left:\"100%\",right:\"-90%\"}},\"@keyframes indeterminate2\":{\"0%\":{left:\"-200%\",right:\"100%\"},\"60%\":{left:\"107%\",right:\"-8%\"},\"100%\":{left:\"107%\",right:\"-8%\"}},\"@keyframes buffer\":{\"0%\":{opacity:1,backgroundPosition:\"0 -23px\"},\"50%\":{opacity:0,backgroundPosition:\"0 -23px\"},\"100%\":{opacity:1,backgroundPosition:\"-200px -23px\"}}}}),{name:\"MuiLinearProgress\"})(f)},function(e,t,n){\"use strict\";var r=n(7),i=n(3),o=n(0),a=(n(1),n(6)),s=n(8),c=[0,1,2,3,4,5,6,7,8,9,10],u=[\"auto\",!0,1,2,3,4,5,6,7,8,9,10,11,12];function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=parseFloat(e);return\"\".concat(n/t).concat(String(e).replace(String(n),\"\")||\"px\")}var f=o.forwardRef((function(e,t){var n=e.alignContent,s=void 0===n?\"stretch\":n,c=e.alignItems,u=void 0===c?\"stretch\":c,l=e.classes,f=e.className,d=e.component,h=void 0===d?\"div\":d,p=e.container,g=void 0!==p&&p,y=e.direction,m=void 0===y?\"row\":y,b=e.item,v=void 0!==b&&b,x=e.justify,w=void 0===x?\"flex-start\":x,_=e.lg,k=void 0!==_&&_,O=e.md,E=void 0!==O&&O,S=e.sm,C=void 0!==S&&S,T=e.spacing,j=void 0===T?0:T,A=e.wrap,M=void 0===A?\"wrap\":A,P=e.xl,N=void 0!==P&&P,D=e.xs,R=void 0!==D&&D,I=e.zeroMinWidth,L=void 0!==I&&I,B=Object(r.a)(e,[\"alignContent\",\"alignItems\",\"classes\",\"className\",\"component\",\"container\",\"direction\",\"item\",\"justify\",\"lg\",\"md\",\"sm\",\"spacing\",\"wrap\",\"xl\",\"xs\",\"zeroMinWidth\"]),F=Object(a.a)(l.root,f,g&&[l.container,0!==j&&l[\"spacing-xs-\".concat(String(j))]],v&&l.item,L&&l.zeroMinWidth,\"row\"!==m&&l[\"direction-xs-\".concat(String(m))],\"wrap\"!==M&&l[\"wrap-xs-\".concat(String(M))],\"stretch\"!==u&&l[\"align-items-xs-\".concat(String(u))],\"stretch\"!==s&&l[\"align-content-xs-\".concat(String(s))],\"flex-start\"!==w&&l[\"justify-xs-\".concat(String(w))],!1!==R&&l[\"grid-xs-\".concat(String(R))],!1!==C&&l[\"grid-sm-\".concat(String(C))],!1!==E&&l[\"grid-md-\".concat(String(E))],!1!==k&&l[\"grid-lg-\".concat(String(k))],!1!==N&&l[\"grid-xl-\".concat(String(N))]);return o.createElement(h,Object(i.a)({className:F,ref:t},B))})),d=Object(s.a)((function(e){return Object(i.a)({root:{},container:{boxSizing:\"border-box\",display:\"flex\",flexWrap:\"wrap\",width:\"100%\"},item:{boxSizing:\"border-box\",margin:\"0\"},zeroMinWidth:{minWidth:0},\"direction-xs-column\":{flexDirection:\"column\"},\"direction-xs-column-reverse\":{flexDirection:\"column-reverse\"},\"direction-xs-row-reverse\":{flexDirection:\"row-reverse\"},\"wrap-xs-nowrap\":{flexWrap:\"nowrap\"},\"wrap-xs-wrap-reverse\":{flexWrap:\"wrap-reverse\"},\"align-items-xs-center\":{alignItems:\"center\"},\"align-items-xs-flex-start\":{alignItems:\"flex-start\"},\"align-items-xs-flex-end\":{alignItems:\"flex-end\"},\"align-items-xs-baseline\":{alignItems:\"baseline\"},\"align-content-xs-center\":{alignContent:\"center\"},\"align-content-xs-flex-start\":{alignContent:\"flex-start\"},\"align-content-xs-flex-end\":{alignContent:\"flex-end\"},\"align-content-xs-space-between\":{alignContent:\"space-between\"},\"align-content-xs-space-around\":{alignContent:\"space-around\"},\"justify-xs-center\":{justifyContent:\"center\"},\"justify-xs-flex-end\":{justifyContent:\"flex-end\"},\"justify-xs-space-between\":{justifyContent:\"space-between\"},\"justify-xs-space-around\":{justifyContent:\"space-around\"},\"justify-xs-space-evenly\":{justifyContent:\"space-evenly\"}},function(e,t){var n={};return c.forEach((function(r){var i=e.spacing(r);0!==i&&(n[\"spacing-\".concat(t,\"-\").concat(r)]={margin:\"-\".concat(l(i,2)),width:\"calc(100% + \".concat(l(i),\")\"),\"& > $item\":{padding:l(i,2)}})})),n}(e,\"xs\"),e.breakpoints.keys.reduce((function(t,n){return function(e,t,n){var r={};u.forEach((function(e){var t=\"grid-\".concat(n,\"-\").concat(e);if(!0!==e)if(\"auto\"!==e){var i=\"\".concat(Math.round(e/12*1e8)/1e6,\"%\");r[t]={flexBasis:i,flexGrow:0,maxWidth:i}}else r[t]={flexBasis:\"auto\",flexGrow:0,maxWidth:\"none\"};else r[t]={flexBasis:0,flexGrow:1,maxWidth:\"100%\"}})),\"xs\"===n?Object(i.a)(e,r):e[t.breakpoints.up(n)]=r}(t,e,n),t}),{}))}),{name:\"MuiGrid\"})(f);t.a=d},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(6)),s=n(705),c=n(706),u=n(712),l=n(708),f=n(707),d=n(704),h=n(710),p=n(8),g={standard:s.a,filled:c.a,outlined:u.a},y=o.forwardRef((function(e,t){var n=e.autoComplete,s=e.autoFocus,c=void 0!==s&&s,u=e.children,p=e.classes,y=e.className,m=e.color,b=void 0===m?\"primary\":m,v=e.defaultValue,x=e.disabled,w=void 0!==x&&x,_=e.error,k=void 0!==_&&_,O=e.FormHelperTextProps,E=e.fullWidth,S=void 0!==E&&E,C=e.helperText,T=e.hiddenLabel,j=e.id,A=e.InputLabelProps,M=e.inputProps,P=e.InputProps,N=e.inputRef,D=e.label,R=e.multiline,I=void 0!==R&&R,L=e.name,B=e.onBlur,F=e.onChange,z=e.onFocus,U=e.placeholder,H=e.required,W=void 0!==H&&H,Y=e.rows,V=e.rowsMax,q=e.select,$=void 0!==q&&q,G=e.SelectProps,X=e.type,K=e.value,Z=e.variant,J=void 0===Z?\"standard\":Z,Q=Object(i.a)(e,[\"autoComplete\",\"autoFocus\",\"children\",\"classes\",\"className\",\"color\",\"defaultValue\",\"disabled\",\"error\",\"FormHelperTextProps\",\"fullWidth\",\"helperText\",\"hiddenLabel\",\"id\",\"InputLabelProps\",\"inputProps\",\"InputProps\",\"inputRef\",\"label\",\"multiline\",\"name\",\"onBlur\",\"onChange\",\"onFocus\",\"placeholder\",\"required\",\"rows\",\"rowsMax\",\"select\",\"SelectProps\",\"type\",\"value\",\"variant\"]);var ee={};if(\"outlined\"===J&&(A&&\"undefined\"!==typeof A.shrink&&(ee.notched=A.shrink),D)){var te,ne=null!==(te=null===A||void 0===A?void 0:A.required)&&void 0!==te?te:W;ee.label=o.createElement(o.Fragment,null,D,ne&&\"\\xa0*\")}$&&(G&&G.native||(ee.id=void 0),ee[\"aria-describedby\"]=void 0);var re=C&&j?\"\".concat(j,\"-helper-text\"):void 0,ie=D&&j?\"\".concat(j,\"-label\"):void 0,oe=g[J],ae=o.createElement(oe,Object(r.a)({\"aria-describedby\":re,autoComplete:n,autoFocus:c,defaultValue:v,fullWidth:S,multiline:I,name:L,rows:Y,rowsMax:V,type:X,value:K,id:j,inputRef:N,onBlur:B,onChange:F,onFocus:z,placeholder:U,inputProps:M},ee,P));return o.createElement(f.a,Object(r.a)({className:Object(a.a)(p.root,y),disabled:w,error:k,fullWidth:S,hiddenLabel:T,ref:t,required:W,color:b,variant:J},Q),D&&o.createElement(l.a,Object(r.a)({htmlFor:j,id:ie},A),D),$?o.createElement(h.a,Object(r.a)({\"aria-describedby\":re,id:j,labelId:ie,value:K,input:ae},G),u):ae,C&&o.createElement(d.a,Object(r.a)({id:re},O),C))}));t.a=Object(p.a)({root:{}},{name:\"MuiTextField\"})(y)},function(e,t,n){\"use strict\";var r=n(7),i=n(18),o=n(3),a=n(0),s=(n(1),n(6)),c=n(8),u=n(224),l=n(17),f=a.forwardRef((function(e,t){var n=e.classes,i=e.className,c=e.disabled,f=void 0!==c&&c,d=e.disableFocusRipple,h=void 0!==d&&d,p=e.fullWidth,g=e.icon,y=e.indicator,m=e.label,b=e.onChange,v=e.onClick,x=e.onFocus,w=e.selected,_=e.selectionFollowsFocus,k=e.textColor,O=void 0===k?\"inherit\":k,E=e.value,S=e.wrapped,C=void 0!==S&&S,T=Object(r.a)(e,[\"classes\",\"className\",\"disabled\",\"disableFocusRipple\",\"fullWidth\",\"icon\",\"indicator\",\"label\",\"onChange\",\"onClick\",\"onFocus\",\"selected\",\"selectionFollowsFocus\",\"textColor\",\"value\",\"wrapped\"]);return a.createElement(u.a,Object(o.a)({focusRipple:!h,className:Object(s.a)(n.root,n[\"textColor\".concat(Object(l.a)(O))],i,f&&n.disabled,w&&n.selected,m&&g&&n.labelIcon,p&&n.fullWidth,C&&n.wrapped),ref:t,role:\"tab\",\"aria-selected\":w,disabled:f,onClick:function(e){b&&b(e,E),v&&v(e)},onFocus:function(e){_&&!w&&b&&b(e,E),x&&x(e)},tabIndex:w?0:-1},T),a.createElement(\"span\",{className:n.wrapper},g,m),y)}));t.a=Object(c.a)((function(e){var t;return{root:Object(o.a)({},e.typography.button,(t={maxWidth:264,minWidth:72,position:\"relative\",boxSizing:\"border-box\",minHeight:48,flexShrink:0,padding:\"6px 12px\"},Object(i.a)(t,e.breakpoints.up(\"sm\"),{padding:\"6px 24px\"}),Object(i.a)(t,\"overflow\",\"hidden\"),Object(i.a)(t,\"whiteSpace\",\"normal\"),Object(i.a)(t,\"textAlign\",\"center\"),Object(i.a)(t,e.breakpoints.up(\"sm\"),{minWidth:160}),t)),labelIcon:{minHeight:72,paddingTop:9,\"& $wrapper > *:first-child\":{marginBottom:6}},textColorInherit:{color:\"inherit\",opacity:.7,\"&$selected\":{opacity:1},\"&$disabled\":{opacity:.5}},textColorPrimary:{color:e.palette.text.secondary,\"&$selected\":{color:e.palette.primary.main},\"&$disabled\":{color:e.palette.text.disabled}},textColorSecondary:{color:e.palette.text.secondary,\"&$selected\":{color:e.palette.secondary.main},\"&$disabled\":{color:e.palette.text.disabled}},selected:{},disabled:{},fullWidth:{flexShrink:1,flexGrow:1,flexBasis:0,maxWidth:\"none\"},wrapped:{fontSize:e.typography.pxToRem(12),lineHeight:1.5},wrapper:{display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",width:\"100%\",flexDirection:\"column\"}}}),{name:\"MuiTab\"})(f)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(6)),s=n(8),c=n(111),u=n(105),l=o.forwardRef((function(e,t){var n=e.children,s=e.classes,l=e.className,f=e.disableTypography,d=void 0!==f&&f,h=e.inset,p=void 0!==h&&h,g=e.primary,y=e.primaryTypographyProps,m=e.secondary,b=e.secondaryTypographyProps,v=Object(i.a)(e,[\"children\",\"classes\",\"className\",\"disableTypography\",\"inset\",\"primary\",\"primaryTypographyProps\",\"secondary\",\"secondaryTypographyProps\"]),x=o.useContext(u.a).dense,w=null!=g?g:n;null==w||w.type===c.a||d||(w=o.createElement(c.a,Object(r.a)({variant:x?\"body2\":\"body1\",className:s.primary,component:\"span\",display:\"block\"},y),w));var _=m;return null==_||_.type===c.a||d||(_=o.createElement(c.a,Object(r.a)({variant:\"body2\",className:s.secondary,color:\"textSecondary\",display:\"block\"},b),_)),o.createElement(\"div\",Object(r.a)({className:Object(a.a)(s.root,l,x&&s.dense,p&&s.inset,w&&_&&s.multiline),ref:t},v),w,_)}));t.a=Object(s.a)({root:{flex:\"1 1 auto\",minWidth:0,marginTop:4,marginBottom:4},multiline:{marginTop:6,marginBottom:6},dense:{},inset:{paddingLeft:56},primary:{},secondary:{}},{name:\"MuiListItemText\"})(l)},function(e,t,n){\"use strict\";var r=n(3),i=n(0),o=n.n(i),a=(n(1),n(210)),s=n(266),c=n(211);t.a=function(e){var t=e.children,n=e.theme,i=Object(s.a)(),u=o.a.useMemo((function(){var e=null===i?n:function(e,t){return\"function\"===typeof t?t(e):Object(r.a)({},e,t)}(i,n);return null!=e&&(e[c.a]=null!==i),e}),[n,i]);return o.a.createElement(a.a.Provider,{value:u},t)}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return Ft}));var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},r(e,t)};function i(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var o=function(){return o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},o.apply(this,arguments)};function a(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{c(r.next(e))}catch(t){o(t)}}function s(e){try{c(r.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):new n((function(t){t(e.value)})).then(a,s)}c((r=r.apply(e,t||[])).next())}))}function s(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},\"function\"===typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError(\"Generator is already executing.\");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){a.label=o[1];break}if(6===o[0]&&a.label<i[1]){a.label=i[1],i=o;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(o);break}i[2]&&a.ops.pop(),a.trys.pop();continue}o=t.call(e,a)}catch(s){o=[6,s],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}}var c,u=function(){function e(){}return e.createNewGuid=function(){var t=window.crypto;if(t&&t.getRandomValues){var n=new Uint8Array(16);return t.getRandomValues(n),n[6]|=64,n[6]&=79,n[8]|=128,n[8]&=191,e.decimalToHex(n[0])+e.decimalToHex(n[1])+e.decimalToHex(n[2])+e.decimalToHex(n[3])+\"-\"+e.decimalToHex(n[4])+e.decimalToHex(n[5])+\"-\"+e.decimalToHex(n[6])+e.decimalToHex(n[7])+\"-\"+e.decimalToHex(n[8])+e.decimalToHex(n[9])+\"-\"+e.decimalToHex(n[10])+e.decimalToHex(n[11])+e.decimalToHex(n[12])+e.decimalToHex(n[13])+e.decimalToHex(n[14])+e.decimalToHex(n[15])}for(var r=\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\",i=\"0123456789abcdef\",o=0,a=\"\",s=0;s<36;s++)\"-\"!==r[s]&&\"4\"!==r[s]&&(o=16*Math.random()|0),\"x\"===r[s]?a+=i[o]:\"y\"===r[s]?(o&=3,a+=i[o|=8]):a+=r[s];return a},e.isGuid=function(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e)},e.decimalToHex=function(e){for(var t=e.toString(16);t.length<2;)t=\"0\"+t;return t},e.base64Encode=function(e){return btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(function(e,t){return String.fromCharCode(Number(\"0x\"+t))})))},e.base64Decode=function(e){var t=e.replace(/-/g,\"+\").replace(/_/g,\"/\");switch(t.length%4){case 0:break;case 2:t+=\"==\";break;case 3:t+=\"=\";break;default:throw new Error(\"Invalid base64 string\")}return decodeURIComponent(atob(t).split(\"\").map((function(e){return\"%\"+(\"00\"+e.charCodeAt(0).toString(16)).slice(-2)})).join(\"\"))},e.deserialize=function(e){var t,n=/\\+/g,r=/([^&=]+)=([^&]*)/g,i=function(e){return decodeURIComponent(e.replace(n,\" \"))},o={};for(t=r.exec(e);t;)o[i(t[1])]=i(t[2]),t=r.exec(e);return o},e}(),l=function(){function e(){}return Object.defineProperty(e,\"libraryName\",{get:function(){return\"Msal.js\"},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"claims\",{get:function(){return\"claims\"},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"clientId\",{get:function(){return\"clientId\"},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"adalIdToken\",{get:function(){return\"adal.idtoken\"},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"cachePrefix\",{get:function(){return\"msal\"},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"scopes\",{get:function(){return\"scopes\"},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"no_account\",{get:function(){return\"NO_ACCOUNT\"},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"upn\",{get:function(){return\"upn\"},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"domain_hint\",{get:function(){return\"domain_hint\"},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"prompt_select_account\",{get:function(){return\"&prompt=select_account\"},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"prompt_none\",{get:function(){return\"&prompt=none\"},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"prompt\",{get:function(){return\"prompt\"},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"response_mode_fragment\",{get:function(){return\"&response_mode=fragment\"},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"resourceDelimiter\",{get:function(){return\"|\"},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"cacheDelimiter\",{get:function(){return\".\"},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"popUpWidth\",{get:function(){return this._popUpWidth},set:function(e){this._popUpWidth=e},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"popUpHeight\",{get:function(){return this._popUpHeight},set:function(e){this._popUpHeight=e},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"login\",{get:function(){return\"LOGIN\"},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"renewToken\",{get:function(){return\"RENEW_TOKEN\"},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"unknown\",{get:function(){return\"UNKNOWN\"},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"ADFS\",{get:function(){return\"adfs\"},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"homeAccountIdentifier\",{get:function(){return\"homeAccountIdentifier\"},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"common\",{get:function(){return\"common\"},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"openidScope\",{get:function(){return\"openid\"},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"profileScope\",{get:function(){return\"profile\"},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"oidcScopes\",{get:function(){return[this.openidScope,this.profileScope]},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"interactionTypeRedirect\",{get:function(){return\"redirectInteraction\"},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"interactionTypePopup\",{get:function(){return\"popupInteraction\"},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"interactionTypeSilent\",{get:function(){return\"silentInteraction\"},enumerable:!0,configurable:!0}),Object.defineProperty(e,\"inProgress\",{get:function(){return\"inProgress\"},enumerable:!0,configurable:!0}),e._popUpWidth=483,e._popUpHeight=600,e}();!function(e){e.SCOPE=\"scope\",e.STATE=\"state\",e.ERROR=\"error\",e.ERROR_DESCRIPTION=\"error_description\",e.ACCESS_TOKEN=\"access_token\",e.ID_TOKEN=\"id_token\",e.EXPIRES_IN=\"expires_in\",e.SESSION_STATE=\"session_state\",e.CLIENT_INFO=\"client_info\"}(c||(c={}));var f,d,h,p=\"id_token\",g=\"token\",y=\"id_token token\";!function(e){e.AUTHORITY=\"authority\",e.ACQUIRE_TOKEN_ACCOUNT=\"acquireTokenAccount\",e.SESSION_STATE=\"session.state\",e.STATE_LOGIN=\"state.login\",e.STATE_ACQ_TOKEN=\"state.acquireToken\",e.STATE_RENEW=\"state.renew\",e.NONCE_IDTOKEN=\"nonce.idtoken\",e.LOGIN_REQUEST=\"login.request\",e.RENEW_STATUS=\"token.renew.status\",e.URL_HASH=\"urlHash\",e.INTERACTION_STATUS=\"interaction_status\",e.REDIRECT_REQUEST=\"redirect_request\"}(f||(f={})),function(e){e.IDTOKEN=\"idtoken\",e.CLIENT_INFO=\"client.info\"}(d||(d={})),function(e){e.LOGIN_ERROR=\"login.error\",e.ERROR=\"error\",e.ERROR_DESC=\"error.description\"}(h||(h={}));var m,b=\".well-known/openid-configuration\";!function(e){e.ACCOUNT=\"account\",e.SID=\"sid\",e.LOGIN_HINT=\"login_hint\",e.ORGANIZATIONS=\"organizations\",e.CONSUMERS=\"consumers\",e.ID_TOKEN=\"id_token\",e.ACCOUNT_ID=\"accountIdentifier\",e.HOMEACCOUNT_ID=\"homeAccountIdentifier\"}(m||(m={}));var v,x=[m.SID,m.LOGIN_HINT],w=\"GET\",_={LOGIN:\"login\",SELECT_ACCOUNT:\"select_account\",CONSENT:\"consent\",NONE:\"none\"},k=\"msalIdTokenFrame\",O=\"msalRenewFrame\",E={code:\"unexpected_error\",desc:\"Unexpected error in authentication.\"},S={code:\"no_window_object\",desc:\"No window object available. Details:\"},C=function(e){function t(n,r){var i=e.call(this,r)||this;return Object.setPrototypeOf(i,t.prototype),i.errorCode=n,i.errorMessage=r,i.name=\"AuthError\",i}return i(t,e),t.createUnexpectedError=function(e){return new t(E.code,E.desc+\": \"+e)},t.createNoWindowObjectError=function(e){return new t(S.code,S.desc+\" \"+e)},t}(Error),T=function(){function e(){}return e.isEmpty=function(e){return\"undefined\"===typeof e||!e||0===e.length},e.validateAndParseJsonCacheKey=function(e){try{var t=JSON.parse(e);return t&&\"object\"===typeof t?t:null}catch(n){return null}},e}(),j={code:\"endpoints_resolution_error\",desc:\"Error: could not resolve endpoints. Please check network and try again.\"},A={code:\"popup_window_error\",desc:\"Error opening popup window. This can happen if you are using IE or if popups are blocked in the browser.\"},M={code:\"token_renewal_error\",desc:\"Token renewal operation failed due to timeout.\"},P={code:\"invalid_id_token\",desc:\"Invalid ID token format.\"},N={code:\"invalid_state_error\",desc:\"Invalid state.\"},D={code:\"nonce_mismatch_error\",desc:\"Nonce is not matching, Nonce received: \"},R={code:\"login_progress_error\",desc:\"Login_In_Progress: Error during login call - login is already in progress.\"},I={code:\"acquiretoken_progress_error\",desc:\"AcquireToken_In_Progress: Error during login call - login is already in progress.\"},L={code:\"user_cancelled\",desc:\"User cancelled the flow.\"},B={code:\"callback_error\",desc:\"Error occurred in token received callback function.\"},F={code:\"user_login_error\",desc:\"User login is required. For silent calls, request must contain either sid or login_hint\"},z={code:\"user_non_existent\",desc:\"User object does not exist. Please call a login API.\"},U={code:\"client_info_decoding_error\",desc:\"The client info could not be parsed/decoded correctly. Please review the trace to determine the root cause.\"},H={code:\"client_info_not_populated_error\",desc:\"The service did not populate client_info in the response, Please verify with the service team\"},W={code:\"null_or_empty_id_token\",desc:\"The idToken is null or empty. Please review the trace to determine the root cause.\"},Y={code:\"id_token_parsing_error\",desc:\"ID token cannot be parsed. Please review stack trace to determine root cause.\"},V={code:\"token_encoding_error\",desc:\"The token to be decoded is not encoded correctly.\"},q={code:\"invalid_interaction_type\",desc:\"The interaction type passed to the handler was incorrect or unknown\"},$={code:\"cannot_parse_cache\",desc:\"The cached token key is not a valid JSON and cannot be parsed\"},G={code:\"block_token_requests\",desc:\"Token calls are blocked in hidden iframes\"},X=function(e){function t(n,r){var i=e.call(this,n,r)||this;return i.name=\"ClientAuthError\",Object.setPrototypeOf(i,t.prototype),i}return i(t,e),t.createEndpointResolutionError=function(e){var n=j.desc;return e&&!T.isEmpty(e)&&(n+=\" Details: \"+e),new t(j.code,n)},t.createPopupWindowError=function(e){var n=A.desc;return e&&!T.isEmpty(e)&&(n+=\" Details: \"+e),new t(A.code,n)},t.createTokenRenewalTimeoutError=function(){return new t(M.code,M.desc)},t.createInvalidIdTokenError=function(e){return new t(P.code,P.desc+\" Given token: \"+e)},t.createInvalidStateError=function(e,n){return new t(N.code,N.desc+\" \"+e+\", state expected : \"+n+\".\")},t.createNonceMismatchError=function(e,n){return new t(D.code,D.desc+\" \"+e+\", nonce expected : \"+n+\".\")},t.createLoginInProgressError=function(){return new t(R.code,R.desc)},t.createAcquireTokenInProgressError=function(){return new t(I.code,I.desc)},t.createUserCancelledError=function(){return new t(L.code,L.desc)},t.createErrorInCallbackFunction=function(e){return new t(B.code,B.desc+\" \"+e+\".\")},t.createUserLoginRequiredError=function(){return new t(F.code,F.desc)},t.createUserDoesNotExistError=function(){return new t(z.code,z.desc)},t.createClientInfoDecodingError=function(e){return new t(U.code,U.desc+\" Failed with error: \"+e)},t.createClientInfoNotPopulatedError=function(e){return new t(H.code,H.desc+\" Failed with error: \"+e)},t.createIdTokenNullOrEmptyError=function(e){return new t(W.code,W.desc+\" Raw ID Token Value: \"+e)},t.createIdTokenParsingError=function(e){return new t(Y.code,Y.desc+\" Failed with error: \"+e)},t.createTokenEncodingError=function(e){return new t(V.code,V.desc+\" Attempted to decode: \"+e)},t.createInvalidInteractionTypeError=function(){return new t(q.code,q.desc)},t.createCacheParseError=function(e){var n=\"invalid key: \"+e+\", \"+$.desc;return new t($.code,n)},t.createBlockTokenRequestsInHiddenIframeError=function(){return new t(G.code,G.desc)},t}(C),K={code:\"no_config_set\",desc:\"Configuration has not been set. Please call the UserAgentApplication constructor with a valid Configuration object.\"},Z={code:\"storage_not_supported\",desc:\"The value for the cacheLocation is not supported.\"},J={code:\"no_redirect_callbacks\",desc:\"No redirect callbacks have been set. Please call handleRedirectCallback() with the appropriate function arguments before continuing. More information is available here: https://github.com/AzureAD/microsoft-authentication-library-for-js/wiki/MSAL-basics.\"},Q={code:\"invalid_callback_object\",desc:\"The object passed for the callback was invalid. More information is available here: https://github.com/AzureAD/microsoft-authentication-library-for-js/wiki/MSAL-basics.\"},ee={code:\"scopes_required\",desc:\"Scopes are required to obtain an access token.\"},te={code:\"empty_input_scopes_error\",desc:\"Scopes cannot be passed as empty array.\"},ne={code:\"nonarray_input_scopes_error\",desc:\"Scopes cannot be passed as non-array.\"},re={code:\"invalid_prompt_value\",desc:\"Supported prompt values are 'login', 'select_account', 'consent' and 'none'\"},ie={code:\"invalid_authority_type\",desc:\"The given authority is not a valid type of authority supported by MSAL. Please see here for valid authorities: <insert URL here>.\"},oe={code:\"authority_uri_insecure\",desc:\"Authority URIs must use https.\"},ae={code:\"authority_uri_invalid_path\",desc:\"Given authority URI is invalid.\"},se={code:\"untrusted_authority\",desc:\"The provided authority is not a trusted authority. Please include this authority in the knownAuthorities config parameter or set validateAuthority=false.\"},ce={code:\"b2c_known_authorities_not_set\",desc:\"Must set known authorities when validateAuthority is set to True and using B2C\"},ue={code:\"claims_request_parsing_error\",desc:\"Could not parse the given claims request object.\"},le={code:\"empty_request_error\",desc:\"Request object is required.\"},fe={code:\"invalid_guid_sent_as_correlationId\",desc:\"Please set the correlationId as a valid guid\"},de={code:\"telemetry_config_error\",desc:\"Telemetry config is not configured with required values\"},he={code:\"sso_silent_error\",desc:\"request must contain either sid or login_hint\"},pe={code:\"authority_metadata_error\",desc:\"Invalid authorityMetadata. Must be a JSON object containing authorization_endpoint, end_session_endpoint, and issuer fields.\"},ge=function(e){function t(n,r){var i=e.call(this,n,r)||this;return i.name=\"ClientConfigurationError\",Object.setPrototypeOf(i,t.prototype),i}return i(t,e),t.createNoSetConfigurationError=function(){return new t(K.code,\"\"+K.desc)},t.createStorageNotSupportedError=function(e){return new t(Z.code,Z.desc+\" Given location: \"+e)},t.createRedirectCallbacksNotSetError=function(){return new t(J.code,J.desc)},t.createInvalidCallbackObjectError=function(e){return new t(Q.code,Q.desc+\" Given value for callback function: \"+e)},t.createEmptyScopesArrayError=function(e){return new t(te.code,te.desc+\" Given value: \"+e+\".\")},t.createScopesNonArrayError=function(e){return new t(ne.code,ne.desc+\" Given value: \"+e+\".\")},t.createScopesRequiredError=function(e){return new t(ee.code,ee.desc+\" Given value: \"+e)},t.createInvalidPromptError=function(e){return new t(re.code,re.desc+\" Given value: \"+e)},t.createClaimsRequestParsingError=function(e){return new t(ue.code,ue.desc+\" Given value: \"+e)},t.createEmptyRequestError=function(){var e=le;return new t(e.code,e.desc)},t.createInvalidCorrelationIdError=function(){return new t(fe.code,fe.desc)},t.createKnownAuthoritiesNotSetError=function(){return new t(ce.code,ce.desc)},t.createInvalidAuthorityTypeError=function(){return new t(ie.code,ie.desc)},t.createUntrustedAuthorityError=function(e){return new t(se.code,se.desc+\" Provided Authority: \"+e)},t.createTelemetryConfigError=function(e){var n=de,r=n.code,i=n.desc,o={applicationName:\"string\",applicationVersion:\"string\",telemetryEmitter:\"function\"};return new t(r,i+\" mising values: \"+Object.keys(o).reduce((function(t,n){return e[n]?t:t.concat([n+\" (\"+o[n]+\")\"])}),[]).join(\",\"))},t.createSsoSilentError=function(){return new t(he.code,he.desc)},t.createInvalidAuthorityMetadataError=function(){return new t(pe.code,pe.desc)},t}(X),ye=function(){function e(){}return e.isIntersectingScopes=function(e,t){for(var n=this.trimAndConvertArrayToLowerCase(e.slice()),r=this.trimAndConvertArrayToLowerCase(t.slice()),i=0;i<r.length;i++)if(n.indexOf(r[i].toLowerCase())>-1)return!0;return!1},e.containsScope=function(e,t){var n=this.trimAndConvertArrayToLowerCase(e.slice());return this.trimAndConvertArrayToLowerCase(t.slice()).every((function(e){return n.indexOf(e.toString().toLowerCase())>=0}))},e.trimAndConvertToLowerCase=function(e){return e.trim().toLowerCase()},e.trimAndConvertArrayToLowerCase=function(e){var t=this;return e.map((function(e){return t.trimAndConvertToLowerCase(e)}))},e.trimScopes=function(e){return e.map((function(e){return e.trim()}))},e.removeElement=function(e,t){var n=this.trimAndConvertToLowerCase(t);return e.filter((function(e){return e!==n}))},e.parseScope=function(e){var t=\"\";if(e)for(var n=0;n<e.length;++n)t+=n!==e.length-1?e[n]+\" \":e[n];return t},e.validateInputScope=function(e,t){if(e){if(!Array.isArray(e))throw ge.createScopesNonArrayError(e);if(e.length<1&&t)throw ge.createEmptyScopesArrayError(e.toString())}else if(t)throw ge.createScopesRequiredError(e)},e.getScopeFromState=function(e){if(e){var t=e.indexOf(l.resourceDelimiter);if(t>-1&&t+1<e.length)return e.substring(t+1)}return\"\"},e.appendScopes=function(e,t){if(e){var n=t?this.trimAndConvertArrayToLowerCase(t.slice()):null,r=this.trimAndConvertArrayToLowerCase(e.slice());return n?r.concat(n):r}return null},e.onlyContainsOidcScopes=function(e){var t=e.length,n=0;return e.indexOf(l.openidScope)>-1&&(n+=1),e.indexOf(l.profileScope)>-1&&(n+=1),t>0&&t===n},e.containsAnyOidcScopes=function(e){var t=e.indexOf(l.openidScope)>-1,n=e.indexOf(l.profileScope)>-1;return t||n},e.onlyContainsClientId=function(e,t){return!!e&&e.indexOf(t)>-1&&1===e.length},e.appendDefaultScopes=function(e){var t=e;return-1===t.indexOf(l.openidScope)&&t.push(l.openidScope),-1===t.indexOf(l.profileScope)&&t.push(l.profileScope),t},e.removeDefaultScopes=function(e){return e.filter((function(e){return e!==l.openidScope&&e!==l.profileScope}))},e.translateClientIdIfSingleScope=function(e,t){return this.onlyContainsClientId(e,t)?l.oidcScopes:e},e}(),me=function(){function e(){}return e.createNavigateUrl=function(e){var t=this.createNavigationUrlString(e),n=e.authorityInstance.AuthorizationEndpoint;return n.indexOf(\"?\")<0?n+=\"?\":n+=\"&\",\"\"+n+t.join(\"&\")},e.createNavigationUrlString=function(e){var t=ye.appendDefaultScopes(e.scopes),n=[];return n.push(\"response_type=\"+e.responseType),n.push(\"scope=\"+encodeURIComponent(ye.parseScope(t))),n.push(\"client_id=\"+encodeURIComponent(e.clientId)),n.push(\"redirect_uri=\"+encodeURIComponent(e.redirectUri)),n.push(\"state=\"+encodeURIComponent(e.state)),n.push(\"nonce=\"+encodeURIComponent(e.nonce)),n.push(\"client_info=1\"),n.push(\"x-client-SKU=\"+e.xClientSku),n.push(\"x-client-Ver=\"+e.xClientVer),e.promptValue&&n.push(\"prompt=\"+encodeURIComponent(e.promptValue)),e.claimsValue&&n.push(\"claims=\"+encodeURIComponent(e.claimsValue)),e.queryParameters&&n.push(e.queryParameters),e.extraQueryParameters&&n.push(e.extraQueryParameters),n.push(\"client-request-id=\"+encodeURIComponent(e.correlationId)),n},e.getCurrentUrl=function(){return window.location.href.split(\"?\")[0].split(\"#\")[0]},e.removeHashFromUrl=function(e){return e.split(\"#\")[0]},e.replaceTenantPath=function(e,t){var n=e.toLowerCase(),r=this.GetUrlComponents(n),i=r.PathSegments;return!t||0===i.length||i[0]!==l.common&&i[0]!==m.ORGANIZATIONS&&i[0]!==m.CONSUMERS||(i[0]=t),this.constructAuthorityUriFromObject(r,i)},e.constructAuthorityUriFromObject=function(e,t){return this.CanonicalizeUri(e.Protocol+\"//\"+e.HostNameAndPort+\"/\"+t.join(\"/\"))},e.isCommonAuthority=function(e){var t=this.CanonicalizeUri(e),n=this.GetUrlComponents(t).PathSegments;return 0!==n.length&&n[0]===l.common},e.isOrganizationsAuthority=function(e){var t=this.CanonicalizeUri(e),n=this.GetUrlComponents(t).PathSegments;return 0!==n.length&&n[0]===m.ORGANIZATIONS},e.isConsumersAuthority=function(e){var t=this.CanonicalizeUri(e),n=this.GetUrlComponents(t).PathSegments;return 0!==n.length&&n[0]===m.CONSUMERS},e.GetUrlComponents=function(e){if(!e)throw\"Url required\";var t=RegExp(\"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\\\?([^#]*))?(#(.*))?\"),n=e.match(t);if(!n||n.length<6)throw\"Valid url required\";var r={Protocol:n[1],HostNameAndPort:n[4],AbsolutePath:n[5]},i=r.AbsolutePath.split(\"/\");return i=i.filter((function(e){return e&&e.length>0})),r.PathSegments=i,n[6]&&(r.Search=n[6]),n[8]&&(r.Hash=n[8]),r},e.CanonicalizeUri=function(t){if(t){var n=t.toLowerCase();return e.endsWith(n,\"/\")||(n+=\"/\"),n}return t},e.endsWith=function(e,t){return!(!e||!t)&&-1!==e.indexOf(t,e.length-t.length)},e.urlRemoveQueryStringParameter=function(e,t){if(T.isEmpty(e))return e;var n=new RegExp(\"(\\\\&\"+t+\"=)[^&]+\");return e.replace(n,\"\"),n=new RegExp(\"(\"+t+\"=)[^&]+&\"),e.replace(n,\"\"),n=new RegExp(\"(\"+t+\"=)[^&]+\"),e.replace(n,\"\")},e.getHashFromUrl=function(e){var t=e.indexOf(\"#\"),n=e.indexOf(\"#/\");return n>-1?e.substring(n+2):t>-1?e.substring(t+1):e},e.urlContainsHash=function(t){var n=e.deserializeHash(t);return n.hasOwnProperty(c.ERROR_DESCRIPTION)||n.hasOwnProperty(c.ERROR)||n.hasOwnProperty(c.ACCESS_TOKEN)||n.hasOwnProperty(c.ID_TOKEN)},e.deserializeHash=function(t){var n=e.getHashFromUrl(t);return u.deserialize(n)},e.getHostFromUri=function(e){var t=String(e).replace(/^(https?:)\\/\\//,\"\");return t=t.split(\"/\")[0]},e}(),be=function(e,t,n,r,i){this.authority=me.CanonicalizeUri(e),this.clientId=t,this.scopes=n,this.homeAccountIdentifier=u.base64Encode(r)+\".\"+u.base64Encode(i)},ve=function(e,t,n,r){this.accessToken=e,this.idToken=t,this.expiresIn=n,this.homeAccountIdentifier=r},xe=\"1.4.12\",we=function(){function e(e,t,n,r,i,o,a){this.authorityInstance=e,this.clientId=t,this.nonce=u.createNewGuid(),this.scopes=i?i.slice():l.oidcScopes,this.scopes=ye.trimScopes(this.scopes),this.state=o,this.correlationId=a,this.xClientSku=\"MSAL.JS\",this.xClientVer=xe,this.responseType=n,this.redirectUri=r}return Object.defineProperty(e.prototype,\"authority\",{get:function(){return this.authorityInstance?this.authorityInstance.CanonicalAuthority:null},enumerable:!0,configurable:!0}),e.prototype.populateQueryParams=function(t,n,r,i){var o={};n&&(n.prompt&&(this.promptValue=n.prompt),n.claimsRequest&&(this.claimsValue=n.claimsRequest),e.isSSOParam(n)&&(o=this.constructUnifiedCacheQueryParameter(n,null))),r&&(o=this.constructUnifiedCacheQueryParameter(null,r)),o=this.addHintParameters(t,o);var a=n?n.extraQueryParameters:null;this.queryParameters=e.generateQueryParametersString(o),this.extraQueryParameters=e.generateQueryParametersString(a,i)},e.prototype.constructUnifiedCacheQueryParameter=function(e,t){var n,r;if(e)if(e.account){var i=e.account;i.sid?(n=m.SID,r=i.sid):i.userName&&(n=m.LOGIN_HINT,r=i.userName)}else e.sid?(n=m.SID,r=e.sid):e.loginHint&&(n=m.LOGIN_HINT,r=e.loginHint);else t&&t.hasOwnProperty(l.upn)&&(n=m.ID_TOKEN,r=t.upn);return this.addSSOParameter(n,r)},e.prototype.addHintParameters=function(e,t){var n=t;e&&!n[m.SID]&&(!n[m.LOGIN_HINT]&&e.sid&&this.promptValue===_.NONE?n=this.addSSOParameter(m.SID,e.sid,n):!n[m.LOGIN_HINT]&&e.userName&&!T.isEmpty(e.userName)&&(n=this.addSSOParameter(m.LOGIN_HINT,e.userName,n)));return n},e.prototype.addSSOParameter=function(e,t,n){var r=n||{};if(!t)return r;switch(e){case m.SID:r[m.SID]=t;break;case m.ID_TOKEN:case m.LOGIN_HINT:r[m.LOGIN_HINT]=t}return r},e.generateQueryParametersString=function(e,t){var n=null;return e&&Object.keys(e).forEach((function(r){r===l.domain_hint&&(t||e[m.SID])||(n?n+=\"&\"+r+\"=\"+encodeURIComponent(e[r]):n=r+\"=\"+encodeURIComponent(e[r]))})),n},e.isSSOParam=function(e){return!(!e||!(e.account||e.sid||e.loginHint))},e.determineResponseType=function(e,t){return ye.onlyContainsOidcScopes(t)?p:e?this.responseTypeForMatchingAccounts(t):y},e.responseTypeForMatchingAccounts=function(e){return ye.containsAnyOidcScopes(e)?y:g},e}(),_e=function(){function e(){}return e.prototype.sendRequestAsync=function(e,t,n){var r=this;return new Promise((function(n,i){var o=new XMLHttpRequest;if(o.open(t,e,!0),o.onload=function(){var e;(o.status<200||o.status>=300)&&i(r.handleError(o.responseText));try{e=JSON.parse(o.responseText)}catch(a){i(r.handleError(o.responseText))}var t={statusCode:o.status,body:e};n(t)},o.onerror=function(){i(o.status)},t!==w)throw\"not implemented\";o.send()}))},e.prototype.handleError=function(e){var t;try{if((t=JSON.parse(e)).error)return t.error;throw e}catch(n){return e}},e}(),ke=function(){function e(){}return e.setTrustedAuthoritiesFromConfig=function(t,n){t&&!this.getTrustedHostList().length&&n.forEach((function(t){e.TrustedHostList.push(t.toLowerCase())}))},e.getAliases=function(e,t,n){return a(this,void 0,void 0,(function(){var r,i,o,a;return s(this,(function(s){return r=new _e,i=w,o=\"https://login.microsoftonline.com/common//discovery/instance?api-version=1.1&authorization_endpoint=\"+e+\"oauth2/v2.0/authorize\",a=t.createAndStartHttpEvent(n,i,o,\"getAliases\"),[2,r.sendRequestAsync(o,i,!0).then((function(e){return a.httpResponseStatus=e.statusCode,t.stopEvent(a),e.body.metadata})).catch((function(e){throw a.serverErrorCode=e,t.stopEvent(a),e}))]}))}))},e.setTrustedAuthoritiesFromNetwork=function(t,n,r){return a(this,void 0,void 0,(function(){var i;return s(this,(function(o){switch(o.label){case 0:return[4,this.getAliases(t,n,r)];case 1:return o.sent().forEach((function(t){t.aliases.forEach((function(t){e.TrustedHostList.push(t.toLowerCase())}))})),i=me.GetUrlComponents(t).HostNameAndPort,e.getTrustedHostList().length&&!e.IsInTrustedHostList(i)&&e.TrustedHostList.push(i.toLowerCase()),[2]}}))}))},e.getTrustedHostList=function(){return this.TrustedHostList},e.IsInTrustedHostList=function(e){return this.TrustedHostList.indexOf(e.toLowerCase())>-1},e.TrustedHostList=[],e}();!function(e){e[e.Default=0]=\"Default\",e[e.Adfs=1]=\"Adfs\"}(v||(v={}));var Oe,Ee=function(){function e(e,t,n){this.IsValidationEnabled=t,this.CanonicalAuthority=e,this.validateAsUri(),this.tenantDiscoveryResponse=n}return e.isAdfs=function(e){var t=me.GetUrlComponents(e).PathSegments;return t.length&&t[0].toLowerCase()===l.ADFS},Object.defineProperty(e.prototype,\"AuthorityType\",{get:function(){return e.isAdfs(this.canonicalAuthority)?v.Adfs:v.Default},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"Tenant\",{get:function(){return this.CanonicalAuthorityUrlComponents.PathSegments[0]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"AuthorizationEndpoint\",{get:function(){return this.validateResolved(),this.tenantDiscoveryResponse.AuthorizationEndpoint.replace(/{tenant}|{tenantid}/g,this.Tenant)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"EndSessionEndpoint\",{get:function(){return this.validateResolved(),this.tenantDiscoveryResponse.EndSessionEndpoint.replace(/{tenant}|{tenantid}/g,this.Tenant)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"SelfSignedJwtAudience\",{get:function(){return this.validateResolved(),this.tenantDiscoveryResponse.Issuer.replace(/{tenant}|{tenantid}/g,this.Tenant)},enumerable:!0,configurable:!0}),e.prototype.validateResolved=function(){if(!this.hasCachedMetadata())throw\"Please call ResolveEndpointsAsync first\"},Object.defineProperty(e.prototype,\"CanonicalAuthority\",{get:function(){return this.canonicalAuthority},set:function(e){this.canonicalAuthority=me.CanonicalizeUri(e),this.canonicalAuthorityUrlComponents=null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"CanonicalAuthorityUrlComponents\",{get:function(){return this.canonicalAuthorityUrlComponents||(this.canonicalAuthorityUrlComponents=me.GetUrlComponents(this.CanonicalAuthority)),this.canonicalAuthorityUrlComponents},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"DefaultOpenIdConfigurationEndpoint\",{get:function(){return this.AuthorityType===v.Adfs?\"\"+this.CanonicalAuthority+b:this.CanonicalAuthority+\"v2.0/\"+b},enumerable:!0,configurable:!0}),e.prototype.validateAsUri=function(){var e;try{e=this.CanonicalAuthorityUrlComponents}catch(t){throw ie}if(!e.Protocol||\"https:\"!==e.Protocol.toLowerCase())throw oe;if(!e.PathSegments||e.PathSegments.length<1)throw ae},e.prototype.DiscoverEndpoints=function(e,t,n){var r=new _e,i=w,o=t.createAndStartHttpEvent(n,i,e,\"openIdConfigurationEndpoint\");return r.sendRequestAsync(e,i,!0).then((function(e){return o.httpResponseStatus=e.statusCode,t.stopEvent(o),{AuthorizationEndpoint:e.body.authorization_endpoint,EndSessionEndpoint:e.body.end_session_endpoint,Issuer:e.body.issuer}})).catch((function(e){throw o.serverErrorCode=e,t.stopEvent(o),e}))},e.prototype.resolveEndpointsAsync=function(e,t){return a(this,void 0,void 0,(function(){var n,r,i;return s(this,(function(o){switch(o.label){case 0:return this.IsValidationEnabled?(n=this.canonicalAuthorityUrlComponents.HostNameAndPort,0!==ke.getTrustedHostList().length?[3,2]:[4,ke.setTrustedAuthoritiesFromNetwork(this.canonicalAuthority,e,t)]):[3,3];case 1:o.sent(),o.label=2;case 2:if(!ke.IsInTrustedHostList(n))throw ge.createUntrustedAuthorityError(n);o.label=3;case 3:return r=this.GetOpenIdConfigurationEndpoint(),i=this,[4,this.DiscoverEndpoints(r,e,t)];case 4:return i.tenantDiscoveryResponse=o.sent(),[2,this.tenantDiscoveryResponse]}}))}))},e.prototype.hasCachedMetadata=function(){return!!(this.tenantDiscoveryResponse&&this.tenantDiscoveryResponse.AuthorizationEndpoint&&this.tenantDiscoveryResponse.EndSessionEndpoint&&this.tenantDiscoveryResponse.Issuer)},e.prototype.GetOpenIdConfigurationEndpoint=function(){return this.DefaultOpenIdConfigurationEndpoint},e}(),Se=function(){function e(t,n){if(!t||T.isEmpty(t))return this.uid=\"\",void(this.utid=\"\");try{var r=u.base64Decode(t),i=JSON.parse(r);i&&(i.hasOwnProperty(\"uid\")&&(this.uid=n?e.stripPolicyFromUid(i.uid,n):i.uid),i.hasOwnProperty(\"utid\")&&(this.utid=i.utid))}catch(o){throw X.createClientInfoDecodingError(o)}}return Object.defineProperty(e.prototype,\"uid\",{get:function(){return this._uid?this._uid:\"\"},set:function(e){this._uid=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"utid\",{get:function(){return this._utid?this._utid:\"\"},set:function(e){this._utid=e},enumerable:!0,configurable:!0}),e.createClientInfoFromIdToken=function(t,n){var r={uid:t.subject,utid:\"\"};return new e(u.base64Encode(JSON.stringify(r)),n)},e.stripPolicyFromUid=function(e,t){var n=e.split(\"-\"),r=t.split(\"/\").reverse(),i=\"\";return T.isEmpty(r[0])?r.length>1&&(i=r[1]):i=r[0],n[n.length-1]===i?n.slice(0,n.length-1).join(\"-\"):e},e.prototype.encodeClientInfo=function(){var e=JSON.stringify({uid:this.uid,utid:this.utid});return u.base64Encode(e)},e}(),Ce=function(){function e(){}return e.parseExpiresIn=function(e){return parseInt(e||\"3599\",10)},e.now=function(){return Math.round((new Date).getTime()/1e3)},e.relativeNowMs=function(){return window.performance.now()},e}(),Te=function(){function e(){}return e.decodeJwt=function(e){if(T.isEmpty(e))return null;var t=/^([^\\.\\s]*)\\.([^\\.\\s]+)\\.([^\\.\\s]*)$/.exec(e);return!t||t.length<4?null:{header:t[1],JWSPayload:t[2],JWSSig:t[3]}},e.validateExpirationIsWithinOffset=function(e,t){var n=t||300;return e&&e>Ce.now()+n},e.extractIdToken=function(e){var t=this.decodeJwt(e);if(!t)return null;try{var n=t.JWSPayload,r=u.base64Decode(n);return r?JSON.parse(r):null}catch(i){}return null},e}(),je=function(e){if(T.isEmpty(e))throw X.createIdTokenNullOrEmptyError(e);try{this.rawIdToken=e,this.claims=Te.extractIdToken(e),this.claims&&(this.claims.hasOwnProperty(\"iss\")&&(this.issuer=this.claims.iss),this.claims.hasOwnProperty(\"oid\")&&(this.objectId=this.claims.oid),this.claims.hasOwnProperty(\"sub\")&&(this.subject=this.claims.sub),this.claims.hasOwnProperty(\"tid\")&&(this.tenantId=this.claims.tid),this.claims.hasOwnProperty(\"ver\")&&(this.version=this.claims.ver),this.claims.hasOwnProperty(\"preferred_username\")?this.preferredName=this.claims.preferred_username:this.claims.hasOwnProperty(\"upn\")&&(this.preferredName=this.claims.upn),this.claims.hasOwnProperty(\"name\")&&(this.name=this.claims.name),this.claims.hasOwnProperty(\"nonce\")&&(this.nonce=this.claims.nonce),this.claims.hasOwnProperty(\"exp\")&&(this.expiration=this.claims.exp),this.claims.hasOwnProperty(\"home_oid\")&&(this.homeObjectId=this.claims.home_oid),this.claims.hasOwnProperty(\"sid\")&&(this.sid=this.claims.sid),this.claims.hasOwnProperty(\"cloud_instance_host_name\")&&(this.cloudInstance=this.claims.cloud_instance_host_name))}catch(t){throw X.createIdTokenParsingError(t)}},Ae=function(e,t){this.key=e,this.value=t},Me=function(){function e(e){if(!window)throw C.createNoWindowObjectError(\"Browser storage class could not find window object\");if(!(\"undefined\"!==typeof window[e]&&null!==window[e]))throw ge.createStorageNotSupportedError(e);this.cacheLocation=e}return e.prototype.setItem=function(e,t,n){window[this.cacheLocation].setItem(e,t),n&&this.setItemCookie(e,t)},e.prototype.getItem=function(e,t){return t&&this.getItemCookie(e)?this.getItemCookie(e):window[this.cacheLocation].getItem(e)},e.prototype.removeItem=function(e){return window[this.cacheLocation].removeItem(e)},e.prototype.clear=function(){return window[this.cacheLocation].clear()},e.prototype.setItemCookie=function(e,t,n){var r=encodeURIComponent(e)+\"=\"+encodeURIComponent(t)+\";path=/;\";n&&(r+=\"expires=\"+this.getCookieExpirationTime(n)+\";\");document.cookie=r},e.prototype.getItemCookie=function(e){for(var t=encodeURIComponent(e)+\"=\",n=document.cookie.split(\";\"),r=0;r<n.length;r++){for(var i=n[r];\" \"===i.charAt(0);)i=i.substring(1);if(0===i.indexOf(t))return decodeURIComponent(i.substring(t.length,i.length))}return\"\"},e.prototype.clearItemCookie=function(e){this.setItemCookie(e,\"\",-1)},e.prototype.getCookieExpirationTime=function(e){var t=new Date;return new Date(t.getTime()+24*e*60*60*1e3).toUTCString()},e}(),Pe=function(){function e(){}return e.validateRequest=function(e,t,n,r){if(!t&&!e)throw ge.createEmptyRequestError();var i,a;e&&(i=t?ye.appendScopes(e.scopes,e.extraScopesToConsent):e.scopes,ye.validateInputScope(i,!t),i=ye.translateClientIdIfSingleScope(i,n),this.validatePromptParameter(e.prompt),a=this.validateEQParameters(e.extraQueryParameters,e.claimsRequest),this.validateClaimsRequest(e.claimsRequest));var s=this.validateAndGenerateState(e&&e.state,r),c=this.validateAndGenerateCorrelationId(e&&e.correlationId);return o({},e,{extraQueryParameters:a,scopes:i,state:s,correlationId:c})},e.validatePromptParameter=function(e){if(e&&[_.LOGIN,_.SELECT_ACCOUNT,_.CONSENT,_.NONE].indexOf(e)<0)throw ge.createInvalidPromptError(e)},e.validateEQParameters=function(e,t){var n=o({},e);return n?(t&&delete n[l.claims],x.forEach((function(e){n[e]&&delete n[e]})),n):null},e.validateClaimsRequest=function(e){if(e)try{JSON.parse(e)}catch(t){throw ge.createClaimsRequestParsingError(t)}},e.validateAndGenerateState=function(t,n){return T.isEmpty(t)?e.generateLibraryState(n):\"\"+e.generateLibraryState(n)+l.resourceDelimiter+t},e.generateLibraryState=function(e){var t={id:u.createNewGuid(),ts:Ce.now(),method:e},n=JSON.stringify(t);return u.base64Encode(n)},e.parseLibraryState=function(e){var t=decodeURIComponent(e).split(l.resourceDelimiter)[0];if(u.isGuid(t))return{id:t,ts:Ce.now(),method:l.interactionTypeRedirect};try{var n=u.base64Decode(t);return JSON.parse(n)}catch(r){throw X.createInvalidStateError(e,null)}},e.validateAndGenerateCorrelationId=function(e){if(e&&!u.isGuid(e))throw ge.createInvalidCorrelationIdError();return u.isGuid(e)?e:u.createNewGuid()},e.createRequestSignature=function(e){return\"\"+e.scopes.join(\" \").toLowerCase()+l.resourceDelimiter+e.authority},e}(),Ne=function(e){function t(t,n,r){var i=e.call(this,n)||this;return i.clientId=t,i.rollbackEnabled=!0,i.migrateCacheEntries(r),i}return i(t,e),t.prototype.migrateCacheEntries=function(t){var n,r=this,i=l.cachePrefix+\".\"+d.IDTOKEN,o=l.cachePrefix+\".\"+d.CLIENT_INFO,a=l.cachePrefix+\".\"+h.ERROR,s=l.cachePrefix+\".\"+h.ERROR_DESC,c=e.prototype.getItem.call(this,i);if(c)try{n=new je(c)}catch(f){return}if(n&&n.claims&&n.claims.aud===this.clientId){var u=[c,e.prototype.getItem.call(this,o),e.prototype.getItem.call(this,a),e.prototype.getItem.call(this,s)];[d.IDTOKEN,d.CLIENT_INFO,h.ERROR,h.ERROR_DESC].forEach((function(e,n){return r.duplicateCacheEntry(e,u[n],t)}))}},t.prototype.duplicateCacheEntry=function(e,t,n){t&&this.setItem(e,t,n)},t.prototype.generateCacheKey=function(e,t){try{return JSON.parse(e),e}catch(n){return 0===e.indexOf(\"\"+l.cachePrefix)||0===e.indexOf(l.adalIdToken)?e:t?l.cachePrefix+\".\"+this.clientId+\".\"+e:l.cachePrefix+\".\"+e}},t.prototype.matchKeyForType=function(e,t,n,r){var i=T.validateAndParseJsonCacheKey(e);if(!i)return null;var o=e.match(t)&&e.match(n),a=!1;switch(r){case c.ACCESS_TOKEN:a=!!e.match(l.scopes);break;case c.ID_TOKEN:a=!e.match(l.scopes)}return o&&a?i:null},t.prototype.setItem=function(t,n,r){e.prototype.setItem.call(this,this.generateCacheKey(t,!0),n,r),this.rollbackEnabled&&!r&&e.prototype.setItem.call(this,this.generateCacheKey(t,!1),n,r)},t.prototype.getItem=function(t,n){return e.prototype.getItem.call(this,this.generateCacheKey(t,!0),n)},t.prototype.removeItem=function(t){e.prototype.removeItem.call(this,this.generateCacheKey(t,!0)),this.rollbackEnabled&&e.prototype.removeItem.call(this,this.generateCacheKey(t,!1))},t.prototype.resetCacheItems=function(){var t,n=window[this.cacheLocation];for(t in n)n.hasOwnProperty(t)&&-1!==t.indexOf(l.cachePrefix)&&e.prototype.removeItem.call(this,t)},t.prototype.resetTempCacheItems=function(t){var n=this,r=t&&Pe.parseLibraryState(t).id,i=this.tokenRenewalInProgress(t),o=window[this.cacheLocation];r&&!i&&Object.keys(o).forEach((function(t){-1!==t.indexOf(r)&&(n.removeItem(t),e.prototype.clearItemCookie.call(n,t))})),this.removeItem(f.INTERACTION_STATUS),this.removeItem(f.REDIRECT_REQUEST)},t.prototype.setItemCookie=function(t,n,r){e.prototype.setItemCookie.call(this,this.generateCacheKey(t,!0),n,r),this.rollbackEnabled&&e.prototype.setItemCookie.call(this,this.generateCacheKey(t,!1),n,r)},t.prototype.clearItemCookie=function(t){e.prototype.clearItemCookie.call(this,this.generateCacheKey(t,!0)),this.rollbackEnabled&&e.prototype.clearItemCookie.call(this,this.generateCacheKey(t,!1))},t.prototype.getItemCookie=function(t){return e.prototype.getItemCookie.call(this,this.generateCacheKey(t,!0))},t.prototype.getAllTokensByType=function(e,t,n){var r=this;return Object.keys(window[this.cacheLocation]).reduce((function(i,o){var a=r.matchKeyForType(o,e,t,n);if(a){var s=r.getItem(o);if(s)try{var c=new Ae(a,JSON.parse(s));return i.concat([c])}catch(u){return i}}return i}),[])},t.prototype.getAllAccessTokens=function(e,t){return this.getAllTokensByType(e,t,c.ACCESS_TOKEN)},t.prototype.getAllIdTokens=function(e,t){return this.getAllTokensByType(e,t,c.ID_TOKEN)},t.prototype.getAllTokens=function(e,t){var n=this.getAllAccessTokens(e,t),r=this.getAllIdTokens(e,t);return n.concat(r)},t.prototype.tokenRenewalInProgress=function(e){var n=this.getItem(t.generateTemporaryCacheKey(f.RENEW_STATUS,e));return!(!n||n!==l.inProgress)},t.prototype.clearMsalCookie=function(n){var r=this;n?(this.clearItemCookie(t.generateTemporaryCacheKey(f.NONCE_IDTOKEN,n)),this.clearItemCookie(t.generateTemporaryCacheKey(f.STATE_LOGIN,n)),this.clearItemCookie(t.generateTemporaryCacheKey(f.LOGIN_REQUEST,n)),this.clearItemCookie(t.generateTemporaryCacheKey(f.STATE_ACQ_TOKEN,n))):document.cookie.split(\";\").forEach((function(t){var n=t.trim().split(\"=\")[0];n.indexOf(l.cachePrefix)>-1&&e.prototype.clearItemCookie.call(r,n)}))},t.generateAcquireTokenAccountKey=function(e,t){var n=Pe.parseLibraryState(t).id;return\"\"+f.ACQUIRE_TOKEN_ACCOUNT+l.resourceDelimiter+e+l.resourceDelimiter+n},t.generateAuthorityKey=function(e){return t.generateTemporaryCacheKey(f.AUTHORITY,e)},t.generateTemporaryCacheKey=function(e,t){var n=Pe.parseLibraryState(t).id;return\"\"+e+l.resourceDelimiter+n},t}(Me),De=function(){function e(e,t,n,r,i,o,a){this.accountIdentifier=e,this.homeAccountIdentifier=t,this.userName=n,this.name=r,this.idToken=i,this.idTokenClaims=i,this.sid=o,this.environment=a}return e.createAccount=function(t,n){var r,i=t.objectId||t.subject,o=n?n.uid:\"\",a=n?n.utid:\"\";return T.isEmpty(o)||(r=T.isEmpty(a)?u.base64Encode(o):u.base64Encode(o)+\".\"+u.base64Encode(a)),new e(i,r,t.preferredName,t.name,t.claims,t.sid,t.issuer)},e.compareAccounts=function(e,t){return!(!e||!t)&&!(!e.homeAccountIdentifier||!t.homeAccountIdentifier||e.homeAccountIdentifier!==t.homeAccountIdentifier)},e}(),Re=function(){function e(){}return e.isInIframe=function(){return window.parent!==window},e.isInPopup=function(){return!(!window.opener||window.opener===window)},e.generateFrameName=function(e,t){return\"\"+e+l.resourceDelimiter+t},e.monitorIframeForHash=function(t,n,r,i){return new Promise((function(o,a){var s=Ce.relativeNowMs()+n;i.verbose(\"monitorWindowForIframe polling started\");var c=setInterval((function(){if(Ce.relativeNowMs()>s)return i.error(\"monitorIframeForHash unable to find hash in url, timing out\"),i.errorPii(\"monitorIframeForHash polling timed out for url: \"+r),clearInterval(c),void a(X.createTokenRenewalTimeoutError());var e;try{e=t.location.href}catch(n){}e&&me.urlContainsHash(e)&&(i.verbose(\"monitorIframeForHash found url in hash\"),clearInterval(c),o(t.location.hash))}),e.POLLING_INTERVAL_MS)}))},e.monitorPopupForHash=function(t,n,r,i){return new Promise((function(o,a){var s=n/e.POLLING_INTERVAL_MS,c=0;i.verbose(\"monitorWindowForHash polling started\");var u=setInterval((function(){if(t.closed)return i.error(\"monitorWindowForHash window closed\"),clearInterval(u),void a(X.createUserCancelledError());var n;try{n=t.location.href}catch(f){}if(n&&\"about:blank\"!==n)if(c++,n&&me.urlContainsHash(n)){i.verbose(\"monitorPopupForHash found url in hash\"),clearInterval(u);var l=t.location.hash;e.clearUrlFragment(t),o(l)}else c>s&&(i.error(\"monitorPopupForHash unable to find hash in url, timing out\"),i.errorPii(\"monitorPopupForHash polling timed out for url: \"+r),clearInterval(u),a(X.createTokenRenewalTimeoutError()))}),e.POLLING_INTERVAL_MS)}))},e.loadFrame=function(e,t,n,r){var i=this;return r.infoPii(\"LoadFrame: \"+t),new Promise((function(o,a){setTimeout((function(){var n=i.loadFrameSync(e,t,r);n?o(n):a(\"Unable to load iframe with name: \"+t)}),n)}))},e.loadFrameSync=function(t,n,r){var i=e.addHiddenIFrame(n,r);return i?(\"\"!==i.src&&\"about:blank\"!==i.src||(i.src=t,r.infoPii(\"Frame Name : \"+n+\" Navigated to: \"+t)),i):null},e.addHiddenIFrame=function(e,t){if(\"undefined\"===typeof e)return null;t.infoPii(\"Add msal frame to document:\"+e);var n=document.getElementById(e);if(!n){if(document.createElement&&document.documentElement&&-1===window.navigator.userAgent.indexOf(\"MSIE 5.0\")){var r=document.createElement(\"iframe\");r.setAttribute(\"id\",e),r.setAttribute(\"aria-hidden\",\"true\"),r.style.visibility=\"hidden\",r.style.position=\"absolute\",r.style.width=r.style.height=\"0\",r.style.border=\"0\",r.setAttribute(\"sandbox\",\"allow-scripts allow-same-origin allow-forms\"),n=document.getElementsByTagName(\"body\")[0].appendChild(r)}else document.body&&document.body.insertAdjacentHTML&&document.body.insertAdjacentHTML(\"beforeend\",\"<iframe name='\"+e+\"' id='\"+e+\"' style='display:none'></iframe>\");window.frames&&window.frames[e]&&(n=window.frames[e])}return n},e.removeHiddenIframe=function(e){document.body===e.parentNode&&document.body.removeChild(e)},e.getIframeWithHash=function(e){var t=document.getElementsByTagName(\"iframe\");return Array.apply(null,Array(t.length)).map((function(e,n){return t.item(n)})).filter((function(t){try{return t.contentWindow.location.hash===e}catch(n){return!1}}))[0]},e.getPopups=function(){return window.openedWindows||(window.openedWindows=[]),window.openedWindows},e.getPopUpWithHash=function(t){return e.getPopups().filter((function(e){try{return e.location.hash===t}catch(n){return!1}}))[0]},e.trackPopup=function(t){e.getPopups().push(t)},e.closePopups=function(){e.getPopups().forEach((function(e){return e.close()}))},e.blockReloadInHiddenIframes=function(){if(me.urlContainsHash(window.location.hash)&&e.isInIframe())throw X.createBlockTokenRequestsInHiddenIframeError()},e.checkIfBackButtonIsPressed=function(e){var t=e.getItem(f.REDIRECT_REQUEST);if(t&&!me.urlContainsHash(window.location.hash)){var n=t.split(l.resourceDelimiter);n.shift();var r=n.length>0?n.join(l.resourceDelimiter):null;e.resetTempCacheItems(r)}},e.clearUrlFragment=function(e){e.location.hash=\"\",\"function\"===typeof e.history.replaceState&&e.history.replaceState(null,null,\"\"+e.location.pathname+e.location.search)},e.POLLING_INTERVAL_MS=50,e}(),Ie=function(){function e(){}return e.setResponseIdToken=function(e,t){if(!e)return null;if(!t)return e;var n=Number(t.expiration);return n&&!e.expiresOn&&(e.expiresOn=new Date(1e3*n)),o({},e,{idToken:t,idTokenClaims:t.claims,uniqueId:t.objectId||t.subject,tenantId:t.tenantId})},e.buildAuthResponse=function(t,n,r,i,a,s){switch(r.responseType){case p:var u=o({},n,{tokenType:c.ID_TOKEN,account:i,scopes:a,accountState:s});return(u=e.setResponseIdToken(u,t)).idToken?u:null;case y:var l=e.setResponseIdToken(n,t);return l&&l.accessToken&&l.idToken?l:null;case g:return e.setResponseIdToken(n,t);default:return null}},e}(),Le=function(){function e(){}return e.saveMetadataFromNetwork=function(e,t,n){return a(this,void 0,void 0,(function(){var r;return s(this,(function(i){switch(i.label){case 0:return[4,e.resolveEndpointsAsync(t,n)];case 1:return r=i.sent(),this.metadataMap.set(e.CanonicalAuthority,r),[2,r]}}))}))},e.getMetadata=function(e){return this.metadataMap.get(e)},e.saveMetadataFromConfig=function(e,t){try{if(t){var n=JSON.parse(t);if(!n.authorization_endpoint||!n.end_session_endpoint||!n.issuer)throw ge.createInvalidAuthorityMetadataError();this.metadataMap.set(e,{AuthorizationEndpoint:n.authorization_endpoint,EndSessionEndpoint:n.end_session_endpoint,Issuer:n.issuer})}}catch(r){throw ge.createInvalidAuthorityMetadataError()}},e.CreateInstance=function(e,t,n){return T.isEmpty(e)?null:(n&&this.saveMetadataFromConfig(e,n),new Ee(e,t,this.metadataMap.get(e)))},e.metadataMap=new Map,e}();!function(e){e[e.Error=0]=\"Error\",e[e.Warning=1]=\"Warning\",e[e.Info=2]=\"Info\",e[e.Verbose=3]=\"Verbose\"}(Oe||(Oe={}));var Be=function(){function e(e,t){void 0===t&&(t={}),this.level=Oe.Info;var n=t.correlationId,r=void 0===n?\"\":n,i=t.level,o=void 0===i?Oe.Info:i,a=t.piiLoggingEnabled,s=void 0!==a&&a;this.localCallback=e,this.correlationId=r,this.level=o,this.piiLoggingEnabled=s}return e.prototype.logMessage=function(e,t,n){if(!(e>this.level||!this.piiLoggingEnabled&&n)){var r,i=(new Date).toUTCString();r=T.isEmpty(this.correlationId)?i+\":\"+\"1.4.12-\"+Oe[e]+(n?\"-pii\":\"\")+\" \"+t:i+\":\"+this.correlationId+\"-\"+\"1.4.12-\"+Oe[e]+(n?\"-pii\":\"\")+\" \"+t,this.executeCallback(e,r,n)}},e.prototype.executeCallback=function(e,t,n){this.localCallback&&this.localCallback(e,t,n)},e.prototype.error=function(e){this.logMessage(Oe.Error,e,!1)},e.prototype.errorPii=function(e){this.logMessage(Oe.Error,e,!0)},e.prototype.warning=function(e){this.logMessage(Oe.Warning,e,!1)},e.prototype.warningPii=function(e){this.logMessage(Oe.Warning,e,!0)},e.prototype.info=function(e){this.logMessage(Oe.Info,e,!1)},e.prototype.infoPii=function(e){this.logMessage(Oe.Info,e,!0)},e.prototype.verbose=function(e){this.logMessage(Oe.Verbose,e,!1)},e.prototype.verbosePii=function(e){this.logMessage(Oe.Verbose,e,!0)},e.prototype.isPiiLoggingEnabled=function(){return this.piiLoggingEnabled},e}(),Fe={clientId:\"\",authority:null,validateAuthority:!0,authorityMetadata:\"\",knownAuthorities:[],redirectUri:function(){return me.getCurrentUrl()},postLogoutRedirectUri:function(){return me.getCurrentUrl()},navigateToLoginRequestUrl:!0},ze={cacheLocation:\"sessionStorage\",storeAuthStateInCookie:!1},Ue={logger:new Be(null),loadFrameTimeout:6e3,tokenRenewalOffsetSeconds:300,navigateFrameWait:500},He={isAngular:!1,unprotectedResources:new Array,protectedResourceMap:new Map};var We={code:\"server_unavailable\",desc:\"Server is temporarily unavailable.\"},Ye={code:\"unknown_server_error\"},Ve=function(e){function t(n,r){var i=e.call(this,n,r)||this;return i.name=\"ServerError\",Object.setPrototypeOf(i,t.prototype),i}return i(t,e),t.createServerUnavailableError=function(){return new t(We.code,We.desc)},t.createUnknownServerError=function(e){return new t(Ye.code,e)},t}(C),qe={code:\"interaction_required\"},$e={code:\"consent_required\"},Ge={code:\"login_required\"},Xe=function(e){function t(n,r){var i=e.call(this,n,r)||this;return i.name=\"InteractionRequiredAuthError\",Object.setPrototypeOf(i,t.prototype),i}return i(t,e),t.isInteractionRequiredError=function(e){var t=[qe.code,$e.code,Ge.code];return e&&t.indexOf(e)>-1},t.createLoginRequiredAuthError=function(e){return new t(Ge.code,e)},t.createInteractionRequiredAuthError=function(e){return new t(qe.code,e)},t.createConsentRequiredAuthError=function(e){return new t($e.code,e)},t}(Ve);function Ke(e){return{uniqueId:\"\",tenantId:\"\",tokenType:\"\",idToken:null,idTokenClaims:null,accessToken:\"\",scopes:null,expiresOn:null,account:null,accountState:e,fromCache:!1}}var Ze,Je,Qe,et=\"event_name\",tt=\"elapsed_time\",nt=\"Microsoft.MSAL.correlation_id\",rt=\"msal.api_telem_id\",it=\"msal.api_id\",ot=\"Microsoft_MSAL_cache_event_count\",at=\"Microsoft_MSAL_http_event_count\",st=\"Microsoft_MSAL_ui_event_count\",ct=function(e){var t=me.GetUrlComponents(e);if(Ee.isAdfs(e))return e;var n=t.PathSegments;if(n&&n.length>=2){var r=\"tfp\"===n[1]?2:1;r<n.length&&(n[r]=\"<tenant>\")}return t.Protocol+\"//\"+t.HostNameAndPort+\"/\"+n.join(\"/\")},ut=function(e){return u.base64Encode(e)},lt=function(e){return\"msal.\"+(e||\"\")},ft=function(){return!!(\"undefined\"!==typeof window&&\"performance\"in window&&window.performance.mark&&window.performance.measure)},dt=function(){function e(e,t,n){var r;this.eventId=u.createNewGuid(),this.label=n,this.event=((r={})[lt(et)]=e,r[lt(tt)]=-1,r[\"\"+nt]=t,r)}return e.prototype.setElapsedTime=function(e){this.event[lt(tt)]=e},e.prototype.stop=function(){var e,t,n;this.setElapsedTime(+Date.now()-+this.startTimestamp),e=this.displayName,t=this.perfStartMark,n=this.perfEndMark,ft()&&(window.performance.mark(n),window.performance.measure(e,t,n),window.performance.clearMeasures(e),window.performance.clearMarks(t),window.performance.clearMarks(n))},e.prototype.start=function(){var e;this.startTimestamp=Date.now(),this.event[lt(\"start_time\")]=this.startTimestamp,e=this.perfStartMark,ft()&&window.performance.mark(e)},Object.defineProperty(e.prototype,\"telemetryCorrelationId\",{get:function(){return this.event[\"\"+nt]},set:function(e){this.event[\"\"+nt]=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"eventName\",{get:function(){return this.event[lt(et)]},enumerable:!0,configurable:!0}),e.prototype.get=function(){return o({},this.event,{eventId:this.eventId})},Object.defineProperty(e.prototype,\"key\",{get:function(){return this.telemetryCorrelationId+\"_\"+this.eventId+\"-\"+this.eventName},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"displayName\",{get:function(){return\"Msal-\"+this.label+\"-\"+this.telemetryCorrelationId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"perfStartMark\",{get:function(){return\"start-\"+this.key},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"perfEndMark\",{get:function(){return\"end-\"+this.key},enumerable:!0,configurable:!0}),e}(),ht=function(e){function t(t,n,r,i){var o=e.call(this,lt(\"default_event\"),n,\"DefaultEvent\")||this;return o.event[lt(\"client_id\")]=r,o.event[lt(\"sdk_plaform\")]=t.sdk,o.event[lt(\"sdk_version\")]=t.sdkVersion,o.event[lt(\"application_name\")]=t.applicationName,o.event[lt(\"application_version\")]=t.applicationVersion,o.event[lt(\"effective_connection_speed\")]=t.networkInformation&&t.networkInformation.connectionSpeed,o.event[\"\"+st]=o.getEventCount(lt(\"ui_event\"),i),o.event[\"\"+at]=o.getEventCount(lt(\"http_event\"),i),o.event[\"\"+ot]=o.getEventCount(lt(\"cache_event\"),i),o}return i(t,e),t.prototype.getEventCount=function(e,t){return t[e]?t[e]:0},t}(dt),pt=lt(\"authority\"),gt=lt(\"authority_type\"),yt=lt(\"ui_behavior\"),mt=lt(\"tenant_id\"),bt=lt(\"user_id\"),vt=lt(\"was_successful\"),xt=lt(\"api_error_code\"),wt=lt(\"login_hint\");!function(e){e[e.AcquireTokenRedirect=2001]=\"AcquireTokenRedirect\",e[e.AcquireTokenSilent=2002]=\"AcquireTokenSilent\",e[e.AcquireTokenPopup=2003]=\"AcquireTokenPopup\",e[e.LoginRedirect=2004]=\"LoginRedirect\",e[e.LoginPopup=2005]=\"LoginPopup\",e[e.Logout=2006]=\"Logout\"}(Je||(Je={})),function(e){e.AcquireTokenRedirect=\"AcquireTokenRedirect\",e.AcquireTokenSilent=\"AcquireTokenSilent\",e.AcquireTokenPopup=\"AcquireTokenPopup\",e.LoginRedirect=\"LoginRedirect\",e.LoginPopup=\"LoginPopup\",e.Logout=\"Logout\"}(Qe||(Qe={}));var _t=((Ze={})[Qe.AcquireTokenSilent]=Je.AcquireTokenSilent,Ze[Qe.AcquireTokenPopup]=Je.AcquireTokenPopup,Ze[Qe.AcquireTokenRedirect]=Je.AcquireTokenRedirect,Ze[Qe.LoginPopup]=Je.LoginPopup,Ze[Qe.LoginRedirect]=Je.LoginRedirect,Ze[Qe.Logout]=Je.Logout,Ze),kt=function(e){function t(t,n,r){var i=e.call(this,lt(\"api_event\"),t,r)||this;return r&&(i.apiCode=_t[r],i.apiEventIdentifier=r),i.piiEnabled=n,i}return i(t,e),Object.defineProperty(t.prototype,\"apiEventIdentifier\",{set:function(e){this.event[rt]=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"apiCode\",{set:function(e){this.event[it]=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"authority\",{set:function(e){this.event[pt]=ct(e).toLowerCase()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"apiErrorCode\",{set:function(e){this.event[xt]=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"tenantId\",{set:function(e){this.event[mt]=this.piiEnabled&&e?ut(e):null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"accountId\",{set:function(e){this.event[bt]=this.piiEnabled&&e?ut(e):null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"wasSuccessful\",{get:function(){return!0===this.event[vt]},set:function(e){this.event[vt]=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"loginHint\",{set:function(e){this.event[wt]=this.piiEnabled&&e?ut(e):null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"authorityType\",{set:function(e){this.event[gt]=e.toLowerCase()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"promptType\",{set:function(e){this.event[yt]=e.toLowerCase()},enumerable:!0,configurable:!0}),t}(dt),Ot=lt(\"http_path\"),Et=lt(\"user_agent\"),St=lt(\"query_parameters\"),Ct=lt(\"api_version\"),Tt=lt(\"response_code\"),jt=lt(\"oauth_error_code\"),At=lt(\"http_method\"),Mt=lt(\"request_id_header\"),Pt=lt(\"spe_info\"),Nt=lt(\"server_error_code\"),Dt=lt(\"server_sub_error_code\"),Rt=lt(\"url\"),It=function(e){function t(t,n){return e.call(this,lt(\"http_event\"),t,n)||this}return i(t,e),Object.defineProperty(t.prototype,\"url\",{set:function(e){var t=ct(e);this.event[Rt]=t&&t.toLowerCase()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"httpPath\",{set:function(e){this.event[Ot]=ct(e).toLowerCase()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"userAgent\",{set:function(e){this.event[Et]=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"queryParams\",{set:function(e){this.event[St]=we.generateQueryParametersString(e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"apiVersion\",{set:function(e){this.event[Ct]=e.toLowerCase()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"httpResponseStatus\",{set:function(e){this.event[Tt]=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"oAuthErrorCode\",{set:function(e){this.event[jt]=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"httpMethod\",{set:function(e){this.event[At]=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"requestIdHeader\",{set:function(e){this.event[Mt]=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"speInfo\",{set:function(e){this.event[Pt]=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"serverErrorCode\",{set:function(e){this.event[Nt]=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"serverSubErrorCode\",{set:function(e){this.event[Dt]=e},enumerable:!0,configurable:!0}),t}(dt),Lt=function(){function e(e,t,n){this.completedEvents={},this.inProgressEvents={},this.eventCountByCorrelationId={},this.onlySendFailureTelemetry=!1,this.telemetryPlatform=o({sdk:l.libraryName,sdkVersion:xe,networkInformation:{connectionSpeed:\"undefined\"!==typeof navigator&&navigator.connection&&navigator.connection.effectiveType}},e.platform),this.clientId=e.clientId,this.onlySendFailureTelemetry=e.onlySendFailureTelemetry,this.telemetryEmitter=t,this.logger=n}return e.getTelemetrymanagerStub=function(e,t){return new this({platform:{applicationName:\"UnSetStub\",applicationVersion:\"0.0\"},clientId:e},(function(){}),t)},e.prototype.startEvent=function(e){this.logger.verbose(\"Telemetry Event started: \"+e.key),this.telemetryEmitter&&(e.start(),this.inProgressEvents[e.key]=e)},e.prototype.stopEvent=function(e){if(this.logger.verbose(\"Telemetry Event stopped: \"+e.key),this.telemetryEmitter&&this.inProgressEvents[e.key]){e.stop(),this.incrementEventCount(e);var t=this.completedEvents[e.telemetryCorrelationId];this.completedEvents[e.telemetryCorrelationId]=(t||[]).concat([e]),delete this.inProgressEvents[e.key]}},e.prototype.flush=function(e){var t=this;if(this.logger.verbose(\"Flushing telemetry events: \"+e),this.telemetryEmitter&&this.completedEvents[e]){var n=this.getOrphanedEvents(e);n.forEach((function(e){return t.incrementEventCount(e)}));var r=this.completedEvents[e].concat(n);delete this.completedEvents[e];var i=this.eventCountByCorrelationId[e];if(delete this.eventCountByCorrelationId[e],r&&r.length){var o=new ht(this.telemetryPlatform,e,this.clientId,i),a=r.concat([o]);this.telemetryEmitter(a.map((function(e){return e.get()})))}}},e.prototype.createAndStartApiEvent=function(e,t){var n=new kt(e,this.logger.isPiiLoggingEnabled(),t);return this.startEvent(n),n},e.prototype.stopAndFlushApiEvent=function(e,t,n,r){t.wasSuccessful=n,r&&(t.apiErrorCode=r),this.stopEvent(t),this.flush(e)},e.prototype.createAndStartHttpEvent=function(e,t,n,r){var i=new It(e,r);return i.url=n,i.httpMethod=t,this.startEvent(i),i},e.prototype.incrementEventCount=function(e){var t,n=e.eventName,r=this.eventCountByCorrelationId[e.telemetryCorrelationId];r?r[n]=r[n]?r[n]+1:1:this.eventCountByCorrelationId[e.telemetryCorrelationId]=((t={})[n]=1,t)},e.prototype.getOrphanedEvents=function(e){var t=this;return Object.keys(this.inProgressEvents).reduce((function(n,r){if(-1!==r.indexOf(e)){var i=t.inProgressEvents[r];return delete t.inProgressEvents[r],n.concat([i])}return n}),[])},e}(),Bt=function(){function e(){}return e.filterTokenCacheItemsByScope=function(e,t){return e.filter((function(e){var n=e.key.scopes.split(\" \"),r=ye.removeDefaultScopes(t);return 0===r.length?ye.containsScope(n,t):ye.containsScope(n,r)}))},e.filterTokenCacheItemsByAuthority=function(e,t){return e.filter((function(e){return me.CanonicalizeUri(e.key.authority)===t}))},e.filterTokenCacheItemsByDomain=function(e,t){return e.filter((function(e){return me.GetUrlComponents(e.key.authority).HostNameAndPort===t}))},e}(),Ft=function(){function e(e){this.authResponseCallback=null,this.tokenReceivedCallback=null,this.errorReceivedCallback=null,this.config=function(e){var t=e.auth,n=e.cache,r=void 0===n?{}:n,i=e.system,a=void 0===i?{}:i,s=e.framework,c=void 0===s?{}:s;return{auth:o({},Fe,t),cache:o({},ze,r),system:o({},Ue,a),framework:o({},He,c)}}(e),this.logger=this.config.system.logger,this.clientId=this.config.auth.clientId,this.inCookie=this.config.cache.storeAuthStateInCookie,this.telemetryManager=this.getTelemetryManagerFromConfig(this.config.system.telemetry,this.clientId),ke.setTrustedAuthoritiesFromConfig(this.config.auth.validateAuthority,this.config.auth.knownAuthorities),Le.saveMetadataFromConfig(this.config.auth.authority,this.config.auth.authorityMetadata),this.authority=this.config.auth.authority||\"https://login.microsoftonline.com/common\",this.cacheStorage=new Ne(this.clientId,this.config.cache.cacheLocation,this.inCookie),window.activeRenewals||(window.activeRenewals={}),window.renewStates||(window.renewStates=[]),window.callbackMappedToRenewStates||(window.callbackMappedToRenewStates={}),window.promiseMappedToRenewStates||(window.promiseMappedToRenewStates={}),window.msal=this;var t=window.location.hash,n=me.urlContainsHash(t);(Re.checkIfBackButtonIsPressed(this.cacheStorage),n)&&(this.getResponseState(t).method===l.interactionTypeRedirect&&this.handleRedirectAuthenticationResponse(t))}return Object.defineProperty(e.prototype,\"authority\",{get:function(){return this.authorityInstance.CanonicalAuthority},set:function(e){this.authorityInstance=Le.CreateInstance(e,this.config.auth.validateAuthority)},enumerable:!0,configurable:!0}),e.prototype.getAuthorityInstance=function(){return this.authorityInstance},e.prototype.handleRedirectCallback=function(e,t){if(!e)throw ge.createInvalidCallbackObjectError(e);t?(this.tokenReceivedCallback=e,this.errorReceivedCallback=t,this.logger.warning(\"This overload for callback is deprecated - please change the format of the callbacks to a single callback as shown: (err: AuthError, response: AuthResponse).\")):this.authResponseCallback=e,this.redirectError?this.authErrorHandler(l.interactionTypeRedirect,this.redirectError,this.redirectResponse):this.redirectResponse&&this.authResponseHandler(l.interactionTypeRedirect,this.redirectResponse)},e.prototype.urlContainsHash=function(e){return this.logger.verbose(\"UrlContainsHash has been called\"),me.urlContainsHash(e)},e.prototype.authResponseHandler=function(e,t,n){if(this.logger.verbose(\"AuthResponseHandler has been called\"),e===l.interactionTypeRedirect)this.logger.verbose(\"Interaction type is redirect\"),this.errorReceivedCallback?(this.logger.verbose(\"Two callbacks were provided to handleRedirectCallback, calling success callback with response\"),this.tokenReceivedCallback(t)):this.authResponseCallback&&(this.logger.verbose(\"One callback was provided to handleRedirectCallback, calling authResponseCallback with response\"),this.authResponseCallback(null,t));else{if(e!==l.interactionTypePopup)throw X.createInvalidInteractionTypeError();this.logger.verbose(\"Interaction type is popup, resolving\"),n(t)}},e.prototype.authErrorHandler=function(e,t,n,r){if(this.logger.verbose(\"AuthErrorHandler has been called\"),this.cacheStorage.removeItem(f.INTERACTION_STATUS),e===l.interactionTypeRedirect)if(this.logger.verbose(\"Interaction type is redirect\"),this.errorReceivedCallback)this.logger.verbose(\"Two callbacks were provided to handleRedirectCallback, calling error callback\"),this.errorReceivedCallback(t,n.accountState);else{if(!this.authResponseCallback)throw this.logger.verbose(\"handleRedirectCallback has not been called and no callbacks are registered, throwing error\"),t;this.logger.verbose(\"One callback was provided to handleRedirectCallback, calling authResponseCallback with error\"),this.authResponseCallback(t,n)}else{if(e!==l.interactionTypePopup)throw X.createInvalidInteractionTypeError();this.logger.verbose(\"Interaction type is popup, rejecting\"),r(t)}},e.prototype.loginRedirect=function(e){this.logger.verbose(\"LoginRedirect has been called\");var t=Pe.validateRequest(e,!0,this.clientId,l.interactionTypeRedirect);this.acquireTokenInteractive(l.interactionTypeRedirect,!0,t,null,null)},e.prototype.acquireTokenRedirect=function(e){this.logger.verbose(\"AcquireTokenRedirect has been called\");var t=Pe.validateRequest(e,!1,this.clientId,l.interactionTypeRedirect);this.acquireTokenInteractive(l.interactionTypeRedirect,!1,t,null,null)},e.prototype.loginPopup=function(e){var t=this;this.logger.verbose(\"LoginPopup has been called\");var n=Pe.validateRequest(e,!0,this.clientId,l.interactionTypePopup),r=this.telemetryManager.createAndStartApiEvent(n.correlationId,Qe.LoginPopup);return new Promise((function(e,r){t.acquireTokenInteractive(l.interactionTypePopup,!0,n,e,r)})).then((function(e){return t.logger.verbose(\"Successfully logged in\"),t.telemetryManager.stopAndFlushApiEvent(n.correlationId,r,!0),e})).catch((function(e){throw t.cacheStorage.resetTempCacheItems(n.state),t.telemetryManager.stopAndFlushApiEvent(n.correlationId,r,!1,e.errorCode),e}))},e.prototype.acquireTokenPopup=function(e){var t=this;this.logger.verbose(\"AcquireTokenPopup has been called\");var n=Pe.validateRequest(e,!1,this.clientId,l.interactionTypePopup),r=this.telemetryManager.createAndStartApiEvent(n.correlationId,Qe.AcquireTokenPopup);return new Promise((function(e,r){t.acquireTokenInteractive(l.interactionTypePopup,!1,n,e,r)})).then((function(e){return t.logger.verbose(\"Successfully acquired token\"),t.telemetryManager.stopAndFlushApiEvent(n.correlationId,r,!0),e})).catch((function(e){throw t.cacheStorage.resetTempCacheItems(n.state),t.telemetryManager.stopAndFlushApiEvent(n.correlationId,r,!1,e.errorCode),e}))},e.prototype.acquireTokenInteractive=function(e,t,n,r,i){var o=this;this.logger.verbose(\"AcquireTokenInteractive has been called\"),Re.blockReloadInHiddenIframes();var a,s=this.cacheStorage.getItem(f.INTERACTION_STATUS);if(e===l.interactionTypeRedirect&&this.cacheStorage.setItem(f.REDIRECT_REQUEST,\"\"+l.inProgress+l.resourceDelimiter+n.state),s===l.inProgress){var c=t?X.createLoginInProgressError():X.createAcquireTokenInProgressError(),u=Ke(this.getAccountState(n.state));return this.cacheStorage.resetTempCacheItems(n.state),void this.authErrorHandler(e,c,u,i)}if(n&&n.account&&!t?(a=n.account,this.logger.verbose(\"Account set from request\")):(a=this.getAccount(),this.logger.verbose(\"Account set from MSAL Cache\")),a||we.isSSOParam(n))this.logger.verbose(\"User session exists, login not required\"),this.acquireTokenHelper(a,e,t,n,r,i);else{if(!t){this.logger.verbose(\"AcquireToken call, no context or account given\"),this.logger.info(\"User login is required\");u=Ke(this.getAccountState(n.state));return this.cacheStorage.resetTempCacheItems(n.state),void this.authErrorHandler(e,X.createUserLoginRequiredError(),u,i)}if(this.extractADALIdToken()&&!n.scopes){this.logger.info(\"ADAL's idToken exists. Extracting login information from ADAL's idToken\");var d=this.buildIDTokenRequest(n);this.silentLogin=!0,this.acquireTokenSilent(d).then((function(t){o.silentLogin=!1,o.logger.info(\"Unified cache call is successful\"),o.authResponseHandler(e,t,r)}),(function(a){o.silentLogin=!1,o.logger.error(\"Error occurred during unified cache ATS: \"+a),o.acquireTokenHelper(null,e,t,n,r,i)}))}else this.logger.verbose(\"Login call but no token found, proceed to login\"),this.acquireTokenHelper(null,e,t,n,r,i)}},e.prototype.acquireTokenHelper=function(e,t,n,r,i,o){return a(this,void 0,void 0,(function(){var a,c,u,d,g,y,m,b,v,x;return s(this,(function(s){switch(s.label){case 0:this.logger.verbose(\"AcquireTokenHelper has been called\"),this.logger.verbose(\"Interaction type: \"+t+\". isLoginCall: \"+n),this.cacheStorage.setItem(f.INTERACTION_STATUS,l.inProgress),a=r.scopes?r.scopes.join(\" \").toLowerCase():l.oidcScopes.join(\" \"),this.logger.verbosePii(\"Request signature: \"+a),u=r&&r.authority?Le.CreateInstance(r.authority,this.config.auth.validateAuthority,r.authorityMetadata):this.authorityInstance,s.label=1;case 1:return s.trys.push([1,11,,12]),u.hasCachedMetadata()?[3,3]:(this.logger.verbose(\"No cached metadata for authority\"),[4,Le.saveMetadataFromNetwork(u,this.telemetryManager,r.correlationId)]);case 2:return s.sent(),[3,4];case 3:this.logger.verbose(\"Cached metadata found for authority\"),s.label=4;case 4:if(g=n?p:this.getTokenType(e,r.scopes),y=r.redirectStartPage||window.location.href,c=new we(u,this.clientId,g,this.getRedirectUri(r&&r.redirectUri),r.scopes,r.state,r.correlationId),this.logger.verbose(\"Finished building server authentication request\"),this.updateCacheEntries(c,e,n,y),this.logger.verbose(\"Updating cache entries\"),c.populateQueryParams(e,r),this.logger.verbose(\"Query parameters populated from account\"),m=me.createNavigateUrl(c)+l.response_mode_fragment,t===l.interactionTypeRedirect)n?this.logger.verbose(\"Interaction type redirect but login call is true. State not cached\"):(this.cacheStorage.setItem(Ne.generateTemporaryCacheKey(f.STATE_ACQ_TOKEN,r.state),c.state,this.inCookie),this.logger.verbose(\"State cached for redirect\"),this.logger.verbosePii(\"State cached: \"+c.state));else{if(t!==l.interactionTypePopup)throw this.logger.verbose(\"Invalid interaction error. State not cached\"),X.createInvalidInteractionTypeError();window.renewStates.push(c.state),window.requestType=n?l.login:l.renewToken,this.logger.verbose(\"State saved to window\"),this.logger.verbosePii(\"State saved: \"+c.state),this.registerCallback(c.state,a,i,o)}if(t!==l.interactionTypePopup)return[3,9];this.logger.verbose(\"Interaction type is popup. Generating popup window\");try{d=this.openPopup(m,\"msal\",l.popUpWidth,l.popUpHeight),Re.trackPopup(d)}catch(w){if(this.logger.info(A.code+\":\"+A.desc),this.cacheStorage.setItem(h.ERROR,A.code),this.cacheStorage.setItem(h.ERROR_DESC,A.desc),o)return o(X.createPopupWindowError()),[2]}if(!d)return[3,8];s.label=5;case 5:return s.trys.push([5,7,,8]),[4,Re.monitorPopupForHash(d,this.config.system.loadFrameTimeout,m,this.logger)];case 6:return b=s.sent(),this.handleAuthenticationResponse(b),this.cacheStorage.removeItem(f.INTERACTION_STATUS),this.logger.info(\"Closing popup window\"),this.config.framework.isAngular&&this.broadcast(\"msal:popUpHashChanged\",b),Re.closePopups(),[3,8];case 7:return v=s.sent(),o&&o(v),this.config.framework.isAngular?this.broadcast(\"msal:popUpClosed\",v.errorCode+l.resourceDelimiter+v.errorMessage):(this.cacheStorage.removeItem(f.INTERACTION_STATUS),d.close()),[3,8];case 8:return[3,10];case 9:r.onRedirectNavigate?(this.logger.verbose(\"Invoking onRedirectNavigate callback\"),!1!==r.onRedirectNavigate(m)?(this.logger.verbose(\"onRedirectNavigate did not return false, navigating\"),this.navigateWindow(m)):this.logger.verbose(\"onRedirectNavigate returned false, stopping navigation\")):(this.logger.verbose(\"Navigating window to urlNavigate\"),this.navigateWindow(m)),s.label=10;case 10:return[3,12];case 11:return x=s.sent(),this.logger.error(x),this.cacheStorage.resetTempCacheItems(r.state),this.authErrorHandler(t,X.createEndpointResolutionError(x.toString),Ke(r.state),o),d&&d.close(),[3,12];case 12:return[2]}}))}))},e.prototype.ssoSilent=function(e){if(this.logger.verbose(\"ssoSilent has been called\"),!e)throw ge.createEmptyRequestError();if(!e.sid&&!e.loginHint)throw ge.createSsoSilentError();return this.acquireTokenSilent(o({},e,{scopes:l.oidcScopes}))},e.prototype.acquireTokenSilent=function(e){var t=this;this.logger.verbose(\"AcquireTokenSilent has been called\");var n=Pe.validateRequest(e,!1,this.clientId,l.interactionTypeSilent),r=this.telemetryManager.createAndStartApiEvent(n.correlationId,Qe.AcquireTokenSilent),i=Pe.createRequestSignature(n);return new Promise((function(e,r){return a(t,void 0,void 0,(function(){var t,o,a,c,u,f,d,h,p,g,y;return s(this,(function(s){switch(s.label){case 0:if(Re.blockReloadInHiddenIframes(),t=n.scopes.join(\" \").toLowerCase(),this.logger.verbosePii(\"Serialized scopes: \"+t),n.account?(o=n.account,this.logger.verbose(\"Account set from request\")):(o=this.getAccount(),this.logger.verbose(\"Account set from MSAL Cache\")),a=this.cacheStorage.getItem(l.adalIdToken),!o&&!n.sid&&!n.loginHint&&T.isEmpty(a))return this.logger.info(\"User login is required\"),[2,r(X.createUserLoginRequiredError())];if(c=this.getTokenType(o,n.scopes),this.logger.verbose(\"Response type: \"+c),u=new we(Le.CreateInstance(n.authority,this.config.auth.validateAuthority,n.authorityMetadata),this.clientId,c,this.getRedirectUri(n.redirectUri),n.scopes,n.state,n.correlationId),this.logger.verbose(\"Finished building server authentication request\"),we.isSSOParam(n)||o?(u.populateQueryParams(o,n,null,!0),this.logger.verbose(\"Query parameters populated from existing SSO or account\")):o||T.isEmpty(a)?this.logger.verbose(\"No additional query parameters added\"):(f=Te.extractIdToken(a),this.logger.verbose(\"ADAL's idToken exists. Extracting login information from ADAL's idToken to populate query parameters\"),u.populateQueryParams(o,null,f,!0)),!(d=n.claimsRequest||u.claimsValue)&&!n.forceRefresh)try{p=this.getCachedToken(u,o)}catch(m){h=m}return p?(this.logger.verbose(\"Token found in cache lookup\"),this.logger.verbosePii(\"Scopes found: \"+JSON.stringify(p.scopes)),e(p),[2,null]):[3,1];case 1:return h?(this.logger.infoPii(h.errorCode+\":\"+h.errorMessage),r(h),[2,null]):[3,2];case 2:g=void 0,g=d?\"Skipped cache lookup since claims were given\":n.forceRefresh?\"Skipped cache lookup since request.forceRefresh option was set to true\":\"No valid token found in cache lookup\",this.logger.verbose(g),u.authorityInstance||(u.authorityInstance=n.authority?Le.CreateInstance(n.authority,this.config.auth.validateAuthority,n.authorityMetadata):this.authorityInstance),this.logger.verbosePii(\"Authority instance: \"+u.authority),s.label=3;case 3:return s.trys.push([3,7,,8]),u.authorityInstance.hasCachedMetadata()?[3,5]:(this.logger.verbose(\"No cached metadata for authority\"),[4,Le.saveMetadataFromNetwork(u.authorityInstance,this.telemetryManager,n.correlationId)]);case 4:return s.sent(),this.logger.verbose(\"Authority has been updated with endpoint discovery response\"),[3,6];case 5:this.logger.verbose(\"Cached metadata found for authority\"),s.label=6;case 6:return window.activeRenewals[i]?(this.logger.verbose(\"Renewing token in progress. Registering callback\"),this.registerCallback(window.activeRenewals[i],i,e,r)):n.scopes&&ye.onlyContainsOidcScopes(n.scopes)?(this.logger.verbose(\"OpenID Connect scopes only, renewing idToken\"),this.silentLogin=!0,this.renewIdToken(i,e,r,o,u)):(this.logger.verbose(\"Renewing access token\"),this.renewToken(i,e,r,o,u)),[3,8];case 7:return y=s.sent(),this.logger.error(y),r(X.createEndpointResolutionError(y.toString())),[2,null];case 8:return[2]}}))}))})).then((function(e){return t.logger.verbose(\"Successfully acquired token\"),t.telemetryManager.stopAndFlushApiEvent(n.correlationId,r,!0),e})).catch((function(e){throw t.cacheStorage.resetTempCacheItems(n.state),t.telemetryManager.stopAndFlushApiEvent(n.correlationId,r,!1,e.errorCode),e}))},e.prototype.openPopup=function(e,t,n,r){this.logger.verbose(\"OpenPopup has been called\");try{var i=window.screenLeft?window.screenLeft:window.screenX,o=window.screenTop?window.screenTop:window.screenY,a=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,s=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight,c=a/2-n/2+i,u=s/2-r/2+o,l=window.open(e,t,\"width=\"+n+\", height=\"+r+\", top=\"+u+\", left=\"+c+\", scrollbars=yes\");if(!l)throw X.createPopupWindowError();return l.focus&&l.focus(),l}catch(d){throw this.cacheStorage.removeItem(f.INTERACTION_STATUS),X.createPopupWindowError(d.toString())}},e.prototype.loadIframeTimeout=function(e,t,n){return a(this,void 0,void 0,(function(){var r,i,o,a,c;return s(this,(function(s){switch(s.label){case 0:return r=window.activeRenewals[n],this.logger.verbosePii(\"Set loading state to pending for: \"+n+\":\"+r),this.cacheStorage.setItem(Ne.generateTemporaryCacheKey(f.RENEW_STATUS,r),l.inProgress),this.config.system.navigateFrameWait?[4,Re.loadFrame(e,t,this.config.system.navigateFrameWait,this.logger)]:[3,2];case 1:return o=s.sent(),[3,3];case 2:o=Re.loadFrameSync(e,t,this.logger),s.label=3;case 3:i=o,s.label=4;case 4:return s.trys.push([4,6,,7]),[4,Re.monitorIframeForHash(i.contentWindow,this.config.system.loadFrameTimeout,e,this.logger)];case 5:return(a=s.sent())&&this.handleAuthenticationResponse(a),[3,7];case 6:throw c=s.sent(),this.cacheStorage.getItem(Ne.generateTemporaryCacheKey(f.RENEW_STATUS,r))===l.inProgress&&(this.logger.verbose(\"Loading frame has timed out after: \"+this.config.system.loadFrameTimeout/1e3+\" seconds for scope/authority \"+n+\":\"+r),r&&window.callbackMappedToRenewStates[r]&&window.callbackMappedToRenewStates[r](null,c),this.cacheStorage.removeItem(Ne.generateTemporaryCacheKey(f.RENEW_STATUS,r))),Re.removeHiddenIframe(i),c;case 7:return Re.removeHiddenIframe(i),[2]}}))}))},e.prototype.navigateWindow=function(e,t){if(!e||T.isEmpty(e))throw this.logger.info(\"Navigate url is empty\"),C.createUnexpectedError(\"Navigate url is empty\");var n=t||window,r=t?\"Navigated Popup window to:\"+e:\"Navigate to:\"+e;this.logger.infoPii(r),n.location.assign(e)},e.prototype.registerCallback=function(e,t,n,r){var i=this;window.activeRenewals[t]=e,window.promiseMappedToRenewStates[e]||(window.promiseMappedToRenewStates[e]=[]),window.promiseMappedToRenewStates[e].push({resolve:n,reject:r}),window.callbackMappedToRenewStates[e]||(window.callbackMappedToRenewStates[e]=function(n,r){delete window.activeRenewals[t];for(var o=0;o<window.promiseMappedToRenewStates[e].length;++o)try{if(r)window.promiseMappedToRenewStates[e][o].reject(r);else{if(!n)throw i.cacheStorage.resetTempCacheItems(e),C.createUnexpectedError(\"Error and response are both null\");window.promiseMappedToRenewStates[e][o].resolve(n)}}catch(a){i.logger.warning(a)}delete window.promiseMappedToRenewStates[e],delete window.callbackMappedToRenewStates[e]})},e.prototype.logout=function(e){this.logger.verbose(\"Logout has been called\"),this.logoutAsync(e)},e.prototype.logoutAsync=function(e){return a(this,void 0,void 0,(function(){var t,n,r,i,o,a;return s(this,(function(s){switch(s.label){case 0:t=e||u.createNewGuid(),n=this.telemetryManager.createAndStartApiEvent(t,Qe.Logout),this.clearCache(),this.account=null,s.label=1;case 1:return s.trys.push([1,5,,6]),this.authorityInstance.hasCachedMetadata()?[3,3]:(this.logger.verbose(\"No cached metadata for authority\"),[4,Le.saveMetadataFromNetwork(this.authorityInstance,this.telemetryManager,e)]);case 2:return s.sent(),[3,4];case 3:this.logger.verbose(\"Cached metadata found for authority\"),s.label=4;case 4:return r=\"client-request-id=\"+t,i=void 0,this.getPostLogoutRedirectUri()?(i=\"&post_logout_redirect_uri=\"+encodeURIComponent(this.getPostLogoutRedirectUri()),this.logger.verbose(\"redirectUri found and set\")):(i=\"\",this.logger.verbose(\"No redirectUri set for app. postLogoutQueryParam is empty\")),o=void 0,this.authorityInstance.EndSessionEndpoint?(o=this.authorityInstance.EndSessionEndpoint+\"?\"+r+i,this.logger.verbose(\"EndSessionEndpoint found and urlNavigate set\"),this.logger.verbosePii(\"urlNavigate set to: \"+this.authorityInstance.EndSessionEndpoint)):(o=this.authority+\"oauth2/v2.0/logout?\"+r+i,this.logger.verbose(\"No endpoint, urlNavigate set to default\")),this.telemetryManager.stopAndFlushApiEvent(t,n,!0),this.logger.verbose(\"Navigating window to urlNavigate\"),this.navigateWindow(o),[3,6];case 5:return a=s.sent(),this.telemetryManager.stopAndFlushApiEvent(t,n,!1,a.errorCode),[3,6];case 6:return[2]}}))}))},e.prototype.clearCache=function(){this.logger.verbose(\"Clearing cache\"),window.renewStates=[];for(var e=this.cacheStorage.getAllTokens(l.clientId,l.homeAccountIdentifier),t=0;t<e.length;t++)this.cacheStorage.removeItem(JSON.stringify(e[t].key));this.cacheStorage.resetCacheItems(),this.cacheStorage.clearMsalCookie(),this.logger.verbose(\"Cache cleared\")},e.prototype.clearCacheForScope=function(e){this.logger.verbose(\"Clearing access token from cache\");for(var t=this.cacheStorage.getAllAccessTokens(l.clientId,l.homeAccountIdentifier),n=0;n<t.length;n++){var r=t[n];r.value.accessToken===e&&(this.cacheStorage.removeItem(JSON.stringify(r.key)),this.logger.verbosePii(\"Access token removed: \"+r.key))}},e.prototype.isCallback=function(e){return this.logger.info(\"isCallback will be deprecated in favor of urlContainsHash in MSAL.js v2.0.\"),this.logger.verbose(\"isCallback has been called\"),me.urlContainsHash(e)},e.prototype.processCallBack=function(e,t,n){this.logger.info(\"ProcessCallBack has been called. Processing callback from redirect response\");var r,i,o=t;o||(this.logger.verbose(\"StateInfo is null, getting stateInfo from hash\"),o=this.getResponseState(e));try{r=this.saveTokenFromHash(e,o)}catch(s){i=s}try{this.cacheStorage.clearMsalCookie(o.state);var a=this.getAccountState(o.state);if(r){if(o.requestType===l.renewToken||r.accessToken?(window.parent!==window?this.logger.verbose(\"Window is in iframe, acquiring token silently\"):this.logger.verbose(\"Acquiring token interactive in progress\"),this.logger.verbose(\"Response tokenType set to \"+c.ACCESS_TOKEN),r.tokenType=c.ACCESS_TOKEN):o.requestType===l.login&&(this.logger.verbose(\"Response tokenType set to \"+c.ID_TOKEN),r.tokenType=c.ID_TOKEN),!n)return this.logger.verbose(\"Setting redirectResponse\"),void(this.redirectResponse=r)}else if(!n)return this.logger.verbose(\"Response is null, setting redirectResponse with state\"),this.redirectResponse=Ke(a),this.redirectError=i,void this.cacheStorage.resetTempCacheItems(o.state);this.logger.verbose(\"Calling callback provided to processCallback\"),n(r,i)}catch(s){throw this.logger.error(\"Error occurred in token received callback function: \"+s),X.createErrorInCallbackFunction(s.toString())}},e.prototype.handleAuthenticationResponse=function(e){this.logger.verbose(\"HandleAuthenticationResponse has been called\");var t=e||window.location.hash,n=this.getResponseState(t);this.logger.verbose(\"Obtained state from response\");var r=window.callbackMappedToRenewStates[n.state];this.processCallBack(t,n,r)},e.prototype.handleRedirectAuthenticationResponse=function(e){this.logger.info(\"Returned from redirect url\"),this.logger.verbose(\"HandleRedirectAuthenticationResponse has been called\"),Re.clearUrlFragment(window),this.logger.verbose(\"Window.location.hash cleared\");var t=this.getResponseState(e);if(this.config.auth.navigateToLoginRequestUrl&&window.parent===window){this.logger.verbose(\"Window.parent is equal to window, not in popup or iframe. Navigation to login request url after login turned on\");var n=this.cacheStorage.getItem(Ne.generateTemporaryCacheKey(f.LOGIN_REQUEST,t.state),this.inCookie);if(!n||\"null\"===n)return this.logger.error(\"Unable to get valid login request url from cache, redirecting to home page\"),void window.location.assign(\"/\");this.logger.verbose(\"Valid login request url obtained from cache\");var r=me.removeHashFromUrl(window.location.href),i=me.removeHashFromUrl(n);if(r!==i)return this.logger.verbose(\"Current url is not login request url, navigating\"),this.logger.verbosePii(\"CurrentUrl: \"+r+\", finalRedirectUrl: \"+i),void window.location.assign(\"\"+i+e);this.logger.verbose(\"Current url matches login request url\");var o=me.GetUrlComponents(n);o.Hash&&(this.logger.verbose(\"Login request url contains hash, resetting non-msal hash\"),window.location.hash=o.Hash)}else this.config.auth.navigateToLoginRequestUrl||this.logger.verbose(\"Default navigation to start page after login turned off\");this.processCallBack(e,t,null)},e.prototype.getResponseState=function(e){this.logger.verbose(\"GetResponseState has been called\");var t,n=me.deserializeHash(e);if(!n)throw C.createUnexpectedError(\"Hash was not parsed correctly.\");if(!n.hasOwnProperty(c.STATE))throw C.createUnexpectedError(\"Hash does not contain state.\");this.logger.verbose(\"Hash contains state. Creating stateInfo object\");var r=Pe.parseLibraryState(n.state);if((t={requestType:l.unknown,state:n.state,timestamp:r.ts,method:r.method,stateMatch:!1}).state===this.cacheStorage.getItem(Ne.generateTemporaryCacheKey(f.STATE_LOGIN,t.state),this.inCookie)||t.state===this.silentAuthenticationState)return this.logger.verbose(\"State matches cached state, setting requestType to login\"),t.requestType=l.login,t.stateMatch=!0,t;if(t.state===this.cacheStorage.getItem(Ne.generateTemporaryCacheKey(f.STATE_ACQ_TOKEN,t.state),this.inCookie))return this.logger.verbose(\"State matches cached state, setting requestType to renewToken\"),t.requestType=l.renewToken,t.stateMatch=!0,t;if(!t.stateMatch){this.logger.verbose(\"State does not match cached state, setting requestType to type from window\"),t.requestType=window.requestType;for(var i=window.renewStates,o=0;o<i.length;o++)if(i[o]===t.state){this.logger.verbose(\"Matching state found for request\"),t.stateMatch=!0;break}t.stateMatch||this.logger.verbose(\"Matching state not found for request\")}return t},e.prototype.getCachedToken=function(e,t){this.logger.verbose(\"GetCachedToken has been called\");var n=e.scopes,r=this.getCachedIdToken(e,t),i=this.getCachedAccessToken(e,t,n),o=this.getAccountState(e.state);return Ie.buildAuthResponse(r,i,e,t,n,o)},e.prototype.getTokenCacheItemByAuthority=function(e,t,n,r){var i,o=this;return 1===(i=me.isCommonAuthority(e)||me.isOrganizationsAuthority(e)||me.isConsumersAuthority(e)?Bt.filterTokenCacheItemsByDomain(t,me.GetUrlComponents(e).HostNameAndPort):Bt.filterTokenCacheItemsByAuthority(t,e)).length?i[0]:i.length>1?(this.logger.warning(\"Multiple matching tokens found. Cleaning cache and requesting a new token.\"),i.forEach((function(e){o.cacheStorage.removeItem(JSON.stringify(e.key))})),null):(this.logger.verbose(\"No matching tokens of type \"+r+\" found\"),null)},e.prototype.getCachedIdToken=function(e,t){this.logger.verbose(\"Getting all cached tokens of type ID Token\");var n=this.cacheStorage.getAllIdTokens(this.clientId,t?t.homeAccountIdentifier:null),r=e.authority||this.authority,i=this.getTokenCacheItemByAuthority(r,n,null,c.ID_TOKEN);if(i){if(this.logger.verbose(\"Evaluating ID token found\"),this.evaluateTokenExpiration(i)){this.logger.verbose(\"ID token expiration is within offset, using ID token found in cache\");var o=i.value;return o?this.logger.verbose(\"ID Token found in cache is valid and unexpired\"):this.logger.verbose(\"ID Token found in cache is invalid\"),o?new je(o.idToken):null}return this.logger.verbose(\"Cached ID token is expired, removing from cache\"),this.cacheStorage.removeItem(JSON.stringify(i.key)),null}return this.logger.verbose(\"No tokens found\"),null},e.prototype.getCachedAccessToken=function(e,t,n){this.logger.verbose(\"Getting all cached tokens of type Access Token\");var r=this.cacheStorage.getAllAccessTokens(this.clientId,t?t.homeAccountIdentifier:null),i=Bt.filterTokenCacheItemsByScope(r,n),o=e.authority||this.authority,a=this.getTokenCacheItemByAuthority(o,i,n,c.ACCESS_TOKEN);if(a){if(e.authorityInstance=Le.CreateInstance(a.key.authority,this.config.auth.validateAuthority),this.logger.verbose(\"Evaluating access token found\"),this.evaluateTokenExpiration(a)){this.logger.verbose(\"Access token expiration is within offset, using access token found in cache\");var s=t||this.getAccount();if(!s)throw C.createUnexpectedError(\"Account should not be null here.\");var u=this.getAccountState(e.state);return{uniqueId:\"\",tenantId:\"\",tokenType:c.ACCESS_TOKEN,idToken:null,idTokenClaims:null,accessToken:a.value.accessToken,scopes:a.key.scopes.split(\" \"),expiresOn:new Date(1e3*Number(a.value.expiresIn)),account:s,accountState:u,fromCache:!0}}return this.logger.verbose(\"Access token expired, removing from cache\"),this.cacheStorage.removeItem(JSON.stringify(a.key)),null}return this.logger.verbose(\"No matching token found when filtering by scope and authority\"),null},e.prototype.evaluateTokenExpiration=function(e){var t=Number(e.value.expiresIn);return Te.validateExpirationIsWithinOffset(t,this.config.system.tokenRenewalOffsetSeconds)},e.prototype.extractADALIdToken=function(){this.logger.verbose(\"ExtractADALIdToken has been called\");var e=this.cacheStorage.getItem(l.adalIdToken);return T.isEmpty(e)?null:Te.extractIdToken(e)},e.prototype.renewToken=function(e,t,n,r,i){this.logger.verbose(\"RenewToken has been called\"),this.logger.verbosePii(\"RenewToken scope and authority: \"+e);var o=Re.generateFrameName(O,e);Re.addHiddenIFrame(o,this.logger),this.updateCacheEntries(i,r,!1),this.logger.verbosePii(\"RenewToken expected state: \"+i.state);var a=me.urlRemoveQueryStringParameter(me.createNavigateUrl(i),l.prompt)+l.prompt_none+l.response_mode_fragment;window.renewStates.push(i.state),window.requestType=l.renewToken,this.logger.verbose(\"Set window.renewState and requestType\"),this.registerCallback(i.state,e,t,n),this.logger.infoPii(\"Navigate to: \"+a),this.loadIframeTimeout(a,o,e).catch((function(e){return n(e)}))},e.prototype.renewIdToken=function(e,t,n,r,i){this.logger.info(\"RenewIdToken has been called\");var o=Re.generateFrameName(k,e);Re.addHiddenIFrame(o,this.logger),this.updateCacheEntries(i,r,!1),this.logger.verbose(\"RenewIdToken expected state: \"+i.state);var a=me.urlRemoveQueryStringParameter(me.createNavigateUrl(i),l.prompt)+l.prompt_none+l.response_mode_fragment;this.silentLogin?(this.logger.verbose(\"Silent login is true, set silentAuthenticationState\"),window.requestType=l.login,this.silentAuthenticationState=i.state):(this.logger.verbose(\"Not silent login, set window.renewState and requestType\"),window.requestType=l.renewToken,window.renewStates.push(i.state)),this.registerCallback(i.state,e,t,n),this.logger.infoPii('Navigate to:\" '+a),this.loadIframeTimeout(a,o,e).catch((function(e){return n(e)}))},e.prototype.saveToken=function(e,t,n,r,i){var o=new be(t,this.clientId,n,r.uid,r.utid),a=new ve(e.accessToken,e.idToken.rawIdToken,i.toString(),r.encodeClientInfo());return this.cacheStorage.setItem(JSON.stringify(o),JSON.stringify(a)),i?(this.logger.verbose(\"New expiration set for token\"),e.expiresOn=new Date(1e3*i)):this.logger.error(\"Could not parse expiresIn parameter for access token\"),e},e.prototype.saveIdToken=function(e,t,n,r,i){this.logger.verbose(\"SaveIdToken has been called\");var a=o({},e);a.scopes=l.oidcScopes,a.accessToken=n[c.ID_TOKEN];var s=Number(i.expiration);return this.logger.verbose(\"Saving ID token to cache\"),this.saveToken(a,t,undefined,r,s)},e.prototype.saveAccessToken=function(e,t,n,r){this.logger.verbose(\"SaveAccessToken has been called\");var i=o({},e),a=n[c.SCOPE],s=a.split(\" \"),u=this.cacheStorage.getAllAccessTokens(this.clientId,t);this.logger.verbose(\"Retrieving all access tokens from cache and removing duplicates\");for(var l=0;l<u.length;l++){var f=u[l];if(f.key.homeAccountIdentifier===e.account.homeAccountIdentifier){var d=f.key.scopes.split(\" \");ye.isIntersectingScopes(d,s)&&this.cacheStorage.removeItem(JSON.stringify(f.key))}}i.accessToken=n[c.ACCESS_TOKEN],i.scopes=s;var h=Ce.parseExpiresIn(n[c.EXPIRES_IN]),p=Pe.parseLibraryState(n[c.STATE]).ts+h;return this.logger.verbose(\"Saving access token to cache\"),this.saveToken(i,t,a,r,p)},e.prototype.saveTokenFromHash=function(e,t){this.logger.verbose(\"SaveTokenFromHash has been called\"),this.logger.info(\"State status: \"+t.stateMatch+\"; Request type: \"+t.requestType);var n,r={uniqueId:\"\",tenantId:\"\",tokenType:\"\",idToken:null,idTokenClaims:null,accessToken:null,scopes:[],expiresOn:null,account:null,accountState:\"\",fromCache:!1},i=me.deserializeHash(e),o=\"\",a=\"\",s=null;if(i.hasOwnProperty(c.ERROR_DESCRIPTION)||i.hasOwnProperty(c.ERROR)){if(this.logger.verbose(\"Server returned an error\"),this.logger.infoPii(\"Error : \"+i[c.ERROR]+\"; Error description: \"+i[c.ERROR_DESCRIPTION]),this.cacheStorage.setItem(h.ERROR,i[c.ERROR]),this.cacheStorage.setItem(h.ERROR_DESC,i[c.ERROR_DESCRIPTION]),t.requestType===l.login&&(this.logger.verbose(\"RequestType is login, caching login error, generating authorityKey\"),this.cacheStorage.setItem(h.LOGIN_ERROR,i[c.ERROR_DESCRIPTION]+\":\"+i[c.ERROR]),o=Ne.generateAuthorityKey(t.state)),t.requestType===l.renewToken){this.logger.verbose(\"RequestType is renewToken, generating acquireTokenAccountKey\"),o=Ne.generateAuthorityKey(t.state);var u=this.getAccount(),p=void 0;u&&!T.isEmpty(u.homeAccountIdentifier)?(p=u.homeAccountIdentifier,this.logger.verbose(\"AccountId is set\")):(p=l.no_account,this.logger.verbose(\"AccountId is set as no_account\")),a=Ne.generateAcquireTokenAccountKey(p,t.state)}var g=i[c.ERROR],y=i[c.ERROR_DESCRIPTION];n=Xe.isInteractionRequiredError(g)||Xe.isInteractionRequiredError(y)?new Xe(i[c.ERROR],i[c.ERROR_DESCRIPTION]):new Ve(i[c.ERROR],i[c.ERROR_DESCRIPTION])}else if(this.logger.verbose(\"Server returns success\"),t.stateMatch){this.logger.info(\"State is right\"),i.hasOwnProperty(c.SESSION_STATE)&&(this.logger.verbose(\"Fragment has session state, caching\"),this.cacheStorage.setItem(Ne.generateTemporaryCacheKey(f.SESSION_STATE,t.state),i[c.SESSION_STATE])),r.accountState=this.getAccountState(t.state);var m=void 0;if(i.hasOwnProperty(c.ACCESS_TOKEN)){this.logger.info(\"Fragment has access token\"),r.accessToken=i[c.ACCESS_TOKEN],i.hasOwnProperty(c.SCOPE)&&(r.scopes=i[c.SCOPE].split(\" \")),i.hasOwnProperty(c.ID_TOKEN)?(this.logger.verbose(\"Fragment has id_token\"),s=new je(i[c.ID_TOKEN])):(this.logger.verbose(\"No idToken on fragment, getting idToken from cache\"),s=new je(this.cacheStorage.getItem(d.IDTOKEN))),r=Ie.setResponseIdToken(r,s);var b=this.populateAuthority(t.state,this.inCookie,this.cacheStorage,s);this.logger.verbose(\"Got authority from cache\"),i.hasOwnProperty(c.CLIENT_INFO)?(this.logger.verbose(\"Fragment has clientInfo\"),m=new Se(i[c.CLIENT_INFO],b)):this.authorityInstance.AuthorityType===v.Adfs?m=Se.createClientInfoFromIdToken(s,b):this.logger.warning(\"ClientInfo not received in the response from AAD\"),r.account=De.createAccount(s,m),this.logger.verbose(\"Account object created from response\");var x=void 0;r.account&&!T.isEmpty(r.account.homeAccountIdentifier)?(this.logger.verbose(\"AccountKey set\"),x=r.account.homeAccountIdentifier):(this.logger.verbose(\"AccountKey set as no_account\"),x=l.no_account),a=Ne.generateAcquireTokenAccountKey(x,t.state);var w=Ne.generateAcquireTokenAccountKey(l.no_account,t.state);this.logger.verbose(\"AcquireTokenAccountKey generated\");var _=this.cacheStorage.getItem(a),k=void 0;T.isEmpty(_)?T.isEmpty(this.cacheStorage.getItem(w))||(this.logger.verbose(\"No acquireToken account retrieved from cache\"),r=this.saveAccessToken(r,b,i,m)):(k=JSON.parse(_),this.logger.verbose(\"AcquireToken request account retrieved from cache\"),r.account&&k&&De.compareAccounts(r.account,k)?(r=this.saveAccessToken(r,b,i,m),this.logger.info(\"The user object received in the response is the same as the one passed in the acquireToken request\")):this.logger.warning(\"The account object created from the response is not the same as the one passed in the acquireToken request\"))}if(i.hasOwnProperty(c.ID_TOKEN)){this.logger.info(\"Fragment has idToken\"),s=new je(i[c.ID_TOKEN]);b=this.populateAuthority(t.state,this.inCookie,this.cacheStorage,s);if(r=Ie.setResponseIdToken(r,s),i.hasOwnProperty(c.CLIENT_INFO)?(this.logger.verbose(\"Fragment has clientInfo\"),m=new Se(i[c.CLIENT_INFO],b)):this.authorityInstance.AuthorityType===v.Adfs?m=Se.createClientInfoFromIdToken(s,b):this.logger.warning(\"ClientInfo not received in the response from AAD\"),this.account=De.createAccount(s,m),r.account=this.account,this.logger.verbose(\"Account object created from response\"),s&&s.nonce){this.logger.verbose(\"IdToken has nonce\");var O=this.cacheStorage.getItem(Ne.generateTemporaryCacheKey(f.NONCE_IDTOKEN,t.state),this.inCookie);s.nonce!==O?(this.account=null,this.cacheStorage.setItem(h.LOGIN_ERROR,\"Nonce Mismatch. Expected Nonce: \"+O+\",Actual Nonce: \"+s.nonce),this.logger.error(\"Nonce Mismatch. Expected Nonce: \"+O+\", Actual Nonce: \"+s.nonce),n=X.createNonceMismatchError(O,s.nonce)):(this.logger.verbose(\"Nonce matches, saving idToken to cache\"),this.cacheStorage.setItem(d.IDTOKEN,i[c.ID_TOKEN],this.inCookie),this.cacheStorage.setItem(d.CLIENT_INFO,m.encodeClientInfo(),this.inCookie),this.saveIdToken(r,b,i,m,s))}else this.logger.verbose(\"No idToken or no nonce. Cache key for Authority set as state\"),o=t.state,a=t.state,this.logger.error(\"Invalid id_token received in the response\"),n=X.createInvalidIdTokenError(s),this.cacheStorage.setItem(h.ERROR,n.errorCode),this.cacheStorage.setItem(h.ERROR_DESC,n.errorMessage)}}else{this.logger.verbose(\"State mismatch\"),o=t.state,a=t.state;var E=this.cacheStorage.getItem(Ne.generateTemporaryCacheKey(f.STATE_LOGIN,t.state),this.inCookie);this.logger.error(\"State Mismatch. Expected State: \"+E+\", Actual State: \"+t.state),n=X.createInvalidStateError(t.state,E),this.cacheStorage.setItem(h.ERROR,n.errorCode),this.cacheStorage.setItem(h.ERROR_DESC,n.errorMessage)}if(this.cacheStorage.removeItem(Ne.generateTemporaryCacheKey(f.RENEW_STATUS,t.state)),this.cacheStorage.resetTempCacheItems(t.state),this.logger.verbose(\"Status set to complete, temporary cache cleared\"),this.inCookie&&(this.logger.verbose(\"InCookie is true, setting authorityKey in cookie\"),this.cacheStorage.setItemCookie(o,\"\",-1),this.cacheStorage.clearMsalCookie(t.state)),n)throw n;if(!r)throw C.createUnexpectedError(\"Response is null\");return r},e.prototype.populateAuthority=function(e,t,n,r){this.logger.verbose(\"PopulateAuthority has been called\");var i=Ne.generateAuthorityKey(e),o=n.getItem(i,t);return T.isEmpty(o)?o:me.replaceTenantPath(o,r.tenantId)},e.prototype.getAccount=function(){if(this.account)return this.account;var e=this.cacheStorage.getItem(d.IDTOKEN,this.inCookie),t=this.cacheStorage.getItem(d.CLIENT_INFO,this.inCookie);if(!T.isEmpty(e)&&!T.isEmpty(t)){var n=new je(e),r=new Se(t,\"\");return this.account=De.createAccount(n,r),this.account}return null},e.prototype.getAccountState=function(e){if(e){var t=e.indexOf(l.resourceDelimiter);if(t>-1&&t+1<e.length)return e.substring(t+1)}return e},e.prototype.getAllAccounts=function(){for(var e=[],t=this.cacheStorage.getAllAccessTokens(l.clientId,l.homeAccountIdentifier),n=0;n<t.length;n++){var r=new je(t[n].value.idToken),i=new Se(t[n].value.homeAccountIdentifier,\"\"),o=De.createAccount(r,i);e.push(o)}return this.getUniqueAccounts(e)},e.prototype.getUniqueAccounts=function(e){if(!e||e.length<=1)return e;for(var t=[],n=[],r=0;r<e.length;++r)e[r].homeAccountIdentifier&&-1===t.indexOf(e[r].homeAccountIdentifier)&&(t.push(e[r].homeAccountIdentifier),n.push(e[r]));return n},e.prototype.broadcast=function(e,t){var n=new CustomEvent(e,{detail:t});window.dispatchEvent(n)},e.prototype.getCachedTokenInternal=function(e,t,n,r){var i=t||this.getAccount();if(!i)return null;var o=this.authorityInstance?this.authorityInstance:Le.CreateInstance(this.authority,this.config.auth.validateAuthority),a=this.getTokenType(i,e),s=new we(o,this.clientId,a,this.getRedirectUri(),e,n,r);return this.getCachedToken(s,t)},e.prototype.getScopesForEndpoint=function(e){if(this.config.framework.unprotectedResources.length>0)for(var t=0;t<this.config.framework.unprotectedResources.length;t++)if(e.indexOf(this.config.framework.unprotectedResources[t])>-1)return null;if(this.config.framework.protectedResourceMap.size>0)for(var n=0,r=Array.from(this.config.framework.protectedResourceMap.keys());n<r.length;n++){var i=r[n];if(e.indexOf(i)>-1)return this.config.framework.protectedResourceMap.get(i)}return e.indexOf(\"http://\")>-1||e.indexOf(\"https://\")>-1?me.getHostFromUri(e)===me.getHostFromUri(this.getRedirectUri())?new Array(this.clientId):null:new Array(this.clientId)},e.prototype.getLoginInProgress=function(){return this.cacheStorage.getItem(f.INTERACTION_STATUS)===l.inProgress},e.prototype.setInteractionInProgress=function(e){e?this.cacheStorage.setItem(f.INTERACTION_STATUS,l.inProgress):this.cacheStorage.removeItem(f.INTERACTION_STATUS)},e.prototype.setloginInProgress=function(e){this.setInteractionInProgress(e)},e.prototype.getAcquireTokenInProgress=function(){return this.cacheStorage.getItem(f.INTERACTION_STATUS)===l.inProgress},e.prototype.setAcquireTokenInProgress=function(e){this.setInteractionInProgress(e)},e.prototype.getLogger=function(){return this.logger},e.prototype.setLogger=function(e){this.logger=e},e.prototype.getRedirectUri=function(e){return e||(\"function\"===typeof this.config.auth.redirectUri?this.config.auth.redirectUri():this.config.auth.redirectUri)},e.prototype.getPostLogoutRedirectUri=function(){return\"function\"===typeof this.config.auth.postLogoutRedirectUri?this.config.auth.postLogoutRedirectUri():this.config.auth.postLogoutRedirectUri},e.prototype.getCurrentConfiguration=function(){if(!this.config)throw ge.createNoSetConfigurationError();return this.config},e.prototype.getTokenType=function(e,t){var n=De.compareAccounts(e,this.getAccount());return we.determineResponseType(n,t)},e.prototype.setAccountCache=function(e,t){var n=e?this.getAccountId(e):l.no_account,r=Ne.generateAcquireTokenAccountKey(n,t);this.cacheStorage.setItem(r,JSON.stringify(e))},e.prototype.setAuthorityCache=function(e,t){var n=Ne.generateAuthorityKey(e);this.cacheStorage.setItem(n,me.CanonicalizeUri(t),this.inCookie)},e.prototype.updateCacheEntries=function(e,t,n,r){r&&this.cacheStorage.setItem(Ne.generateTemporaryCacheKey(f.LOGIN_REQUEST,e.state),r,this.inCookie),n?this.cacheStorage.setItem(Ne.generateTemporaryCacheKey(f.STATE_LOGIN,e.state),e.state,this.inCookie):this.setAccountCache(t,e.state),this.setAuthorityCache(e.state,e.authority),this.cacheStorage.setItem(Ne.generateTemporaryCacheKey(f.NONCE_IDTOKEN,e.state),e.nonce,this.inCookie)},e.prototype.getAccountId=function(e){return T.isEmpty(e.homeAccountIdentifier)?l.no_account:e.homeAccountIdentifier},e.prototype.buildIDTokenRequest=function(e){return{scopes:l.oidcScopes,authority:this.authority,account:this.getAccount(),extraQueryParameters:e.extraQueryParameters,correlationId:e.correlationId}},e.prototype.getTelemetryManagerFromConfig=function(e,t){if(!e)return Lt.getTelemetrymanagerStub(t,this.logger);var n=e.applicationName,r=e.applicationVersion,i=e.telemetryEmitter;if(!n||!r||!i)throw ge.createTelemetryConfigError(e);return new Lt({platform:{applicationName:n,applicationVersion:r},clientId:t},i,this.logger)},e}()},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return Jt}));var r=n(18),i=n(0),o=n.n(i),a=n(1),s=n(43),c=n(6),u=n(3),l=n(7),f=n(779),d=n(101);var h=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object(f.a)(e,Object(u.a)({defaultTheme:d.a},t))},p=n(52),g=n(111),y=n(19);var m=n(8),b=n(745),v=n(769),x=n(763),w=n(753),_=n(785),k=n(750);function O(e,t){return Array.isArray(t)?t.every((function(t){return-1!==e.indexOf(t)})):-1!==e.indexOf(t)}var E=h((function(e){return{staticWrapperRoot:{overflow:\"hidden\",minWidth:310,display:\"flex\",flexDirection:\"column\",backgroundColor:e.palette.background.paper}}}),{name:\"MuiPickersStaticWrapper\"}),S=function(e){var t=e.children,n=E();return Object(i.createElement)(\"div\",{className:n.staticWrapperRoot,children:t})},C=function(e){var t=e.children,n=e.classes,r=e.onAccept,o=e.onDismiss,a=e.onClear,s=e.onSetToday,f=e.okLabel,d=e.cancelLabel,h=e.clearLabel,p=e.todayLabel,g=e.clearable,y=e.showTodayButton,m=(e.showTabs,e.wider),v=Object(l.a)(e,[\"children\",\"classes\",\"onAccept\",\"onDismiss\",\"onClear\",\"onSetToday\",\"okLabel\",\"cancelLabel\",\"clearLabel\",\"todayLabel\",\"clearable\",\"showTodayButton\",\"showTabs\",\"wider\"]);return Object(i.createElement)(_.a,Object(u.a)({role:\"dialog\",onClose:o,classes:{paper:Object(c.a)(n.dialogRoot,m&&n.dialogRootWider)}},v),Object(i.createElement)(w.a,{children:t,className:n.dialog}),Object(i.createElement)(x.a,{classes:{root:Object(c.a)((g||y)&&n.withAdditionalAction)}},g&&Object(i.createElement)(b.a,{color:\"primary\",onClick:a},h),y&&Object(i.createElement)(b.a,{color:\"primary\",onClick:s},p),d&&Object(i.createElement)(b.a,{color:\"primary\",onClick:o},d),f&&Object(i.createElement)(b.a,{color:\"primary\",onClick:r},f)))};C.displayName=\"ModalDialog\";var T={dialogRoot:{minWidth:310},dialogRootWider:{minWidth:325},dialog:{\"&:first-child\":{padding:0}},withAdditionalAction:{justifyContent:\"flex-start\",\"& > *:first-child\":{marginRight:\"auto\"}}},j=Object(m.a)(T,{name:\"MuiPickersModal\"})(C),A=\"undefined\"===typeof window?i.useEffect:i.useLayoutEffect;function M(e,t){var n=t[e.key];n&&(n(),e.preventDefault())}function P(e,t){var n=Object(i.useRef)(t);n.current=t,A((function(){if(e){var t=function(e){M(e,n.current)};return window.addEventListener(\"keydown\",t),function(){window.removeEventListener(\"keydown\",t)}}}),[e])}var N=function(e){var t=e.open,n=e.children,r=e.okLabel,o=e.cancelLabel,a=e.clearLabel,s=e.todayLabel,c=e.showTodayButton,f=e.clearable,d=e.DialogProps,h=e.showTabs,p=e.wider,g=e.InputComponent,y=e.DateInputProps,m=e.onClear,b=e.onAccept,v=e.onDismiss,x=e.onSetToday,w=Object(l.a)(e,[\"open\",\"children\",\"okLabel\",\"cancelLabel\",\"clearLabel\",\"todayLabel\",\"showTodayButton\",\"clearable\",\"DialogProps\",\"showTabs\",\"wider\",\"InputComponent\",\"DateInputProps\",\"onClear\",\"onAccept\",\"onDismiss\",\"onSetToday\"]);return P(t,{Enter:b}),Object(i.createElement)(i.Fragment,null,Object(i.createElement)(g,Object(u.a)({},w,y)),Object(i.createElement)(j,Object(u.a)({wider:p,showTabs:h,open:t,onClear:m,onAccept:b,onDismiss:v,onSetToday:x,clearLabel:a,todayLabel:s,okLabel:r,cancelLabel:o,clearable:f,showTodayButton:c,children:n},d)))};N.defaultProps={okLabel:\"OK\",cancelLabel:\"Cancel\",clearLabel:\"Clear\",todayLabel:\"Today\",clearable:!1,showTodayButton:!1};var D=function(e){var t=e.open,n=(e.wider,e.children),r=e.PopoverProps,o=(e.onClear,e.onDismiss),a=(e.onSetToday,e.onAccept),s=(e.showTabs,e.DateInputProps),c=e.InputComponent,f=Object(l.a)(e,[\"open\",\"wider\",\"children\",\"PopoverProps\",\"onClear\",\"onDismiss\",\"onSetToday\",\"onAccept\",\"showTabs\",\"DateInputProps\",\"InputComponent\"]),d=Object(i.useRef)();return P(t,{Enter:a}),Object(i.createElement)(i.Fragment,null,Object(i.createElement)(c,Object(u.a)({},f,s,{inputRef:d})),Object(i.createElement)(k.a,Object(u.a)({open:t,onClose:o,anchorEl:d.current,anchorOrigin:{vertical:\"bottom\",horizontal:\"center\"},transformOrigin:{vertical:\"top\",horizontal:\"center\"},children:n},r)))};var R=Object(i.createContext)(null),I=function(e){var t=e.variant,n=Object(l.a)(e,[\"variant\"]),r=function(e){switch(e){case\"inline\":return D;case\"static\":return S;default:return N}}(t);return Object(i.createElement)(R.Provider,{value:t||\"dialog\"},Object(i.createElement)(r,n))},L=n(773),B=n(702),F=n(83),z=i.forwardRef((function(e,t){var n=e.children,r=e.classes,o=e.className,a=e.component,s=void 0===a?\"div\":a,f=e.disablePointerEvents,d=void 0!==f&&f,h=e.disableTypography,p=void 0!==h&&h,y=e.position,m=e.variant,b=Object(l.a)(e,[\"children\",\"classes\",\"className\",\"component\",\"disablePointerEvents\",\"disableTypography\",\"position\",\"variant\"]),v=Object(F.b)()||{},x=m;return m&&v.variant,v&&!x&&(x=v.variant),i.createElement(F.a.Provider,{value:null},i.createElement(s,Object(u.a)({className:Object(c.a)(r.root,o,d&&r.disablePointerEvents,v.hiddenLabel&&r.hiddenLabel,\"filled\"===x&&r.filled,{start:r.positionStart,end:r.positionEnd}[y],\"dense\"===v.margin&&r.marginDense),ref:t},b),\"string\"!==typeof n||p?n:i.createElement(g.a,{color:\"textSecondary\"},n)))})),U=Object(m.a)({root:{display:\"flex\",height:\"0.01em\",maxHeight:\"2em\",alignItems:\"center\",whiteSpace:\"nowrap\"},filled:{\"&$positionStart:not($hiddenLabel)\":{marginTop:16}},positionStart:{marginRight:8},positionEnd:{marginLeft:8},disablePointerEvents:{pointerEvents:\"none\"},hiddenLabel:{},marginDense:{}},{name:\"MuiInputAdornment\"})(z),H=n(47),W=function(e){function t(t){var n;return(n=e.call(this,t)||this)._state=null,n._del=!1,n._handleChange=function(e){var t=n.state.value,r=e.target.value,i=e.target,o=r.length>t.length,a=n._del,s=t===n.props.format(r);n.setState({value:r,local:!0},(function(){var e=i.selectionStart,c=n.props.refuse||/[^\\d]+/g,u=r.substr(0,e).replace(c,\"\");if(n._state={input:i,before:u,op:o,di:a&&s,del:a},n.props.replace&&n.props.replace(t)&&o&&!s){for(var l=-1,f=0;f!==u.length;++f)l=Math.max(l,r.toLowerCase().indexOf(u[f].toLowerCase(),l+1));var d=r.substr(l+1).replace(c,\"\")[0];l=r.indexOf(d,l+1),r=\"\"+r.substr(0,l)+r.substr(l+1)}var h=n.props.format(r);t===h?n.setState({value:r}):n.props.onChange(h)}))},n._hKD=function(e){\"Delete\"===e.code&&(n._del=!0)},n._hKU=function(e){\"Delete\"===e.code&&(n._del=!1)},n.state={value:t.value,local:!0},n}Object(H.a)(t,e),t.getDerivedStateFromProps=function(e,t){return{value:t.local?t.value:e.value,local:!1}};var n=t.prototype;return n.render=function(){var e=this._handleChange,t=this.state.value;return(0,this.props.children)({value:t,onChange:e})},n.componentWillUnmount=function(){document.removeEventListener(\"keydown\",this._hKD),document.removeEventListener(\"keyup\",this._hKU)},n.componentDidMount=function(){document.addEventListener(\"keydown\",this._hKD),document.addEventListener(\"keyup\",this._hKU)},n.componentDidUpdate=function(){var e=this._state;if(e){for(var t=this.state.value,n=-1,r=0;r!==e.before.length;++r)n=Math.max(n,t.toLowerCase().indexOf(e.before[r].toLowerCase(),n+1));if(this.props.replace&&(e.op||e.del&&!e.di))for(;t[n+1]&&(this.props.refuse||/[^\\d]+/).test(t[n+1]);)n+=1;e.input.selectionStart=e.input.selectionEnd=n+1+(e.di?1:0)}this._state=null},t}(i.Component),Y=n(147),V=n(32),q=n(89),$=n(59),G=n(78),X=n(82);function K(e,t){return!t||\"object\"!==Object(G.a)(t)&&\"function\"!==typeof t?Object(X.a)(e):t}function Z(e){return Z=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},Z(e)}function J(e,t){return J=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},J(e,t)}function Q(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&J(e,t)}var ee=h((function(e){return{day:{width:36,height:36,fontSize:e.typography.caption.fontSize,margin:\"0 2px\",color:e.palette.text.primary,fontWeight:e.typography.fontWeightMedium,padding:0},hidden:{opacity:0,pointerEvents:\"none\"},current:{color:e.palette.primary.main,fontWeight:600},daySelected:{color:e.palette.primary.contrastText,backgroundColor:e.palette.primary.main,fontWeight:e.typography.fontWeightMedium,\"&:hover\":{backgroundColor:e.palette.primary.main}},dayDisabled:{pointerEvents:\"none\",color:e.palette.text.hint}}}),{name:\"MuiPickersDay\"}),te=function(e){var t=e.children,n=e.disabled,r=e.hidden,o=e.current,a=e.selected,s=Object(l.a)(e,[\"children\",\"disabled\",\"hidden\",\"current\",\"selected\"]),f=ee(),d=Object(c.a)(f.day,r&&f.hidden,o&&f.current,a&&f.daySelected,n&&f.dayDisabled);return Object(i.createElement)(B.a,Object(u.a)({className:d,tabIndex:r||n?-1:0},s),Object(i.createElement)(g.a,{variant:\"body2\",color:\"inherit\"},t))};te.displayName=\"Day\",te.defaultProps={disabled:!1,hidden:!1,current:!1,selected:!1};var ne=te,re=n(51),ie=o.a.createContext(null);function oe(e,t){var n=Object.create(null);return e&&i.Children.map(e,(function(e){return e})).forEach((function(e){n[e.key]=function(e){return t&&Object(i.isValidElement)(e)?t(e):e}(e)})),n}function ae(e,t,n){return null!=n[t]?n[t]:e.props[t]}function se(e,t,n){var r=oe(e.children),o=function(e,t){function n(n){return n in t?t[n]:e[n]}e=e||{},t=t||{};var r,i=Object.create(null),o=[];for(var a in e)a in t?o.length&&(i[a]=o,o=[]):o.push(a);var s={};for(var c in t){if(i[c])for(r=0;r<i[c].length;r++){var u=i[c][r];s[i[c][r]]=n(u)}s[c]=n(c)}for(r=0;r<o.length;r++)s[o[r]]=n(o[r]);return s}(t,r);return Object.keys(o).forEach((function(a){var s=o[a];if(Object(i.isValidElement)(s)){var c=a in t,u=a in r,l=t[a],f=Object(i.isValidElement)(l)&&!l.props.in;!u||c&&!f?u||!c||f?u&&c&&Object(i.isValidElement)(l)&&(o[a]=Object(i.cloneElement)(s,{onExited:n.bind(null,s),in:l.props.in,exit:ae(s,\"exit\",e),enter:ae(s,\"enter\",e)})):o[a]=Object(i.cloneElement)(s,{in:!1}):o[a]=Object(i.cloneElement)(s,{onExited:n.bind(null,s),in:!0,exit:ae(s,\"exit\",e),enter:ae(s,\"enter\",e)})}})),o}var ce=Object.values||function(e){return Object.keys(e).map((function(t){return e[t]}))},ue=function(e){function t(t,n){var r,i=(r=e.call(this,t,n)||this).handleExited.bind(Object(X.a)(Object(X.a)(r)));return r.state={contextValue:{isMounting:!0},handleExited:i,firstRender:!0},r}Object(H.a)(t,e);var n=t.prototype;return n.componentDidMount=function(){this.mounted=!0,this.setState({contextValue:{isMounting:!1}})},n.componentWillUnmount=function(){this.mounted=!1},t.getDerivedStateFromProps=function(e,t){var n,r,o=t.children,a=t.handleExited;return{children:t.firstRender?(n=e,r=a,oe(n.children,(function(e){return Object(i.cloneElement)(e,{onExited:r.bind(null,e),in:!0,appear:ae(e,\"appear\",n),enter:ae(e,\"enter\",n),exit:ae(e,\"exit\",n)})}))):se(e,o,a),firstRender:!1}},n.handleExited=function(e,t){var n=oe(this.props.children);e.key in n||(e.props.onExited&&e.props.onExited(t),this.mounted&&this.setState((function(t){var n=Object(u.a)({},t.children);return delete n[e.key],{children:n}})))},n.render=function(){var e=this.props,t=e.component,n=e.childFactory,r=Object(re.a)(e,[\"component\",\"childFactory\"]),i=this.state.contextValue,a=ce(this.state.children).map(n);return delete r.appear,delete r.enter,delete r.exit,null===t?o.a.createElement(ie.Provider,{value:i},a):o.a.createElement(ie.Provider,{value:i},o.a.createElement(t,r,a))},t}(o.a.Component);ue.propTypes={},ue.defaultProps={component:\"div\",childFactory:function(e){return e}};var le=ue;function fe(e,t){return e.replace(new RegExp(\"(^|\\\\s)\"+t+\"(?:\\\\s|$)\",\"g\"),\"$1\").replace(/\\s+/g,\" \").replace(/^\\s*|\\s*$/g,\"\")}var de=n(25),he=n.n(de),pe=!1,ge=\"unmounted\",ye=\"exited\",me=\"entering\",be=\"entered\",ve=\"exiting\",xe=function(e){function t(t,n){var r;r=e.call(this,t,n)||this;var i,o=n&&!n.isMounting?t.enter:t.appear;return r.appearStatus=null,t.in?o?(i=ye,r.appearStatus=me):i=be:i=t.unmountOnExit||t.mountOnEnter?ge:ye,r.state={status:i},r.nextCallback=null,r}Object(H.a)(t,e),t.getDerivedStateFromProps=function(e,t){return e.in&&t.status===ge?{status:ye}:null};var n=t.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(e){var t=null;if(e!==this.props){var n=this.state.status;this.props.in?n!==me&&n!==be&&(t=me):n!==me&&n!==be||(t=ve)}this.updateStatus(!1,t)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var e,t,n,r=this.props.timeout;return e=t=n=r,null!=r&&\"number\"!==typeof r&&(e=r.exit,t=r.enter,n=void 0!==r.appear?r.appear:t),{exit:e,enter:t,appear:n}},n.updateStatus=function(e,t){if(void 0===e&&(e=!1),null!==t){this.cancelNextCallback();var n=he.a.findDOMNode(this);t===me?this.performEnter(n,e):this.performExit(n)}else this.props.unmountOnExit&&this.state.status===ye&&this.setState({status:ge})},n.performEnter=function(e,t){var n=this,r=this.props.enter,i=this.context?this.context.isMounting:t,o=this.getTimeouts(),a=i?o.appear:o.enter;!t&&!r||pe?this.safeSetState({status:be},(function(){n.props.onEntered(e)})):(this.props.onEnter(e,i),this.safeSetState({status:me},(function(){n.props.onEntering(e,i),n.onTransitionEnd(e,a,(function(){n.safeSetState({status:be},(function(){n.props.onEntered(e,i)}))}))})))},n.performExit=function(e){var t=this,n=this.props.exit,r=this.getTimeouts();n&&!pe?(this.props.onExit(e),this.safeSetState({status:ve},(function(){t.props.onExiting(e),t.onTransitionEnd(e,r.exit,(function(){t.safeSetState({status:ye},(function(){t.props.onExited(e)}))}))}))):this.safeSetState({status:ye},(function(){t.props.onExited(e)}))},n.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(e,t){t=this.setNextCallback(t),this.setState(e,t)},n.setNextCallback=function(e){var t=this,n=!0;return this.nextCallback=function(r){n&&(n=!1,t.nextCallback=null,e(r))},this.nextCallback.cancel=function(){n=!1},this.nextCallback},n.onTransitionEnd=function(e,t,n){this.setNextCallback(n);var r=null==t&&!this.props.addEndListener;e&&!r?(this.props.addEndListener&&this.props.addEndListener(e,this.nextCallback),null!=t&&setTimeout(this.nextCallback,t)):setTimeout(this.nextCallback,0)},n.render=function(){var e=this.state.status;if(e===ge)return null;var t=this.props,n=t.children,r=Object(re.a)(t,[\"children\"]);if(delete r.in,delete r.mountOnEnter,delete r.unmountOnExit,delete r.appear,delete r.enter,delete r.exit,delete r.timeout,delete r.addEndListener,delete r.onEnter,delete r.onEntering,delete r.onEntered,delete r.onExit,delete r.onExiting,delete r.onExited,\"function\"===typeof n)return o.a.createElement(ie.Provider,{value:null},n(e,r));var i=o.a.Children.only(n);return o.a.createElement(ie.Provider,{value:null},o.a.cloneElement(i,r))},t}(o.a.Component);function we(){}xe.contextType=ie,xe.propTypes={},xe.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:we,onEntering:we,onEntered:we,onExit:we,onExiting:we,onExited:we},xe.UNMOUNTED=0,xe.EXITED=1,xe.ENTERING=2,xe.ENTERED=3,xe.EXITING=4;var _e=xe,ke=function(e,t){return e&&t&&t.split(\" \").forEach((function(t){return r=t,void((n=e).classList?n.classList.remove(r):\"string\"===typeof n.className?n.className=fe(n.className,r):n.setAttribute(\"class\",fe(n.className&&n.className.baseVal||\"\",r)));var n,r}))},Oe=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(t=e.call.apply(e,[this].concat(r))||this).appliedClasses={appear:{},enter:{},exit:{}},t.onEnter=function(e,n){t.removeClasses(e,\"exit\"),t.addClass(e,n?\"appear\":\"enter\",\"base\"),t.props.onEnter&&t.props.onEnter(e,n)},t.onEntering=function(e,n){var r=n?\"appear\":\"enter\";t.addClass(e,r,\"active\"),t.props.onEntering&&t.props.onEntering(e,n)},t.onEntered=function(e,n){var r=n?\"appear\":\"enter\";t.removeClasses(e,r),t.addClass(e,r,\"done\"),t.props.onEntered&&t.props.onEntered(e,n)},t.onExit=function(e){t.removeClasses(e,\"appear\"),t.removeClasses(e,\"enter\"),t.addClass(e,\"exit\",\"base\"),t.props.onExit&&t.props.onExit(e)},t.onExiting=function(e){t.addClass(e,\"exit\",\"active\"),t.props.onExiting&&t.props.onExiting(e)},t.onExited=function(e){t.removeClasses(e,\"exit\"),t.addClass(e,\"exit\",\"done\"),t.props.onExited&&t.props.onExited(e)},t.getClassNames=function(e){var n=t.props.classNames,r=\"string\"===typeof n,i=r?\"\"+(r&&n?n+\"-\":\"\")+e:n[e];return{baseClassName:i,activeClassName:r?i+\"-active\":n[e+\"Active\"],doneClassName:r?i+\"-done\":n[e+\"Done\"]}},t}Object(H.a)(t,e);var n=t.prototype;return n.addClass=function(e,t,n){var r=this.getClassNames(t)[n+\"ClassName\"];\"appear\"===t&&\"done\"===n&&(r+=\" \"+this.getClassNames(\"enter\").doneClassName),\"active\"===n&&e&&e.scrollTop,this.appliedClasses[t][n]=r,function(e,t){e&&t&&t.split(\" \").forEach((function(t){return r=t,void((n=e).classList?n.classList.add(r):function(e,t){return e.classList?!!t&&e.classList.contains(t):-1!==(\" \"+(e.className.baseVal||e.className)+\" \").indexOf(\" \"+t+\" \")}(n,r)||(\"string\"===typeof n.className?n.className=n.className+\" \"+r:n.setAttribute(\"class\",(n.className&&n.className.baseVal||\"\")+\" \"+r)));var n,r}))}(e,r)},n.removeClasses=function(e,t){var n=this.appliedClasses[t],r=n.base,i=n.active,o=n.done;this.appliedClasses[t]={},r&&ke(e,r),i&&ke(e,i),o&&ke(e,o)},n.render=function(){var e=this.props,t=(e.classNames,Object(re.a)(e,[\"classNames\"]));return o.a.createElement(_e,Object(u.a)({},t,{onEnter:this.onEnter,onEntered:this.onEntered,onEntering:this.onEntering,onExit:this.onExit,onExiting:this.onExiting,onExited:this.onExited}))},t}(o.a.Component);Oe.defaultProps={classNames:\"\"},Oe.propTypes={};var Ee=Oe,Se=n(755),Ce=function(e){var t=e.children,n=e.value,r=e.disabled,o=e.onSelect,a=e.dayInCurrentMonth,s=Object(l.a)(e,[\"children\",\"value\",\"disabled\",\"onSelect\",\"dayInCurrentMonth\"]),c=Object(i.useCallback)((function(){return o(n)}),[o,n]);return Object(i.createElement)(\"div\",Object(u.a)({role:\"presentation\",onClick:a&&!r?c:void 0,onKeyPress:a&&!r?c:void 0},s),t)},Te=h((function(e){var t=e.transitions.create(\"transform\",{duration:350,easing:\"cubic-bezier(0.35, 0.8, 0.4, 1)\"});return{transitionContainer:{display:\"block\",position:\"relative\",\"& > *\":{position:\"absolute\",top:0,right:0,left:0}},\"slideEnter-left\":{willChange:\"transform\",transform:\"translate(100%)\"},\"slideEnter-right\":{willChange:\"transform\",transform:\"translate(-100%)\"},slideEnterActive:{transform:\"translate(0%)\",transition:t},slideExit:{transform:\"translate(0%)\"},\"slideExitActiveLeft-left\":{willChange:\"transform\",transform:\"translate(-200%)\",transition:t},\"slideExitActiveLeft-right\":{willChange:\"transform\",transform:\"translate(200%)\",transition:t}}}),{name:\"MuiPickersSlideTransition\"}),je=function(e){var t=e.children,n=e.transKey,r=e.slideDirection,o=e.className,a=void 0===o?null:o,s=Te(),u={exit:s.slideExit,enterActive:s.slideEnterActive,enter:s[\"slideEnter-\"+r],exitActive:s[\"slideExitActiveLeft-\"+r]};return Object(i.createElement)(le,{className:Object(c.a)(s.transitionContainer,a),childFactory:function(e){return Object(i.cloneElement)(e,{classNames:u})}},Object(i.createElement)(Ee,{mountOnEnter:!0,unmountOnExit:!0,key:n+r,timeout:350,classNames:u,children:t}))},Ae=h((function(e){return{switchHeader:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",marginTop:e.spacing(.5),marginBottom:e.spacing(1)},transitionContainer:{width:\"100%\",overflow:\"hidden\",height:23},iconButton:{zIndex:1,backgroundColor:e.palette.background.paper},daysHeader:{display:\"flex\",justifyContent:\"center\",alignItems:\"center\",maxHeight:16},dayLabel:{width:36,margin:\"0 2px\",textAlign:\"center\",color:e.palette.text.hint}}}),{name:\"MuiPickersCalendarHeader\"}),Me=function(e){var t=e.currentMonth,n=e.onMonthChange,r=e.leftArrowIcon,o=e.rightArrowIcon,a=e.leftArrowButtonProps,c=e.rightArrowButtonProps,l=e.disablePrevMonth,f=e.disableNextMonth,d=e.slideDirection,h=Object(s.b)(),y=Ae(),m=\"rtl\"===Object(p.a)().direction;return Object(i.createElement)(\"div\",null,Object(i.createElement)(\"div\",{className:y.switchHeader},Object(i.createElement)(B.a,Object(u.a)({},a,{disabled:l,onClick:function(){return n(h.getPreviousMonth(t),\"right\")},className:y.iconButton}),m?o:r),Object(i.createElement)(je,{slideDirection:d,transKey:t.toString(),className:y.transitionContainer},Object(i.createElement)(g.a,{align:\"center\",variant:\"body1\"},h.getCalendarHeaderText(t))),Object(i.createElement)(B.a,Object(u.a)({},c,{disabled:f,onClick:function(){return n(h.getNextMonth(t),\"left\")},className:y.iconButton}),m?r:o)),Object(i.createElement)(\"div\",{className:y.daysHeader},h.getWeekdays().map((function(e,t){return Object(i.createElement)(g.a,{key:t,variant:\"caption\",className:y.dayLabel},e)}))))};Me.displayName=\"CalendarHeader\",Me.defaultProps={leftArrowIcon:Object(i.createElement)((function(e){return o.a.createElement(Y.a,e,o.a.createElement(\"path\",{d:\"M15.41 16.59L10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.41z\"}),o.a.createElement(\"path\",{fill:\"none\",d:\"M0 0h24v24H0V0z\"}))}),null),rightArrowIcon:Object(i.createElement)((function(e){return o.a.createElement(Y.a,e,o.a.createElement(\"path\",{d:\"M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z\"}),o.a.createElement(\"path\",{fill:\"none\",d:\"M0 0h24v24H0V0z\"}))}),null),disablePrevMonth:!1,disableNextMonth:!1};var Pe=function(e){var t=e.onKeyDown;return Object(i.useEffect)((function(){return window.addEventListener(\"keydown\",t),function(){window.removeEventListener(\"keydown\",t)}}),[t]),null},Ne=function(e){function t(){var e,n;Object(q.a)(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return(n=K(this,(e=Z(t)).call.apply(e,[this].concat(o)))).state={slideDirection:\"left\",currentMonth:n.props.utils.startOfMonth(n.props.date),loadingQueue:0},n.pushToLoadingQueue=function(){var e=n.state.loadingQueue+1;n.setState({loadingQueue:e})},n.popFromLoadingQueue=function(){var e=n.state.loadingQueue;e=e<=0?0:e-1,n.setState({loadingQueue:e})},n.handleChangeMonth=function(e,t){if(n.setState({currentMonth:e,slideDirection:t}),n.props.onMonthChange){var r=n.props.onMonthChange(e);r&&(n.pushToLoadingQueue(),r.then((function(){n.popFromLoadingQueue()})))}},n.validateMinMaxDate=function(e){var t=n.props,r=t.minDate,i=t.maxDate,o=t.utils,a=t.disableFuture,s=t.disablePast,c=o.date();return Boolean(a&&o.isAfterDay(e,c)||s&&o.isBeforeDay(e,c)||r&&o.isBeforeDay(e,o.date(r))||i&&o.isAfterDay(e,o.date(i)))},n.shouldDisablePrevMonth=function(){var e=n.props,t=e.utils,r=e.disablePast,i=e.minDate,o=t.date(),a=t.startOfMonth(r&&t.isAfter(o,t.date(i))?o:t.date(i));return!t.isBefore(a,n.state.currentMonth)},n.shouldDisableNextMonth=function(){var e=n.props,t=e.utils,r=e.disableFuture,i=e.maxDate,o=t.date(),a=t.startOfMonth(r&&t.isBefore(o,t.date(i))?o:t.date(i));return!t.isAfter(a,n.state.currentMonth)},n.shouldDisableDate=function(e){var t=n.props.shouldDisableDate;return n.validateMinMaxDate(e)||Boolean(t&&t(e))},n.handleDaySelect=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=n.props,i=r.date,o=r.utils;n.props.onChange(o.mergeDateAndTime(e,i),t)},n.moveToDay=function(e){var t=n.props.utils;e&&!n.shouldDisableDate(e)&&(t.getMonth(e)!==t.getMonth(n.state.currentMonth)&&n.handleChangeMonth(t.startOfMonth(e),\"left\"),n.handleDaySelect(e,!1))},n.handleKeyDown=function(e){var t=n.props,r=t.theme,i=t.date,o=t.utils;M(e,{ArrowUp:function(){return n.moveToDay(o.addDays(i,-7))},ArrowDown:function(){return n.moveToDay(o.addDays(i,7))},ArrowLeft:function(){return n.moveToDay(o.addDays(i,\"ltr\"===r.direction?-1:1))},ArrowRight:function(){return n.moveToDay(o.addDays(i,\"ltr\"===r.direction?1:-1))}})},n.renderWeeks=function(){var e=n.props,t=e.utils,r=e.classes;return t.getWeekArray(n.state.currentMonth).map((function(e){return Object(i.createElement)(\"div\",{key:\"week-\".concat(e[0].toString()),className:r.week},n.renderDays(e))}))},n.renderDays=function(e){var t=n.props,r=t.date,o=t.renderDay,a=t.utils,s=a.date(),c=a.startOfDay(r),u=a.getMonth(n.state.currentMonth);return e.map((function(e){var t=n.shouldDisableDate(e),r=a.getMonth(e)===u,l=Object(i.createElement)(ne,{disabled:t,current:a.isSameDay(e,s),hidden:!r,selected:a.isSameDay(c,e)},a.getDayText(e));return o&&(l=o(e,c,r,l)),Object(i.createElement)(Ce,{value:e,key:e.toString(),disabled:t,dayInCurrentMonth:r,onSelect:n.handleDaySelect},l)}))},n}return Q(t,e),Object($.a)(t,[{key:\"componentDidMount\",value:function(){var e=this.props,t=e.date,n=e.minDate,r=e.maxDate,i=e.utils,o=e.disablePast,a=e.disableFuture;if(this.shouldDisableDate(t)){var s=function(e){var t=e.date,n=e.utils,r=e.minDate,i=e.maxDate,o=e.disableFuture,a=e.disablePast,s=e.shouldDisableDate,c=n.startOfDay(n.date());a&&n.isBefore(r,c)&&(r=c),o&&n.isAfter(i,c)&&(i=c);var u=t,l=t;for(n.isBefore(t,r)&&(u=n.date(r),l=null),n.isAfter(t,i)&&(l&&(l=n.date(i)),u=null);u||l;){if(u&&n.isAfter(u,i)&&(u=null),l&&n.isBefore(l,r)&&(l=null),u){if(!s(u))return u;u=n.addDays(u,1)}if(l){if(!s(l))return l;l=n.addDays(l,-1)}}return n.date()}({date:t,utils:i,minDate:i.date(n),maxDate:i.date(r),disablePast:Boolean(o),disableFuture:Boolean(a),shouldDisableDate:this.shouldDisableDate});this.handleDaySelect(s,!1)}}},{key:\"render\",value:function(){var e=this.state,t=e.currentMonth,n=e.slideDirection,r=this.props,o=r.classes,a=r.allowKeyboardControl,s=r.leftArrowButtonProps,c=r.leftArrowIcon,u=r.rightArrowButtonProps,l=r.rightArrowIcon,f=r.loadingIndicator,d=f||Object(i.createElement)(Se.a,null);return Object(i.createElement)(i.Fragment,null,a&&\"static\"!==this.context&&Object(i.createElement)(Pe,{onKeyDown:this.handleKeyDown}),Object(i.createElement)(Me,{currentMonth:t,slideDirection:n,onMonthChange:this.handleChangeMonth,leftArrowIcon:c,leftArrowButtonProps:s,rightArrowIcon:l,rightArrowButtonProps:u,disablePrevMonth:this.shouldDisablePrevMonth(),disableNextMonth:this.shouldDisableNextMonth()}),Object(i.createElement)(je,{slideDirection:n,transKey:t.toString(),className:o.transitionContainer},Object(i.createElement)(i.Fragment,null,this.state.loadingQueue>0&&Object(i.createElement)(\"div\",{className:o.progressContainer},d)||Object(i.createElement)(\"div\",null,this.renderWeeks()))))}}],[{key:\"getDerivedStateFromProps\",value:function(e,t){var n=e.utils,r=e.date;if(!n.isEqual(r,t.lastDate)){var i=n.getMonth(r),o=t.lastDate||r,a=n.getMonth(o);return{lastDate:r,currentMonth:e.utils.startOfMonth(r),slideDirection:i===a?t.slideDirection:n.isAfterDay(r,o)?\"left\":\"right\"}}return null}}]),t}(i.Component);Ne.contextType=R,Ne.defaultProps={minDate:new Date(\"1900-01-01\"),maxDate:new Date(\"2100-01-01\"),disablePast:!1,disableFuture:!1,allowKeyboardControl:!0};var De,Re=Object(m.a)((function(e){return{transitionContainer:{minHeight:216,marginTop:e.spacing(1.5)},progressContainer:{width:\"100%\",height:\"100%\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\"},week:{display:\"flex\",justifyContent:\"center\"}}}),{name:\"MuiPickersCalendar\",withTheme:!0})(function(e){var t=function(t){var n=Object(s.b)();return Object(i.createElement)(e,Object(u.a)({utils:n},t))};return t.displayName=\"WithUtils(\".concat(e.displayName||e.name,\")\"),t}(Ne));!function(e){e.HOURS=\"hours\",e.MINUTES=\"minutes\",e.SECONDS=\"seconds\"}(De||(De={}));var Ie=De,Le=function(e){function t(){var e,n;Object(q.a)(this,t);for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return(n=K(this,(e=Z(t)).call.apply(e,[this].concat(i)))).state={toAnimateTransform:!1,previousType:void 0},n.getAngleStyle=function(){var e=n.props,t=e.value,r=e.isInner,i=e.type,o=360/(i===Ie.HOURS?12:60)*t;return i===Ie.HOURS&&t>12&&(o-=360),{height:r?\"26%\":\"40%\",transform:\"rotateZ(\".concat(o,\"deg)\")}},n}return Q(t,e),Object($.a)(t,[{key:\"render\",value:function(){var e=this.props,t=e.classes,n=e.hasSelected;return Object(i.createElement)(\"div\",{style:this.getAngleStyle(),className:Object(c.a)(t.pointer,this.state.toAnimateTransform&&t.animateTransform)},Object(i.createElement)(\"div\",{className:Object(c.a)(t.thumb,n&&t.noPoint)}))}}]),t}(i.Component);Le.getDerivedStateFromProps=function(e,t){return e.type!==t.previousType?{toAnimateTransform:!0,previousType:e.type}:{toAnimateTransform:!1,previousType:e.type}};var Be=Object(m.a)((function(e){return{pointer:{width:2,backgroundColor:e.palette.primary.main,position:\"absolute\",left:\"calc(50% - 1px)\",bottom:\"50%\",transformOrigin:\"center bottom 0px\"},animateTransform:{transition:e.transitions.create([\"transform\",\"height\"])},thumb:{width:4,height:4,backgroundColor:e.palette.primary.contrastText,borderRadius:\"100%\",position:\"absolute\",top:-21,left:-15,border:\"14px solid \".concat(e.palette.primary.main),boxSizing:\"content-box\"},noPoint:{backgroundColor:e.palette.primary.main}}}),{name:\"MuiPickersClockPointer\"})(Le),Fe={x:130,y:130},ze=Fe.x-Fe.x,Ue=0-Fe.y,He=function(e,t,n){var r=t-Fe.x,i=n-Fe.y,o=Math.atan2(ze,Ue)-Math.atan2(r,i),a=57.29577951308232*o;a=Math.round(a/e)*e,a%=360;var s=Math.floor(a/e)||0,c=Math.pow(r,2)+Math.pow(i,2);return{value:s,distance:Math.sqrt(c)}},We=function(e,t,n){var r=He(30,e,t),i=r.value,o=r.distance;return i=i||12,n?i%=12:o<90&&(i+=12,i%=24),i},Ye=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=6*n,i=He(r,e,t),o=i.value;return o=o*n%60},Ve=function(e,t){return t.getHours(e)>=12?\"pm\":\"am\"},qe=function(e,t,n,r){if(n&&(r.getHours(e)>=12?\"pm\":\"am\")!==t){var i=\"am\"===t?r.getHours(e)-12:r.getHours(e)+12;return r.setHours(e,i)}return e},$e=function(e){function t(){var e,n;Object(q.a)(this,t);for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return(n=K(this,(e=Z(t)).call.apply(e,[this].concat(i)))).isMoving=!1,n.handleTouchMove=function(e){n.isMoving=!0,n.setTime(e)},n.handleTouchEnd=function(e){n.isMoving&&(n.setTime(e,!0),n.isMoving=!1)},n.handleMove=function(e){e.preventDefault(),e.stopPropagation(),(\"undefined\"===typeof e.buttons?1===e.nativeEvent.which:1===e.buttons)&&n.setTime(e.nativeEvent,!1)},n.handleMouseUp=function(e){n.isMoving&&(n.isMoving=!1),n.setTime(e.nativeEvent,!0)},n.hasSelected=function(){var e=n.props,t=e.type,r=e.value;return t===Ie.HOURS||r%5===0},n}return Q(t,e),Object($.a)(t,[{key:\"setTime\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e.offsetX,r=e.offsetY;if(\"undefined\"===typeof n){var i=e.target.getBoundingClientRect();n=e.changedTouches[0].clientX-i.left,r=e.changedTouches[0].clientY-i.top}var o=this.props.type===Ie.SECONDS||this.props.type===Ie.MINUTES?Ye(n,r,this.props.minutesStep):We(n,r,Boolean(this.props.ampm));this.props.onChange(o,t)}},{key:\"render\",value:function(){var e=this.props,t=e.classes,n=e.value,r=e.children,o=e.type,a=!e.ampm&&o===Ie.HOURS&&(n<1||n>12);return Object(i.createElement)(\"div\",{className:t.container},Object(i.createElement)(\"div\",{className:t.clock},Object(i.createElement)(\"div\",{role:\"menu\",tabIndex:-1,className:t.squareMask,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onMouseUp:this.handleMouseUp,onMouseMove:this.handleMove}),Object(i.createElement)(\"div\",{className:t.pin}),Object(i.createElement)(Be,{type:o,value:n,isInner:a,hasSelected:this.hasSelected()}),r))}}]),t}(i.Component);$e.defaultProps={ampm:!1,minutesStep:1};var Ge=Object(m.a)((function(e){return{container:{display:\"flex\",justifyContent:\"center\",alignItems:\"flex-end\",margin:\"\".concat(e.spacing(2),\"px 0 \").concat(e.spacing(1),\"px\")},clock:{backgroundColor:\"rgba(0,0,0,.07)\",borderRadius:\"50%\",height:260,width:260,position:\"relative\",pointerEvents:\"none\"},squareMask:{width:\"100%\",height:\"100%\",position:\"absolute\",pointerEvents:\"auto\",outline:\"none\",touchActions:\"none\",userSelect:\"none\",\"&:active\":{cursor:\"move\"}},pin:{width:6,height:6,borderRadius:\"50%\",backgroundColor:e.palette.primary.main,position:\"absolute\",top:\"50%\",left:\"50%\",transform:\"translate(-50%, -50%)\"}}}),{name:\"MuiPickersClock\"})($e),Xe={0:[0,40],1:[55,19.6],2:[94.4,59.5],3:[109,114],4:[94.4,168.5],5:[54.5,208.4],6:[0,223],7:[-54.5,208.4],8:[-94.4,168.5],9:[-109,114],10:[-94.4,59.5],11:[-54.5,19.6],12:[0,5],13:[36.9,49.9],14:[64,77],15:[74,114],16:[64,151],17:[37,178],18:[0,188],19:[-37,178],20:[-64,151],21:[-74,114],22:[-64,77],23:[-37,50]},Ke=h((function(e){var t=e.spacing(4);return{clockNumber:{width:t,height:32,userSelect:\"none\",position:\"absolute\",left:\"calc((100% - \".concat(\"number\"===typeof t?\"\".concat(t,\"px\"):t,\") / 2)\"),display:\"inline-flex\",justifyContent:\"center\",alignItems:\"center\",borderRadius:\"50%\",color:\"light\"===e.palette.type?e.palette.text.primary:e.palette.text.hint},clockNumberSelected:{color:e.palette.primary.contrastText}}}),{name:\"MuiPickersClockNumber\"}),Ze=function(e){var t=e.selected,n=e.label,r=e.index,o=e.isInner,a=Ke(),s=Object(c.a)(a.clockNumber,t&&a.clockNumberSelected),u=Object(i.useMemo)((function(){var e=Xe[r];return{transform:\"translate(\".concat(e[0],\"px, \").concat(e[1],\"px\")}}),[r]);return Object(i.createElement)(g.a,{component:\"span\",className:s,variant:o?\"body2\":\"body1\",style:u,children:n})},Je=function(e){for(var t=e.ampm,n=e.utils,r=e.date,o=n.getHours(r),a=[],s=t?12:23,c=function(e){return t?12===e?12===o||0===o:o===e||o-12===e:o===e},l=t?1:0;l<=s;l+=1){var f=l.toString();0===l&&(f=\"00\");var d={index:l,label:n.formatNumber(f),selected:c(l),isInner:!t&&(0===l||l>12)};a.push(Object(i.createElement)(Ze,Object(u.a)({key:l},d)))}return a},Qe=function(e){var t=e.value,n=e.utils.formatNumber;return[Object(i.createElement)(Ze,{label:n(\"00\"),selected:0===t,index:12,key:12}),Object(i.createElement)(Ze,{label:n(\"05\"),selected:5===t,index:1,key:1}),Object(i.createElement)(Ze,{label:n(\"10\"),selected:10===t,index:2,key:2}),Object(i.createElement)(Ze,{label:n(\"15\"),selected:15===t,index:3,key:3}),Object(i.createElement)(Ze,{label:n(\"20\"),selected:20===t,index:4,key:4}),Object(i.createElement)(Ze,{label:n(\"25\"),selected:25===t,index:5,key:5}),Object(i.createElement)(Ze,{label:n(\"30\"),selected:30===t,index:6,key:6}),Object(i.createElement)(Ze,{label:n(\"35\"),selected:35===t,index:7,key:7}),Object(i.createElement)(Ze,{label:n(\"40\"),selected:40===t,index:8,key:8}),Object(i.createElement)(Ze,{label:n(\"45\"),selected:45===t,index:9,key:9}),Object(i.createElement)(Ze,{label:n(\"50\"),selected:50===t,index:10,key:10}),Object(i.createElement)(Ze,{label:n(\"55\"),selected:55===t,index:11,key:11})]},et=function(e){var t=e.type,n=e.onHourChange,r=e.onMinutesChange,o=e.onSecondsChange,a=e.ampm,c=e.date,l=e.minutesStep,f=Object(s.b)(),d=Object(i.useMemo)((function(){switch(t){case Ie.HOURS:return{value:f.getHours(c),children:Je({date:c,utils:f,ampm:Boolean(a)}),onChange:function(e,t){var r=Ve(c,f),i=qe(f.setHours(c,e),r,Boolean(a),f);n(i,t)}};case Ie.MINUTES:var e=f.getMinutes(c);return{value:e,children:Qe({value:e,utils:f}),onChange:function(e,t){var n=f.setMinutes(c,e);r(n,t)}};case Ie.SECONDS:var i=f.getSeconds(c);return{value:i,children:Qe({value:i,utils:f}),onChange:function(e,t){var n=f.setSeconds(c,e);o(n,t)}};default:throw new Error(\"You must provide the type for TimePickerView\")}}),[a,c,n,r,o,t,f]);return Object(i.createElement)(Ge,Object(u.a)({type:t,ampm:a,minutesStep:l},d))};et.displayName=\"TimePickerView\",et.defaultProps={ampm:!0,minutesStep:1};Object(i.memo)(et);function tt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}Object(a.oneOfType)([a.object,a.string,a.number,Object(a.instanceOf)(Date)]),Object(a.oneOf)([\"year\",\"month\",\"day\"]);var nt={minDate:new Date(\"1900-01-01\"),maxDate:new Date(\"2100-01-01\"),invalidDateMessage:\"Invalid Date Format\",minDateMessage:\"Date should not be before minimal date\",maxDateMessage:\"Date should not be after maximal date\",allowKeyboardControl:!0},rt=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?tt(n,!0).forEach((function(t){Object(r.a)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tt(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},{ampm:!0,invalidDateMessage:\"Invalid Time Format\"},{},nt,{showTabs:!0});var it=h((function(e){return{root:{height:40,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",cursor:\"pointer\",outline:\"none\",\"&:focus\":{color:e.palette.primary.main,fontWeight:e.typography.fontWeightMedium}},yearSelected:{margin:\"10px 0\",fontWeight:e.typography.fontWeightMedium},yearDisabled:{pointerEvents:\"none\",color:e.palette.text.hint}}}),{name:\"MuiPickersYear\"}),ot=function(e){var t=e.onSelect,n=e.forwardedRef,r=e.value,o=e.selected,a=e.disabled,s=e.children,f=Object(l.a)(e,[\"onSelect\",\"forwardedRef\",\"value\",\"selected\",\"disabled\",\"children\"]),d=it(),h=Object(i.useCallback)((function(){return t(r)}),[t,r]);return Object(i.createElement)(g.a,Object(u.a)({role:\"button\",component:\"div\",tabIndex:a?-1:0,onClick:h,onKeyPress:h,color:o?\"primary\":void 0,variant:o?\"h5\":\"subtitle1\",children:s,ref:n,className:Object(c.a)(d.root,o&&d.yearSelected,a&&d.yearDisabled)},f))};ot.displayName=\"Year\";var at=Object(i.forwardRef)((function(e,t){return Object(i.createElement)(ot,Object(u.a)({},e,{forwardedRef:t}))})),st=h({container:{height:300,overflowY:\"auto\"}},{name:\"MuiPickersYearSelection\"}),ct=function(e){var t=e.date,n=e.onChange,r=e.onYearChange,o=e.minDate,a=e.maxDate,c=e.disablePast,u=e.disableFuture,l=e.animateYearScrolling,f=Object(s.b)(),d=st(),h=Object(i.useContext)(R),p=Object(i.useRef)(null);Object(i.useEffect)((function(){if(p.current&&p.current.scrollIntoView)try{p.current.scrollIntoView({block:\"static\"===h?\"nearest\":\"center\",behavior:l?\"smooth\":\"auto\"})}catch(e){p.current.scrollIntoView()}}),[]);var g=f.getYear(t),y=Object(i.useCallback)((function(e){var i=f.setYear(t,e);r&&r(i),n(i,!0)}),[t,n,r,f]);return Object(i.createElement)(\"div\",{className:d.container},f.getYearRange(o,a).map((function(e){var t=f.getYear(e),n=t===g;return Object(i.createElement)(at,{key:f.getYearText(e),selected:n,value:t,onSelect:y,ref:n?p:void 0,disabled:Boolean(c&&f.isBeforeYear(e,f.date())||u&&f.isAfterYear(e,f.date()))},f.getYearText(e))})))},ut=h((function(e){return{root:{flex:\"1 0 33.33%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",cursor:\"pointer\",outline:\"none\",height:75,transition:e.transitions.create(\"font-size\",{duration:\"100ms\"}),\"&:focus\":{color:e.palette.primary.main,fontWeight:e.typography.fontWeightMedium}},monthSelected:{color:e.palette.primary.main,fontWeight:e.typography.fontWeightMedium},monthDisabled:{pointerEvents:\"none\",color:e.palette.text.hint}}}),{name:\"MuiPickersMonth\"}),lt=function(e){var t=e.selected,n=e.onSelect,r=e.disabled,o=e.value,a=e.children,s=Object(l.a)(e,[\"selected\",\"onSelect\",\"disabled\",\"value\",\"children\"]),f=ut(),d=Object(i.useCallback)((function(){n(o)}),[n,o]);return Object(i.createElement)(g.a,Object(u.a)({role:\"button\",component:\"div\",className:Object(c.a)(f.root,t&&f.monthSelected,r&&f.monthDisabled),tabIndex:r?-1:0,onClick:d,onKeyPress:d,color:t?\"primary\":void 0,variant:t?\"h5\":\"subtitle1\",children:a},s))};lt.displayName=\"Month\";var ft=h({container:{width:310,display:\"flex\",flexWrap:\"wrap\",alignContent:\"stretch\"}},{name:\"MuiPickersMonthSelection\"}),dt=function(e){var t=e.disablePast,n=e.disableFuture,r=e.minDate,o=e.maxDate,a=e.date,c=e.onMonthChange,u=e.onChange,l=Object(s.b)(),f=ft(),d=l.getMonth(a),h=function(e){var i=l.date(),a=l.date(r),s=l.date(o),c=l.startOfMonth(t&&l.isAfter(i,a)?i:a),u=l.startOfMonth(n&&l.isBefore(i,s)?i:s),f=l.isBefore(e,c),d=l.isAfter(e,u);return f||d},p=Object(i.useCallback)((function(e){var t=l.setMonth(a,e);u(t,!0),c&&c(t)}),[a,u,c,l]);return Object(i.createElement)(\"div\",{className:f.container},l.getMonthArray(a).map((function(e){var t=l.getMonth(e),n=l.format(e,\"MMM\");return Object(i.createElement)(lt,{key:n,value:t,selected:t===d,onSelect:p,disabled:h(e)},n)})))},ht=function(){return\"undefined\"===typeof window?\"portrait\":window.screen&&window.screen.orientation&&window.screen.orientation.angle?90===Math.abs(window.screen.orientation.angle)?\"landscape\":\"portrait\":window.orientation&&90===Math.abs(Number(window.orientation))?\"landscape\":\"portrait\"};function pt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var gt={year:ct,month:dt,date:Re,hours:et,minutes:et,seconds:et},yt=h({container:{display:\"flex\",flexDirection:\"column\"},containerLandscape:{flexDirection:\"row\"},pickerView:{overflowX:\"hidden\",minHeight:305,minWidth:310,maxWidth:325,display:\"flex\",flexDirection:\"column\",justifyContent:\"center\"},pickerViewLandscape:{padding:\"0 8px\"}},{name:\"MuiPickersBasePicker\"}),mt=function(e){var t=e.date,n=e.views,r=e.disableToolbar,o=e.onChange,a=e.openTo,f=e.minDate,d=e.maxDate,h=e.ToolbarComponent,p=e.orientation,g=Object(l.a)(e,[\"date\",\"views\",\"disableToolbar\",\"onChange\",\"openTo\",\"minDate\",\"maxDate\",\"ToolbarComponent\",\"orientation\"]),y=Object(s.b)(),m=yt(),b=function(e){var t=Object(i.useState)(ht()),n=Object(V.a)(t,2),r=n[0],o=n[1],a=Object(i.useCallback)((function(){return o(ht())}),[]);return A((function(){return window.addEventListener(\"orientationchange\",a),function(){return window.removeEventListener(\"orientationchange\",a)}}),[a]),\"landscape\"===(e||r)}(p),v=function(e,t,n){var r=Object(i.useState)(t&&O(e,t)?t:e[0]),o=Object(V.a)(r,2),a=o[0],s=o[1];return{handleChangeAndOpenNext:Object(i.useCallback)((function(t,r){var i=e[e.indexOf(a)+1];if(r&&i)return n(t,!1),void s(i);n(t,Boolean(r))}),[n,a,e]),openView:a,setOpenView:s}}(n,a,o),x=v.openView,w=v.setOpenView,_=v.handleChangeAndOpenNext,k=Object(i.useMemo)((function(){return y.date(f)}),[f,y]),E=Object(i.useMemo)((function(){return y.date(d)}),[d,y]);return Object(i.createElement)(\"div\",{className:Object(c.a)(m.container,b&&m.containerLandscape)},!r&&Object(i.createElement)(h,Object(u.a)({},g,{views:n,isLandscape:b,date:t,onChange:o,setOpenView:w,openView:x})),Object(i.createElement)(\"div\",{className:Object(c.a)(m.pickerView,b&&m.pickerViewLandscape)},\"year\"===x&&Object(i.createElement)(ct,Object(u.a)({},g,{date:t,onChange:_,minDate:k,maxDate:E})),\"month\"===x&&Object(i.createElement)(dt,Object(u.a)({},g,{date:t,onChange:_,minDate:k,maxDate:E})),\"date\"===x&&Object(i.createElement)(Re,Object(u.a)({},g,{date:t,onChange:_,minDate:k,maxDate:E})),(\"hours\"===x||\"minutes\"===x||\"seconds\"===x)&&Object(i.createElement)(et,Object(u.a)({},g,{date:t,type:x,onHourChange:_,onMinutesChange:_,onSecondsChange:_}))))};mt.defaultProps=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?pt(n,!0).forEach((function(t){Object(r.a)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pt(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},nt,{views:Object.keys(gt)});var bt=h((function(e){var t=\"light\"===e.palette.type?e.palette.primary.contrastText:e.palette.getContrastText(e.palette.background.default);return{toolbarTxt:{color:Object(y.c)(t,.54)},toolbarBtnSelected:{color:t}}}),{name:\"MuiPickersToolbarText\"}),vt=function(e){var t=e.selected,n=e.label,r=e.className,o=void 0===r?null:r,a=Object(l.a)(e,[\"selected\",\"label\",\"className\"]),s=bt();return Object(i.createElement)(g.a,Object(u.a)({children:n,className:Object(c.a)(s.toolbarTxt,o,t&&s.toolbarBtnSelected)},a))},xt=function(e){var t=e.classes,n=e.className,r=void 0===n?null:n,o=e.label,a=e.selected,s=e.variant,f=e.align,d=e.typographyClassName,h=Object(l.a)(e,[\"classes\",\"className\",\"label\",\"selected\",\"variant\",\"align\",\"typographyClassName\"]);return Object(i.createElement)(b.a,Object(u.a)({variant:\"text\",className:Object(c.a)(t.toolbarBtn,r)},h),Object(i.createElement)(vt,{align:f,className:d,variant:s,label:o,selected:a}))};xt.defaultProps={className:\"\"};var wt={toolbarBtn:{padding:0,minWidth:\"16px\",textTransform:\"none\"}},_t=Object(m.a)(wt,{name:\"MuiPickersToolbarButton\"})(xt),kt=h((function(e){return{toolbar:{display:\"flex\",flexDirection:\"row\",alignItems:\"center\",justifyContent:\"center\",height:100,backgroundColor:\"light\"===e.palette.type?e.palette.primary.main:e.palette.background.default},toolbarLandscape:{height:\"auto\",maxWidth:150,padding:8,justifyContent:\"flex-start\"}}}),{name:\"MuiPickersToolbar\"}),Ot=function(e){var t=e.children,n=e.isLandscape,r=e.className,o=void 0===r?null:r,a=Object(l.a)(e,[\"children\",\"isLandscape\",\"className\"]),s=kt();return Object(i.createElement)(v.a,Object(u.a)({className:Object(c.a)(s.toolbar,o,n&&s.toolbarLandscape)},a),t)};function Et(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var St=function(e){var t=e.inputValue,n=e.inputVariant,o=e.validationError,a=e.InputProps,s=e.openPicker,c=e.TextFieldComponent,f=void 0===c?L.a:c,d=Object(l.a)(e,[\"inputValue\",\"inputVariant\",\"validationError\",\"InputProps\",\"openPicker\",\"TextFieldComponent\"]),h=Object(i.useMemo)((function(){return function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Et(n,!0).forEach((function(t){Object(r.a)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Et(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},a,{readOnly:!0})}),[a]);return Object(i.createElement)(f,Object(u.a)({error:Boolean(o),helperText:o},d,{onClick:s,value:t,variant:n,InputProps:h,onKeyDown:function(e){32===e.keyCode&&(e.stopPropagation(),s())}}))};St.displayName=\"PureDateInput\";var Ct=function(e,t,n,r,i){var o=i.invalidLabel,a=i.emptyLabel,s=i.labelFunc,c=n.date(e);return s?s(r?null:c,o):r?a||\"\":n.isValid(c)?n.format(c,t):o},Tt=function(e,t,n){return t?n:e.endOfDay(n)},jt=function(e,t,n){return t?n:e.startOfDay(n)};function At(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Mt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?At(n,!0).forEach((function(t){Object(r.a)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):At(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Pt=function(e){var t=e.inputValue,n=e.inputVariant,o=e.validationError,a=e.KeyboardButtonProps,s=e.InputAdornmentProps,c=e.openPicker,f=e.onChange,d=e.InputProps,h=e.mask,p=e.maskChar,g=void 0===p?\"_\":p,y=e.refuse,m=void 0===y?/[^\\d]+/gi:y,b=e.format,v=e.keyboardIcon,x=e.disabled,w=e.rifmFormatter,_=e.TextFieldComponent,k=void 0===_?L.a:_,O=Object(l.a)(e,[\"inputValue\",\"inputVariant\",\"validationError\",\"KeyboardButtonProps\",\"InputAdornmentProps\",\"openPicker\",\"onChange\",\"InputProps\",\"mask\",\"maskChar\",\"refuse\",\"format\",\"keyboardIcon\",\"disabled\",\"rifmFormatter\",\"TextFieldComponent\"]),E=h||function(e,t){return e.replace(/[a-z]/gi,t)}(b,g),S=Object(i.useMemo)((function(){return function(e,t,n){return function(r){var i=\"\",o=r.replace(n,\"\");if(\"\"===o)return o;for(var a=0,s=0;a<e.length;){var c=e[a];c===t&&s<o.length?(i+=o[s],s+=1):i+=c,a+=1}return i}}(E,g,m)}),[E,g,m]),C=s&&s.position?s.position:\"end\";return Object(i.createElement)(W,{key:E,value:t,onChange:function(e){f(\"\"===e||e===E?null:e)},refuse:m,format:w||S},(function(e){var t=e.onChange,l=e.value;return Object(i.createElement)(k,Object(u.a)({disabled:x,error:Boolean(o),helperText:o},O,{value:l,onChange:t,variant:n,InputProps:Mt({},d,Object(r.a)({},\"\".concat(C,\"Adornment\"),Object(i.createElement)(U,Object(u.a)({position:C},s),Object(i.createElement)(B.a,Object(u.a)({disabled:x},a,{onClick:c}),v))))}))}))};Pt.defaultProps={keyboardIcon:Object(i.createElement)((function(e){return o.a.createElement(Y.a,e,o.a.createElement(\"path\",{d:\"M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z\"}),o.a.createElement(\"path\",{fill:\"none\",d:\"M0 0h24v24H0z\"}))}),null)};function Nt(e,t){var n=function(e,t){var n=t.value,r=t.initialFocusedDate,o=Object(i.useRef)(e.date()),a=e.date(n||r||o.current);return a&&e.isValid(a)?a:o.current}(Object(s.b)(),e);return{date:n,format:e.format||t.getDefaultFormat()}}function Dt(e,t){var n=e.autoOk,r=e.disabled,o=e.readOnly,a=e.onAccept,c=e.onChange,u=e.onError,l=e.value,f=e.variant,d=Object(s.b)(),h=function(e){var t=e.open,n=e.onOpen,r=e.onClose,o=null;if(void 0===t||null===t){var a=Object(i.useState)(!1),s=Object(V.a)(a,2);t=s[0],o=s[1]}return{isOpen:t,setIsOpen:Object(i.useCallback)((function(e){return o&&o(e),e?n&&n():r&&r()}),[n,r,o])}}(e),p=h.isOpen,g=h.setIsOpen,y=Nt(e,t),m=y.date,b=y.format,v=Object(i.useState)(m),x=Object(V.a)(v,2),w=x[0],_=x[1];Object(i.useEffect)((function(){p||d.isEqual(w,m)||_(m)}),[m,p,w,d]);var k=Object(i.useCallback)((function(e){c(e),a&&a(e),g(!1)}),[a,c,g]),O=Object(i.useMemo)((function(){return{format:b,open:p,onClear:function(){return k(null)},onAccept:function(){return k(w)},onSetToday:function(){return _(d.date())},onDismiss:function(){g(!1)}}}),[k,b,p,w,g,d]),E=Object(i.useMemo)((function(){return{date:w,onChange:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];_(e),t&&n?k(e):\"inline\"!==f&&\"static\"!==f||(c(e),a&&a(e))}}}),[k,n,a,c,w,f]),S=function(e,t,n){var r=n.maxDate,i=n.minDate,o=n.disablePast,a=n.disableFuture,s=n.maxDateMessage,c=n.minDateMessage,u=n.invalidDateMessage,l=n.strictCompareDates,f=t.date(e);return null===e?\"\":t.isValid(e)?r&&t.isAfter(f,Tt(t,!!l,t.date(r)))||a&&t.isAfter(f,Tt(t,!!l,t.date()))?s:i&&t.isBefore(f,jt(t,!!l,t.date(i)))||o&&t.isBefore(f,jt(t,!!l,t.date()))?c:\"\":u}(l,d,e);Object(i.useEffect)((function(){u&&u(S,l)}),[u,S,l]);var C=Ct(m,b,d,null===l,e),T={pickerProps:E,inputProps:Object(i.useMemo)((function(){return{inputValue:C,validationError:S,openPicker:function(){return!o&&!r&&g(!0)}}}),[r,C,o,g,S]),wrapperProps:O};return Object(i.useDebugValue)(T),T}function Rt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function It(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Rt(n,!0).forEach((function(t){Object(r.a)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Rt(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Lt(e){var t=e.Input,n=e.useState,r=e.useOptions,o=e.getCustomProps,a=e.DefaultToolbarComponent;return function(e){var s=e.allowKeyboardControl,c=e.ampm,f=e.animateYearScrolling,d=(e.autoOk,e.dateRangeIcon),h=e.disableFuture,p=e.disablePast,g=e.disableToolbar,y=(e.emptyLabel,e.format,e.forwardedRef,e.hideTabs),m=(e.initialFocusedDate,e.invalidDateMessage,e.invalidLabel,e.labelFunc,e.leftArrowButtonProps),b=e.leftArrowIcon,v=e.loadingIndicator,x=e.maxDate,w=(e.maxDateMessage,e.minDate),_=(e.minDateMessage,e.minutesStep),k=(e.onAccept,e.onChange,e.onClose,e.onMonthChange),O=(e.onOpen,e.onYearChange),E=e.openTo,S=e.orientation,C=e.renderDay,T=e.rightArrowButtonProps,j=e.rightArrowIcon,A=e.shouldDisableDate,M=e.strictCompareDates,P=e.timeIcon,N=e.ToolbarComponent,D=void 0===N?a:N,R=(e.value,e.variant),L=e.views,B=Object(l.a)(e,[\"allowKeyboardControl\",\"ampm\",\"animateYearScrolling\",\"autoOk\",\"dateRangeIcon\",\"disableFuture\",\"disablePast\",\"disableToolbar\",\"emptyLabel\",\"format\",\"forwardedRef\",\"hideTabs\",\"initialFocusedDate\",\"invalidDateMessage\",\"invalidLabel\",\"labelFunc\",\"leftArrowButtonProps\",\"leftArrowIcon\",\"loadingIndicator\",\"maxDate\",\"maxDateMessage\",\"minDate\",\"minDateMessage\",\"minutesStep\",\"onAccept\",\"onChange\",\"onClose\",\"onMonthChange\",\"onOpen\",\"onYearChange\",\"openTo\",\"orientation\",\"renderDay\",\"rightArrowButtonProps\",\"rightArrowIcon\",\"shouldDisableDate\",\"strictCompareDates\",\"timeIcon\",\"ToolbarComponent\",\"value\",\"variant\",\"views\"]),F=o?o(e):{},z=r(e),U=n(e,z),H=U.pickerProps,W=U.inputProps,Y=U.wrapperProps;return Object(i.createElement)(I,Object(u.a)({variant:R,InputComponent:t,DateInputProps:W},F,Y,B),Object(i.createElement)(mt,Object(u.a)({},H,{allowKeyboardControl:s,ampm:c,animateYearScrolling:f,dateRangeIcon:d,disableFuture:h,disablePast:p,disableToolbar:g,hideTabs:y,leftArrowButtonProps:m,leftArrowIcon:b,loadingIndicator:v,maxDate:x,minDate:w,minutesStep:_,onMonthChange:k,onYearChange:O,openTo:E,orientation:S,renderDay:C,rightArrowButtonProps:T,rightArrowIcon:j,shouldDisableDate:A,strictCompareDates:M,timeIcon:P,ToolbarComponent:D,views:L})))}}h({toolbarLandscape:{flexWrap:\"wrap\"},toolbarAmpmLeftPadding:{paddingLeft:50},separator:{margin:\"0 4px 0 2px\",cursor:\"default\"},hourMinuteLabel:{display:\"flex\",justifyContent:\"flex-end\",alignItems:\"flex-end\"},hourMinuteLabelAmpmLandscape:{marginTop:\"auto\"},hourMinuteLabelReverse:{flexDirection:\"row-reverse\"},ampmSelection:{marginLeft:20,marginRight:-20,display:\"flex\",flexDirection:\"column\"},ampmLandscape:{margin:\"4px 0 auto\",flexDirection:\"row\",justifyContent:\"space-around\",flexBasis:\"100%\"},ampmSelectionWithSeconds:{marginLeft:15,marginRight:10},ampmLabel:{fontSize:18}},{name:\"MuiPickersTimePickerToolbar\"});function Bt(e,t,n){var r=Object(s.b)();return{meridiemMode:Ve(e,r),handleMeridiemChange:Object(i.useCallback)((function(i){var o=qe(e,i,Boolean(t),r);n(o,!1)}),[t,e,n,r])}}var Ft=n(772),zt=n(774),Ut=n(781),Ht=n(267),Wt=function(e){return\"date\"===e||\"year\"===e?\"date\":\"time\"},Yt=h((function(e){var t=\"light\"===e.palette.type?e.palette.primary.main:e.palette.background.default;return{tabs:{color:e.palette.getContrastText(t),backgroundColor:t}}}),{name:\"MuiPickerDTTabs\"}),Vt=function(e){var t=e.view,n=e.onChange,r=e.dateRangeIcon,o=e.timeIcon,a=Yt(),s=\"light\"===Object(p.a)().palette.type?\"secondary\":\"primary\";return Object(i.createElement)(Ht.a,null,Object(i.createElement)(Ut.a,{variant:\"fullWidth\",value:Wt(t),onChange:function(e,r){r!==Wt(t)&&n(\"date\"===r?\"date\":\"hours\")},className:a.tabs,indicatorColor:s},Object(i.createElement)(zt.a,{value:\"date\",icon:Object(i.createElement)(i.Fragment,null,r)}),Object(i.createElement)(zt.a,{value:\"time\",icon:Object(i.createElement)(i.Fragment,null,o)})))};Vt.defaultProps={dateRangeIcon:Object(i.createElement)((function(e){return o.a.createElement(Y.a,e,o.a.createElement(\"path\",{d:\"M9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z\"}),o.a.createElement(\"path\",{fill:\"none\",d:\"M0 0h24v24H0z\"}))}),null),timeIcon:Object(i.createElement)((function(e){return o.a.createElement(Y.a,e,o.a.createElement(\"path\",{d:\"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"}),o.a.createElement(\"path\",{fill:\"none\",d:\"M0 0h24v24H0z\"}),o.a.createElement(\"path\",{d:\"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z\"}))}),null)};var qt=h((function(e){return{toolbar:{paddingLeft:16,paddingRight:16,justifyContent:\"space-around\"},separator:{margin:\"0 4px 0 2px\",cursor:\"default\"}}}),{name:\"MuiPickerDTToolbar\"}),$t=function(e){var t=e.date,n=e.openView,r=e.setOpenView,o=e.ampm,a=e.hideTabs,c=e.dateRangeIcon,u=e.timeIcon,l=e.onChange,f=Object(s.b)(),d=qt(),h=!a&&\"undefined\"!==typeof window&&window.innerHeight>667,g=Bt(t,o,l),y=g.meridiemMode,m=g.handleMeridiemChange,b=\"rtl\"===Object(p.a)().direction;return Object(i.createElement)(i.Fragment,null,Object(i.createElement)(Ot,{isLandscape:!1,className:d.toolbar},Object(i.createElement)(Ft.a,{container:!0,justify:\"center\",wrap:\"nowrap\"},Object(i.createElement)(Ft.a,{item:!0,container:!0,xs:5,justify:\"flex-start\",direction:\"column\"},Object(i.createElement)(\"div\",null,Object(i.createElement)(_t,{variant:\"subtitle1\",onClick:function(){return r(\"year\")},selected:\"year\"===n,label:f.getYearText(t)})),Object(i.createElement)(\"div\",null,Object(i.createElement)(_t,{variant:\"h4\",onClick:function(){return r(\"date\")},selected:\"date\"===n,label:f.getDateTimePickerHeaderText(t)}))),Object(i.createElement)(Ft.a,{item:!0,container:!0,xs:6,justify:\"center\",alignItems:\"flex-end\",direction:b?\"row-reverse\":\"row\"},Object(i.createElement)(_t,{variant:\"h3\",onClick:function(){return r(\"hours\")},selected:\"hours\"===n,label:f.getHourText(t,o)}),Object(i.createElement)(vt,{variant:\"h3\",label:\":\",className:d.separator}),Object(i.createElement)(_t,{variant:\"h3\",onClick:function(){return r(\"minutes\")},selected:\"minutes\"===n,label:f.getMinuteText(t)})),o&&Object(i.createElement)(Ft.a,{item:!0,container:!0,xs:1,direction:\"column\",justify:\"flex-end\"},Object(i.createElement)(_t,{variant:\"subtitle1\",selected:\"am\"===y,label:f.getMeridiemText(\"am\"),onClick:function(){return m(\"am\")}}),Object(i.createElement)(_t,{variant:\"subtitle1\",selected:\"pm\"===y,label:f.getMeridiemText(\"pm\"),onClick:function(){return m(\"pm\")}})))),h&&Object(i.createElement)(Vt,{dateRangeIcon:c,timeIcon:u,view:n,onChange:r}))};function Gt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Xt=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Gt(n,!0).forEach((function(t){Object(r.a)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Gt(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},rt,{wider:!0,orientation:\"portrait\",openTo:\"date\",views:[\"year\",\"date\",\"hours\",\"minutes\"]});function Kt(e){var t=Object(s.b)();if(\"portrait\"!==e.orientation)throw new Error(\"We are not supporting custom orientation for DateTimePicker yet :(\");return{getDefaultFormat:function(){return function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0;return e||(t?n[\"12h\"]:n[\"24h\"])}(e.format,e.ampm,{\"12h\":t.dateTime12hFormat,\"24h\":t.dateTime24hFormat})}}}var Zt=Lt({useOptions:Kt,Input:St,useState:Dt,DefaultToolbarComponent:$t}),Jt=Lt({useOptions:Kt,Input:Pt,useState:function(e,t){var n=e.format,r=void 0===n?t.getDefaultFormat():n,o=e.inputValue,a=e.onChange,c=e.value,u=Object(s.b)(),l=Ct(c,r,u,null===c,e),f=Object(i.useState)(l),d=Object(V.a)(f,2),h=d[0],p=d[1],g=o?function(e,t,n){try{return t.parse(e,n)}catch(r){return null}}(o,u,r):c;Object(i.useEffect)((function(){(null===c||u.isValid(c))&&p(l)}),[l,p,u,c]);var y=Dt(It({},e,{value:g,onChange:Object(i.useCallback)((function(e){a(e,null===e?null:u.format(e,r))}),[r,a,u])}),t),m=y.inputProps,b=y.wrapperProps,v=y.pickerProps,x=Object(i.useMemo)((function(){return It({},m,{format:b.format,inputValue:o||h,onChange:function(e){p(e||\"\");var t=null===e?null:u.parse(e,b.format);a(t,e)}})}),[m,h,o,a,u,b.format]);return{inputProps:x,wrapperProps:b,pickerProps:v}},DefaultToolbarComponent:$t,getCustomProps:function(e){return{refuse:e.ampm?/[^\\dap]+/gi:/[^\\d]+/gi}}});Zt.defaultProps=Xt,Jt.defaultProps=Xt},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return bn}));var r=n(7),i=n(3),o=n(0),a=n.n(o),s=\"function\"===typeof Symbol&&\"symbol\"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},c=\"object\"===(\"undefined\"===typeof window?\"undefined\":s(window))&&\"object\"===(\"undefined\"===typeof document?\"undefined\":s(document))&&9===document.nodeType;var u=n(59),l=n(47),f=n(82),d=n(51),h={}.constructor;function p(e){if(null==e||\"object\"!==typeof e)return e;if(Array.isArray(e))return e.map(p);if(e.constructor!==h)return e;var t={};for(var n in e)t[n]=p(e[n]);return t}function g(e,t,n){void 0===e&&(e=\"unnamed\");var r=n.jss,i=p(t),o=r.plugins.onCreateRule(e,i,n);return o||(e[0],null)}var y=function(e,t){for(var n=\"\",r=0;r<e.length&&\"!important\"!==e[r];r++)n&&(n+=t),n+=e[r];return n},m=function(e,t){if(void 0===t&&(t=!1),!Array.isArray(e))return e;var n=\"\";if(Array.isArray(e[0]))for(var r=0;r<e.length&&\"!important\"!==e[r];r++)n&&(n+=\", \"),n+=y(e[r],\" \");else n=y(e,\", \");return t||\"!important\"!==e[e.length-1]||(n+=\" !important\"),n};function b(e,t){for(var n=\"\",r=0;r<t;r++)n+=\"  \";return n+e}function v(e,t,n){void 0===n&&(n={});var r=\"\";if(!t)return r;var i=n.indent,o=void 0===i?0:i,a=t.fallbacks;if(e&&o++,a)if(Array.isArray(a))for(var s=0;s<a.length;s++){var c=a[s];for(var u in c){var l=c[u];null!=l&&(r&&(r+=\"\\n\"),r+=\"\"+b(u+\": \"+m(l)+\";\",o))}}else for(var f in a){var d=a[f];null!=d&&(r&&(r+=\"\\n\"),r+=\"\"+b(f+\": \"+m(d)+\";\",o))}for(var h in t){var p=t[h];null!=p&&\"fallbacks\"!==h&&(r&&(r+=\"\\n\"),r+=\"\"+b(h+\": \"+m(p)+\";\",o))}return(r||n.allowEmpty)&&e?(r&&(r=\"\\n\"+r+\"\\n\"),b(e+\" {\"+r,--o)+b(\"}\",o)):r}var x=/([[\\].#*$><+~=|^:(),\"'`\\s])/g,w=\"undefined\"!==typeof CSS&&CSS.escape,_=function(e){return w?w(e):e.replace(x,\"\\\\$1\")},k=function(){function e(e,t,n){this.type=\"style\",this.key=void 0,this.isProcessed=!1,this.style=void 0,this.renderer=void 0,this.renderable=void 0,this.options=void 0;var r=n.sheet,i=n.Renderer;this.key=e,this.options=n,this.style=t,r?this.renderer=r.renderer:i&&(this.renderer=new i)}return e.prototype.prop=function(e,t,n){if(void 0===t)return this.style[e];var r=!!n&&n.force;if(!r&&this.style[e]===t)return this;var i=t;n&&!1===n.process||(i=this.options.jss.plugins.onChangeValue(t,e,this));var o=null==i||!1===i,a=e in this.style;if(o&&!a&&!r)return this;var s=o&&a;if(s?delete this.style[e]:this.style[e]=i,this.renderable&&this.renderer)return s?this.renderer.removeProperty(this.renderable,e):this.renderer.setProperty(this.renderable,e,i),this;var c=this.options.sheet;return c&&c.attached,this},e}(),O=function(e){function t(t,n,r){var i;(i=e.call(this,t,n,r)||this).selectorText=void 0,i.id=void 0,i.renderable=void 0;var o=r.selector,a=r.scoped,s=r.sheet,c=r.generateId;return o?i.selectorText=o:!1!==a&&(i.id=c(Object(f.a)(Object(f.a)(i)),s),i.selectorText=\".\"+_(i.id)),i}Object(l.a)(t,e);var n=t.prototype;return n.applyTo=function(e){var t=this.renderer;if(t){var n=this.toJSON();for(var r in n)t.setProperty(e,r,n[r])}return this},n.toJSON=function(){var e={};for(var t in this.style){var n=this.style[t];\"object\"!==typeof n?e[t]=n:Array.isArray(n)&&(e[t]=m(n))}return e},n.toString=function(e){var t=this.options.sheet,n=!!t&&t.options.link?Object(i.a)({},e,{allowEmpty:!0}):e;return v(this.selectorText,this.style,n)},Object(u.a)(t,[{key:\"selector\",set:function(e){if(e!==this.selectorText){this.selectorText=e;var t=this.renderer,n=this.renderable;if(n&&t)t.setSelector(n,e)||t.replaceRule(n,this)}},get:function(){return this.selectorText}}]),t}(k),E={onCreateRule:function(e,t,n){return\"@\"===e[0]||n.parent&&\"keyframes\"===n.parent.type?null:new O(e,t,n)}},S={indent:1,children:!0},C=/@([\\w-]+)/,T=function(){function e(e,t,n){this.type=\"conditional\",this.at=void 0,this.key=void 0,this.query=void 0,this.rules=void 0,this.options=void 0,this.isProcessed=!1,this.renderable=void 0,this.key=e;var r=e.match(C);for(var o in this.at=r?r[1]:\"unknown\",this.query=n.name||\"@\"+this.at,this.options=n,this.rules=new Z(Object(i.a)({},n,{parent:this})),t)this.rules.add(o,t[o]);this.rules.process()}var t=e.prototype;return t.getRule=function(e){return this.rules.get(e)},t.indexOf=function(e){return this.rules.indexOf(e)},t.addRule=function(e,t,n){var r=this.rules.add(e,t,n);return r?(this.options.jss.plugins.onProcessRule(r),r):null},t.toString=function(e){if(void 0===e&&(e=S),null==e.indent&&(e.indent=S.indent),null==e.children&&(e.children=S.children),!1===e.children)return this.query+\" {}\";var t=this.rules.toString(e);return t?this.query+\" {\\n\"+t+\"\\n}\":\"\"},e}(),j=/@media|@supports\\s+/,A={onCreateRule:function(e,t,n){return j.test(e)?new T(e,t,n):null}},M={indent:1,children:!0},P=/@keyframes\\s+([\\w-]+)/,N=function(){function e(e,t,n){this.type=\"keyframes\",this.at=\"@keyframes\",this.key=void 0,this.name=void 0,this.id=void 0,this.rules=void 0,this.options=void 0,this.isProcessed=!1,this.renderable=void 0;var r=e.match(P);r&&r[1]?this.name=r[1]:this.name=\"noname\",this.key=this.type+\"-\"+this.name,this.options=n;var o=n.scoped,a=n.sheet,s=n.generateId;for(var c in this.id=!1===o?this.name:_(s(this,a)),this.rules=new Z(Object(i.a)({},n,{parent:this})),t)this.rules.add(c,t[c],Object(i.a)({},n,{parent:this}));this.rules.process()}return e.prototype.toString=function(e){if(void 0===e&&(e=M),null==e.indent&&(e.indent=M.indent),null==e.children&&(e.children=M.children),!1===e.children)return this.at+\" \"+this.id+\" {}\";var t=this.rules.toString(e);return t&&(t=\"\\n\"+t+\"\\n\"),this.at+\" \"+this.id+\" {\"+t+\"}\"},e}(),D=/@keyframes\\s+/,R=/\\$([\\w-]+)/g,I=function(e,t){return\"string\"===typeof e?e.replace(R,(function(e,n){return n in t?t[n]:e})):e},L=function(e,t,n){var r=e[t],i=I(r,n);i!==r&&(e[t]=i)},B={onCreateRule:function(e,t,n){return\"string\"===typeof e&&D.test(e)?new N(e,t,n):null},onProcessStyle:function(e,t,n){return\"style\"===t.type&&n?(\"animation-name\"in e&&L(e,\"animation-name\",n.keyframes),\"animation\"in e&&L(e,\"animation\",n.keyframes),e):e},onChangeValue:function(e,t,n){var r=n.options.sheet;if(!r)return e;switch(t){case\"animation\":case\"animation-name\":return I(e,r.keyframes);default:return e}}},F=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(t=e.call.apply(e,[this].concat(r))||this).renderable=void 0,t}return Object(l.a)(t,e),t.prototype.toString=function(e){var t=this.options.sheet,n=!!t&&t.options.link?Object(i.a)({},e,{allowEmpty:!0}):e;return v(this.key,this.style,n)},t}(k),z={onCreateRule:function(e,t,n){return n.parent&&\"keyframes\"===n.parent.type?new F(e,t,n):null}},U=function(){function e(e,t,n){this.type=\"font-face\",this.at=\"@font-face\",this.key=void 0,this.style=void 0,this.options=void 0,this.isProcessed=!1,this.renderable=void 0,this.key=e,this.style=t,this.options=n}return e.prototype.toString=function(e){if(Array.isArray(this.style)){for(var t=\"\",n=0;n<this.style.length;n++)t+=v(this.at,this.style[n]),this.style[n+1]&&(t+=\"\\n\");return t}return v(this.at,this.style,e)},e}(),H=/@font-face/,W={onCreateRule:function(e,t,n){return H.test(e)?new U(e,t,n):null}},Y=function(){function e(e,t,n){this.type=\"viewport\",this.at=\"@viewport\",this.key=void 0,this.style=void 0,this.options=void 0,this.isProcessed=!1,this.renderable=void 0,this.key=e,this.style=t,this.options=n}return e.prototype.toString=function(e){return v(this.key,this.style,e)},e}(),V={onCreateRule:function(e,t,n){return\"@viewport\"===e||\"@-ms-viewport\"===e?new Y(e,t,n):null}},q=function(){function e(e,t,n){this.type=\"simple\",this.key=void 0,this.value=void 0,this.options=void 0,this.isProcessed=!1,this.renderable=void 0,this.key=e,this.value=t,this.options=n}return e.prototype.toString=function(e){if(Array.isArray(this.value)){for(var t=\"\",n=0;n<this.value.length;n++)t+=this.key+\" \"+this.value[n]+\";\",this.value[n+1]&&(t+=\"\\n\");return t}return this.key+\" \"+this.value+\";\"},e}(),$={\"@charset\":!0,\"@import\":!0,\"@namespace\":!0},G=[E,A,B,z,W,V,{onCreateRule:function(e,t,n){return e in $?new q(e,t,n):null}}],X={process:!0},K={force:!0,process:!0},Z=function(){function e(e){this.map={},this.raw={},this.index=[],this.counter=0,this.options=void 0,this.classes=void 0,this.keyframes=void 0,this.options=e,this.classes=e.classes,this.keyframes=e.keyframes}var t=e.prototype;return t.add=function(e,t,n){var r=this.options,o=r.parent,a=r.sheet,s=r.jss,c=r.Renderer,u=r.generateId,l=r.scoped,f=Object(i.a)({classes:this.classes,parent:o,sheet:a,jss:s,Renderer:c,generateId:u,scoped:l,name:e,keyframes:this.keyframes,selector:void 0},n),d=e;e in this.raw&&(d=e+\"-d\"+this.counter++),this.raw[d]=t,d in this.classes&&(f.selector=\".\"+_(this.classes[d]));var h=g(d,t,f);if(!h)return null;this.register(h);var p=void 0===f.index?this.index.length:f.index;return this.index.splice(p,0,h),h},t.get=function(e){return this.map[e]},t.remove=function(e){this.unregister(e),delete this.raw[e.key],this.index.splice(this.index.indexOf(e),1)},t.indexOf=function(e){return this.index.indexOf(e)},t.process=function(){var e=this.options.jss.plugins;this.index.slice(0).forEach(e.onProcessRule,e)},t.register=function(e){this.map[e.key]=e,e instanceof O?(this.map[e.selector]=e,e.id&&(this.classes[e.key]=e.id)):e instanceof N&&this.keyframes&&(this.keyframes[e.name]=e.id)},t.unregister=function(e){delete this.map[e.key],e instanceof O?(delete this.map[e.selector],delete this.classes[e.key]):e instanceof N&&delete this.keyframes[e.name]},t.update=function(){var e,t,n;if(\"string\"===typeof(arguments.length<=0?void 0:arguments[0])?(e=arguments.length<=0?void 0:arguments[0],t=arguments.length<=1?void 0:arguments[1],n=arguments.length<=2?void 0:arguments[2]):(t=arguments.length<=0?void 0:arguments[0],n=arguments.length<=1?void 0:arguments[1],e=null),e)this.updateOne(this.map[e],t,n);else for(var r=0;r<this.index.length;r++)this.updateOne(this.index[r],t,n)},t.updateOne=function(t,n,r){void 0===r&&(r=X);var i=this.options,o=i.jss.plugins,a=i.sheet;if(t.rules instanceof e)t.rules.update(n,r);else{var s=t,c=s.style;if(o.onUpdate(n,t,a,r),r.process&&c&&c!==s.style){for(var u in o.onProcessStyle(s.style,s,a),s.style){var l=s.style[u];l!==c[u]&&s.prop(u,l,K)}for(var f in c){var d=s.style[f],h=c[f];null==d&&d!==h&&s.prop(f,null,K)}}}},t.toString=function(e){for(var t=\"\",n=this.options.sheet,r=!!n&&n.options.link,i=0;i<this.index.length;i++){var o=this.index[i].toString(e);(o||r)&&(t&&(t+=\"\\n\"),t+=o)}return t},e}(),J=function(){function e(e,t){for(var n in this.options=void 0,this.deployed=void 0,this.attached=void 0,this.rules=void 0,this.renderer=void 0,this.classes=void 0,this.keyframes=void 0,this.queue=void 0,this.attached=!1,this.deployed=!1,this.classes={},this.keyframes={},this.options=Object(i.a)({},t,{sheet:this,parent:this,classes:this.classes,keyframes:this.keyframes}),t.Renderer&&(this.renderer=new t.Renderer(this)),this.rules=new Z(this.options),e)this.rules.add(n,e[n]);this.rules.process()}var t=e.prototype;return t.attach=function(){return this.attached||(this.renderer&&this.renderer.attach(),this.attached=!0,this.deployed||this.deploy()),this},t.detach=function(){return this.attached?(this.renderer&&this.renderer.detach(),this.attached=!1,this):this},t.addRule=function(e,t,n){var r=this.queue;this.attached&&!r&&(this.queue=[]);var i=this.rules.add(e,t,n);return i?(this.options.jss.plugins.onProcessRule(i),this.attached?this.deployed?(r?r.push(i):(this.insertRule(i),this.queue&&(this.queue.forEach(this.insertRule,this),this.queue=void 0)),i):i:(this.deployed=!1,i)):null},t.insertRule=function(e){this.renderer&&this.renderer.insertRule(e)},t.addRules=function(e,t){var n=[];for(var r in e){var i=this.addRule(r,e[r],t);i&&n.push(i)}return n},t.getRule=function(e){return this.rules.get(e)},t.deleteRule=function(e){var t=\"object\"===typeof e?e:this.rules.get(e);return!(!t||this.attached&&!t.renderable)&&(this.rules.remove(t),!(this.attached&&t.renderable&&this.renderer)||this.renderer.deleteRule(t.renderable))},t.indexOf=function(e){return this.rules.indexOf(e)},t.deploy=function(){return this.renderer&&this.renderer.deploy(),this.deployed=!0,this},t.update=function(){var e;return(e=this.rules).update.apply(e,arguments),this},t.updateOne=function(e,t,n){return this.rules.updateOne(e,t,n),this},t.toString=function(e){return this.rules.toString(e)},e}(),Q=function(){function e(){this.plugins={internal:[],external:[]},this.registry=void 0}var t=e.prototype;return t.onCreateRule=function(e,t,n){for(var r=0;r<this.registry.onCreateRule.length;r++){var i=this.registry.onCreateRule[r](e,t,n);if(i)return i}return null},t.onProcessRule=function(e){if(!e.isProcessed){for(var t=e.options.sheet,n=0;n<this.registry.onProcessRule.length;n++)this.registry.onProcessRule[n](e,t);e.style&&this.onProcessStyle(e.style,e,t),e.isProcessed=!0}},t.onProcessStyle=function(e,t,n){for(var r=0;r<this.registry.onProcessStyle.length;r++)t.style=this.registry.onProcessStyle[r](t.style,t,n)},t.onProcessSheet=function(e){for(var t=0;t<this.registry.onProcessSheet.length;t++)this.registry.onProcessSheet[t](e)},t.onUpdate=function(e,t,n,r){for(var i=0;i<this.registry.onUpdate.length;i++)this.registry.onUpdate[i](e,t,n,r)},t.onChangeValue=function(e,t,n){for(var r=e,i=0;i<this.registry.onChangeValue.length;i++)r=this.registry.onChangeValue[i](r,t,n);return r},t.use=function(e,t){void 0===t&&(t={queue:\"external\"});var n=this.plugins[t.queue];-1===n.indexOf(e)&&(n.push(e),this.registry=[].concat(this.plugins.external,this.plugins.internal).reduce((function(e,t){for(var n in t)n in e&&e[n].push(t[n]);return e}),{onCreateRule:[],onProcessRule:[],onProcessStyle:[],onProcessSheet:[],onChangeValue:[],onUpdate:[]}))},e}(),ee=function(){function e(){this.registry=[]}var t=e.prototype;return t.add=function(e){var t=this.registry,n=e.options.index;if(-1===t.indexOf(e))if(0===t.length||n>=this.index)t.push(e);else for(var r=0;r<t.length;r++)if(t[r].options.index>n)return void t.splice(r,0,e)},t.reset=function(){this.registry=[]},t.remove=function(e){var t=this.registry.indexOf(e);this.registry.splice(t,1)},t.toString=function(e){for(var t=void 0===e?{}:e,n=t.attached,r=Object(d.a)(t,[\"attached\"]),i=\"\",o=0;o<this.registry.length;o++){var a=this.registry[o];null!=n&&a.attached!==n||(i&&(i+=\"\\n\"),i+=a.toString(r))}return i},Object(u.a)(e,[{key:\"index\",get:function(){return 0===this.registry.length?0:this.registry[this.registry.length-1].options.index}}]),e}(),te=new ee,ne=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")(),re=\"2f1acc6c3a606b082e5eef5e54414ffb\";null==ne[re]&&(ne[re]=0);var ie=ne[re]++,oe=function(e){void 0===e&&(e={});var t=0;return function(n,r){t+=1;var i=\"\",o=\"\";return r&&(r.options.classNamePrefix&&(o=r.options.classNamePrefix),null!=r.options.jss.id&&(i=String(r.options.jss.id))),e.minify?\"\"+(o||\"c\")+ie+i+t:o+n.key+\"-\"+ie+(i?\"-\"+i:\"\")+\"-\"+t}},ae=function(e){var t;return function(){return t||(t=e()),t}},se=function(e,t){try{return e.attributeStyleMap?e.attributeStyleMap.get(t):e.style.getPropertyValue(t)}catch(n){return\"\"}},ce=function(e,t,n){try{var r=n;if(Array.isArray(n)&&(r=m(n,!0),\"!important\"===n[n.length-1]))return e.style.setProperty(t,r,\"important\"),!0;e.attributeStyleMap?e.attributeStyleMap.set(t,r):e.style.setProperty(t,r)}catch(i){return!1}return!0},ue=function(e,t){try{e.attributeStyleMap?e.attributeStyleMap.delete(t):e.style.removeProperty(t)}catch(n){}},le=function(e,t){return e.selectorText=t,e.selectorText===t},fe=ae((function(){return document.querySelector(\"head\")}));function de(e){var t=te.registry;if(t.length>0){var n=function(e,t){for(var n=0;n<e.length;n++){var r=e[n];if(r.attached&&r.options.index>t.index&&r.options.insertionPoint===t.insertionPoint)return r}return null}(t,e);if(n&&n.renderer)return{parent:n.renderer.element.parentNode,node:n.renderer.element};if(n=function(e,t){for(var n=e.length-1;n>=0;n--){var r=e[n];if(r.attached&&r.options.insertionPoint===t.insertionPoint)return r}return null}(t,e),n&&n.renderer)return{parent:n.renderer.element.parentNode,node:n.renderer.element.nextSibling}}var r=e.insertionPoint;if(r&&\"string\"===typeof r){var i=function(e){for(var t=fe(),n=0;n<t.childNodes.length;n++){var r=t.childNodes[n];if(8===r.nodeType&&r.nodeValue.trim()===e)return r}return null}(r);if(i)return{parent:i.parentNode,node:i.nextSibling}}return!1}var he=ae((function(){var e=document.querySelector('meta[property=\"csp-nonce\"]');return e?e.getAttribute(\"content\"):null})),pe=function(e,t,n){try{if(\"insertRule\"in e)e.insertRule(t,n);else if(\"appendRule\"in e){e.appendRule(t)}}catch(r){return!1}return e.cssRules[n]},ge=function(e,t){var n=e.cssRules.length;return void 0===t||t>n?n:t},ye=function(){function e(e){this.getPropertyValue=se,this.setProperty=ce,this.removeProperty=ue,this.setSelector=le,this.element=void 0,this.sheet=void 0,this.hasInsertedRules=!1,this.cssRules=[],e&&te.add(e),this.sheet=e;var t=this.sheet?this.sheet.options:{},n=t.media,r=t.meta,i=t.element;this.element=i||function(){var e=document.createElement(\"style\");return e.textContent=\"\\n\",e}(),this.element.setAttribute(\"data-jss\",\"\"),n&&this.element.setAttribute(\"media\",n),r&&this.element.setAttribute(\"data-meta\",r);var o=he();o&&this.element.setAttribute(\"nonce\",o)}var t=e.prototype;return t.attach=function(){if(!this.element.parentNode&&this.sheet){!function(e,t){var n=t.insertionPoint,r=de(t);if(!1!==r&&r.parent)r.parent.insertBefore(e,r.node);else if(n&&\"number\"===typeof n.nodeType){var i=n,o=i.parentNode;o&&o.insertBefore(e,i.nextSibling)}else fe().appendChild(e)}(this.element,this.sheet.options);var e=Boolean(this.sheet&&this.sheet.deployed);this.hasInsertedRules&&e&&(this.hasInsertedRules=!1,this.deploy())}},t.detach=function(){if(this.sheet){var e=this.element.parentNode;e&&e.removeChild(this.element),this.sheet.options.link&&(this.cssRules=[],this.element.textContent=\"\\n\")}},t.deploy=function(){var e=this.sheet;e&&(e.options.link?this.insertRules(e.rules):this.element.textContent=\"\\n\"+e.toString()+\"\\n\")},t.insertRules=function(e,t){for(var n=0;n<e.index.length;n++)this.insertRule(e.index[n],n,t)},t.insertRule=function(e,t,n){if(void 0===n&&(n=this.element.sheet),e.rules){var r=e,i=n;if(\"conditional\"===e.type||\"keyframes\"===e.type){var o=ge(n,t);if(!1===(i=pe(n,r.toString({children:!1}),o)))return!1;this.refCssRule(e,o,i)}return this.insertRules(r.rules,i),i}var a=e.toString();if(!a)return!1;var s=ge(n,t),c=pe(n,a,s);return!1!==c&&(this.hasInsertedRules=!0,this.refCssRule(e,s,c),c)},t.refCssRule=function(e,t,n){e.renderable=n,e.options.parent instanceof J&&(this.cssRules[t]=n)},t.deleteRule=function(e){var t=this.element.sheet,n=this.indexOf(e);return-1!==n&&(t.deleteRule(n),this.cssRules.splice(n,1),!0)},t.indexOf=function(e){return this.cssRules.indexOf(e)},t.replaceRule=function(e,t){var n=this.indexOf(e);return-1!==n&&(this.element.sheet.deleteRule(n),this.cssRules.splice(n,1),this.insertRule(t,n))},t.getRules=function(){return this.element.sheet.cssRules},e}(),me=0,be=function(){function e(e){this.id=me++,this.version=\"10.5.0\",this.plugins=new Q,this.options={id:{minify:!1},createGenerateId:oe,Renderer:c?ye:null,plugins:[]},this.generateId=oe({minify:!1});for(var t=0;t<G.length;t++)this.plugins.use(G[t],{queue:\"internal\"});this.setup(e)}var t=e.prototype;return t.setup=function(e){return void 0===e&&(e={}),e.createGenerateId&&(this.options.createGenerateId=e.createGenerateId),e.id&&(this.options.id=Object(i.a)({},this.options.id,e.id)),(e.createGenerateId||e.id)&&(this.generateId=this.options.createGenerateId(this.options.id)),null!=e.insertionPoint&&(this.options.insertionPoint=e.insertionPoint),\"Renderer\"in e&&(this.options.Renderer=e.Renderer),e.plugins&&this.use.apply(this,e.plugins),this},t.createStyleSheet=function(e,t){void 0===t&&(t={});var n=t.index;\"number\"!==typeof n&&(n=0===te.index?0:te.index+1);var r=new J(e,Object(i.a)({},t,{jss:this,generateId:t.generateId||this.generateId,insertionPoint:this.options.insertionPoint,Renderer:this.options.Renderer,index:n}));return this.plugins.onProcessSheet(r),r},t.removeStyleSheet=function(e){return e.detach(),te.remove(e),this},t.createRule=function(e,t,n){if(void 0===t&&(t={}),void 0===n&&(n={}),\"object\"===typeof e)return this.createRule(void 0,e,t);var r=Object(i.a)({},n,{name:e,jss:this,Renderer:this.options.Renderer});r.generateId||(r.generateId=this.generateId),r.classes||(r.classes={}),r.keyframes||(r.keyframes={});var o=g(e,t,r);return o&&this.plugins.onProcessRule(o),o},t.use=function(){for(var e=this,t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return n.forEach((function(t){e.plugins.use(t)})),this},e}();function ve(e){var t=null;for(var n in e){var r=e[n],i=typeof r;if(\"function\"===i)t||(t={}),t[n]=r;else if(\"object\"===i&&null!==r&&!Array.isArray(r)){var o=ve(r);o&&(t||(t={}),t[n]=o)}}return t}var xe=\"object\"===typeof CSS&&null!=CSS&&\"number\"in CSS,we=function(e){return new be(e)},_e=(we(),n(746)),ke={set:function(e,t,n,r){var i=e.get(t);i||(i=new Map,e.set(t,i)),i.set(n,r)},get:function(e,t,n){var r=e.get(t);return r?r.get(n):void 0},delete:function(e,t,n){e.get(t).delete(n)}},Oe=ke,Ee=n(266),Se=(n(1),n(211)),Ce=[\"checked\",\"disabled\",\"error\",\"focused\",\"focusVisible\",\"required\",\"expanded\",\"selected\"];var Te=Date.now(),je=\"fnValues\"+Te,Ae=\"fnStyle\"+ ++Te,Me=function(){return{onCreateRule:function(e,t,n){if(\"function\"!==typeof t)return null;var r=g(e,{},n);return r[Ae]=t,r},onProcessStyle:function(e,t){if(je in t||Ae in t)return e;var n={};for(var r in e){var i=e[r];\"function\"===typeof i&&(delete e[r],n[r]=i)}return t[je]=n,e},onUpdate:function(e,t,n,r){var i=t,o=i[Ae];o&&(i.style=o(e)||{});var a=i[je];if(a)for(var s in a)i.prop(s,a[s](e),r)}}},Pe=\"@global\",Ne=\"@global \",De=function(){function e(e,t,n){for(var r in this.type=\"global\",this.at=Pe,this.rules=void 0,this.options=void 0,this.key=void 0,this.isProcessed=!1,this.key=e,this.options=n,this.rules=new Z(Object(i.a)({},n,{parent:this})),t)this.rules.add(r,t[r]);this.rules.process()}var t=e.prototype;return t.getRule=function(e){return this.rules.get(e)},t.addRule=function(e,t,n){var r=this.rules.add(e,t,n);return r&&this.options.jss.plugins.onProcessRule(r),r},t.indexOf=function(e){return this.rules.indexOf(e)},t.toString=function(){return this.rules.toString()},e}(),Re=function(){function e(e,t,n){this.type=\"global\",this.at=Pe,this.options=void 0,this.rule=void 0,this.isProcessed=!1,this.key=void 0,this.key=e,this.options=n;var r=e.substr(Ne.length);this.rule=n.jss.createRule(r,t,Object(i.a)({},n,{parent:this}))}return e.prototype.toString=function(e){return this.rule?this.rule.toString(e):\"\"},e}(),Ie=/\\s*,\\s*/g;function Le(e,t){for(var n=e.split(Ie),r=\"\",i=0;i<n.length;i++)r+=t+\" \"+n[i].trim(),n[i+1]&&(r+=\", \");return r}var Be=function(){return{onCreateRule:function(e,t,n){if(!e)return null;if(e===Pe)return new De(e,t,n);if(\"@\"===e[0]&&e.substr(0,Ne.length)===Ne)return new Re(e,t,n);var r=n.parent;return r&&(\"global\"===r.type||r.options.parent&&\"global\"===r.options.parent.type)&&(n.scoped=!1),!1===n.scoped&&(n.selector=e),null},onProcessRule:function(e,t){\"style\"===e.type&&t&&(function(e,t){var n=e.options,r=e.style,o=r?r[Pe]:null;if(o){for(var a in o)t.addRule(a,o[a],Object(i.a)({},n,{selector:Le(a,e.selector)}));delete r[Pe]}}(e,t),function(e,t){var n=e.options,r=e.style;for(var o in r)if(\"@\"===o[0]&&o.substr(0,Pe.length)===Pe){var a=Le(o.substr(Pe.length),e.selector);t.addRule(a,r[o],Object(i.a)({},n,{selector:a})),delete r[o]}}(e,t))}}},Fe=/\\s*,\\s*/g,ze=/&/g,Ue=/\\$([\\w-]+)/g;var He=function(){function e(e,t){return function(n,r){var i=e.getRule(r)||t&&t.getRule(r);return i?(i=i).selector:r}}function t(e,t){for(var n=t.split(Fe),r=e.split(Fe),i=\"\",o=0;o<n.length;o++)for(var a=n[o],s=0;s<r.length;s++){var c=r[s];i&&(i+=\", \"),i+=-1!==c.indexOf(\"&\")?c.replace(ze,a):a+\" \"+c}return i}function n(e,t,n){if(n)return Object(i.a)({},n,{index:n.index+1});var r=e.options.nestingLevel;r=void 0===r?1:r+1;var o=Object(i.a)({},e.options,{nestingLevel:r,index:t.indexOf(e)+1});return delete o.name,o}return{onProcessStyle:function(r,o,a){if(\"style\"!==o.type)return r;var s,c,u=o,l=u.options.parent;for(var f in r){var d=-1!==f.indexOf(\"&\"),h=\"@\"===f[0];if(d||h){if(s=n(u,l,s),d){var p=t(f,u.selector);c||(c=e(l,a)),p=p.replace(Ue,c),l.addRule(p,r[f],Object(i.a)({},s,{selector:p}))}else h&&l.addRule(f,{},s).addRule(u.key,r[f],{selector:u.selector});delete r[f]}}return r}}},We=/[A-Z]/g,Ye=/^ms-/,Ve={};function qe(e){return\"-\"+e.toLowerCase()}var $e=function(e){if(Ve.hasOwnProperty(e))return Ve[e];var t=e.replace(We,qe);return Ve[e]=Ye.test(t)?\"-\"+t:t};function Ge(e){var t={};for(var n in e){t[0===n.indexOf(\"--\")?n:$e(n)]=e[n]}return e.fallbacks&&(Array.isArray(e.fallbacks)?t.fallbacks=e.fallbacks.map(Ge):t.fallbacks=Ge(e.fallbacks)),t}var Xe=function(){return{onProcessStyle:function(e){if(Array.isArray(e)){for(var t=0;t<e.length;t++)e[t]=Ge(e[t]);return e}return Ge(e)},onChangeValue:function(e,t,n){if(0===t.indexOf(\"--\"))return e;var r=$e(t);return t===r?e:(n.prop(r,e),null)}}},Ke=xe&&CSS?CSS.px:\"px\",Ze=xe&&CSS?CSS.ms:\"ms\",Je=xe&&CSS?CSS.percent:\"%\";function Qe(e){var t=/(-[a-z])/g,n=function(e){return e[1].toUpperCase()},r={};for(var i in e)r[i]=e[i],r[i.replace(t,n)]=e[i];return r}var et=Qe({\"animation-delay\":Ze,\"animation-duration\":Ze,\"background-position\":Ke,\"background-position-x\":Ke,\"background-position-y\":Ke,\"background-size\":Ke,border:Ke,\"border-bottom\":Ke,\"border-bottom-left-radius\":Ke,\"border-bottom-right-radius\":Ke,\"border-bottom-width\":Ke,\"border-left\":Ke,\"border-left-width\":Ke,\"border-radius\":Ke,\"border-right\":Ke,\"border-right-width\":Ke,\"border-top\":Ke,\"border-top-left-radius\":Ke,\"border-top-right-radius\":Ke,\"border-top-width\":Ke,\"border-width\":Ke,\"border-block\":Ke,\"border-block-end\":Ke,\"border-block-end-width\":Ke,\"border-block-start\":Ke,\"border-block-start-width\":Ke,\"border-block-width\":Ke,\"border-inline\":Ke,\"border-inline-end\":Ke,\"border-inline-end-width\":Ke,\"border-inline-start\":Ke,\"border-inline-start-width\":Ke,\"border-inline-width\":Ke,\"border-start-start-radius\":Ke,\"border-start-end-radius\":Ke,\"border-end-start-radius\":Ke,\"border-end-end-radius\":Ke,margin:Ke,\"margin-bottom\":Ke,\"margin-left\":Ke,\"margin-right\":Ke,\"margin-top\":Ke,\"margin-block\":Ke,\"margin-block-end\":Ke,\"margin-block-start\":Ke,\"margin-inline\":Ke,\"margin-inline-end\":Ke,\"margin-inline-start\":Ke,padding:Ke,\"padding-bottom\":Ke,\"padding-left\":Ke,\"padding-right\":Ke,\"padding-top\":Ke,\"padding-block\":Ke,\"padding-block-end\":Ke,\"padding-block-start\":Ke,\"padding-inline\":Ke,\"padding-inline-end\":Ke,\"padding-inline-start\":Ke,\"mask-position-x\":Ke,\"mask-position-y\":Ke,\"mask-size\":Ke,height:Ke,width:Ke,\"min-height\":Ke,\"max-height\":Ke,\"min-width\":Ke,\"max-width\":Ke,bottom:Ke,left:Ke,top:Ke,right:Ke,inset:Ke,\"inset-block\":Ke,\"inset-block-end\":Ke,\"inset-block-start\":Ke,\"inset-inline\":Ke,\"inset-inline-end\":Ke,\"inset-inline-start\":Ke,\"box-shadow\":Ke,\"text-shadow\":Ke,\"column-gap\":Ke,\"column-rule\":Ke,\"column-rule-width\":Ke,\"column-width\":Ke,\"font-size\":Ke,\"font-size-delta\":Ke,\"letter-spacing\":Ke,\"text-indent\":Ke,\"text-stroke\":Ke,\"text-stroke-width\":Ke,\"word-spacing\":Ke,motion:Ke,\"motion-offset\":Ke,outline:Ke,\"outline-offset\":Ke,\"outline-width\":Ke,perspective:Ke,\"perspective-origin-x\":Je,\"perspective-origin-y\":Je,\"transform-origin\":Je,\"transform-origin-x\":Je,\"transform-origin-y\":Je,\"transform-origin-z\":Je,\"transition-delay\":Ze,\"transition-duration\":Ze,\"vertical-align\":Ke,\"flex-basis\":Ke,\"shape-margin\":Ke,size:Ke,gap:Ke,grid:Ke,\"grid-gap\":Ke,\"grid-row-gap\":Ke,\"grid-column-gap\":Ke,\"grid-template-rows\":Ke,\"grid-template-columns\":Ke,\"grid-auto-rows\":Ke,\"grid-auto-columns\":Ke,\"box-shadow-x\":Ke,\"box-shadow-y\":Ke,\"box-shadow-blur\":Ke,\"box-shadow-spread\":Ke,\"font-line-height\":Ke,\"text-shadow-x\":Ke,\"text-shadow-y\":Ke,\"text-shadow-blur\":Ke});function tt(e,t,n){if(null==t)return t;if(Array.isArray(t))for(var r=0;r<t.length;r++)t[r]=tt(e,t[r],n);else if(\"object\"===typeof t)if(\"fallbacks\"===e)for(var i in t)t[i]=tt(i,t[i],n);else for(var o in t)t[o]=tt(e+\"-\"+o,t[o],n);else if(\"number\"===typeof t){var a=n[e]||et[e];return!a||0===t&&a===Ke?t.toString():\"function\"===typeof a?a(t).toString():\"\"+t+a}return t}var nt=function(e){void 0===e&&(e={});var t=Qe(e);return{onProcessStyle:function(e,n){if(\"style\"!==n.type)return e;for(var r in e)e[r]=tt(r,e[r],t);return e},onChangeValue:function(e,n){return tt(n,e,t)}}},rt=n(61),it=\"\",ot=\"\",at=\"\",st=\"\",ct=c&&\"ontouchstart\"in document.documentElement;if(c){var ut={Moz:\"-moz-\",ms:\"-ms-\",O:\"-o-\",Webkit:\"-webkit-\"},lt=document.createElement(\"p\").style;for(var ft in ut)if(ft+\"Transform\"in lt){it=ft,ot=ut[ft];break}\"Webkit\"===it&&\"msHyphens\"in lt&&(it=\"ms\",ot=ut.ms,st=\"edge\"),\"Webkit\"===it&&\"-apple-trailing-word\"in lt&&(at=\"apple\")}var dt=it,ht=ot,pt=at,gt=st,yt=ct;var mt={noPrefill:[\"appearance\"],supportedProperty:function(e){return\"appearance\"===e&&(\"ms\"===dt?\"-webkit-\"+e:ht+e)}},bt={noPrefill:[\"color-adjust\"],supportedProperty:function(e){return\"color-adjust\"===e&&(\"Webkit\"===dt?ht+\"print-\"+e:e)}},vt=/[-\\s]+(.)?/g;function xt(e,t){return t?t.toUpperCase():\"\"}function wt(e){return e.replace(vt,xt)}function _t(e){return wt(\"-\"+e)}var kt,Ot={noPrefill:[\"mask\"],supportedProperty:function(e,t){if(!/^mask/.test(e))return!1;if(\"Webkit\"===dt){var n=\"mask-image\";if(wt(n)in t)return e;if(dt+_t(n)in t)return ht+e}return e}},Et={noPrefill:[\"text-orientation\"],supportedProperty:function(e){return\"text-orientation\"===e&&(\"apple\"!==pt||yt?e:ht+e)}},St={noPrefill:[\"transform\"],supportedProperty:function(e,t,n){return\"transform\"===e&&(n.transform?e:ht+e)}},Ct={noPrefill:[\"transition\"],supportedProperty:function(e,t,n){return\"transition\"===e&&(n.transition?e:ht+e)}},Tt={noPrefill:[\"writing-mode\"],supportedProperty:function(e){return\"writing-mode\"===e&&(\"Webkit\"===dt||\"ms\"===dt&&\"edge\"!==gt?ht+e:e)}},jt={noPrefill:[\"user-select\"],supportedProperty:function(e){return\"user-select\"===e&&(\"Moz\"===dt||\"ms\"===dt||\"apple\"===pt?ht+e:e)}},At={supportedProperty:function(e,t){return!!/^break-/.test(e)&&(\"Webkit\"===dt?\"WebkitColumn\"+_t(e)in t&&ht+\"column-\"+e:\"Moz\"===dt&&(\"page\"+_t(e)in t&&\"page-\"+e))}},Mt={supportedProperty:function(e,t){if(!/^(border|margin|padding)-inline/.test(e))return!1;if(\"Moz\"===dt)return e;var n=e.replace(\"-inline\",\"\");return dt+_t(n)in t&&ht+n}},Pt={supportedProperty:function(e,t){return wt(e)in t&&e}},Nt={supportedProperty:function(e,t){var n=_t(e);return\"-\"===e[0]||\"-\"===e[0]&&\"-\"===e[1]?e:dt+n in t?ht+e:\"Webkit\"!==dt&&\"Webkit\"+n in t&&\"-webkit-\"+e}},Dt={supportedProperty:function(e){return\"scroll-snap\"===e.substring(0,11)&&(\"ms\"===dt?\"\"+ht+e:e)}},Rt={supportedProperty:function(e){return\"overscroll-behavior\"===e&&(\"ms\"===dt?ht+\"scroll-chaining\":e)}},It={\"flex-grow\":\"flex-positive\",\"flex-shrink\":\"flex-negative\",\"flex-basis\":\"flex-preferred-size\",\"justify-content\":\"flex-pack\",order:\"flex-order\",\"align-items\":\"flex-align\",\"align-content\":\"flex-line-pack\"},Lt={supportedProperty:function(e,t){var n=It[e];return!!n&&(dt+_t(n)in t&&ht+n)}},Bt={flex:\"box-flex\",\"flex-grow\":\"box-flex\",\"flex-direction\":[\"box-orient\",\"box-direction\"],order:\"box-ordinal-group\",\"align-items\":\"box-align\",\"flex-flow\":[\"box-orient\",\"box-direction\"],\"justify-content\":\"box-pack\"},Ft=Object.keys(Bt),zt=function(e){return ht+e},Ut=[mt,bt,Ot,Et,St,Ct,Tt,jt,At,Mt,Pt,Nt,Dt,Rt,Lt,{supportedProperty:function(e,t,n){var r=n.multiple;if(Ft.indexOf(e)>-1){var i=Bt[e];if(!Array.isArray(i))return dt+_t(i)in t&&ht+i;if(!r)return!1;for(var o=0;o<i.length;o++)if(!(dt+_t(i[0])in t))return!1;return i.map(zt)}return!1}}],Ht=Ut.filter((function(e){return e.supportedProperty})).map((function(e){return e.supportedProperty})),Wt=Ut.filter((function(e){return e.noPrefill})).reduce((function(e,t){return e.push.apply(e,Object(rt.a)(t.noPrefill)),e}),[]),Yt={};if(c){kt=document.createElement(\"p\");var Vt=window.getComputedStyle(document.documentElement,\"\");for(var qt in Vt)isNaN(qt)||(Yt[Vt[qt]]=Vt[qt]);Wt.forEach((function(e){return delete Yt[e]}))}function $t(e,t){if(void 0===t&&(t={}),!kt)return e;if(null!=Yt[e])return Yt[e];\"transition\"!==e&&\"transform\"!==e||(t[e]=e in kt.style);for(var n=0;n<Ht.length&&(Yt[e]=Ht[n](e,kt.style,t),!Yt[e]);n++);try{kt.style[e]=\"\"}catch(r){return!1}return Yt[e]}var Gt,Xt={},Kt={transition:1,\"transition-property\":1,\"-webkit-transition\":1,\"-webkit-transition-property\":1},Zt=/(^\\s*[\\w-]+)|, (\\s*[\\w-]+)(?![^()]*\\))/g;function Jt(e,t,n){if(\"var\"===t)return\"var\";if(\"all\"===t)return\"all\";if(\"all\"===n)return\", all\";var r=t?$t(t):\", \"+$t(n);return r||(t||n)}function Qt(e,t){var n=t;if(!Gt||\"content\"===e)return t;if(\"string\"!==typeof n||!isNaN(parseInt(n,10)))return n;var r=e+n;if(null!=Xt[r])return Xt[r];try{Gt.style[e]=n}catch(i){return Xt[r]=!1,!1}if(Kt[e])n=n.replace(Zt,Jt);else if(\"\"===Gt.style[e]&&(\"-ms-flex\"===(n=ht+n)&&(Gt.style[e]=\"-ms-flexbox\"),Gt.style[e]=n,\"\"===Gt.style[e]))return Xt[r]=!1,!1;return Gt.style[e]=\"\",Xt[r]=n,Xt[r]}c&&(Gt=document.createElement(\"p\"));var en=function(){function e(t){for(var n in t){var r=t[n];if(\"fallbacks\"===n&&Array.isArray(r))t[n]=r.map(e);else{var i=!1,o=$t(n);o&&o!==n&&(i=!0);var a=!1,s=Qt(o,m(r));s&&s!==r&&(a=!0),(i||a)&&(i&&delete t[n],t[o||n]=s||r)}}return t}return{onProcessRule:function(e){if(\"keyframes\"===e.type){var t=e;t.at=\"-\"===(n=t.at)[1]||\"ms\"===dt?n:\"@\"+ht+\"keyframes\"+n.substr(10)}var n},onProcessStyle:function(t,n){return\"style\"!==n.type?t:e(t)},onChangeValue:function(e,t){return Qt(t,m(e))||e}}};var tn=function(){var e=function(e,t){return e.length===t.length?e>t?1:-1:e.length-t.length};return{onProcessStyle:function(t,n){if(\"style\"!==n.type)return t;for(var r={},i=Object.keys(t).sort(e),o=0;o<i.length;o++)r[i[o]]=t[i[o]];return r}}};function nn(){return{plugins:[Me(),Be(),He(),Xe(),nt(),\"undefined\"===typeof window?null:en(),tn()]}}var rn=we(nn()),on=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.disableGlobal,n=void 0!==t&&t,r=e.productionPrefix,i=void 0===r?\"jss\":r,o=e.seed,a=void 0===o?\"\":o,s=\"\"===a?\"\":\"\".concat(a,\"-\"),c=0,u=function(){return c+=1};return function(e,t){var r=t.options.name;if(r&&0===r.indexOf(\"Mui\")&&!t.options.link&&!n){if(-1!==Ce.indexOf(e.key))return\"Mui-\".concat(e.key);var o=\"\".concat(s).concat(r,\"-\").concat(e.key);return t.options.theme[Se.a]&&\"\"===a?\"\".concat(o,\"-\").concat(u()):o}return\"\".concat(s).concat(i).concat(u())}}(),an={disableGeneration:!1,generateClassName:on,jss:rn,sheetsCache:null,sheetsManager:new Map,sheetsRegistry:null},sn=a.a.createContext(an);var cn=-1e9;function un(){return cn+=1}n(78);var ln=n(396);function fn(e){var t=\"function\"===typeof e;return{create:function(n,r){var o;try{o=t?e(n):e}catch(c){throw c}if(!r||!n.overrides||!n.overrides[r])return o;var a=n.overrides[r],s=Object(i.a)({},o);return Object.keys(a).forEach((function(e){s[e]=Object(ln.a)(s[e],a[e])})),s},options:{}}}var dn={};function hn(e,t,n){var r=e.state;if(e.stylesOptions.disableGeneration)return t||{};r.cacheClasses||(r.cacheClasses={value:null,lastProp:null,lastJSS:{}});var i=!1;return r.classes!==r.cacheClasses.lastJSS&&(r.cacheClasses.lastJSS=r.classes,i=!0),t!==r.cacheClasses.lastProp&&(r.cacheClasses.lastProp=t,i=!0),i&&(r.cacheClasses.value=Object(_e.a)({baseClasses:r.cacheClasses.lastJSS,newClasses:t,Component:n})),r.cacheClasses.value}function pn(e,t){var n=e.state,r=e.theme,o=e.stylesOptions,a=e.stylesCreator,s=e.name;if(!o.disableGeneration){var c=Oe.get(o.sheetsManager,a,r);c||(c={refs:0,staticSheet:null,dynamicStyles:null},Oe.set(o.sheetsManager,a,r,c));var u=Object(i.a)({},a.options,o,{theme:r,flip:\"boolean\"===typeof o.flip?o.flip:\"rtl\"===r.direction});u.generateId=u.serverGenerateClassName||u.generateClassName;var l=o.sheetsRegistry;if(0===c.refs){var f;o.sheetsCache&&(f=Oe.get(o.sheetsCache,a,r));var d=a.create(r,s);f||((f=o.jss.createStyleSheet(d,Object(i.a)({link:!1},u))).attach(),o.sheetsCache&&Oe.set(o.sheetsCache,a,r,f)),l&&l.add(f),c.staticSheet=f,c.dynamicStyles=ve(d)}if(c.dynamicStyles){var h=o.jss.createStyleSheet(c.dynamicStyles,Object(i.a)({link:!0},u));h.update(t),h.attach(),n.dynamicSheet=h,n.classes=Object(_e.a)({baseClasses:c.staticSheet.classes,newClasses:h.classes}),l&&l.add(h)}else n.classes=c.staticSheet.classes;c.refs+=1}}function gn(e,t){var n=e.state;n.dynamicSheet&&n.dynamicSheet.update(t)}function yn(e){var t=e.state,n=e.theme,r=e.stylesOptions,i=e.stylesCreator;if(!r.disableGeneration){var o=Oe.get(r.sheetsManager,i,n);o.refs-=1;var a=r.sheetsRegistry;0===o.refs&&(Oe.delete(r.sheetsManager,i,n),r.jss.removeStyleSheet(o.staticSheet),a&&a.remove(o.staticSheet)),t.dynamicSheet&&(r.jss.removeStyleSheet(t.dynamicSheet),a&&a.remove(t.dynamicSheet))}}function mn(e,t){var n,r=a.a.useRef([]),i=a.a.useMemo((function(){return{}}),t);r.current!==i&&(r.current=i,n=e()),a.a.useEffect((function(){return function(){n&&n()}}),[i])}function bn(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.name,o=t.classNamePrefix,s=t.Component,c=t.defaultTheme,u=void 0===c?dn:c,l=Object(r.a)(t,[\"name\",\"classNamePrefix\",\"Component\",\"defaultTheme\"]),f=fn(e),d=n||o||\"makeStyles\";f.options={index:un(),name:n,meta:d,classNamePrefix:d};var h=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object(Ee.a)()||u,r=Object(i.a)({},a.a.useContext(sn),l),o=a.a.useRef(),c=a.a.useRef();mn((function(){var i={name:n,state:{},stylesCreator:f,stylesOptions:r,theme:t};return pn(i,e),c.current=!1,o.current=i,function(){yn(i)}}),[t,f]),a.a.useEffect((function(){c.current&&gn(o.current,e),c.current=!0}));var d=hn(o.current,e.classes,s);return d};return h}},function(e,t,n){\"use strict\";var r=n(61),i=n(3),o=(n(1),n(100));var a=function(e){var t=function(t){var n=e(t);return t.css?Object(i.a)({},Object(o.a)(n,e(Object(i.a)({theme:t.theme},t.css))),function(e,t){var n={};return Object.keys(e).forEach((function(r){-1===t.indexOf(r)&&(n[r]=e[r])})),n}(t.css,[e.filterProps])):n};return t.propTypes={},t.filterProps=[\"css\"].concat(Object(r.a)(e.filterProps)),t};var s=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=function(e){return t.reduce((function(t,n){var r=n(e);return r?Object(o.a)(t,r):t}),{})};return r.propTypes={},r.filterProps=t.reduce((function(e,t){return e.concat(t.filterProps)}),[]),r},c=n(18),u=n(207);function l(e,t){return t&&\"string\"===typeof t?t.split(\".\").reduce((function(e,t){return e&&e[t]?e[t]:null}),e):null}var f=function(e){var t=e.prop,n=e.cssProperty,r=void 0===n?e.prop:n,i=e.themeKey,o=e.transform,a=function(e){if(null==e[t])return null;var n=e[t],a=l(e.theme,i)||{};return Object(u.a)(e,n,(function(e){var t;return\"function\"===typeof a?t=a(e):Array.isArray(a)?t=a[e]||e:(t=l(a,e)||e,o&&(t=o(t))),!1===r?t:Object(c.a)({},r,t)}))};return a.propTypes={},a.filterProps=[t],a};function d(e){return\"number\"!==typeof e?e:\"\".concat(e,\"px solid\")}var h=s(f({prop:\"border\",themeKey:\"borders\",transform:d}),f({prop:\"borderTop\",themeKey:\"borders\",transform:d}),f({prop:\"borderRight\",themeKey:\"borders\",transform:d}),f({prop:\"borderBottom\",themeKey:\"borders\",transform:d}),f({prop:\"borderLeft\",themeKey:\"borders\",transform:d}),f({prop:\"borderColor\",themeKey:\"palette\"}),f({prop:\"borderRadius\",themeKey:\"shape\"})),p=s(f({prop:\"displayPrint\",cssProperty:!1,transform:function(e){return{\"@media print\":{display:e}}}}),f({prop:\"display\"}),f({prop:\"overflow\"}),f({prop:\"textOverflow\"}),f({prop:\"visibility\"}),f({prop:\"whiteSpace\"})),g=s(f({prop:\"flexBasis\"}),f({prop:\"flexDirection\"}),f({prop:\"flexWrap\"}),f({prop:\"justifyContent\"}),f({prop:\"alignItems\"}),f({prop:\"alignContent\"}),f({prop:\"order\"}),f({prop:\"flex\"}),f({prop:\"flexGrow\"}),f({prop:\"flexShrink\"}),f({prop:\"alignSelf\"}),f({prop:\"justifyItems\"}),f({prop:\"justifySelf\"})),y=s(f({prop:\"gridGap\"}),f({prop:\"gridColumnGap\"}),f({prop:\"gridRowGap\"}),f({prop:\"gridColumn\"}),f({prop:\"gridRow\"}),f({prop:\"gridAutoFlow\"}),f({prop:\"gridAutoColumns\"}),f({prop:\"gridAutoRows\"}),f({prop:\"gridTemplateColumns\"}),f({prop:\"gridTemplateRows\"}),f({prop:\"gridTemplateAreas\"}),f({prop:\"gridArea\"})),m=s(f({prop:\"position\"}),f({prop:\"zIndex\",themeKey:\"zIndex\"}),f({prop:\"top\"}),f({prop:\"right\"}),f({prop:\"bottom\"}),f({prop:\"left\"})),b=s(f({prop:\"color\",themeKey:\"palette\"}),f({prop:\"bgcolor\",cssProperty:\"backgroundColor\",themeKey:\"palette\"})),v=f({prop:\"boxShadow\",themeKey:\"shadows\"});function x(e){return e<=1?\"\".concat(100*e,\"%\"):e}var w=f({prop:\"width\",transform:x}),_=f({prop:\"maxWidth\",transform:x}),k=f({prop:\"minWidth\",transform:x}),O=f({prop:\"height\",transform:x}),E=f({prop:\"maxHeight\",transform:x}),S=f({prop:\"minHeight\",transform:x}),C=(f({prop:\"size\",cssProperty:\"width\",transform:x}),f({prop:\"size\",cssProperty:\"height\",transform:x}),s(w,_,k,O,E,S,f({prop:\"boxSizing\"}))),T=n(790),j=s(f({prop:\"fontFamily\",themeKey:\"typography\"}),f({prop:\"fontSize\",themeKey:\"typography\"}),f({prop:\"fontStyle\",themeKey:\"typography\"}),f({prop:\"fontWeight\",themeKey:\"typography\"}),f({prop:\"letterSpacing\"}),f({prop:\"lineHeight\"}),f({prop:\"textAlign\"})),A=n(7),M=n(0),P=n.n(M),N=n(6),D=n(209),R=n.n(D),I=n(779);function L(e,t){var n={};return Object.keys(e).forEach((function(r){-1===t.indexOf(r)&&(n[r]=e[r])})),n}var B=n(101),F=function(e){var t=function(e){return function(t){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=r.name,a=Object(A.a)(r,[\"name\"]),s=o,c=\"function\"===typeof t?function(e){return{root:function(n){return t(Object(i.a)({theme:e},n))}}}:{root:t},u=Object(I.a)(c,Object(i.a)({Component:e,name:o||e.displayName,classNamePrefix:s},a));t.filterProps&&(n=t.filterProps,delete t.filterProps),t.propTypes&&(t.propTypes,delete t.propTypes);var l=P.a.forwardRef((function(t,r){var o=t.children,a=t.className,s=t.clone,c=t.component,l=Object(A.a)(t,[\"children\",\"className\",\"clone\",\"component\"]),f=u(t),d=Object(N.a)(f.root,a),h=l;if(n&&(h=L(h,n)),s)return P.a.cloneElement(o,Object(i.a)({className:Object(N.a)(o.props.className,d)},h));if(\"function\"===typeof o)return o(Object(i.a)({className:d},h));var p=c||e;return P.a.createElement(p,Object(i.a)({ref:r,className:d},h),o)}));return R()(l,e),l}}(e);return function(e,n){return t(e,Object(i.a)({defaultTheme:B.a},n))}},z=a(s(h,p,g,y,m,b,v,C,T.b,j)),U=F(\"div\")(z,{name:\"MuiBox\"});t.a=U},function(e,t,n){\"use strict\";var r,i=n(3),o=n(7),a=n(18),s=n(0),c=(n(128),n(1),n(6)),u=n(90),l=n(144);function f(){if(r)return r;var e=document.createElement(\"div\"),t=document.createElement(\"div\");return t.style.width=\"10px\",t.style.height=\"1px\",e.appendChild(t),e.dir=\"rtl\",e.style.fontSize=\"14px\",e.style.width=\"4px\",e.style.height=\"1px\",e.style.position=\"absolute\",e.style.top=\"-1000px\",e.style.overflow=\"scroll\",document.body.appendChild(e),r=\"reverse\",e.scrollLeft>0?r=\"default\":(e.scrollLeft=1,0===e.scrollLeft&&(r=\"negative\")),document.body.removeChild(e),r}function d(e,t){var n=e.scrollLeft;if(\"rtl\"!==t)return n;switch(f()){case\"negative\":return e.scrollWidth-e.clientWidth+n;case\"reverse\":return e.scrollWidth-e.clientWidth-n;default:return n}}function h(e){return(1+Math.sin(Math.PI*e-Math.PI/2))/2}var p={width:99,height:99,position:\"absolute\",top:-9999,overflow:\"scroll\"};function g(e){var t=e.onChange,n=Object(o.a)(e,[\"onChange\"]),r=s.useRef(),a=s.useRef(null),c=function(){r.current=a.current.offsetHeight-a.current.clientHeight};return s.useEffect((function(){var e=Object(u.a)((function(){var e=r.current;c(),e!==r.current&&t(r.current)}));return window.addEventListener(\"resize\",e),function(){e.clear(),window.removeEventListener(\"resize\",e)}}),[t]),s.useEffect((function(){c(),t(r.current)}),[t]),s.createElement(\"div\",Object(i.a)({style:p,ref:a},n))}var y=n(8),m=n(17),b=s.forwardRef((function(e,t){var n=e.classes,r=e.className,a=e.color,u=e.orientation,l=Object(o.a)(e,[\"classes\",\"className\",\"color\",\"orientation\"]);return s.createElement(\"span\",Object(i.a)({className:Object(c.a)(n.root,n[\"color\".concat(Object(m.a)(a))],r,\"vertical\"===u&&n.vertical),ref:t},l))})),v=Object(y.a)((function(e){return{root:{position:\"absolute\",height:2,bottom:0,width:\"100%\",transition:e.transitions.create()},colorPrimary:{backgroundColor:e.palette.primary.main},colorSecondary:{backgroundColor:e.palette.secondary.main},vertical:{height:\"100%\",width:2,right:0}}}),{name:\"PrivateTabIndicator\"})(b),x=n(37),w=Object(x.a)(s.createElement(\"path\",{d:\"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z\"}),\"KeyboardArrowLeft\"),_=Object(x.a)(s.createElement(\"path\",{d:\"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z\"}),\"KeyboardArrowRight\"),k=n(224),O=s.createElement(w,{fontSize:\"small\"}),E=s.createElement(_,{fontSize:\"small\"}),S=s.forwardRef((function(e,t){var n=e.classes,r=e.className,a=e.direction,u=e.orientation,l=e.disabled,f=Object(o.a)(e,[\"classes\",\"className\",\"direction\",\"orientation\",\"disabled\"]);return s.createElement(k.a,Object(i.a)({component:\"div\",className:Object(c.a)(n.root,r,l&&n.disabled,\"vertical\"===u&&n.vertical),ref:t,role:null,tabIndex:null},f),\"left\"===a?O:E)})),C=Object(y.a)({root:{width:40,flexShrink:0,opacity:.8,\"&$disabled\":{opacity:0}},vertical:{width:\"100%\",height:40,\"& svg\":{transform:\"rotate(90deg)\"}},disabled:{}},{name:\"MuiTabScrollButton\"})(S),T=n(42),j=n(52),A=s.forwardRef((function(e,t){var n=e[\"aria-label\"],r=e[\"aria-labelledby\"],p=e.action,y=e.centered,m=void 0!==y&&y,b=e.children,x=e.classes,w=e.className,_=e.component,k=void 0===_?\"div\":_,O=e.indicatorColor,E=void 0===O?\"secondary\":O,S=e.onChange,A=e.orientation,M=void 0===A?\"horizontal\":A,P=e.ScrollButtonComponent,N=void 0===P?C:P,D=e.scrollButtons,R=void 0===D?\"auto\":D,I=e.selectionFollowsFocus,L=e.TabIndicatorProps,B=void 0===L?{}:L,F=e.TabScrollButtonProps,z=e.textColor,U=void 0===z?\"inherit\":z,H=e.value,W=e.variant,Y=void 0===W?\"standard\":W,V=Object(o.a)(e,[\"aria-label\",\"aria-labelledby\",\"action\",\"centered\",\"children\",\"classes\",\"className\",\"component\",\"indicatorColor\",\"onChange\",\"orientation\",\"ScrollButtonComponent\",\"scrollButtons\",\"selectionFollowsFocus\",\"TabIndicatorProps\",\"TabScrollButtonProps\",\"textColor\",\"value\",\"variant\"]),q=Object(j.a)(),$=\"scrollable\"===Y,G=\"rtl\"===q.direction,X=\"vertical\"===M,K=X?\"scrollTop\":\"scrollLeft\",Z=X?\"top\":\"left\",J=X?\"bottom\":\"right\",Q=X?\"clientHeight\":\"clientWidth\",ee=X?\"height\":\"width\";var te=s.useState(!1),ne=te[0],re=te[1],ie=s.useState({}),oe=ie[0],ae=ie[1],se=s.useState({start:!1,end:!1}),ce=se[0],ue=se[1],le=s.useState({overflow:\"hidden\",marginBottom:null}),fe=le[0],de=le[1],he=new Map,pe=s.useRef(null),ge=s.useRef(null),ye=function(){var e,t,n=pe.current;if(n){var r=n.getBoundingClientRect();e={clientWidth:n.clientWidth,scrollLeft:n.scrollLeft,scrollTop:n.scrollTop,scrollLeftNormalized:d(n,q.direction),scrollWidth:n.scrollWidth,top:r.top,bottom:r.bottom,left:r.left,right:r.right}}if(n&&!1!==H){var i=ge.current.children;if(i.length>0){var o=i[he.get(H)];0,t=o?o.getBoundingClientRect():null}}return{tabsMeta:e,tabMeta:t}},me=Object(T.a)((function(){var e,t=ye(),n=t.tabsMeta,r=t.tabMeta,i=0;if(r&&n)if(X)i=r.top-n.top+n.scrollTop;else{var o=G?n.scrollLeftNormalized+n.clientWidth-n.scrollWidth:n.scrollLeft;i=r.left-n.left+o}var s=(e={},Object(a.a)(e,Z,i),Object(a.a)(e,ee,r?r[ee]:0),e);if(isNaN(oe[Z])||isNaN(oe[ee]))ae(s);else{var c=Math.abs(oe[Z]-s[Z]),u=Math.abs(oe[ee]-s[ee]);(c>=1||u>=1)&&ae(s)}})),be=function(e){!function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){},o=r.ease,a=void 0===o?h:o,s=r.duration,c=void 0===s?300:s,u=null,l=t[e],f=!1,d=function(){f=!0},p=function r(o){if(f)i(new Error(\"Animation cancelled\"));else{null===u&&(u=o);var s=Math.min(1,(o-u)/c);t[e]=a(s)*(n-l)+l,s>=1?requestAnimationFrame((function(){i(null)})):requestAnimationFrame(r)}};l===n?i(new Error(\"Element already at target position\")):requestAnimationFrame(p)}(K,pe.current,e)},ve=function(e){var t=pe.current[K];X?t+=e:(t+=e*(G?-1:1),t*=G&&\"reverse\"===f()?-1:1),be(t)},xe=function(){ve(-pe.current[Q])},we=function(){ve(pe.current[Q])},_e=s.useCallback((function(e){de({overflow:null,marginBottom:-e})}),[]),ke=Object(T.a)((function(){var e=ye(),t=e.tabsMeta,n=e.tabMeta;if(n&&t)if(n[Z]<t[Z]){var r=t[K]+(n[Z]-t[Z]);be(r)}else if(n[J]>t[J]){var i=t[K]+(n[J]-t[J]);be(i)}})),Oe=Object(T.a)((function(){if($&&\"off\"!==R){var e,t,n=pe.current,r=n.scrollTop,i=n.scrollHeight,o=n.clientHeight,a=n.scrollWidth,s=n.clientWidth;if(X)e=r>1,t=r<i-o-1;else{var c=d(pe.current,q.direction);e=G?c<a-s-1:c>1,t=G?c>1:c<a-s-1}e===ce.start&&t===ce.end||ue({start:e,end:t})}}));s.useEffect((function(){var e=Object(u.a)((function(){me(),Oe()})),t=Object(l.a)(pe.current);return t.addEventListener(\"resize\",e),function(){e.clear(),t.removeEventListener(\"resize\",e)}}),[me,Oe]);var Ee=s.useCallback(Object(u.a)((function(){Oe()})));s.useEffect((function(){return function(){Ee.clear()}}),[Ee]),s.useEffect((function(){re(!0)}),[]),s.useEffect((function(){me(),Oe()})),s.useEffect((function(){ke()}),[ke,oe]),s.useImperativeHandle(p,(function(){return{updateIndicator:me,updateScrollButtons:Oe}}),[me,Oe]);var Se=s.createElement(v,Object(i.a)({className:x.indicator,orientation:M,color:E},B,{style:Object(i.a)({},oe,B.style)})),Ce=0,Te=s.Children.map(b,(function(e){if(!s.isValidElement(e))return null;var t=void 0===e.props.value?Ce:e.props.value;he.set(t,Ce);var n=t===H;return Ce+=1,s.cloneElement(e,{fullWidth:\"fullWidth\"===Y,indicator:n&&!ne&&Se,selected:n,selectionFollowsFocus:I,onChange:S,textColor:U,value:t})})),je=function(){var e={};e.scrollbarSizeListener=$?s.createElement(g,{className:x.scrollable,onChange:_e}):null;var t=ce.start||ce.end,n=$&&(\"auto\"===R&&t||\"desktop\"===R||\"on\"===R);return e.scrollButtonStart=n?s.createElement(N,Object(i.a)({orientation:M,direction:G?\"right\":\"left\",onClick:xe,disabled:!ce.start,className:Object(c.a)(x.scrollButtons,\"on\"!==R&&x.scrollButtonsDesktop)},F)):null,e.scrollButtonEnd=n?s.createElement(N,Object(i.a)({orientation:M,direction:G?\"left\":\"right\",onClick:we,disabled:!ce.end,className:Object(c.a)(x.scrollButtons,\"on\"!==R&&x.scrollButtonsDesktop)},F)):null,e}();return s.createElement(k,Object(i.a)({className:Object(c.a)(x.root,w,X&&x.vertical),ref:t},V),je.scrollButtonStart,je.scrollbarSizeListener,s.createElement(\"div\",{className:Object(c.a)(x.scroller,$?x.scrollable:x.fixed),style:fe,ref:pe,onScroll:Ee},s.createElement(\"div\",{\"aria-label\":n,\"aria-labelledby\":r,className:Object(c.a)(x.flexContainer,X&&x.flexContainerVertical,m&&!$&&x.centered),onKeyDown:function(e){var t=e.target;if(\"tab\"===t.getAttribute(\"role\")){var n=null,r=\"vertical\"!==M?\"ArrowLeft\":\"ArrowUp\",i=\"vertical\"!==M?\"ArrowRight\":\"ArrowDown\";switch(\"vertical\"!==M&&\"rtl\"===q.direction&&(r=\"ArrowRight\",i=\"ArrowLeft\"),e.key){case r:n=t.previousElementSibling||ge.current.lastChild;break;case i:n=t.nextElementSibling||ge.current.firstChild;break;case\"Home\":n=ge.current.firstChild;break;case\"End\":n=ge.current.lastChild}null!==n&&(n.focus(),e.preventDefault())}},ref:ge,role:\"tablist\"},Te),ne&&Se),je.scrollButtonEnd)}));t.a=Object(y.a)((function(e){return{root:{overflow:\"hidden\",minHeight:48,WebkitOverflowScrolling:\"touch\",display:\"flex\"},vertical:{flexDirection:\"column\"},flexContainer:{display:\"flex\"},flexContainerVertical:{flexDirection:\"column\"},centered:{justifyContent:\"center\"},scroller:{position:\"relative\",display:\"inline-block\",flex:\"1 1 auto\",whiteSpace:\"nowrap\"},fixed:{overflowX:\"hidden\",width:\"100%\"},scrollable:{overflowX:\"scroll\",scrollbarWidth:\"none\",\"&::-webkit-scrollbar\":{display:\"none\"}},scrollButtons:{},scrollButtonsDesktop:Object(a.a)({},e.breakpoints.down(\"xs\"),{display:\"none\"}),indicator:{}}}),{name:\"MuiTabs\"})(A)},function(e,t,n){\"use strict\";var r=n(7),i=n(18),o=n(3),a=n(0),s=(n(1),n(6)),c=n(8),u=n(699),l=n(17),f=a.forwardRef((function(e,t){var n=e.classes,i=e.className,c=e.color,u=void 0===c?\"default\":c,f=e.component,d=void 0===f?\"li\":f,h=e.disableGutters,p=void 0!==h&&h,g=e.disableSticky,y=void 0!==g&&g,m=e.inset,b=void 0!==m&&m,v=Object(r.a)(e,[\"classes\",\"className\",\"color\",\"component\",\"disableGutters\",\"disableSticky\",\"inset\"]);return a.createElement(d,Object(o.a)({className:Object(s.a)(n.root,i,\"default\"!==u&&n[\"color\".concat(Object(l.a)(u))],b&&n.inset,!y&&n.sticky,!p&&n.gutters),ref:t},v))})),d=Object(c.a)((function(e){return{root:{boxSizing:\"border-box\",lineHeight:\"48px\",listStyle:\"none\",color:e.palette.text.secondary,fontFamily:e.typography.fontFamily,fontWeight:e.typography.fontWeightMedium,fontSize:e.typography.pxToRem(14)},colorPrimary:{color:e.palette.primary.main},colorInherit:{color:\"inherit\"},gutters:{paddingLeft:16,paddingRight:16},inset:{paddingLeft:72},sticky:{position:\"sticky\",top:0,zIndex:1,backgroundColor:\"inherit\"}}}),{name:\"MuiListSubheader\"})(f),h=n(267),p=n(702),g=n(789),y=n(37),m=Object(y.a)(a.createElement(\"path\",{d:\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"}),\"Close\"),b=Object(y.a)(a.createElement(\"path\",{d:\"M7 10l5 5 5-5z\"}),\"ArrowDropDown\"),v=n(32),x=(n(78),n(213)),w=n(102),_=n(42),k=n(69);function O(e){return\"undefined\"!==typeof e.normalize?e.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g,\"\"):e}function E(e,t){for(var n=0;n<e.length;n+=1)if(t(e[n]))return n;return-1}var S=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.ignoreAccents,n=void 0===t||t,r=e.ignoreCase,i=void 0===r||r,o=e.limit,a=e.matchFrom,s=void 0===a?\"any\":a,c=e.stringify,u=e.trim,l=void 0!==u&&u;return function(e,t){var r=t.inputValue,a=t.getOptionLabel,u=l?r.trim():r;i&&(u=u.toLowerCase()),n&&(u=O(u));var f=e.filter((function(e){var t=(c||a)(e);return i&&(t=t.toLowerCase()),n&&(t=O(t)),\"start\"===s?0===t.indexOf(u):t.indexOf(u)>-1}));return\"number\"===typeof o?f.slice(0,o):f}}();function C(e){var t=e.autoComplete,n=void 0!==t&&t,r=e.autoHighlight,i=void 0!==r&&r,s=e.autoSelect,c=void 0!==s&&s,u=e.blurOnSelect,l=void 0!==u&&u,f=e.clearOnBlur,d=void 0===f?!e.freeSolo:f,h=e.clearOnEscape,p=void 0!==h&&h,g=e.componentName,y=void 0===g?\"useAutocomplete\":g,m=e.debug,b=void 0!==m&&m,O=e.defaultValue,C=void 0===O?e.multiple?[]:null:O,T=e.disableClearable,j=void 0!==T&&T,A=e.disableCloseOnSelect,M=void 0!==A&&A,P=e.disabledItemsFocusable,N=void 0!==P&&P,D=e.disableListWrap,R=void 0!==D&&D,I=e.filterOptions,L=void 0===I?S:I,B=e.filterSelectedOptions,F=void 0!==B&&B,z=e.freeSolo,U=void 0!==z&&z,H=e.getOptionDisabled,W=e.getOptionLabel,Y=void 0===W?function(e){return e}:W,V=e.getOptionSelected,q=void 0===V?function(e,t){return e===t}:V,$=e.groupBy,G=e.handleHomeEndKeys,X=void 0===G?!e.freeSolo:G,K=e.id,Z=e.includeInputInList,J=void 0!==Z&&Z,Q=e.inputValue,ee=e.multiple,te=void 0!==ee&&ee,ne=e.onChange,re=e.onClose,ie=e.onHighlightChange,oe=e.onInputChange,ae=e.onOpen,se=e.open,ce=e.openOnFocus,ue=void 0!==ce&&ce,le=e.options,fe=e.selectOnFocus,de=void 0===fe?!e.freeSolo:fe,he=e.value,pe=Object(x.a)(K),ge=Y;var ye=a.useRef(!1),me=a.useRef(!0),be=a.useRef(null),ve=a.useRef(null),xe=a.useState(null),we=xe[0],_e=xe[1],ke=a.useState(-1),Oe=ke[0],Ee=ke[1],Se=i?0:-1,Ce=a.useRef(Se),Te=Object(w.a)({controlled:he,default:C,name:y}),je=Object(v.a)(Te,2),Ae=je[0],Me=je[1],Pe=Object(w.a)({controlled:Q,default:\"\",name:y,state:\"inputValue\"}),Ne=Object(v.a)(Pe,2),De=Ne[0],Re=Ne[1],Ie=a.useState(!1),Le=Ie[0],Be=Ie[1],Fe=Object(_.a)((function(e,t){var n;if(te)n=\"\";else if(null==t)n=\"\";else{var r=ge(t);n=\"string\"===typeof r?r:\"\"}De!==n&&(Re(n),oe&&oe(e,n,\"reset\"))}));a.useEffect((function(){Fe(null,Ae)}),[Ae,Fe]);var ze=Object(w.a)({controlled:se,default:!1,name:y,state:\"open\"}),Ue=Object(v.a)(ze,2),He=Ue[0],We=Ue[1],Ye=!te&&null!=Ae&&De===ge(Ae),Ve=He,qe=Ve?L(le.filter((function(e){return!F||!(te?Ae:[Ae]).some((function(t){return null!==t&&q(e,t)}))})),{inputValue:Ye?\"\":De,getOptionLabel:ge}):[],$e=Object(_.a)((function(e){-1===e?be.current.focus():we.querySelector('[data-tag-index=\"'.concat(e,'\"]')).focus()}));a.useEffect((function(){te&&Oe>Ae.length-1&&(Ee(-1),$e(-1))}),[Ae,te,Oe,$e]);var Ge=Object(_.a)((function(e){var t=e.event,n=e.index,r=e.reason,i=void 0===r?\"auto\":r;if(Ce.current=n,-1===n?be.current.removeAttribute(\"aria-activedescendant\"):be.current.setAttribute(\"aria-activedescendant\",\"\".concat(pe,\"-option-\").concat(n)),ie&&ie(t,-1===n?null:qe[n],i),ve.current){var o=ve.current.querySelector(\"[data-focus]\");o&&o.removeAttribute(\"data-focus\");var a=ve.current.parentElement.querySelector('[role=\"listbox\"]');if(a)if(-1!==n){var s=ve.current.querySelector('[data-option-index=\"'.concat(n,'\"]'));if(s&&(s.setAttribute(\"data-focus\",\"true\"),a.scrollHeight>a.clientHeight&&\"mouse\"!==i)){var c=s,u=a.clientHeight+a.scrollTop,l=c.offsetTop+c.offsetHeight;l>u?a.scrollTop=l-a.clientHeight:c.offsetTop-c.offsetHeight*($?1.3:0)<a.scrollTop&&(a.scrollTop=c.offsetTop-c.offsetHeight*($?1.3:0))}}else a.scrollTop=0}})),Xe=Object(_.a)((function(e){var t=e.event,r=e.diff,i=e.direction,o=void 0===i?\"next\":i,a=e.reason,s=void 0===a?\"auto\":a;if(Ve){var c=function(e,t){if(!ve.current||-1===e)return-1;for(var n=e;;){if(\"next\"===t&&n===qe.length||\"previous\"===t&&-1===n)return-1;var r=ve.current.querySelector('[data-option-index=\"'.concat(n,'\"]')),i=!N&&r&&(r.disabled||\"true\"===r.getAttribute(\"aria-disabled\"));if(!(r&&!r.hasAttribute(\"tabindex\")||i))return n;n+=\"next\"===t?1:-1}}(function(){var e=qe.length-1;if(\"reset\"===r)return Se;if(\"start\"===r)return 0;if(\"end\"===r)return e;var t=Ce.current+r;return t<0?-1===t&&J?-1:R&&-1!==Ce.current||Math.abs(r)>1?0:e:t>e?t===e+1&&J?-1:R||Math.abs(r)>1?e:0:t}(),o);if(Ge({index:c,reason:s,event:t}),n&&\"reset\"!==r)if(-1===c)be.current.value=De;else{var u=ge(qe[c]);be.current.value=u,0===u.toLowerCase().indexOf(De.toLowerCase())&&De.length>0&&be.current.setSelectionRange(De.length,u.length)}}})),Ke=a.useCallback((function(){if(Ve){var e=te?Ae[0]:Ae;if(0!==qe.length&&null!=e){if(ve.current)if(F||null==e)Ce.current>=qe.length-1?Ge({index:qe.length-1}):Ge({index:Ce.current});else{var t=qe[Ce.current];if(te&&t&&-1!==E(Ae,(function(e){return q(t,e)})))return;var n=E(qe,(function(t){return q(t,e)}));-1===n?Xe({diff:\"reset\"}):Ge({index:n})}}else Xe({diff:\"reset\"})}}),[0===qe.length,!te&&Ae,F,Xe,Ge,Ve,De,te]),Ze=Object(_.a)((function(e){Object(k.a)(ve,e),e&&Ke()}));a.useEffect((function(){Ke()}),[Ke]);var Je=function(e){He||(We(!0),ae&&ae(e))},Qe=function(e,t){He&&(We(!1),re&&re(e,t))},et=function(e,t,n,r){Ae!==t&&(ne&&ne(e,t,n,r),Me(t))},tt=a.useRef(!1),nt=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"select-option\",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"options\",i=n,o=t;if(te){var a=E(o=Array.isArray(Ae)?Ae.slice():[],(function(e){return q(t,e)}));-1===a?o.push(t):\"freeSolo\"!==r&&(o.splice(a,1),i=\"remove-option\")}Fe(e,o),et(e,o,i,{option:t}),M||Qe(e,i),(!0===l||\"touch\"===l&&tt.current||\"mouse\"===l&&!tt.current)&&be.current.blur()};var rt=function(e,t){if(te){Qe(e,\"toggleInput\");var n=Oe;-1===Oe?\"\"===De&&\"previous\"===t&&(n=Ae.length-1):((n+=\"next\"===t?1:-1)<0&&(n=0),n===Ae.length&&(n=-1)),n=function(e,t){if(-1===e)return-1;for(var n=e;;){if(\"next\"===t&&n===Ae.length||\"previous\"===t&&-1===n)return-1;var r=we.querySelector('[data-tag-index=\"'.concat(n,'\"]'));if(!r||r.hasAttribute(\"tabindex\")&&!r.disabled&&\"true\"!==r.getAttribute(\"aria-disabled\"))return n;n+=\"next\"===t?1:-1}}(n,t),Ee(n),$e(n)}},it=function(e){ye.current=!0,Re(\"\"),oe&&oe(e,\"\",\"clear\"),et(e,te?[]:null,\"clear\")},ot=function(e){return function(t){switch(-1!==Oe&&-1===[\"ArrowLeft\",\"ArrowRight\"].indexOf(t.key)&&(Ee(-1),$e(-1)),t.key){case\"Home\":Ve&&X&&(t.preventDefault(),Xe({diff:\"start\",direction:\"next\",reason:\"keyboard\",event:t}));break;case\"End\":Ve&&X&&(t.preventDefault(),Xe({diff:\"end\",direction:\"previous\",reason:\"keyboard\",event:t}));break;case\"PageUp\":t.preventDefault(),Xe({diff:-5,direction:\"previous\",reason:\"keyboard\",event:t}),Je(t);break;case\"PageDown\":t.preventDefault(),Xe({diff:5,direction:\"next\",reason:\"keyboard\",event:t}),Je(t);break;case\"ArrowDown\":t.preventDefault(),Xe({diff:1,direction:\"next\",reason:\"keyboard\",event:t}),Je(t);break;case\"ArrowUp\":t.preventDefault(),Xe({diff:-1,direction:\"previous\",reason:\"keyboard\",event:t}),Je(t);break;case\"ArrowLeft\":rt(t,\"previous\");break;case\"ArrowRight\":rt(t,\"next\");break;case\"Enter\":if(229===t.which)break;if(-1!==Ce.current&&Ve){var r=qe[Ce.current],i=!!H&&H(r);if(t.preventDefault(),i)return;nt(t,r,\"select-option\"),n&&be.current.setSelectionRange(be.current.value.length,be.current.value.length)}else U&&\"\"!==De&&!1===Ye&&(te&&t.preventDefault(),nt(t,De,\"create-option\",\"freeSolo\"));break;case\"Escape\":Ve?(t.preventDefault(),t.stopPropagation(),Qe(t,\"escape\")):p&&(\"\"!==De||te&&Ae.length>0)&&(t.preventDefault(),t.stopPropagation(),it(t));break;case\"Backspace\":if(te&&\"\"===De&&Ae.length>0){var o=-1===Oe?Ae.length-1:Oe,a=Ae.slice();a.splice(o,1),et(t,a,\"remove-option\",{option:Ae[o]})}}e.onKeyDown&&e.onKeyDown(t)}},at=function(e){Be(!0),ue&&!ye.current&&Je(e)},st=function(e){null===ve.current||document.activeElement!==ve.current.parentElement?(Be(!1),me.current=!0,ye.current=!1,b&&\"\"!==De||(c&&-1!==Ce.current&&Ve?nt(e,qe[Ce.current],\"blur\"):c&&U&&\"\"!==De?nt(e,De,\"blur\",\"freeSolo\"):d&&Fe(e,Ae),Qe(e,\"blur\"))):be.current.focus()},ct=function(e){var t=e.target.value;De!==t&&(Re(t),oe&&oe(e,t,\"input\")),\"\"===t?j||te||et(e,null,\"clear\"):Je(e)},ut=function(e){Ge({event:e,index:Number(e.currentTarget.getAttribute(\"data-option-index\")),reason:\"mouse\"})},lt=function(){tt.current=!0},ft=function(e){var t=Number(e.currentTarget.getAttribute(\"data-option-index\"));nt(e,qe[t],\"select-option\"),tt.current=!1},dt=function(e){return function(t){var n=Ae.slice();n.splice(e,1),et(t,n,\"remove-option\",{option:Ae[e]})}},ht=function(e){He?Qe(e,\"toggleInput\"):Je(e)},pt=function(e){e.target.getAttribute(\"id\")!==pe&&e.preventDefault()},gt=function(){be.current.focus(),de&&me.current&&be.current.selectionEnd-be.current.selectionStart===0&&be.current.select(),me.current=!1},yt=function(e){\"\"!==De&&He||ht(e)},mt=U&&De.length>0;mt=mt||(te?Ae.length>0:null!==Ae);var bt=qe;if($){new Map;bt=qe.reduce((function(e,t,n){var r=$(t);return e.length>0&&e[e.length-1].group===r?e[e.length-1].options.push(t):e.push({key:n,index:n,group:r,options:[t]}),e}),[])}return{getRootProps:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object(o.a)({\"aria-owns\":Ve?\"\".concat(pe,\"-popup\"):null,role:\"combobox\",\"aria-expanded\":Ve},e,{onKeyDown:ot(e),onMouseDown:pt,onClick:gt})},getInputLabelProps:function(){return{id:\"\".concat(pe,\"-label\"),htmlFor:pe}},getInputProps:function(){return{id:pe,value:De,onBlur:st,onFocus:at,onChange:ct,onMouseDown:yt,\"aria-activedescendant\":Ve?\"\":null,\"aria-autocomplete\":n?\"both\":\"list\",\"aria-controls\":Ve?\"\".concat(pe,\"-popup\"):null,autoComplete:\"off\",ref:be,autoCapitalize:\"none\",spellCheck:\"false\"}},getClearProps:function(){return{tabIndex:-1,onClick:it}},getPopupIndicatorProps:function(){return{tabIndex:-1,onClick:ht}},getTagProps:function(e){var t=e.index;return{key:t,\"data-tag-index\":t,tabIndex:-1,onDelete:dt(t)}},getListboxProps:function(){return{role:\"listbox\",id:\"\".concat(pe,\"-popup\"),\"aria-labelledby\":\"\".concat(pe,\"-label\"),ref:Ze,onMouseDown:function(e){e.preventDefault()}}},getOptionProps:function(e){var t=e.index,n=e.option,r=(te?Ae:[Ae]).some((function(e){return null!=e&&q(n,e)})),i=!!H&&H(n);return{key:t,tabIndex:-1,role:\"option\",id:\"\".concat(pe,\"-option-\").concat(t),onMouseOver:ut,onClick:ft,onTouchStart:lt,\"data-option-index\":t,\"aria-disabled\":i,\"aria-selected\":r}},id:pe,inputValue:De,value:Ae,dirty:mt,popupOpen:Ve,focused:Le||-1!==Oe,anchorEl:we,setAnchorEl:_e,focusedTag:Oe,groupedOptions:bt}}function T(e){e.anchorEl,e.open;var t=Object(r.a)(e,[\"anchorEl\",\"open\"]);return a.createElement(\"div\",t)}var j=a.createElement(m,{fontSize:\"small\"}),A=a.createElement(b,null),M=a.forwardRef((function(e,t){e.autoComplete,e.autoHighlight,e.autoSelect,e.blurOnSelect;var n,i=e.ChipProps,c=e.classes,l=e.className,f=e.clearOnBlur,y=(void 0===f&&e.freeSolo,e.clearOnEscape,e.clearText),m=void 0===y?\"Clear\":y,b=e.closeIcon,v=void 0===b?j:b,x=e.closeText,w=void 0===x?\"Close\":x,_=(e.debug,e.defaultValue),k=(void 0===_&&e.multiple,e.disableClearable),O=void 0!==k&&k,E=(e.disableCloseOnSelect,e.disabled),S=void 0!==E&&E,M=(e.disabledItemsFocusable,e.disableListWrap,e.disablePortal),P=void 0!==M&&M,N=(e.filterOptions,e.filterSelectedOptions,e.forcePopupIcon),D=void 0===N?\"auto\":N,R=e.freeSolo,I=void 0!==R&&R,L=e.fullWidth,B=void 0!==L&&L,F=e.getLimitTagsText,z=void 0===F?function(e){return\"+\".concat(e)}:F,U=(e.getOptionDisabled,e.getOptionLabel),H=void 0===U?function(e){return e}:U,W=(e.getOptionSelected,e.groupBy),Y=e.handleHomeEndKeys,V=(void 0===Y&&e.freeSolo,e.id,e.includeInputInList,e.inputValue,e.limitTags),q=void 0===V?-1:V,$=e.ListboxComponent,G=void 0===$?\"ul\":$,X=e.ListboxProps,K=e.loading,Z=void 0!==K&&K,J=e.loadingText,Q=void 0===J?\"Loading\\u2026\":J,ee=e.multiple,te=void 0!==ee&&ee,ne=e.noOptionsText,re=void 0===ne?\"No options\":ne,ie=(e.onChange,e.onClose,e.onHighlightChange,e.onInputChange,e.onOpen,e.open,e.openOnFocus,e.openText),oe=void 0===ie?\"Open\":ie,ae=(e.options,e.PaperComponent),se=void 0===ae?h.a:ae,ce=e.PopperComponent,ue=void 0===ce?u.a:ce,le=e.popupIcon,fe=void 0===le?A:le,de=e.renderGroup,he=e.renderInput,pe=e.renderOption,ge=e.renderTags,ye=e.selectOnFocus,me=(void 0===ye&&e.freeSolo,e.size),be=void 0===me?\"medium\":me,ve=(e.value,Object(r.a)(e,[\"autoComplete\",\"autoHighlight\",\"autoSelect\",\"blurOnSelect\",\"ChipProps\",\"classes\",\"className\",\"clearOnBlur\",\"clearOnEscape\",\"clearText\",\"closeIcon\",\"closeText\",\"debug\",\"defaultValue\",\"disableClearable\",\"disableCloseOnSelect\",\"disabled\",\"disabledItemsFocusable\",\"disableListWrap\",\"disablePortal\",\"filterOptions\",\"filterSelectedOptions\",\"forcePopupIcon\",\"freeSolo\",\"fullWidth\",\"getLimitTagsText\",\"getOptionDisabled\",\"getOptionLabel\",\"getOptionSelected\",\"groupBy\",\"handleHomeEndKeys\",\"id\",\"includeInputInList\",\"inputValue\",\"limitTags\",\"ListboxComponent\",\"ListboxProps\",\"loading\",\"loadingText\",\"multiple\",\"noOptionsText\",\"onChange\",\"onClose\",\"onHighlightChange\",\"onInputChange\",\"onOpen\",\"open\",\"openOnFocus\",\"openText\",\"options\",\"PaperComponent\",\"PopperComponent\",\"popupIcon\",\"renderGroup\",\"renderInput\",\"renderOption\",\"renderTags\",\"selectOnFocus\",\"size\",\"value\"])),xe=P?T:ue,we=C(Object(o.a)({},e,{componentName:\"Autocomplete\"})),_e=we.getRootProps,ke=we.getInputProps,Oe=we.getInputLabelProps,Ee=we.getPopupIndicatorProps,Se=we.getClearProps,Ce=we.getTagProps,Te=we.getListboxProps,je=we.getOptionProps,Ae=we.value,Me=we.dirty,Pe=we.id,Ne=we.popupOpen,De=we.focused,Re=we.focusedTag,Ie=we.anchorEl,Le=we.setAnchorEl,Be=we.inputValue,Fe=we.groupedOptions;if(te&&Ae.length>0){var ze=function(e){return Object(o.a)({className:Object(s.a)(c.tag,\"small\"===be&&c.tagSizeSmall),disabled:S},Ce(e))};n=ge?ge(Ae,ze):Ae.map((function(e,t){return a.createElement(g.a,Object(o.a)({label:H(e),size:be},ze({index:t}),i))}))}if(q>-1&&Array.isArray(n)){var Ue=n.length-q;!De&&Ue>0&&(n=n.splice(0,q)).push(a.createElement(\"span\",{className:c.tag,key:n.length},z(Ue)))}var He=de||function(e){return a.createElement(\"li\",{key:e.key},a.createElement(d,{className:c.groupLabel,component:\"div\"},e.group),a.createElement(\"ul\",{className:c.groupUl},e.children))},We=pe||H,Ye=function(e,t){var n=je({option:e,index:t});return a.createElement(\"li\",Object(o.a)({},n,{className:c.option}),We(e,{selected:n[\"aria-selected\"],inputValue:Be}))},Ve=!O&&!S,qe=(!I||!0===D)&&!1!==D;return a.createElement(a.Fragment,null,a.createElement(\"div\",Object(o.a)({ref:t,className:Object(s.a)(c.root,l,De&&c.focused,B&&c.fullWidth,Ve&&c.hasClearIcon,qe&&c.hasPopupIcon)},_e(ve)),he({id:Pe,disabled:S,fullWidth:!0,size:\"small\"===be?\"small\":void 0,InputLabelProps:Oe(),InputProps:{ref:Le,className:c.inputRoot,startAdornment:n,endAdornment:a.createElement(\"div\",{className:c.endAdornment},Ve?a.createElement(p.a,Object(o.a)({},Se(),{\"aria-label\":m,title:m,className:Object(s.a)(c.clearIndicator,Me&&c.clearIndicatorDirty)}),v):null,qe?a.createElement(p.a,Object(o.a)({},Ee(),{disabled:S,\"aria-label\":Ne?w:oe,title:Ne?w:oe,className:Object(s.a)(c.popupIndicator,Ne&&c.popupIndicatorOpen)}),fe):null)},inputProps:Object(o.a)({className:Object(s.a)(c.input,-1===Re&&c.inputFocused),disabled:S},ke())})),Ne&&Ie?a.createElement(xe,{className:Object(s.a)(c.popper,P&&c.popperDisablePortal),style:{width:Ie?Ie.clientWidth:null},role:\"presentation\",anchorEl:Ie,open:!0},a.createElement(se,{className:c.paper},Z&&0===Fe.length?a.createElement(\"div\",{className:c.loading},Q):null,0!==Fe.length||I||Z?null:a.createElement(\"div\",{className:c.noOptions},re),Fe.length>0?a.createElement(G,Object(o.a)({className:c.listbox},Te(),X),Fe.map((function(e,t){return W?He({key:e.key,group:e.group,children:e.options.map((function(t,n){return Ye(t,e.index+n)}))}):Ye(e,t)}))):null)):null)}));t.a=Object(c.a)((function(e){var t;return{root:{\"&$focused $clearIndicatorDirty\":{visibility:\"visible\"},\"@media (pointer: fine)\":{\"&:hover $clearIndicatorDirty\":{visibility:\"visible\"}}},fullWidth:{width:\"100%\"},focused:{},tag:{margin:3,maxWidth:\"calc(100% - 6px)\"},tagSizeSmall:{margin:2,maxWidth:\"calc(100% - 4px)\"},hasPopupIcon:{},hasClearIcon:{},inputRoot:{flexWrap:\"wrap\",\"$hasPopupIcon &, $hasClearIcon &\":{paddingRight:30},\"$hasPopupIcon$hasClearIcon &\":{paddingRight:56},\"& $input\":{width:0,minWidth:30},'&[class*=\"MuiInput-root\"]':{paddingBottom:1,\"& $input\":{padding:4},\"& $input:first-child\":{padding:\"6px 0\"}},'&[class*=\"MuiInput-root\"][class*=\"MuiInput-marginDense\"]':{\"& $input\":{padding:\"4px 4px 5px\"},\"& $input:first-child\":{padding:\"3px 0 6px\"}},'&[class*=\"MuiOutlinedInput-root\"]':{padding:9,\"$hasPopupIcon &, $hasClearIcon &\":{paddingRight:39},\"$hasPopupIcon$hasClearIcon &\":{paddingRight:65},\"& $input\":{padding:\"9.5px 4px\"},\"& $input:first-child\":{paddingLeft:6},\"& $endAdornment\":{right:9}},'&[class*=\"MuiOutlinedInput-root\"][class*=\"MuiOutlinedInput-marginDense\"]':{padding:6,\"& $input\":{padding:\"4.5px 4px\"}},'&[class*=\"MuiFilledInput-root\"]':{paddingTop:19,paddingLeft:8,\"$hasPopupIcon &, $hasClearIcon &\":{paddingRight:39},\"$hasPopupIcon$hasClearIcon &\":{paddingRight:65},\"& $input\":{padding:\"9px 4px\"},\"& $endAdornment\":{right:9}},'&[class*=\"MuiFilledInput-root\"][class*=\"MuiFilledInput-marginDense\"]':{paddingBottom:1,\"& $input\":{padding:\"4.5px 4px\"}}},input:{flexGrow:1,textOverflow:\"ellipsis\",opacity:0},inputFocused:{opacity:1},endAdornment:{position:\"absolute\",right:0,top:\"calc(50% - 14px)\"},clearIndicator:{marginRight:-2,padding:4,visibility:\"hidden\"},clearIndicatorDirty:{},popupIndicator:{padding:2,marginRight:-2},popupIndicatorOpen:{transform:\"rotate(180deg)\"},popper:{zIndex:e.zIndex.modal},popperDisablePortal:{position:\"absolute\"},paper:Object(o.a)({},e.typography.body1,{overflow:\"hidden\",margin:\"4px 0\"}),listbox:{listStyle:\"none\",margin:0,padding:\"8px 0\",maxHeight:\"40vh\",overflow:\"auto\"},loading:{color:e.palette.text.secondary,padding:\"14px 16px\"},noOptions:{color:e.palette.text.secondary,padding:\"14px 16px\"},option:(t={minHeight:48,display:\"flex\",justifyContent:\"flex-start\",alignItems:\"center\",cursor:\"pointer\",paddingTop:6,boxSizing:\"border-box\",outline:\"0\",WebkitTapHighlightColor:\"transparent\",paddingBottom:6,paddingLeft:16,paddingRight:16},Object(i.a)(t,e.breakpoints.up(\"sm\"),{minHeight:\"auto\"}),Object(i.a)(t,'&[aria-selected=\"true\"]',{backgroundColor:e.palette.action.selected}),Object(i.a)(t,'&[data-focus=\"true\"]',{backgroundColor:e.palette.action.hover}),Object(i.a)(t,\"&:active\",{backgroundColor:e.palette.action.selected}),Object(i.a)(t,'&[aria-disabled=\"true\"]',{opacity:e.palette.action.disabledOpacity,pointerEvents:\"none\"}),t),groupLabel:{backgroundColor:e.palette.background.paper,top:-8},groupUl:{padding:0,\"& $option\":{paddingLeft:24}}}}),{name:\"MuiAutocomplete\"})(M)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(6)),s=n(216),c=n(37),u=Object(c.a)(o.createElement(\"path\",{d:\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"}),\"RadioButtonUnchecked\"),l=Object(c.a)(o.createElement(\"path\",{d:\"M8.465 8.465C9.37 7.56 10.62 7 12 7C14.76 7 17 9.24 17 12C17 13.38 16.44 14.63 15.535 15.535C14.63 16.44 13.38 17 12 17C9.24 17 7 14.76 7 12C7 10.62 7.56 9.37 8.465 8.465Z\"}),\"RadioButtonChecked\"),f=n(8);var d=Object(f.a)((function(e){return{root:{position:\"relative\",display:\"flex\",\"&$checked $layer\":{transform:\"scale(1)\",transition:e.transitions.create(\"transform\",{easing:e.transitions.easing.easeOut,duration:e.transitions.duration.shortest})}},layer:{left:0,position:\"absolute\",transform:\"scale(0)\",transition:e.transitions.create(\"transform\",{easing:e.transitions.easing.easeIn,duration:e.transitions.duration.shortest})},checked:{}}}),{name:\"PrivateRadioButtonIcon\"})((function(e){var t=e.checked,n=e.classes,r=e.fontSize;return o.createElement(\"div\",{className:Object(a.a)(n.root,t&&n.checked)},o.createElement(u,{fontSize:r}),o.createElement(l,{fontSize:r,className:n.layer}))})),h=n(19),p=n(17),g=n(62),y=n(215);var m=o.createElement(d,{checked:!0}),b=o.createElement(d,null),v=o.forwardRef((function(e,t){var n=e.checked,c=e.classes,u=e.color,l=void 0===u?\"secondary\":u,f=e.name,d=e.onChange,h=e.size,v=void 0===h?\"medium\":h,x=Object(i.a)(e,[\"checked\",\"classes\",\"color\",\"name\",\"onChange\",\"size\"]),w=o.useContext(y.a),_=n,k=Object(g.a)(d,w&&w.onChange),O=f;return w&&(\"undefined\"===typeof _&&(_=w.value===e.value),\"undefined\"===typeof O&&(O=w.name)),o.createElement(s.a,Object(r.a)({color:l,type:\"radio\",icon:o.cloneElement(b,{fontSize:\"small\"===v?\"small\":\"default\"}),checkedIcon:o.cloneElement(m,{fontSize:\"small\"===v?\"small\":\"default\"}),classes:{root:Object(a.a)(c.root,c[\"color\".concat(Object(p.a)(l))]),checked:c.checked,disabled:c.disabled},name:O,checked:_,onChange:k,ref:t},x))}));t.a=Object(f.a)((function(e){return{root:{color:e.palette.text.secondary},checked:{},disabled:{},colorPrimary:{\"&$checked\":{color:e.palette.primary.main,\"&:hover\":{backgroundColor:Object(h.c)(e.palette.primary.main,e.palette.action.hoverOpacity),\"@media (hover: none)\":{backgroundColor:\"transparent\"}}},\"&$disabled\":{color:e.palette.action.disabled}},colorSecondary:{\"&$checked\":{color:e.palette.secondary.main,\"&:hover\":{backgroundColor:Object(h.c)(e.palette.secondary.main,e.palette.action.hoverOpacity),\"@media (hover: none)\":{backgroundColor:\"transparent\"}}},\"&$disabled\":{color:e.palette.action.disabled}}}}),{name:\"MuiRadio\"})(v)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(6)),s=n(216),c=n(37),u=Object(c.a)(o.createElement(\"path\",{d:\"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"}),\"CheckBoxOutlineBlank\"),l=Object(c.a)(o.createElement(\"path\",{d:\"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"}),\"CheckBox\"),f=n(19),d=Object(c.a)(o.createElement(\"path\",{d:\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z\"}),\"IndeterminateCheckBox\"),h=n(17),p=n(8),g=o.createElement(l,null),y=o.createElement(u,null),m=o.createElement(d,null),b=o.forwardRef((function(e,t){var n=e.checkedIcon,c=void 0===n?g:n,u=e.classes,l=e.color,f=void 0===l?\"secondary\":l,d=e.icon,p=void 0===d?y:d,b=e.indeterminate,v=void 0!==b&&b,x=e.indeterminateIcon,w=void 0===x?m:x,_=e.inputProps,k=e.size,O=void 0===k?\"medium\":k,E=Object(i.a)(e,[\"checkedIcon\",\"classes\",\"color\",\"icon\",\"indeterminate\",\"indeterminateIcon\",\"inputProps\",\"size\"]),S=v?w:p,C=v?w:c;return o.createElement(s.a,Object(r.a)({type:\"checkbox\",classes:{root:Object(a.a)(u.root,u[\"color\".concat(Object(h.a)(f))],v&&u.indeterminate),checked:u.checked,disabled:u.disabled},color:f,inputProps:Object(r.a)({\"data-indeterminate\":v},_),icon:o.cloneElement(S,{fontSize:void 0===S.props.fontSize&&\"small\"===O?O:S.props.fontSize}),checkedIcon:o.cloneElement(C,{fontSize:void 0===C.props.fontSize&&\"small\"===O?O:C.props.fontSize}),ref:t},E))}));t.a=Object(p.a)((function(e){return{root:{color:e.palette.text.secondary},checked:{},disabled:{},indeterminate:{},colorPrimary:{\"&$checked\":{color:e.palette.primary.main,\"&:hover\":{backgroundColor:Object(f.c)(e.palette.primary.main,e.palette.action.hoverOpacity),\"@media (hover: none)\":{backgroundColor:\"transparent\"}}},\"&$disabled\":{color:e.palette.action.disabled}},colorSecondary:{\"&$checked\":{color:e.palette.secondary.main,\"&:hover\":{backgroundColor:Object(f.c)(e.palette.secondary.main,e.palette.action.hoverOpacity),\"@media (hover: none)\":{backgroundColor:\"transparent\"}}},\"&$disabled\":{color:e.palette.action.disabled}}}}),{name:\"MuiCheckbox\"})(b)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(18),a=n(0),s=(n(1),n(6)),c=n(8),u=n(17),l=n(711),f=n(32),d=n(713),h=n(74),p=n(52),g=n(109),y=n(22),m={entering:{opacity:1},entered:{opacity:1}},b={enter:h.b.enteringScreen,exit:h.b.leavingScreen},v=a.forwardRef((function(e,t){var n=e.children,o=e.disableStrictModeCompat,s=void 0!==o&&o,c=e.in,u=e.onEnter,l=e.onEntered,h=e.onEntering,v=e.onExit,x=e.onExited,w=e.onExiting,_=e.style,k=e.TransitionComponent,O=void 0===k?d.a:k,E=e.timeout,S=void 0===E?b:E,C=Object(i.a)(e,[\"children\",\"disableStrictModeCompat\",\"in\",\"onEnter\",\"onEntered\",\"onEntering\",\"onExit\",\"onExited\",\"onExiting\",\"style\",\"TransitionComponent\",\"timeout\"]),T=Object(p.a)(),j=T.unstable_strictMode&&!s,A=a.useRef(null),M=Object(y.a)(n.ref,t),P=Object(y.a)(j?A:void 0,M),N=function(e){return function(t,n){if(e){var r=j?[A.current,t]:[t,n],i=Object(f.a)(r,2),o=i[0],a=i[1];void 0===a?e(o):e(o,a)}}},D=N(h),R=N((function(e,t){Object(g.b)(e);var n=Object(g.a)({style:_,timeout:S},{mode:\"enter\"});e.style.webkitTransition=T.transitions.create(\"opacity\",n),e.style.transition=T.transitions.create(\"opacity\",n),u&&u(e,t)})),I=N(l),L=N(w),B=N((function(e){var t=Object(g.a)({style:_,timeout:S},{mode:\"exit\"});e.style.webkitTransition=T.transitions.create(\"opacity\",t),e.style.transition=T.transitions.create(\"opacity\",t),v&&v(e)})),F=N(x);return a.createElement(O,Object(r.a)({appear:!0,in:c,nodeRef:j?A:void 0,onEnter:R,onEntered:I,onEntering:D,onExit:B,onExited:F,onExiting:L,timeout:S},C),(function(e,t){return a.cloneElement(n,Object(r.a)({style:Object(r.a)({opacity:0,visibility:\"exited\"!==e||c?void 0:\"hidden\"},m[e],_,n.props.style),ref:P},t))}))})),x=a.forwardRef((function(e,t){var n=e.children,o=e.classes,c=e.className,u=e.invisible,l=void 0!==u&&u,f=e.open,d=e.transitionDuration,h=e.TransitionComponent,p=void 0===h?v:h,g=Object(i.a)(e,[\"children\",\"classes\",\"className\",\"invisible\",\"open\",\"transitionDuration\",\"TransitionComponent\"]);return a.createElement(p,Object(r.a)({in:f,timeout:d},g),a.createElement(\"div\",{className:Object(s.a)(o.root,c,l&&o.invisible),\"aria-hidden\":!0,ref:t},n))})),w=Object(c.a)({root:{zIndex:-1,position:\"fixed\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",right:0,bottom:0,top:0,left:0,backgroundColor:\"rgba(0, 0, 0, 0.5)\",WebkitTapHighlightColor:\"transparent\"},invisible:{backgroundColor:\"transparent\"}},{name:\"MuiBackdrop\"})(x),_=n(267),k={enter:h.b.enteringScreen,exit:h.b.leavingScreen},O=a.forwardRef((function(e,t){var n=e.BackdropProps,o=e.children,c=e.classes,f=e.className,d=e.disableBackdropClick,h=void 0!==d&&d,p=e.disableEscapeKeyDown,g=void 0!==p&&p,y=e.fullScreen,m=void 0!==y&&y,b=e.fullWidth,x=void 0!==b&&b,O=e.maxWidth,E=void 0===O?\"sm\":O,S=e.onBackdropClick,C=e.onClose,T=e.onEnter,j=e.onEntered,A=e.onEntering,M=e.onEscapeKeyDown,P=e.onExit,N=e.onExited,D=e.onExiting,R=e.open,I=e.PaperComponent,L=void 0===I?_.a:I,B=e.PaperProps,F=void 0===B?{}:B,z=e.scroll,U=void 0===z?\"paper\":z,H=e.TransitionComponent,W=void 0===H?v:H,Y=e.transitionDuration,V=void 0===Y?k:Y,q=e.TransitionProps,$=e[\"aria-describedby\"],G=e[\"aria-labelledby\"],X=Object(i.a)(e,[\"BackdropProps\",\"children\",\"classes\",\"className\",\"disableBackdropClick\",\"disableEscapeKeyDown\",\"fullScreen\",\"fullWidth\",\"maxWidth\",\"onBackdropClick\",\"onClose\",\"onEnter\",\"onEntered\",\"onEntering\",\"onEscapeKeyDown\",\"onExit\",\"onExited\",\"onExiting\",\"open\",\"PaperComponent\",\"PaperProps\",\"scroll\",\"TransitionComponent\",\"transitionDuration\",\"TransitionProps\",\"aria-describedby\",\"aria-labelledby\"]),K=a.useRef();return a.createElement(l.a,Object(r.a)({className:Object(s.a)(c.root,f),BackdropComponent:w,BackdropProps:Object(r.a)({transitionDuration:V},n),closeAfterTransition:!0,disableBackdropClick:h,disableEscapeKeyDown:g,onEscapeKeyDown:M,onClose:C,open:R,ref:t},X),a.createElement(W,Object(r.a)({appear:!0,in:R,timeout:V,onEnter:T,onEntering:A,onEntered:j,onExit:P,onExiting:D,onExited:N,role:\"none presentation\"},q),a.createElement(\"div\",{className:Object(s.a)(c.container,c[\"scroll\".concat(Object(u.a)(U))]),onMouseUp:function(e){e.target===e.currentTarget&&e.target===K.current&&(K.current=null,S&&S(e),!h&&C&&C(e,\"backdropClick\"))},onMouseDown:function(e){K.current=e.target}},a.createElement(L,Object(r.a)({elevation:24,role:\"dialog\",\"aria-describedby\":$,\"aria-labelledby\":G},F,{className:Object(s.a)(c.paper,c[\"paperScroll\".concat(Object(u.a)(U))],c[\"paperWidth\".concat(Object(u.a)(String(E)))],F.className,m&&c.paperFullScreen,x&&c.paperFullWidth)}),o))))}));t.a=Object(c.a)((function(e){return{root:{\"@media print\":{position:\"absolute !important\"}},scrollPaper:{display:\"flex\",justifyContent:\"center\",alignItems:\"center\"},scrollBody:{overflowY:\"auto\",overflowX:\"hidden\",textAlign:\"center\",\"&:after\":{content:'\"\"',display:\"inline-block\",verticalAlign:\"middle\",height:\"100%\",width:\"0\"}},container:{height:\"100%\",\"@media print\":{height:\"auto\"},outline:0},paper:{margin:32,position:\"relative\",overflowY:\"auto\",\"@media print\":{overflowY:\"visible\",boxShadow:\"none\"}},paperScrollPaper:{display:\"flex\",flexDirection:\"column\",maxHeight:\"calc(100% - 64px)\"},paperScrollBody:{display:\"inline-block\",verticalAlign:\"middle\",textAlign:\"left\"},paperWidthFalse:{maxWidth:\"calc(100% - 64px)\"},paperWidthXs:{maxWidth:Math.max(e.breakpoints.values.xs,444),\"&$paperScrollBody\":Object(o.a)({},e.breakpoints.down(Math.max(e.breakpoints.values.xs,444)+64),{maxWidth:\"calc(100% - 64px)\"})},paperWidthSm:{maxWidth:e.breakpoints.values.sm,\"&$paperScrollBody\":Object(o.a)({},e.breakpoints.down(e.breakpoints.values.sm+64),{maxWidth:\"calc(100% - 64px)\"})},paperWidthMd:{maxWidth:e.breakpoints.values.md,\"&$paperScrollBody\":Object(o.a)({},e.breakpoints.down(e.breakpoints.values.md+64),{maxWidth:\"calc(100% - 64px)\"})},paperWidthLg:{maxWidth:e.breakpoints.values.lg,\"&$paperScrollBody\":Object(o.a)({},e.breakpoints.down(e.breakpoints.values.lg+64),{maxWidth:\"calc(100% - 64px)\"})},paperWidthXl:{maxWidth:e.breakpoints.values.xl,\"&$paperScrollBody\":Object(o.a)({},e.breakpoints.down(e.breakpoints.values.xl+64),{maxWidth:\"calc(100% - 64px)\"})},paperFullWidth:{width:\"calc(100% - 64px)\"},paperFullScreen:{margin:0,width:\"100%\",maxWidth:\"100%\",height:\"100%\",maxHeight:\"none\",borderRadius:0,\"&$paperScrollBody\":{margin:0,maxWidth:\"100%\"}}}}),{name:\"MuiDialog\"})(O)},function(e,t,n){\"use strict\";var r=n(3),i=n(61),o=n(7),a=n(0),s=(n(128),n(1),n(6)),c=n(8),u=n(111),l=n(19),f=n(37),d=Object(f.a)(a.createElement(\"path\",{d:\"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\"}),\"MoreHoriz\"),h=n(224);var p=Object(c.a)((function(e){return{root:{display:\"flex\",marginLeft:e.spacing(.5),marginRight:e.spacing(.5),backgroundColor:e.palette.grey[100],color:e.palette.grey[700],borderRadius:2,cursor:\"pointer\",\"&:hover, &:focus\":{backgroundColor:e.palette.grey[200]},\"&:active\":{boxShadow:e.shadows[0],backgroundColor:Object(l.b)(e.palette.grey[200],.12)}},icon:{width:24,height:16}}}),{name:\"PrivateBreadcrumbCollapsed\"})((function(e){var t=e.classes,n=Object(o.a)(e,[\"classes\"]);return a.createElement(h.a,Object(r.a)({component:\"li\",className:t.root,focusRipple:!0},n),a.createElement(d,{className:t.icon}))}));var g=a.forwardRef((function(e,t){var n=e.children,c=e.classes,l=e.className,f=e.component,d=void 0===f?\"nav\":f,h=e.expandText,g=void 0===h?\"Show path\":h,y=e.itemsAfterCollapse,m=void 0===y?1:y,b=e.itemsBeforeCollapse,v=void 0===b?1:b,x=e.maxItems,w=void 0===x?8:x,_=e.separator,k=void 0===_?\"/\":_,O=Object(o.a)(e,[\"children\",\"classes\",\"className\",\"component\",\"expandText\",\"itemsAfterCollapse\",\"itemsBeforeCollapse\",\"maxItems\",\"separator\"]),E=a.useState(!1),S=E[0],C=E[1],T=a.Children.toArray(n).filter((function(e){return a.isValidElement(e)})).map((function(e,t){return a.createElement(\"li\",{className:c.li,key:\"child-\".concat(t)},e)}));return a.createElement(u.a,Object(r.a)({ref:t,component:d,color:\"textSecondary\",className:Object(s.a)(c.root,l)},O),a.createElement(\"ol\",{className:c.ol},function(e,t,n){return e.reduce((function(r,i,o){return o<e.length-1?r=r.concat(i,a.createElement(\"li\",{\"aria-hidden\":!0,key:\"separator-\".concat(o),className:t},n)):r.push(i),r}),[])}(S||w&&T.length<=w?T:function(e){return v+m>=e.length?e:[].concat(Object(i.a)(e.slice(0,v)),[a.createElement(p,{\"aria-label\":g,key:\"ellipsis\",onClick:function(e){C(!0);var t=e.currentTarget.parentNode.querySelector(\"a[href],button,[tabindex]\");t&&t.focus()}})],Object(i.a)(e.slice(e.length-m,e.length)))}(T),c.separator,k)))}));t.a=Object(c.a)({root:{},ol:{display:\"flex\",flexWrap:\"wrap\",alignItems:\"center\",padding:0,margin:0,listStyle:\"none\"},li:{},separator:{display:\"flex\",userSelect:\"none\",marginLeft:8,marginRight:8}},{name:\"MuiBreadcrumbs\"})(g)},function(e,t,n){\"use strict\";var r=n(7),i=n(18),o=n(3),a=n(0),s=(n(1),n(6)),c=n(8),u=n(74),l=n(25),f=n(40),d=n(22),h=n(42);function p(e){return e.substring(2).toLowerCase()}var g=function(e){var t=e.children,n=e.disableReactTree,r=void 0!==n&&n,i=e.mouseEvent,o=void 0===i?\"onClick\":i,s=e.onClickAway,c=e.touchEvent,u=void 0===c?\"onTouchEnd\":c,g=a.useRef(!1),y=a.useRef(null),m=a.useRef(!1),b=a.useRef(!1);a.useEffect((function(){return setTimeout((function(){m.current=!0}),0),function(){m.current=!1}}),[]);var v=a.useCallback((function(e){y.current=l.findDOMNode(e)}),[]),x=Object(d.a)(t.ref,v),w=Object(h.a)((function(e){var t=b.current;if(b.current=!1,m.current&&y.current&&!function(e){return document.documentElement.clientWidth<e.clientX||document.documentElement.clientHeight<e.clientY}(e))if(g.current)g.current=!1;else{var n;if(e.composedPath)n=e.composedPath().indexOf(y.current)>-1;else n=!Object(f.a)(y.current).documentElement.contains(e.target)||y.current.contains(e.target);n||!r&&t||s(e)}})),_=function(e){return function(n){b.current=!0;var r=t.props[e];r&&r(n)}},k={ref:x};return!1!==u&&(k[u]=_(u)),a.useEffect((function(){if(!1!==u){var e=p(u),t=Object(f.a)(y.current),n=function(){g.current=!0};return t.addEventListener(e,w),t.addEventListener(\"touchmove\",n),function(){t.removeEventListener(e,w),t.removeEventListener(\"touchmove\",n)}}}),[w,u]),!1!==o&&(k[o]=_(o)),a.useEffect((function(){if(!1!==o){var e=p(o),t=Object(f.a)(y.current);return t.addEventListener(e,w),function(){t.removeEventListener(e,w)}}}),[w,o]),a.createElement(a.Fragment,null,a.cloneElement(t,k))},y=n(17),m=n(62),b=n(397),v=n(762),x=a.forwardRef((function(e,t){var n=e.action,i=e.anchorOrigin,c=(i=void 0===i?{vertical:\"bottom\",horizontal:\"center\"}:i).vertical,l=i.horizontal,f=e.autoHideDuration,d=void 0===f?null:f,p=e.children,x=e.classes,w=e.className,_=e.ClickAwayListenerProps,k=e.ContentProps,O=e.disableWindowBlurListener,E=void 0!==O&&O,S=e.message,C=e.onClose,T=e.onEnter,j=e.onEntered,A=e.onEntering,M=e.onExit,P=e.onExited,N=e.onExiting,D=e.onMouseEnter,R=e.onMouseLeave,I=e.open,L=e.resumeHideDuration,B=e.TransitionComponent,F=void 0===B?b.a:B,z=e.transitionDuration,U=void 0===z?{enter:u.b.enteringScreen,exit:u.b.leavingScreen}:z,H=e.TransitionProps,W=Object(r.a)(e,[\"action\",\"anchorOrigin\",\"autoHideDuration\",\"children\",\"classes\",\"className\",\"ClickAwayListenerProps\",\"ContentProps\",\"disableWindowBlurListener\",\"message\",\"onClose\",\"onEnter\",\"onEntered\",\"onEntering\",\"onExit\",\"onExited\",\"onExiting\",\"onMouseEnter\",\"onMouseLeave\",\"open\",\"resumeHideDuration\",\"TransitionComponent\",\"transitionDuration\",\"TransitionProps\"]),Y=a.useRef(),V=a.useState(!0),q=V[0],$=V[1],G=Object(h.a)((function(){C&&C.apply(void 0,arguments)})),X=Object(h.a)((function(e){C&&null!=e&&(clearTimeout(Y.current),Y.current=setTimeout((function(){G(null,\"timeout\")}),e))}));a.useEffect((function(){return I&&X(d),function(){clearTimeout(Y.current)}}),[I,d,X]);var K=function(){clearTimeout(Y.current)},Z=a.useCallback((function(){null!=d&&X(null!=L?L:.5*d)}),[d,L,X]);return a.useEffect((function(){if(!E&&I)return window.addEventListener(\"focus\",Z),window.addEventListener(\"blur\",K),function(){window.removeEventListener(\"focus\",Z),window.removeEventListener(\"blur\",K)}}),[E,Z,I]),!I&&q?null:a.createElement(g,Object(o.a)({onClickAway:function(e){C&&C(e,\"clickaway\")}},_),a.createElement(\"div\",Object(o.a)({className:Object(s.a)(x.root,x[\"anchorOrigin\".concat(Object(y.a)(c)).concat(Object(y.a)(l))],w),onMouseEnter:function(e){D&&D(e),K()},onMouseLeave:function(e){R&&R(e),Z()},ref:t},W),a.createElement(F,Object(o.a)({appear:!0,in:I,onEnter:Object(m.a)((function(){$(!1)}),T),onEntered:j,onEntering:A,onExit:M,onExited:Object(m.a)((function(){$(!0)}),P),onExiting:N,timeout:U,direction:\"top\"===c?\"down\":\"up\"},H),p||a.createElement(v.a,Object(o.a)({message:S,action:n},k)))))}));t.a=Object(c.a)((function(e){var t={top:8},n={bottom:8},r={justifyContent:\"flex-end\"},a={justifyContent:\"flex-start\"},s={top:24},c={bottom:24},u={right:24},l={left:24},f={left:\"50%\",right:\"auto\",transform:\"translateX(-50%)\"};return{root:{zIndex:e.zIndex.snackbar,position:\"fixed\",display:\"flex\",left:8,right:8,justifyContent:\"center\",alignItems:\"center\"},anchorOriginTopCenter:Object(o.a)({},t,Object(i.a)({},e.breakpoints.up(\"sm\"),Object(o.a)({},s,f))),anchorOriginBottomCenter:Object(o.a)({},n,Object(i.a)({},e.breakpoints.up(\"sm\"),Object(o.a)({},c,f))),anchorOriginTopRight:Object(o.a)({},t,r,Object(i.a)({},e.breakpoints.up(\"sm\"),Object(o.a)({left:\"auto\"},s,u))),anchorOriginBottomRight:Object(o.a)({},n,r,Object(i.a)({},e.breakpoints.up(\"sm\"),Object(o.a)({left:\"auto\"},c,u))),anchorOriginTopLeft:Object(o.a)({},t,a,Object(i.a)({},e.breakpoints.up(\"sm\"),Object(o.a)({right:\"auto\"},s,l))),anchorOriginBottomLeft:Object(o.a)({},n,a,Object(i.a)({},e.breakpoints.up(\"sm\"),Object(o.a)({right:\"auto\"},c,l)))}}),{flip:!1,name:\"MuiSnackbar\"})(x)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(6)),s=n(37),c=Object(s.a)(o.createElement(\"path\",{d:\"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z\"}),\"ArrowDownward\"),u=n(8),l=n(224),f=n(17),d=o.forwardRef((function(e,t){var n=e.active,s=void 0!==n&&n,u=e.children,d=e.classes,h=e.className,p=e.direction,g=void 0===p?\"asc\":p,y=e.hideSortIcon,m=void 0!==y&&y,b=e.IconComponent,v=void 0===b?c:b,x=Object(i.a)(e,[\"active\",\"children\",\"classes\",\"className\",\"direction\",\"hideSortIcon\",\"IconComponent\"]);return o.createElement(l.a,Object(r.a)({className:Object(a.a)(d.root,h,s&&d.active),component:\"span\",disableRipple:!0,ref:t},x),u,m&&!s?null:o.createElement(v,{className:Object(a.a)(d.icon,d[\"iconDirection\".concat(Object(f.a)(g))])}))}));t.a=Object(u.a)((function(e){return{root:{cursor:\"pointer\",display:\"inline-flex\",justifyContent:\"flex-start\",flexDirection:\"inherit\",alignItems:\"center\",\"&:focus\":{color:e.palette.text.secondary},\"&:hover\":{color:e.palette.text.secondary,\"& $icon\":{opacity:.5}},\"&$active\":{color:e.palette.text.primary,\"&& $icon\":{opacity:1,color:e.palette.text.secondary}}},active:{},icon:{fontSize:18,marginRight:4,marginLeft:4,opacity:0,transition:e.transitions.create([\"opacity\",\"transform\"],{duration:e.transitions.duration.shorter}),userSelect:\"none\"},iconDirectionDesc:{transform:\"rotate(0deg)\"},iconDirectionAsc:{transform:\"rotate(180deg)\"}}}),{name:\"MuiTableSortLabel\"})(d)},function(e,t,n){\"use strict\";var r=n(3),i=n(7),o=n(0),a=(n(1),n(6)),s=n(37),c=Object(s.a)(o.createElement(\"path\",{d:\"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z\"}),\"Cancel\"),u=n(8),l=n(19),f=n(22),d=n(17),h=n(224);function p(e){return\"Backspace\"===e.key||\"Delete\"===e.key}var g=o.forwardRef((function(e,t){var n=e.avatar,s=e.classes,u=e.className,l=e.clickable,g=e.color,y=void 0===g?\"default\":g,m=e.component,b=e.deleteIcon,v=e.disabled,x=void 0!==v&&v,w=e.icon,_=e.label,k=e.onClick,O=e.onDelete,E=e.onKeyDown,S=e.onKeyUp,C=e.size,T=void 0===C?\"medium\":C,j=e.variant,A=void 0===j?\"default\":j,M=Object(i.a)(e,[\"avatar\",\"classes\",\"className\",\"clickable\",\"color\",\"component\",\"deleteIcon\",\"disabled\",\"icon\",\"label\",\"onClick\",\"onDelete\",\"onKeyDown\",\"onKeyUp\",\"size\",\"variant\"]),P=o.useRef(null),N=Object(f.a)(P,t),D=function(e){e.stopPropagation(),O&&O(e)},R=!(!1===l||!k)||l,I=\"small\"===T,L=m||(R?h.a:\"div\"),B=L===h.a?{component:\"div\"}:{},F=null;if(O){var z=Object(a.a)(\"default\"!==y&&(\"default\"===A?s[\"deleteIconColor\".concat(Object(d.a)(y))]:s[\"deleteIconOutlinedColor\".concat(Object(d.a)(y))]),I&&s.deleteIconSmall);F=b&&o.isValidElement(b)?o.cloneElement(b,{className:Object(a.a)(b.props.className,s.deleteIcon,z),onClick:D}):o.createElement(c,{className:Object(a.a)(s.deleteIcon,z),onClick:D})}var U=null;n&&o.isValidElement(n)&&(U=o.cloneElement(n,{className:Object(a.a)(s.avatar,n.props.className,I&&s.avatarSmall,\"default\"!==y&&s[\"avatarColor\".concat(Object(d.a)(y))])}));var H=null;return w&&o.isValidElement(w)&&(H=o.cloneElement(w,{className:Object(a.a)(s.icon,w.props.className,I&&s.iconSmall,\"default\"!==y&&s[\"iconColor\".concat(Object(d.a)(y))])})),o.createElement(L,Object(r.a)({role:R||O?\"button\":void 0,className:Object(a.a)(s.root,u,\"default\"!==y&&[s[\"color\".concat(Object(d.a)(y))],R&&s[\"clickableColor\".concat(Object(d.a)(y))],O&&s[\"deletableColor\".concat(Object(d.a)(y))]],\"default\"!==A&&[s.outlined,{primary:s.outlinedPrimary,secondary:s.outlinedSecondary}[y]],x&&s.disabled,I&&s.sizeSmall,R&&s.clickable,O&&s.deletable),\"aria-disabled\":!!x||void 0,tabIndex:R||O?0:void 0,onClick:k,onKeyDown:function(e){e.currentTarget===e.target&&p(e)&&e.preventDefault(),E&&E(e)},onKeyUp:function(e){e.currentTarget===e.target&&(O&&p(e)?O(e):\"Escape\"===e.key&&P.current&&P.current.blur()),S&&S(e)},ref:N},B,M),U||H,o.createElement(\"span\",{className:Object(a.a)(s.label,I&&s.labelSmall)},_),F)}));t.a=Object(u.a)((function(e){var t=\"light\"===e.palette.type?e.palette.grey[300]:e.palette.grey[700],n=Object(l.c)(e.palette.text.primary,.26);return{root:{fontFamily:e.typography.fontFamily,fontSize:e.typography.pxToRem(13),display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",height:32,color:e.palette.getContrastText(t),backgroundColor:t,borderRadius:16,whiteSpace:\"nowrap\",transition:e.transitions.create([\"background-color\",\"box-shadow\"]),cursor:\"default\",outline:0,textDecoration:\"none\",border:\"none\",padding:0,verticalAlign:\"middle\",boxSizing:\"border-box\",\"&$disabled\":{opacity:.5,pointerEvents:\"none\"},\"& $avatar\":{marginLeft:5,marginRight:-6,width:24,height:24,color:\"light\"===e.palette.type?e.palette.grey[700]:e.palette.grey[300],fontSize:e.typography.pxToRem(12)},\"& $avatarColorPrimary\":{color:e.palette.primary.contrastText,backgroundColor:e.palette.primary.dark},\"& $avatarColorSecondary\":{color:e.palette.secondary.contrastText,backgroundColor:e.palette.secondary.dark},\"& $avatarSmall\":{marginLeft:4,marginRight:-4,width:18,height:18,fontSize:e.typography.pxToRem(10)}},sizeSmall:{height:24},colorPrimary:{backgroundColor:e.palette.primary.main,color:e.palette.primary.contrastText},colorSecondary:{backgroundColor:e.palette.secondary.main,color:e.palette.secondary.contrastText},disabled:{},clickable:{userSelect:\"none\",WebkitTapHighlightColor:\"transparent\",cursor:\"pointer\",\"&:hover, &:focus\":{backgroundColor:Object(l.b)(t,.08)},\"&:active\":{boxShadow:e.shadows[1]}},clickableColorPrimary:{\"&:hover, &:focus\":{backgroundColor:Object(l.b)(e.palette.primary.main,.08)}},clickableColorSecondary:{\"&:hover, &:focus\":{backgroundColor:Object(l.b)(e.palette.secondary.main,.08)}},deletable:{\"&:focus\":{backgroundColor:Object(l.b)(t,.08)}},deletableColorPrimary:{\"&:focus\":{backgroundColor:Object(l.b)(e.palette.primary.main,.2)}},deletableColorSecondary:{\"&:focus\":{backgroundColor:Object(l.b)(e.palette.secondary.main,.2)}},outlined:{backgroundColor:\"transparent\",border:\"1px solid \".concat(\"light\"===e.palette.type?\"rgba(0, 0, 0, 0.23)\":\"rgba(255, 255, 255, 0.23)\"),\"$clickable&:hover, $clickable&:focus, $deletable&:focus\":{backgroundColor:Object(l.c)(e.palette.text.primary,e.palette.action.hoverOpacity)},\"& $avatar\":{marginLeft:4},\"& $avatarSmall\":{marginLeft:2},\"& $icon\":{marginLeft:4},\"& $iconSmall\":{marginLeft:2},\"& $deleteIcon\":{marginRight:5},\"& $deleteIconSmall\":{marginRight:3}},outlinedPrimary:{color:e.palette.primary.main,border:\"1px solid \".concat(e.palette.primary.main),\"$clickable&:hover, $clickable&:focus, $deletable&:focus\":{backgroundColor:Object(l.c)(e.palette.primary.main,e.palette.action.hoverOpacity)}},outlinedSecondary:{color:e.palette.secondary.main,border:\"1px solid \".concat(e.palette.secondary.main),\"$clickable&:hover, $clickable&:focus, $deletable&:focus\":{backgroundColor:Object(l.c)(e.palette.secondary.main,e.palette.action.hoverOpacity)}},avatar:{},avatarSmall:{},avatarColorPrimary:{},avatarColorSecondary:{},icon:{color:\"light\"===e.palette.type?e.palette.grey[700]:e.palette.grey[300],marginLeft:5,marginRight:-6},iconSmall:{width:18,height:18,marginLeft:4,marginRight:-4},iconColorPrimary:{color:\"inherit\"},iconColorSecondary:{color:\"inherit\"},label:{overflow:\"hidden\",textOverflow:\"ellipsis\",paddingLeft:12,paddingRight:12,whiteSpace:\"nowrap\"},labelSmall:{paddingLeft:8,paddingRight:8},deleteIcon:{WebkitTapHighlightColor:\"transparent\",color:n,height:22,width:22,cursor:\"pointer\",margin:\"0 5px 0 -6px\",\"&:hover\":{color:Object(l.c)(n,.4)}},deleteIconSmall:{height:16,width:16,marginRight:4,marginLeft:-4},deleteIconColorPrimary:{color:Object(l.c)(e.palette.primary.contrastText,.7),\"&:hover, &:active\":{color:e.palette.primary.contrastText}},deleteIconColorSecondary:{color:Object(l.c)(e.palette.secondary.contrastText,.7),\"&:hover, &:active\":{color:e.palette.secondary.contrastText}},deleteIconOutlinedColorPrimary:{color:Object(l.c)(e.palette.primary.main,.7),\"&:hover, &:active\":{color:e.palette.primary.main}},deleteIconOutlinedColorSecondary:{color:Object(l.c)(e.palette.secondary.main,.7),\"&:hover, &:active\":{color:e.palette.secondary.main}}}}),{name:\"MuiChip\"})(g)},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return f}));var r=n(32),i=n(207),o=n(100);var a={m:\"margin\",p:\"padding\"},s={t:\"Top\",r:\"Right\",b:\"Bottom\",l:\"Left\",x:[\"Left\",\"Right\"],y:[\"Top\",\"Bottom\"]},c={marginX:\"mx\",marginY:\"my\",paddingX:\"px\",paddingY:\"py\"},u=function(e){var t={};return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}((function(e){if(e.length>2){if(!c[e])return[e];e=c[e]}var t=e.split(\"\"),n=Object(r.a)(t,2),i=n[0],o=n[1],u=a[i],l=s[o]||\"\";return Array.isArray(l)?l.map((function(e){return u+e})):[u+l]})),l=[\"m\",\"mt\",\"mr\",\"mb\",\"ml\",\"mx\",\"my\",\"p\",\"pt\",\"pr\",\"pb\",\"pl\",\"px\",\"py\",\"margin\",\"marginTop\",\"marginRight\",\"marginBottom\",\"marginLeft\",\"marginX\",\"marginY\",\"padding\",\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\",\"paddingX\",\"paddingY\"];function f(e){var t=e.spacing||8;return\"number\"===typeof t?function(e){return t*e}:Array.isArray(t)?function(e){return t[e]}:\"function\"===typeof t?t:function(){}}function d(e,t){return function(n){return e.reduce((function(e,r){return e[r]=function(e,t){if(\"string\"===typeof t)return t;var n=e(Math.abs(t));return t>=0?n:\"number\"===typeof n?-n:\"-\".concat(n)}(t,n),e}),{})}}function h(e){var t=f(e.theme);return Object.keys(e).map((function(n){if(-1===l.indexOf(n))return null;var r=d(u(n),t),o=e[n];return Object(i.a)(e,o,r)})).reduce(o.a,{})}h.propTypes={},h.filterProps=l;t.b=h}]]);\n//# sourceMappingURL=2.7e622828.chunk.js.map"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/DfmStatics/static/js/2.7e622828.chunk.js.LICENSE.txt",
    "content": "/*\n *          __        ___\n *    _____/ /___  __/ (_)____\n *   / ___/ __/ / / / / / ___/\n *  (__  ) /_/ /_/ / / (__  )\n * /____/\\__/\\__, /_/_/____/\n *          /____/\n *\n * light - weight css preprocessor @licence MIT\n */\n\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n/*!\n           * Wait for document loaded before starting the execution\n           */\n\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n/*! ../../config */\n\n/*! ../../dagre-wrapper/index.js */\n\n/*! ../../logger */\n\n/*! ../../mermaidAPI */\n\n/*! ../../utils */\n\n/*! ../common/common */\n\n/*! ../config */\n\n/*! ../createLabel */\n\n/*! ../diagrams/class/svgDraw */\n\n/*! ../intersect/index.js */\n\n/*! ../logger */\n\n/*! ../package.json */\n\n/*! ../utils */\n\n/*! ./../../../../node_modules/process/browser.js */\n\n/*! ./../../../../node_modules/webpack/buildin/module.js */\n\n/*! ./../process/browser.js */\n\n/*! ./classDb */\n\n/*! ./clusters */\n\n/*! ./config */\n\n/*! ./createLabel */\n\n/*! ./defaultConfig */\n\n/*! ./diagrams/class/classDb */\n\n/*! ./diagrams/class/classRenderer */\n\n/*! ./diagrams/class/classRenderer-v2 */\n\n/*! ./diagrams/class/parser/classDiagram */\n\n/*! ./diagrams/class/styles */\n\n/*! ./diagrams/common/common */\n\n/*! ./diagrams/er/erDb */\n\n/*! ./diagrams/er/erRenderer */\n\n/*! ./diagrams/er/parser/erDiagram */\n\n/*! ./diagrams/er/styles */\n\n/*! ./diagrams/flowchart/flowDb */\n\n/*! ./diagrams/flowchart/flowRenderer */\n\n/*! ./diagrams/flowchart/flowRenderer-v2 */\n\n/*! ./diagrams/flowchart/parser/flow */\n\n/*! ./diagrams/flowchart/styles */\n\n/*! ./diagrams/gantt/ganttDb */\n\n/*! ./diagrams/gantt/ganttRenderer */\n\n/*! ./diagrams/gantt/parser/gantt */\n\n/*! ./diagrams/gantt/styles */\n\n/*! ./diagrams/git/gitGraphAst */\n\n/*! ./diagrams/git/gitGraphRenderer */\n\n/*! ./diagrams/git/parser/gitGraph */\n\n/*! ./diagrams/git/styles */\n\n/*! ./diagrams/info/infoDb */\n\n/*! ./diagrams/info/infoRenderer */\n\n/*! ./diagrams/info/parser/info */\n\n/*! ./diagrams/info/styles */\n\n/*! ./diagrams/pie/parser/pie */\n\n/*! ./diagrams/pie/pieDb */\n\n/*! ./diagrams/pie/pieRenderer */\n\n/*! ./diagrams/pie/styles */\n\n/*! ./diagrams/sequence/parser/sequenceDiagram */\n\n/*! ./diagrams/sequence/sequenceDb */\n\n/*! ./diagrams/sequence/sequenceRenderer */\n\n/*! ./diagrams/sequence/styles */\n\n/*! ./diagrams/state/parser/stateDiagram */\n\n/*! ./diagrams/state/stateDb */\n\n/*! ./diagrams/state/stateRenderer */\n\n/*! ./diagrams/state/stateRenderer-v2 */\n\n/*! ./diagrams/state/styles */\n\n/*! ./diagrams/user-journey/journeyDb */\n\n/*! ./diagrams/user-journey/journeyRenderer */\n\n/*! ./diagrams/user-journey/parser/journey */\n\n/*! ./diagrams/user-journey/styles */\n\n/*! ./edges */\n\n/*! ./erDb */\n\n/*! ./erMarkers */\n\n/*! ./errorRenderer */\n\n/*! ./flowChartShapes */\n\n/*! ./flowDb */\n\n/*! ./ganttDb */\n\n/*! ./gitGraphAst */\n\n/*! ./id-cache.js */\n\n/*! ./infoDb */\n\n/*! ./intersect-circle.js */\n\n/*! ./intersect-ellipse */\n\n/*! ./intersect-ellipse.js */\n\n/*! ./intersect-line */\n\n/*! ./intersect-node.js */\n\n/*! ./intersect-polygon.js */\n\n/*! ./intersect-rect.js */\n\n/*! ./intersect/index.js */\n\n/*! ./intersect/intersect-rect */\n\n/*! ./journeyDb */\n\n/*! ./logger */\n\n/*! ./markers */\n\n/*! ./mermaid-graphlib */\n\n/*! ./mermaidAPI */\n\n/*! ./nodes */\n\n/*! ./parser/classDiagram */\n\n/*! ./parser/erDiagram */\n\n/*! ./parser/flow */\n\n/*! ./parser/gantt */\n\n/*! ./parser/gitGraph */\n\n/*! ./parser/info */\n\n/*! ./parser/journey */\n\n/*! ./parser/pie */\n\n/*! ./parser/sequenceDiagram */\n\n/*! ./parser/stateDiagram */\n\n/*! ./pieDb */\n\n/*! ./sequenceDb */\n\n/*! ./shapes */\n\n/*! ./shapes/note */\n\n/*! ./shapes/util */\n\n/*! ./stateDb */\n\n/*! ./styles */\n\n/*! ./svgDraw */\n\n/*! ./theme-base */\n\n/*! ./theme-dark */\n\n/*! ./theme-default */\n\n/*! ./theme-forest */\n\n/*! ./theme-helpers */\n\n/*! ./theme-neutral */\n\n/*! ./themes */\n\n/*! ./util */\n\n/*! ./utils */\n\n/*! @braintree/sanitize-url */\n\n/*! Check if previously processed */\n\n/*! d3 */\n\n/*! dagre */\n\n/*! dagre-d3 */\n\n/*! dagre-d3/lib/label/add-html-label.js */\n\n/*! entity-decode/browser */\n\n/*! exports provided: LEVELS, logger, setLogLevel */\n\n/*! exports provided: addClasses, addRelations, setConf, drawOld, draw, default */\n\n/*! exports provided: addToRender, addToRenderV2, default */\n\n/*! exports provided: bounds, drawActors, setConf, draw, default */\n\n/*! exports provided: calcThemeVariables, default */\n\n/*! exports provided: clear, insertEdgeLabel, positionEdgeLabel, intersection, insertEdge */\n\n/*! exports provided: clusterDb, clear, extractDecendants, validate, findNonClusterChild, adjustClustersAndEdges, extractor, sortNodesByHierarchy */\n\n/*! exports provided: default */\n\n/*! exports provided: defaultConfig, updateCurrentConfig, setSiteConfig, setSiteConfigDelta, updateSiteConfig, getSiteConfig, setConfig, getConfig, sanitize, addDirective, reset */\n\n/*! exports provided: detectInit, detectDirective, detectType, isSubstringInArray, interpolateToCurve, formatUrl, runFunc, getStylesFromArray, generateId, random, assignWithDepth, getTextObj, drawSimpleText, wrapLabel, calculateTextHeight, calculateTextWidth, calculateTextDimensions, calculateSvgSizeAttrs, configureSvgSize, default */\n\n/*! exports provided: drawEdge, drawClass, parseMember, default */\n\n/*! exports provided: drawRect, drawFace, drawCircle, drawText, drawLabel, drawSection, drawTask, drawBackgroundRect, getTextObj, getNoteRect, default */\n\n/*! exports provided: drawRect, drawText, drawLabel, drawActor, anchorElement, drawActivation, drawLoop, drawBackgroundRect, insertArrowHead, insertSequenceNumber, insertArrowCrossHead, getTextObj, getNoteRect, default */\n\n/*! exports provided: drawStartState, drawDivider, drawSimpleState, drawDescrState, addTitleAndBox, drawText, drawNote, drawState, drawEdge */\n\n/*! exports provided: encodeEntities, decodeEntities, default */\n\n/*! exports provided: getRows, removeScript, sanitizeText, lineBreakRegex, hasBreaks, splitBreaks, default */\n\n/*! exports provided: getThemeVariables */\n\n/*! exports provided: insertCluster, getClusterTitleWidth, clear, positionCluster */\n\n/*! exports provided: insertNode, setNodeElem, clear, positionNode */\n\n/*! exports provided: labelHelper, updateNodeBounds, insertPolygonShape */\n\n/*! exports provided: mkBorder */\n\n/*! exports provided: name, version, description, main, keywords, scripts, repository, author, license, standard, dependencies, devDependencies, files, yarn-upgrade-all, sideEffects, husky, default */\n\n/*! exports provided: parseDirective, addActor, addMessage, addSignal, getMessages, getActors, getActor, getActorKeys, getTitle, getTitleWrapped, enableSequenceNumbers, showSequenceNumbers, setWrap, autoWrap, clear, parseMessage, LINETYPE, ARROWTYPE, PLACEMENT, addNote, setTitle, apply, default */\n\n/*! exports provided: parseDirective, addClass, lookUpDomId, clear, getClass, getClasses, getRelations, addRelation, addAnnotation, addMember, addMembers, cleanupLabel, setCssClass, setLink, setClickEvent, bindFunctions, lineType, relationType, default */\n\n/*! exports provided: parseDirective, addState, clear, getState, getStates, logDocuments, getRelations, addRelation, cleanupLabel, lineType, relationType, default */\n\n/*! exports provided: parseDirective, clear, setAxisFormat, getAxisFormat, setTodayMarker, getTodayMarker, setDateFormat, enableInclusiveEndDates, endDatesAreInclusive, getDateFormat, setExcludes, getExcludes, setTitle, getTitle, addSection, getSections, getTasks, addTask, findTaskById, addTaskOrg, setLink, setClass, setClickEvent, bindFunctions, default */\n\n/*! exports provided: parseDirective, clear, setTitle, getTitle, addSection, getSections, getTasks, addTask, addTaskOrg, default */\n\n/*! exports provided: parseDirective, default */\n\n/*! exports provided: parseDirective, lookUpDomId, addVertex, addSingleLink, addLink, updateLinkInterpolate, updateLink, addClass, setDirection, setClass, setLink, getTooltip, setClickEvent, bindFunctions, getDirection, getVertices, getEdges, getClasses, clear, setGen, defaultStyle, addSubGraph, getDepthFirstPos, indexNodes, getSubGraphs, firstGraph, default */\n\n/*! exports provided: render */\n\n/*! exports provided: set, get, keys, size, default */\n\n/*! exports provided: setConf, addVertices, addEdges, getClasses, draw, default */\n\n/*! exports provided: setConf, draw, bounds, drawTasks, default */\n\n/*! exports provided: setConf, draw, default */\n\n/*! exports provided: setConf, getClasses, draw, default */\n\n/*! exports provided: setDirection, setOptions, getOptions, commit, branch, merge, checkout, reset, prettyPrint, clear, getBranchesAsObjArray, getBranches, getCommits, getCommitsArray, getCurrentBranch, getDirection, getHead, default */\n\n/*! exports provided: setMessage, getMessage, setInfo, getInfo, default */\n\n/*! fs */\n\n/*! graphlib */\n\n/*! khroma */\n\n/*! moment-mini */\n\n/*! no static exports found */\n\n/*! path */\n\n/*! sequence config was passed as #1 */\n\n/*! stylis */\n\n/*!*********************!*\\\n        !*** external \"d3\" ***!\n        \\*********************/\n\n/*!**********************!*\\\n        !*** ./package.json ***!\n        \\**********************/\n\n/*!**********************!*\\\n        !*** ./src/utils.js ***!\n        \\**********************/\n\n/*!***********************!*\\\n        !*** ./src/config.js ***!\n        \\***********************/\n\n/*!***********************!*\\\n        !*** ./src/logger.js ***!\n        \\***********************/\n\n/*!***********************!*\\\n        !*** ./src/styles.js ***!\n        \\***********************/\n\n/*!************************!*\\\n        !*** ./src/mermaid.js ***!\n        \\************************/\n\n/*!************************!*\\\n        !*** external \"dagre\" ***!\n        \\************************/\n\n/*!*************************!*\\\n        !*** external \"khroma\" ***!\n        \\*************************/\n\n/*!*************************!*\\\n        !*** external \"stylis\" ***!\n        \\*************************/\n\n/*!***************************!*\\\n        !*** ./src/mermaidAPI.js ***!\n        \\***************************/\n\n/*!***************************!*\\\n        !*** external \"dagre-d3\" ***!\n        \\***************************/\n\n/*!***************************!*\\\n        !*** external \"graphlib\" ***!\n        \\***************************/\n\n/*!*****************************!*\\\n        !*** ./src/themes/index.js ***!\n        \\*****************************/\n\n/*!******************************!*\\\n        !*** ./src/defaultConfig.js ***!\n        \\******************************/\n\n/*!******************************!*\\\n        !*** ./src/errorRenderer.js ***!\n        \\******************************/\n\n/*!******************************!*\\\n        !*** external \"moment-mini\" ***!\n        \\******************************/\n\n/*!*********************************!*\\\n        !*** ./src/diagrams/er/erDb.js ***!\n        \\*********************************/\n\n/*!**********************************!*\\\n        !*** ./src/themes/theme-base.js ***!\n        \\**********************************/\n\n/*!**********************************!*\\\n        !*** ./src/themes/theme-dark.js ***!\n        \\**********************************/\n\n/*!***********************************!*\\\n        !*** (webpack)/buildin/module.js ***!\n        \\***********************************/\n\n/*!***********************************!*\\\n        !*** ./src/diagrams/er/styles.js ***!\n        \\***********************************/\n\n/*!***********************************!*\\\n        !*** ./src/diagrams/pie/pieDb.js ***!\n        \\***********************************/\n\n/*!************************************!*\\\n        !*** ./src/dagre-wrapper/edges.js ***!\n        \\************************************/\n\n/*!************************************!*\\\n        !*** ./src/dagre-wrapper/index.js ***!\n        \\************************************/\n\n/*!************************************!*\\\n        !*** ./src/dagre-wrapper/nodes.js ***!\n        \\************************************/\n\n/*!************************************!*\\\n        !*** ./src/diagrams/git/styles.js ***!\n        \\************************************/\n\n/*!************************************!*\\\n        !*** ./src/diagrams/pie/styles.js ***!\n        \\************************************/\n\n/*!************************************!*\\\n        !*** ./src/themes/theme-forest.js ***!\n        \\************************************/\n\n/*!*************************************!*\\\n        !*** ./src/diagrams/info/infoDb.js ***!\n        \\*************************************/\n\n/*!*************************************!*\\\n        !*** ./src/diagrams/info/styles.js ***!\n        \\*************************************/\n\n/*!*************************************!*\\\n        !*** ./src/themes/theme-default.js ***!\n        \\*************************************/\n\n/*!*************************************!*\\\n        !*** ./src/themes/theme-helpers.js ***!\n        \\*************************************/\n\n/*!*************************************!*\\\n        !*** ./src/themes/theme-neutral.js ***!\n        \\*************************************/\n\n/*!**************************************!*\\\n        !*** ./src/dagre-wrapper/markers.js ***!\n        \\**************************************/\n\n/*!**************************************!*\\\n        !*** ./src/diagrams/class/styles.js ***!\n        \\**************************************/\n\n/*!**************************************!*\\\n        !*** ./src/diagrams/er/erMarkers.js ***!\n        \\**************************************/\n\n/*!**************************************!*\\\n        !*** ./src/diagrams/gantt/styles.js ***!\n        \\**************************************/\n\n/*!**************************************!*\\\n        !*** ./src/diagrams/state/shapes.js ***!\n        \\**************************************/\n\n/*!**************************************!*\\\n        !*** ./src/diagrams/state/styles.js ***!\n        \\**************************************/\n\n/*!***************************************!*\\\n        !*** ./src/dagre-wrapper/clusters.js ***!\n        \\***************************************/\n\n/*!***************************************!*\\\n        !*** ./src/diagrams/class/classDb.js ***!\n        \\***************************************/\n\n/*!***************************************!*\\\n        !*** ./src/diagrams/class/svgDraw.js ***!\n        \\***************************************/\n\n/*!***************************************!*\\\n        !*** ./src/diagrams/common/common.js ***!\n        \\***************************************/\n\n/*!***************************************!*\\\n        !*** ./src/diagrams/er/erRenderer.js ***!\n        \\***************************************/\n\n/*!***************************************!*\\\n        !*** ./src/diagrams/gantt/ganttDb.js ***!\n        \\***************************************/\n\n/*!***************************************!*\\\n        !*** ./src/diagrams/state/stateDb.js ***!\n        \\***************************************/\n\n/*!****************************************!*\\\n        !*** ./src/diagrams/state/id-cache.js ***!\n        \\****************************************/\n\n/*!****************************************!*\\\n        !*** external \"entity-decode/browser\" ***!\n        \\****************************************/\n\n/*!*****************************************!*\\\n        !*** ./node_modules/process/browser.js ***!\n        \\*****************************************/\n\n/*!*****************************************!*\\\n        !*** ./src/diagrams/git/gitGraphAst.js ***!\n        \\*****************************************/\n\n/*!*****************************************!*\\\n        !*** ./src/diagrams/pie/pieRenderer.js ***!\n        \\*****************************************/\n\n/*!*****************************************!*\\\n        !*** ./src/diagrams/sequence/styles.js ***!\n        \\*****************************************/\n\n/*!******************************************!*\\\n        !*** ./src/dagre-wrapper/createLabel.js ***!\n        \\******************************************/\n\n/*!******************************************!*\\\n        !*** ./src/dagre-wrapper/shapes/note.js ***!\n        \\******************************************/\n\n/*!******************************************!*\\\n        !*** ./src/dagre-wrapper/shapes/util.js ***!\n        \\******************************************/\n\n/*!******************************************!*\\\n        !*** ./src/diagrams/flowchart/flowDb.js ***!\n        \\******************************************/\n\n/*!******************************************!*\\\n        !*** ./src/diagrams/flowchart/styles.js ***!\n        \\******************************************/\n\n/*!******************************************!*\\\n        !*** ./src/diagrams/sequence/svgDraw.js ***!\n        \\******************************************/\n\n/*!******************************************!*\\\n        !*** external \"@braintree/sanitize-url\" ***!\n        \\******************************************/\n\n/*!*******************************************!*\\\n        !*** ./src/diagrams/info/infoRenderer.js ***!\n        \\*******************************************/\n\n/*!*******************************************!*\\\n        !*** ./src/diagrams/pie/parser/pie.jison ***!\n        \\*******************************************/\n\n/*!*********************************************!*\\\n        !*** ./src/diagrams/class/classRenderer.js ***!\n        \\*********************************************/\n\n/*!*********************************************!*\\\n        !*** ./src/diagrams/gantt/ganttRenderer.js ***!\n        \\*********************************************/\n\n/*!*********************************************!*\\\n        !*** ./src/diagrams/info/parser/info.jison ***!\n        \\*********************************************/\n\n/*!*********************************************!*\\\n        !*** ./src/diagrams/sequence/sequenceDb.js ***!\n        \\*********************************************/\n\n/*!*********************************************!*\\\n        !*** ./src/diagrams/state/stateRenderer.js ***!\n        \\*********************************************/\n\n/*!*********************************************!*\\\n        !*** ./src/diagrams/user-journey/styles.js ***!\n        \\*********************************************/\n\n/*!**********************************************!*\\\n        !*** ./src/dagre-wrapper/intersect/index.js ***!\n        \\**********************************************/\n\n/*!**********************************************!*\\\n        !*** ./src/diagrams/git/gitGraphRenderer.js ***!\n        \\**********************************************/\n\n/*!**********************************************!*\\\n        !*** ./src/diagrams/user-journey/svgDraw.js ***!\n        \\**********************************************/\n\n/*!***********************************************!*\\\n        !*** ./node_modules/path-browserify/index.js ***!\n        \\***********************************************/\n\n/*!***********************************************!*\\\n        !*** ./src/dagre-wrapper/mermaid-graphlib.js ***!\n        \\***********************************************/\n\n/*!***********************************************!*\\\n        !*** ./src/diagrams/gantt/parser/gantt.jison ***!\n        \\***********************************************/\n\n/*!************************************************!*\\\n        !*** ./src/diagrams/class/classRenderer-v2.js ***!\n        \\************************************************/\n\n/*!************************************************!*\\\n        !*** ./src/diagrams/er/parser/erDiagram.jison ***!\n        \\************************************************/\n\n/*!************************************************!*\\\n        !*** ./src/diagrams/flowchart/flowRenderer.js ***!\n        \\************************************************/\n\n/*!************************************************!*\\\n        !*** ./src/diagrams/git/parser/gitGraph.jison ***!\n        \\************************************************/\n\n/*!************************************************!*\\\n        !*** ./src/diagrams/state/stateRenderer-v2.js ***!\n        \\************************************************/\n\n/*!************************************************!*\\\n        !*** ./src/diagrams/user-journey/journeyDb.js ***!\n        \\************************************************/\n\n/*!**************************************************!*\\\n        !*** ./src/diagrams/flowchart/parser/flow.jison ***!\n        \\**************************************************/\n\n/*!***************************************************!*\\\n        !*** ./src/diagrams/flowchart/flowChartShapes.js ***!\n        \\***************************************************/\n\n/*!***************************************************!*\\\n        !*** ./src/diagrams/flowchart/flowRenderer-v2.js ***!\n        \\***************************************************/\n\n/*!***************************************************!*\\\n        !*** ./src/diagrams/sequence/sequenceRenderer.js ***!\n        \\***************************************************/\n\n/*!******************************************************!*\\\n        !*** ./node_modules/node-libs-browser/mock/empty.js ***!\n        \\******************************************************/\n\n/*!******************************************************!*\\\n        !*** ./src/diagrams/class/parser/classDiagram.jison ***!\n        \\******************************************************/\n\n/*!******************************************************!*\\\n        !*** ./src/diagrams/state/parser/stateDiagram.jison ***!\n        \\******************************************************/\n\n/*!******************************************************!*\\\n        !*** ./src/diagrams/user-journey/journeyRenderer.js ***!\n        \\******************************************************/\n\n/*!*******************************************************!*\\\n        !*** ./src/dagre-wrapper/intersect/intersect-line.js ***!\n        \\*******************************************************/\n\n/*!*******************************************************!*\\\n        !*** ./src/dagre-wrapper/intersect/intersect-node.js ***!\n        \\*******************************************************/\n\n/*!*******************************************************!*\\\n        !*** ./src/dagre-wrapper/intersect/intersect-rect.js ***!\n        \\*******************************************************/\n\n/*!*******************************************************!*\\\n        !*** external \"dagre-d3/lib/label/add-html-label.js\" ***!\n        \\*******************************************************/\n\n/*!********************************************************!*\\\n        !*** ./src/diagrams/user-journey/parser/journey.jison ***!\n        \\********************************************************/\n\n/*!*********************************************************!*\\\n        !*** ./src/dagre-wrapper/intersect/intersect-circle.js ***!\n        \\*********************************************************/\n\n/*!**********************************************************!*\\\n        !*** ./src/dagre-wrapper/intersect/intersect-ellipse.js ***!\n        \\**********************************************************/\n\n/*!**********************************************************!*\\\n        !*** ./src/dagre-wrapper/intersect/intersect-polygon.js ***!\n        \\**********************************************************/\n\n/*!************************************************************!*\\\n        !*** ./src/diagrams/sequence/parser/sequenceDiagram.jison ***!\n        \\************************************************************/\n\n/**\n * @license\n * Copyright (c) 2012-2013 Chris Pettitt\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/**\n * A better abstraction over CSS.\n *\n * @copyright Oleg Isonen (Slobodskoi) / Isonen 2014-present\n * @website https://github.com/cssinjs/jss\n * @license MIT\n */\n\n/** @license React v0.18.0\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/** @license React v16.12.0\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/** @license React v16.12.0\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/** @license React v16.12.0\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1-lts\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n//! moment.js\n"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/DfmStatics/static/js/main.7371b08e.chunk.js",
    "content": "(this[\"webpackJsonpdurablefunctionsmonitor.react\"]=this[\"webpackJsonpdurablefunctionsmonitor.react\"]||[]).push([[0],{377:function(e,t,n){},423:function(e,t,n){},425:function(e,t,n){},426:function(e,t,n){},430:function(e,t,n){},432:function(e,t,n){},433:function(e,t,n){},651:function(e,t,n){var a={\"./locale\":361,\"./locale.js\":361};function r(e){var t=i(e);return n(t)}function i(e){if(!n.o(a,e)){var t=new Error(\"Cannot find module '\"+e+\"'\");throw t.code=\"MODULE_NOT_FOUND\",t}return a[e]}r.keys=function(){return Object.keys(a)},r.resolve=i,e.exports=r,r.id=651},693:function(e,t,n){},694:function(e,t,n){},695:function(e,t,n){},696:function(e,t,n){},697:function(e,t,n){},698:function(e,t,n){\"use strict\";n.r(t);var a,r,i,o,s=n(0),l=n(25),c=n(776),u=(n(423),n(424),n(9)),m=n(11),d=n(16),h=n(15),p=n(20),g=n(780),f=n(770),b=n(769),y=n(111),v=n(758),O=n(786),E=n(773),_=n(43),k=n(782),C=n(381),w=(n(425),n(745)),j=n(749),S=n(393),T=n(752),N=n(785),P=n(753),I=n(754),D=n(755),F=n(756),x=n(757),M=n(751),L=n(701),H=n(748),R=n(759),A=(n(426),n(392)),z=n(10),B=(n(38),n(5)),W=n(4),V=n(23),Y=n.n(V),G=(a=function(){function e(){var t;(Object(u.a)(this,e),Object(z.a)(this,\"_showTimeAsLocal\",r,this),Object(z.a)(this,\"_timeZoneName\",i,this),\"Local\"!==DfmClientConfig.showTimeAs)?this._showTimeAsLocal=\"Local\"===(null===(t=localStorage)||void 0===t?void 0:t.getItem(\"showTimeAs\")):this._showTimeAsLocal=!0;this.setTimeZoneName()}return Object(m.a)(e,[{key:\"theme\",get:function(){return DfmClientConfig.theme}},{key:\"timeZoneName\",get:function(){return this._timeZoneName}},{key:\"showTimeAsLocal\",get:function(){return this._showTimeAsLocal},set:function(e){var t;null===(t=localStorage)||void 0===t||t.setItem(\"showTimeAs\",e?\"Local\":\"UTC\"),this._showTimeAsLocal=e,this.setTimeZoneName()}},{key:\"getMoment\",value:function(e){return e&&e.isValid()?(this._showTimeAsLocal?e.local():e.utc(),e):e}},{key:\"setMoment\",value:function(e){return e&&e.isValid()&&!this._showTimeAsLocal?Y()(e.toISOString(!0).slice(0,19)+\"Z\"):e}},{key:\"formatDateTimeString\",value:function(e){if(!this._showTimeAsLocal||!e||e.length<11)return e;var t=e.lastIndexOf(\".\"),n=t>=0?\".\"+e.substring(t+1,e.length-1):\"\";return Y()(e).format(\"YYYY-MM-DDTHH:mm:ss\")+n}},{key:\"setTimeZoneName\",value:function(){var e=\"UTC\";if(this.showTimeAsLocal){var t=(new Date).getTimezoneOffset()/60;e+=(t<0?\"+\":\"-\")+(Math.floor(t)===t?Math.abs(t).toFixed(0):Math.abs(t).toFixed(1))}this._timeZoneName=e}}]),e}(),Object(B.a)(a.prototype,\"timeZoneName\",[W.e],Object.getOwnPropertyDescriptor(a.prototype,\"timeZoneName\"),a.prototype),Object(B.a)(a.prototype,\"showTimeAsLocal\",[W.e],Object.getOwnPropertyDescriptor(a.prototype,\"showTimeAsLocal\"),a.prototype),r=Object(B.a)(a.prototype,\"_showTimeAsLocal\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),i=Object(B.a)(a.prototype,\"_timeZoneName\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),a),U=s.createContext(new G),J=new G,q=Object({NODE_ENV:\"production\",PUBLIC_URL:\"\",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_BACKEND_BASE_URI:\"\",REACT_APP_BACKEND_PATH:\"a/p/i\"}).REACT_APP_COLOR_THEME?Object({NODE_ENV:\"production\",PUBLIC_URL:\"\",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_BACKEND_BASE_URI:\"\",REACT_APP_BACKEND_PATH:\"a/p/i\"}).REACT_APP_COLOR_THEME:J.theme,Z=Object(A.a)({palette:{type:\"dark\"===q?\"dark\":\"light\"}}),K=\"dark\"===Z.palette.type?{backgroundColor:\"#aaa\"}:{},$=\"dark\"===Z.palette.type?\"default\":\"primary\";function Q(e){var t=null;switch(e){case\"Failed\":t=X(Z.palette.error.light,.2);break;case\"Completed\":t=X(Z.palette.success.light,.2);break;case\"Running\":t=X(Z.palette.warning.light,.2);break;case\"Terminated\":t=X(Z.palette.background.paper,.1)}return t?{backgroundColor:t}:{}}function X(e,t){return e.length>4?\"rgba(\".concat(parseInt(e.slice(1,3),16),\", \").concat(parseInt(e.slice(3,5),16),\", \").concat(parseInt(e.slice(5,7),16),\", \").concat(t.toFixed(1),\")\"):\"rgba(\".concat(parseInt(e.slice(1,2),16),\", \").concat(parseInt(e.slice(2,3),16),\", \").concat(parseInt(e.slice(3,4),16),\", \").concat(t.toFixed(1),\")\")}function ee(e){var t=null;if(\"dark\"===Z.palette.type)switch(e){case\"Failed\":t=\"rgb(103,73,76)\";break;case\"Completed\":t=\"rgb(74,98,80)\";break;case\"Running\":t=\"rgb(105,93,68)\";break;case\"Terminated\":t=\"rgb(66,66,66)\";break;case\"Duration\":t=\"rgb(50,50,50)\"}else switch(e){case\"Failed\":t=\"rgb(250,227,227)\";break;case\"Completed\":t=\"rgb(230,244,230)\";break;case\"Running\":t=\"rgb(255,241,219)\";break;case\"Terminated\":t=\"rgb(231,231,231)\";break;case\"Duration\":t=\"rgb(255,255,255)\"}return t?{backgroundColor:t}:{}}var te,ne,ae,re,ie,oe,se,le,ce=Object(p.a)(o=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){return Object(u.a)(this,n),t.apply(this,arguments)}return Object(m.a)(n,[{key:\"render\",value:function(){var e=this.props.state;return s.createElement(\"div\",null,s.createElement(w.a,{color:e.isLoggedInAnonymously?\"secondary\":\"inherit\",onClick:function(t){return e.menuAnchorElement=t.currentTarget}},s.createElement(H.a,null),s.createElement(g.a,{width:5}),s.createElement(j.a,{title:e.isLoggedInAnonymously?\"Ensure this endpoint is not exposed to the public!\":\"\"},s.createElement(y.a,{color:e.isLoggedInAnonymously?\"secondary\":\"inherit\"},e.isLoggedInAnonymously?\"Anonymous\":e.userName))),!e.isLoggedInAnonymously&&s.createElement(S.a,{anchorEl:e.menuAnchorElement,keepMounted:!0,open:!!e.menuAnchorElement,onClose:function(){return e.menuAnchorElement=void 0}},s.createElement(T.a,{onClick:function(){return e.logout()}},\"Login under a different name\")),s.createElement(N.a,{open:!e.isLoggedIn},s.createElement(P.a,null,e.errorMessage?s.createElement(s.Fragment,null,s.createElement(I.a,{className:\"login-progress\"},s.createElement(R.a,{color:\"secondary\",fontSize:\"large\"})),s.createElement(F.a,{color:\"secondary\"},\"Login failed. \",e.errorMessage)):e.allowedTaskHubNames?s.createElement(s.Fragment,null,s.createElement(x.a,null,\"Select your Task Hub\"),s.createElement(M.a,{className:\"task-hub-list\"},e.allowedTaskHubNames.map((function(t){return s.createElement(L.a,{button:!0,key:t},s.createElement(v.a,{color:\"dark\"===Z.palette.type?\"inherit\":\"primary\",href:e.locationPathName+t},t))})))):s.createElement(s.Fragment,null,s.createElement(I.a,{className:\"login-progress\"},s.createElement(D.a,null)),s.createElement(F.a,null,\"Login in progress...\")))))}}]),n}(s.Component))||o,ue=n(702),me=n(760),de=n(761),he=n(783),pe=(n(430),n(386)),ge=n.n(pe),fe=Object(p.a)((ae=ne=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){var e;Object(u.a)(this,n);for(var a=arguments.length,r=new Array(a),i=0;i<a;i++)r[i]=arguments[i];return(e=t.call.apply(t,[this].concat(r))).context=void 0,e}return Object(m.a)(n,[{key:\"componentDidMount\",value:function(){this.props.state.setWindowTitle()}},{key:\"render\",value:function(){var e=this,t=this.props.state;return s.createElement(s.Fragment,null,s.createElement(ue.a,{color:\"inherit\",onClick:function(e){return t.menuAnchorElement=e.currentTarget}},s.createElement(ge.a,null)),s.createElement(S.a,{anchorEl:t.menuAnchorElement,keepMounted:!0,open:!!t.menuAnchorElement,onClose:function(){return t.menuAnchorElement=void 0}},s.createElement(me.a,{row:!0,value:this.context.showTimeAsLocal.toString(),onChange:function(n){e.context.showTimeAsLocal=\"true\"===n.target.value,t.menuAnchorElement=void 0,e.props.doRefresh()}},s.createElement(y.a,{className:\"show-time-as-typography\"},\"Show time as:\"),s.createElement(de.a,{control:s.createElement(he.a,{color:\"primary\"}),label:\"UTC\",value:\"false\"}),s.createElement(de.a,{control:s.createElement(he.a,{color:\"primary\"}),label:\"Local\",value:\"true\"})),s.createElement(T.a,{onClick:function(){return t.showConnectionParamsDialog()}},\"Manage Storage Connection Settings...\"),s.createElement(T.a,{onClick:function(){return t.showPurgeHistoryDialog()}},\"Purge Instance History...\"),s.createElement(T.a,{onClick:function(){return t.showCleanEntityStorageDialog()}},\"Clean Entity Storage...\"),s.createElement(T.a,{onClick:function(){return t.showStartNewInstanceDialog()}},\"Start New Orchestration Instance...\")))}}]),n}(s.Component),ne.contextType=U,te=ae))||te,be=n(771),ye=n(772),ve=n(707),Oe=n(784),Ee=n(708),_e=n(710),ke=n(703),Ce=n(775),we=n(781),je=n(774),Se=n(778),Te=n(145),Ne=n.n(Te),Pe=n(222),Ie=n.n(Pe),De=n(389),Fe=n.n(De),xe=n(390),Me=n.n(xe),Le=(n(432),[\"Timestamp\",\"EventType\",\"EventId\",\"Name\",\"ScheduledTime\",\"Result\",\"Details\"]),He=[\"Completed\",\"Running\",\"Failed\",\"Pending\",\"Terminated\",\"Canceled\",\"ContinuedAsNew\"],Re=function(){function e(){Object(u.a)(this,e),this.instanceId=void 0,this.name=void 0,this.entityId=void 0,this.runtimeStatus=void 0,this.entityType=void 0,this.lastEvent=void 0,this.input=void 0,this.customStatus=void 0,this.output=void 0,this.createdTime=void 0,this.lastUpdatedTime=void 0,this.duration=void 0,this.tabTemplateNames=void 0}return Object(m.a)(e,null,[{key:\"getFunctionName\",value:function(e){return\"DurableEntity\"===e.entityType?e.entityId.name:e.name}}]),e}(),Ae=[\"instanceId\",\"name\",\"createdTime\",\"lastUpdatedTime\",\"duration\",\"runtimeStatus\",\"lastEvent\",\"input\",\"output\",\"customStatus\"],ze=n(787),Be=n(762),We=n(217),Ve=n.n(We),Ye=n(387),Ge=n.n(Ye),Ue=(n(433),re=W.d.bound,Object(p.a)((oe=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){return Object(u.a)(this,n),t.apply(this,arguments)}return Object(m.a)(n,[{key:\"render\",value:function(){var e=this.props.state;return s.createElement(ze.a,{className:\"message-snackbar\",anchorOrigin:{vertical:\"top\",horizontal:\"right\"},open:!!e.errorMessage,autoHideDuration:6e3,onClose:this.handleClose},s.createElement(Be.a,{className:\"error-snackbar-content\",message:s.createElement(\"span\",null,s.createElement(Ge.a,{className:\"error-icon\"}),e.errorMessage),action:[s.createElement(ue.a,{key:\"close\",\"aria-label\":\"Close\",color:\"inherit\",onClick:this.handleClose},s.createElement(Ve.a,null))]}))}},{key:\"handleClose\",value:function(){this.props.state.errorMessage=\"\"}}]),n}(s.Component),Object(B.a)(oe.prototype,\"handleClose\",[re],Object.getOwnPropertyDescriptor(oe.prototype,\"handleClose\"),oe.prototype),ie=oe))||ie),Je=n(34),qe=n(13),Ze=function(){function e(){Object(u.a)(this,e)}return Object(m.a)(e,null,[{key:\"isValidMoment\",value:function(t){return!!t&&t.isValid()&&t.isAfter(e.MinMoment)&&t.isBefore(e.MaxMoment)}},{key:\"formatDuration\",value:function(e){if(isNaN(e)||e<0)return\"\";var t=Math.floor(e/864e5),n=0,a=\"\";t>0&&(a+=t.toFixed(0)+\"d\",++n,e%=864e5);var r=Math.floor(e/36e5);if(r>0){if(a+=r.toFixed(0)+\"h\",++n>1)return a;e%=36e5}var i=Math.floor(e/6e4);if(i>0){if(a+=i.toFixed(0)+\"m\",++n>1)return a;e%=6e4}var o=Math.floor(e/1e3);if(o>0){if(a+=o.toFixed(0)+\"s\",++n>1)return a;e%=1e3}return e>0&&(a+=e.toFixed(0)+\"ms\"),a||(a=\"0ms\"),a}}]),e}();Ze.MinMoment=Y()(\"1900-01-01\"),Ze.MaxMoment=Y()(\"2100-01-01\");var Ke,$e,Qe,Xe,et,tt,nt,at,rt,it,ot,st,lt,ct,ut,mt,dt,ht,pt,gt,ft,bt,yt,vt,Ot,Et=(se=function(){function e(){Object(u.a)(this,e),Object(z.a)(this,\"errorMessage\",le,this)}return Object(m.a)(e,[{key:\"showError\",value:function(e,t){this.errorMessage=\"string\"===typeof t?\"\".concat(e,\". \").concat(t):\"\".concat(e,\". \").concat(t.response&&t.response.data?t.response.data:t.message)}}]),e}(),le=Object(B.a)(se.prototype,\"errorMessage\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return\"\"}}),se),_t=(Ke=function e(){Object(u.a)(this,e),Object(z.a)(this,\"inProgress\",$e,this),Object(z.a)(this,\"isCancelled\",Qe,this)},$e=Object(B.a)(Ke.prototype,\"inProgress\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Qe=Object(B.a)(Ke.prototype,\"isCancelled\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Ke),kt=n(223),Ct=(ot=function(){function e(t,n,a){Object(u.a)(this,e),this._backendClient=t,this._localStorage=n,this._refresh=a,Object(z.a)(this,\"longJsonDialogState\",et,this),Object(z.a)(this,\"columnUnderMouse\",tt,this),Object(z.a)(this,\"_orchestrations\",nt,this),Object(z.a)(this,\"_orderByDirection\",at,this),Object(z.a)(this,\"_orderBy\",rt,this),Object(z.a)(this,\"_hiddenColumns\",it,this),this._noMorePagesToLoad=!1,this._pageSize=50;var r=this._localStorage.getItem(\"orderBy\");r&&(this._orderBy=r);var i=this._localStorage.getItem(\"orderByDirection\");i&&(this._orderByDirection=i);var o=this._localStorage.getItem(\"hiddenColumns\");o&&(this._hiddenColumns=o.split(\"|\"))}return Object(m.a)(e,[{key:\"hiddenColumns\",get:function(){return this._hiddenColumns}},{key:\"orchestrations\",get:function(){return this._orchestrations}},{key:\"orderByDirection\",get:function(){return this._orderByDirection}},{key:\"orderBy\",get:function(){return this._orderBy},set:function(e){this._orderBy!==e?(this._orderBy=e,this._orderByDirection=\"asc\"):\"desc\"===this._orderByDirection?(this._orderBy=\"\",this._orderByDirection=\"asc\"):this._orderByDirection=\"desc\",this._refresh()}},{key:\"backendClient\",get:function(){return this._backendClient}},{key:\"hideColumn\",value:function(e){this._hiddenColumns.push(e),this._localStorage.setItem(\"hiddenColumns\",this._hiddenColumns.join(\"|\"))}},{key:\"unhide\",value:function(){this._hiddenColumns=[],this._localStorage.removeItem(\"hiddenColumns\"),this._refresh()}},{key:\"resetOrderBy\",value:function(){this._orderBy=\"\",this._orderByDirection=\"asc\",this._refresh()}},{key:\"reset\",value:function(){this._orchestrations=[],this._noMorePagesToLoad=!1}},{key:\"load\",value:function(e,t){var n=this,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(a)this._noMorePagesToLoad=!1;else{if(this._noMorePagesToLoad)return Promise.resolve();this._localStorage.setItems([{fieldName:\"orderBy\",value:this._orderBy},{fieldName:\"orderByDirection\",value:this._orderByDirection}])}var r=a?0:this._orchestrations.length,i=this._orderBy?\"&$orderby=\".concat(this._orderBy,\" \").concat(this.orderByDirection):\"\",o=this._hiddenColumns.length?\"&hidden-columns=\".concat(this._hiddenColumns.join(\"|\")):\"\",s=\"/orchestrations?$top=\".concat(this._pageSize,\"&$skip=\").concat(r).concat(e).concat(i).concat(o);return this._backendClient.call(\"GET\",s).then((function(e){if(!t.isCancelled){var r;if(a)n._orchestrations=e;else(r=n._orchestrations).push.apply(r,Object(kt.a)(e));e.length||(n._noMorePagesToLoad=!0)}}))}}]),e}(),Xe=ot,et=Object(B.a)(Xe.prototype,\"longJsonDialogState\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{}}}),tt=Object(B.a)(Xe.prototype,\"columnUnderMouse\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Object(B.a)(Xe.prototype,\"hiddenColumns\",[W.e],Object.getOwnPropertyDescriptor(Xe.prototype,\"hiddenColumns\"),Xe.prototype),Object(B.a)(Xe.prototype,\"orchestrations\",[W.e],Object.getOwnPropertyDescriptor(Xe.prototype,\"orchestrations\"),Xe.prototype),Object(B.a)(Xe.prototype,\"orderByDirection\",[W.e],Object.getOwnPropertyDescriptor(Xe.prototype,\"orderByDirection\"),Xe.prototype),Object(B.a)(Xe.prototype,\"orderBy\",[W.e],Object.getOwnPropertyDescriptor(Xe.prototype,\"orderBy\"),Xe.prototype),nt=Object(B.a)(Xe.prototype,\"_orchestrations\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),at=Object(B.a)(Xe.prototype,\"_orderByDirection\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return\"asc\"}}),rt=Object(B.a)(Xe.prototype,\"_orderBy\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return\"\"}}),it=Object(B.a)(Xe.prototype,\"_hiddenColumns\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),Xe),wt=n(53),jt=n.n(wt),St=(mt=ut=function(){function e(){Object(u.a)(this,e),Object(z.a)(this,\"_diagramCode\",lt,this),Object(z.a)(this,\"_diagramSvg\",ct,this)}return Object(m.a)(e,[{key:\"initMermaidWhenNeeded\",value:function(){e._mermaidInitialized||(jt.a.initialize({startOnLoad:!0,sequence:{noteMargin:0,boxMargin:5,boxTextMargin:5},flowchart:{curve:\"Basis\",useMaxWidth:!0,htmlLabels:!1}}),e._mermaidInitialized=!0)}},{key:\"escapeTitle\",value:function(e){return e.replace(/[@:;]/g,\" \")}},{key:\"formatDuration\",value:function(e){var t=Ze.formatDuration(e);return t?\"(\".concat(t,\")\"):\"\"}},{key:\"formatDurationInSeconds\",value:function(e){return Math.ceil(e/1e3).toFixed(0)+\"s\"}}]),e}(),ut._mermaidInitialized=!1,st=mt,lt=Object(B.a)(st.prototype,\"_diagramCode\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ct=Object(B.a)(st.prototype,\"_diagramSvg\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),st),Tt=(dt=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(e){var a;return Object(u.a)(this,n),(a=t.call(this))._backendClient=e,a._instances=[],a}return Object(m.a)(n,[{key:\"rawHtml\",get:function(){return this._diagramSvg}},{key:\"diagramCode\",get:function(){return this._diagramCode}},{key:\"reset\",value:function(){this._diagramCode=\"\",this._diagramSvg=\"\",this._instances=[]}},{key:\"load\",value:function(e,t,n){var a=this;return this.initMermaidWhenNeeded(),new Promise((function(n,r){var i=\"/orchestrations?$top=500&$orderby=createdTime asc\".concat(e);a._backendClient.call(\"GET\",i).then((function(e){if(a._instances=e,t.isCancelled)n();else{a._diagramCode=\"gantt \\n\"+\"title Gantt Chart (\".concat(e.length,\" instances shown) \\n\")+\"dateFormat YYYY-MM-DDTHH:mm:ss \\n\"+a.renderDiagram(e),a._diagramSvg=\"\";try{jt.a.render(\"mermaidSvgId\",a._diagramCode,(function(e){a._diagramSvg=e,n()}))}catch(i){r(i)}}}),r)}))}},{key:\"goto\",value:function(e){e&&e<=this._instances.length&&this._backendClient.showDetails(this._instances[e-1].instanceId)}},{key:\"renderDiagram\",value:function(e){var t,n=\"\",a=\"\",r=0,i=Object(Je.a)(e);try{for(i.s();!(t=i.n()).done;){var o=t.value,s=\"\",l=Re.getFunctionName(o);l!==a&&(s=\"section \".concat(++r,\". \").concat(this.escapeTitle(l),\" \\n\"),a=l);var c=\"DurableEntity\"===o.entityType?o.entityId.key:o.instanceId,u=new Date(o.lastUpdatedTime).getTime()-new Date(o.createdTime).getTime();n+=s+=\"\".concat(this.escapeTitle(c),\" \").concat(this.formatDuration(u),\": active, \").concat(this.formatDateTime(o.createdTime),\", \").concat(this.formatDurationInSeconds(u),\" \\n\")}}catch(m){i.e(m)}finally{i.f()}return n}},{key:\"formatDateTime\",value:function(e){return J.showTimeAsLocal?Y()(e).format(\"YYYY-MM-DDTHH:mm:ss\"):e.substr(0,19)}}]),n}(St),Object(B.a)(dt.prototype,\"rawHtml\",[W.e],Object.getOwnPropertyDescriptor(dt.prototype,\"rawHtml\"),dt.prototype),Object(B.a)(dt.prototype,\"diagramCode\",[W.e],Object.getOwnPropertyDescriptor(dt.prototype,\"diagramCode\"),dt.prototype),dt),Nt=(ht=function(){function e(t,n){Object(u.a)(this,e),this._backendClient=t,this._filterState=n,Object(z.a)(this,\"_histograms\",pt,this),this._counts={},Object(z.a)(this,\"_numOfInstancesShown\",gt,this),Object(z.a)(this,\"_zoomedIn\",ft,this),this._originalTimeInterval=null,this._applyingZoom=!1,this._timeRangeInMilliseconds=0,this._numOfIntervals=200,this._pageSize=1e3}return Object(m.a)(e,[{key:\"zoomedIn\",get:function(){return this._zoomedIn}},{key:\"histograms\",get:function(){return this._histograms}},{key:\"numOfInstancesShown\",get:function(){return this._numOfInstancesShown}},{key:\"counts\",get:function(){return this._counts}},{key:\"timeRangeInMilliseconds\",get:function(){return this._timeRangeInMilliseconds}},{key:\"reset\",value:function(){}},{key:\"load\",value:function(e,t,n){this._applyingZoom||this._zoomedIn||(this._originalTimeInterval={timeFrom:this._filterState.timeFrom,timeTill:this._filterState.timeTill,timeRange:this._filterState.timeRange}),this._numOfInstancesShown=0,this._histograms={},this._counts={};var a=this._filterState.timeFrom.valueOf(),r=Math.ceil((this._filterState.timeTill.valueOf()-a)/this._numOfIntervals);return r<=0&&(r=1),this._timeRangeInMilliseconds=this._filterState.timeTill.valueOf()-this._filterState.timeFrom.valueOf(),this.loadNextBatch(e,a,r,0,t)}},{key:\"applyZoom\",value:function(e,t){this._numOfInstancesShown=0,this._filterState.cancel();var n=1e3*Math.floor(e.getTime()/1e3),a=1e3*Math.ceil(t.getTime()/1e3);this._filterState.timeFrom=Y()(n),this._filterState.timeTill=Y()(a),this._applyingZoom=!0;try{this._filterState.reloadOrchestrations()}finally{this._applyingZoom=!1}this._zoomedIn=!0}},{key:\"resetZoom\",value:function(){this._zoomedIn&&this._originalTimeInterval&&(this._zoomedIn=!1,this._filterState.cancel(),this._filterState.timeFrom=this._originalTimeInterval.timeFrom,this._filterState.timeTill=this._originalTimeInterval.timeTill,this._filterState.timeRange=this._originalTimeInterval.timeRange)}},{key:\"loadNextBatch\",value:function(e,t,n,a,r){var i=this,o=\"/orchestrations?$top=\".concat(this._pageSize,\"&$skip=\").concat(this._numOfInstancesShown).concat(e);return this._backendClient.call(\"GET\",o).then((function(o){if(r.isCancelled)return Promise.resolve();var s,l=Object(Je.a)(o);try{for(l.s();!(s=l.n()).done;){var c=s.value,u=Re.getFunctionName(c);if(!i._histograms[u]){for(var m=[],d=0;d<i._numOfIntervals;d++)m[d]={x0:t+d*n,x:t+(d+1)*n,y:0};i._histograms[u]=m}var h=Math.floor((new Date(c.createdTime).getTime()-t)/n);h<0||h>=i._numOfIntervals||(i._histograms[u][h].y+=1,i._counts[u]?i._counts[u]+=1:i._counts[u]=1)}}catch(p){l.e(p)}finally{l.f()}return i._numOfInstancesShown+=o.length,o.length===i._pageSize?i.loadNextBatch(e,t,n,a+1,r):void 0}))}}]),e}(),Object(B.a)(ht.prototype,\"zoomedIn\",[W.e],Object.getOwnPropertyDescriptor(ht.prototype,\"zoomedIn\"),ht.prototype),Object(B.a)(ht.prototype,\"histograms\",[W.e],Object.getOwnPropertyDescriptor(ht.prototype,\"histograms\"),ht.prototype),Object(B.a)(ht.prototype,\"numOfInstancesShown\",[W.e],Object.getOwnPropertyDescriptor(ht.prototype,\"numOfInstancesShown\"),ht.prototype),pt=Object(B.a)(ht.prototype,\"_histograms\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{}}}),gt=Object(B.a)(ht.prototype,\"_numOfInstancesShown\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),ft=Object(B.a)(ht.prototype,\"_zoomedIn\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),ht),Pt=(bt=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(e){var a;return Object(u.a)(this,n),(a=t.call(this))._backendClient=e,Object(z.a)(a,\"_renderFunctions\",yt,Object(qe.a)(a)),Object(z.a)(a,\"_renderProxies\",vt,Object(qe.a)(a)),Object(z.a)(a,\"_traversalResult\",Ot,Object(qe.a)(a)),a}return Object(m.a)(n,[{key:\"diagramCode\",get:function(){return this._diagramCode}},{key:\"diagramSvg\",get:function(){return this._diagramSvg}},{key:\"functionsLoaded\",get:function(){return!!this._traversalResult}},{key:\"backendClient\",get:function(){return this._backendClient}},{key:\"gotoFunctionCode\",value:function(e){if(this.backendClient.isVsCode)this.backendClient.call(\"GotoFunctionCode\",e).then((function(){}),(function(e){console.log(\"Failed to goto function code: \".concat(e.message))}));else{var t=null;(t=e.startsWith(\"proxy.\")?this._traversalResult.proxies[e.substr(6)]:this._traversalResult.functions[e])&&t.filePath&&window.open(t.filePath)}}},{key:\"saveAsJson\",value:function(){this.backendClient.call(\"SaveFunctionGraphAsJson\",\"\").then((function(){}),(function(e){console.log(\"Failed to goto function code: \".concat(e.message))}))}},{key:\"applyIcons\",value:function(e){var t=document.getElementById(\"all-azure-icons-svg\");return t?e=(e=e.replace(\"><style>\",\">\\n<defs>\\n\".concat(t.innerHTML,\"</defs>\\n<style>\"))).replace(/<g class=\"node (\\w+).*?<g class=\"label\" transform=\"translate\\([0-9,.-]+\\)\"><g transform=\"translate\\([0-9,.-]+\\)\">/g,'$&<use href=\"#az-icon-$1\" width=\"20px\" height=\"20px\"/>'):e}}]),n}(St),Object(B.a)(bt.prototype,\"diagramCode\",[W.e],Object.getOwnPropertyDescriptor(bt.prototype,\"diagramCode\"),bt.prototype),Object(B.a)(bt.prototype,\"diagramSvg\",[W.e],Object.getOwnPropertyDescriptor(bt.prototype,\"diagramSvg\"),bt.prototype),Object(B.a)(bt.prototype,\"functionsLoaded\",[W.e],Object.getOwnPropertyDescriptor(bt.prototype,\"functionsLoaded\"),bt.prototype),yt=Object(B.a)(bt.prototype,\"_renderFunctions\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),vt=Object(B.a)(bt.prototype,\"_renderProxies\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),Ot=Object(B.a)(bt.prototype,\"_traversalResult\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),bt),It=n(394),Dt=\"#32;\";function Ft(e){var t,n,a,r,i,o,s;switch(e.type){case\"httpTrigger\":return\"\".concat(\"anonymous\"===e.authLevel?\"#127760;\":\"#128274;\",\" http\").concat(e.methods?\":[\"+e.methods.join(\",\")+\"]\":\"\").concat(e.route?\":\"+e.route:\"\");case\"blobTrigger\":return\"\".concat(Dt,\"blob:\").concat(null!==(t=e.path)&&void 0!==t?t:\"\");case\"cosmosDBTrigger\":return\"\".concat(Dt,\"cosmosDB:\").concat(null!==(n=e.databaseName)&&void 0!==n?n:\"\",\":\").concat(null!==(a=e.collectionName)&&void 0!==a?a:\"\");case\"eventHubTrigger\":return\"\".concat(Dt,\"eventHub:\").concat(null!==(r=e.eventHubName)&&void 0!==r?r:\"\");case\"serviceBusTrigger\":return\"\".concat(Dt,\"serviceBus:\").concat(e.queueName?e.queueName:null!==(i=e.topicName)&&void 0!==i?i:\"\").concat(e.subscriptionName?\":\"+e.subscriptionName:\"\");case\"queueTrigger\":return\"\".concat(Dt,\"queue:\").concat(null!==(o=e.queueName)&&void 0!==o?o:\"\");case\"timerTrigger\":return\"\".concat(Dt,\"timer:\").concat(null!==(s=e.schedule)&&void 0!==s?s:\"\");default:return\"\".concat(Dt).concat(e.type)}}function xt(e){var t,n,a,r,i,o,s;switch(e.type){case\"table\":return\"\".concat(Dt,\"table:\").concat(null!==(t=e.tableName)&&void 0!==t?t:\"\");case\"blob\":return\"\".concat(Dt,\"blob:\").concat(null!==(n=e.path)&&void 0!==n?n:\"\");case\"cosmosDB\":return\"\".concat(Dt,\"cosmosDB:\").concat(null!==(a=e.databaseName)&&void 0!==a?a:\"\",\":\").concat(null!==(r=e.collectionName)&&void 0!==r?r:\"\");case\"eventHub\":return\"\".concat(Dt,\"eventHub:\").concat(null!==(i=e.eventHubName)&&void 0!==i?i:\"\");case\"serviceBus\":return\"\".concat(Dt,\"serviceBus:\").concat(e.queueName?e.queueName:null!==(o=e.topicName)&&void 0!==o?o:\"\").concat(e.subscriptionName?\":\"+e.subscriptionName:\"\");case\"queue\":return\"\".concat(Dt,\"queue:\").concat(null!==(s=e.queueName)&&void 0!==s?s:\"\");default:return\"\".concat(Dt).concat(e.type)}}function Mt(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=\"\";if(!n.doNotRenderFunctions){var r=[];for(var i in e){var o,s=e[i],l=void 0,c=[],u=[],m=[],d=\"\".concat(i,'{{\"').concat(Dt).concat(i,'\"}}:::function'),h=Object(Je.a)(s.bindings);try{for(h.s();!(o=h.n()).done;){var p=o.value;\"orchestrationTrigger\"===p.type?d=\"\".concat(i,'[[\"').concat(Dt).concat(i,'\"]]:::orchestrator'):\"activityTrigger\"===p.type?d=\"\".concat(i,'[/\"').concat(Dt).concat(i,'\"/]:::activity'):\"entityTrigger\"===p.type&&(d=\"\".concat(i,'[(\"').concat(Dt).concat(i,'\")]:::entity')),p.type.endsWith(\"Trigger\")?l=p:\"in\"===p.direction?c.push(p):\"out\"===p.direction?u.push(p):m.push(p)}}catch(B){h.e(B)}finally{h.f()}r.push(Object(It.a)({name:i,nodeCode:d,triggerBinding:l,inputBindings:c,outputBindings:u,otherBindings:m},s))}var g=function(e){var t,n=!(null===(t=e.isCalledBy)||void 0===t?void 0:t.length)&&e.triggerBinding&&e.triggerBinding.type?e.triggerBinding.type:\"\";return n+=\"~\"+e.name};r.sort((function(e,t){var n=g(e),a=g(t);return n>a?1:a>n?-1:0}));for(var f=0,b=r;f<b.length;f++){var y,v,O=b[f];if(a+=\"\".concat(O.nodeCode,\"\\n\"),a+=\"style \".concat(O.name,\" fill:#D9D9FF,stroke-width:2px\\n\"),null===(y=O.isCalledBy)||void 0===y?void 0:y.length){var E,_=Object(Je.a)(O.isCalledBy);try{for(_.s();!(E=_.n()).done;){var k=E.value;a+=\"\".concat(k,\" ---\\x3e \").concat(O.name,\"\\n\")}}catch(B){_.e(B)}finally{_.f()}}else O.triggerBinding&&(a+=\"\".concat(O.name,\".\").concat(O.triggerBinding.type,'>\"').concat(Ft(O.triggerBinding),'\"]:::').concat(O.triggerBinding.type,\" --\\x3e \").concat(O.name,\"\\n\"));for(var C=0;C<O.inputBindings.length;C++){var w=O.inputBindings[C];a+=\"\".concat(O.name,\".\").concat(C,\".\").concat(w.type,'([\"').concat(xt(w),'\"]):::').concat(w.type,\" -.-> \").concat(O.name,\"\\n\")}for(C=0;C<O.outputBindings.length;C++){var j=O.outputBindings[C];a+=\"\".concat(O.name,\" -.-> \").concat(O.name,\".\").concat(C,\".\").concat(j.type,'([\"').concat(xt(j),'\"]):::').concat(j.type,\"\\n\")}for(C=0;C<O.otherBindings.length;C++){var S=O.otherBindings[C];a+=\"\".concat(O.name,\" -.- \").concat(O.name,\".\").concat(C,\".\").concat(S.type,'([\"').concat(xt(S),'\"]):::').concat(S.type,\"\\n\")}if(null===(v=O.isSignalledBy)||void 0===v?void 0:v.length){var T,N=Object(Je.a)(O.isSignalledBy);try{for(N.s();!(T=N.n()).done;){var P=T.value;a+=\"\".concat(P.name,' -- \"#9889; ').concat(P.signalName,'\" ---\\x3e ').concat(O.name,\"\\n\")}}catch(B){N.e(B)}finally{N.f()}}O.isCalledByItself&&(a+=\"\".concat(O.name,' -- \"[ContinueAsNew]\" --\\x3e ').concat(O.name,\"\\n\"))}}if(!n.doNotRenderProxies&&Object.keys(t).length>0){var I=\"#FFE6C8\",D=\"\",F=!1;for(var x in t){var M=t[x],L=x.replace(/ /g,\"\");F=M.warningNotAddedToCsProjFile,D=\"\",M.matchCondition&&(M.matchCondition.methods&&M.matchCondition.methods.length&&(D+=(D?\":\":\"\")+\"[\".concat(M.matchCondition.methods.join(\",\"),\"]\")),M.matchCondition.route&&(D+=(D?\":\":\"\")+M.matchCondition.route)),D||(D=x);var H=\"proxy.\".concat(L);if(a+='proxies.json -. \"'.concat(x,'\" .-> ').concat(H,'([\"').concat(Dt).concat(D,'\"]):::proxy\\n'),a+=\"style \".concat(H,\" fill:\").concat(I,\"\\n\"),M.backendUri){D=M.backendUri.replace(/'response./g,\"'\");var R=\"proxy.\".concat(L,\".backendUri\");a+=\"\".concat(H,\" \").concat(zt(M.requestOverrides),\" \").concat(R,'[\"').concat(Dt).concat(D,'\"]:::http\\n'),a+=\"style \".concat(R,\" fill:\").concat(I,\"\\n\"),H=R}var A=\"proxy.\".concat(L,\".response\");a+=\"\".concat(H,\" \").concat(Bt(M.responseOverrides),\" \").concat(A,'([\"').concat(Dt,'.\"]):::http\\n'),a+=\"style \".concat(A,\" fill:\").concat(I,\"\\n\")}D=\"proxies.json\";var z=I;F&&(D+=\" #9888; Not added to .CSPROJ file!\",z=\"#FF8080\"),a+='proxies.json[\"'.concat(Dt).concat(D,'\"]\\n'),a+=\"style proxies.json fill:\".concat(z,\"\\n\")}return a}var Lt,Ht,Rt,At=150;function zt(e){if(!e)return\"--\\x3e\";var t=JSON.stringify(e).replace(/\"/g,\"'\").replace(/'backend.request./g,\"'\");return t.length>At&&(t=t.substr(0,At)+\"...\"),'-- \"'.concat(t).concat(Dt,'\" --\\x3e')}function Bt(e){if(!e)return\"--\\x3e\";e[\"response.body\"]&&(e[\"response.body\"]=\"...\");var t=JSON.stringify(e).replace(/\"/g,\"'\").replace(/'response./g,\"'\");return t.length>At&&(t=t.substr(0,At)+\"...\"),'-- \"'.concat(t).concat(Dt,'\" --\\x3e')}var Wt,Vt,Yt,Gt,Ut,Jt,qt,Zt,Kt,$t,Qt,Xt,en,tn,nn,an,rn=function e(){Object(u.a)(this,e),this.completed=0,this.running=0,this.failed=0,this.other=0,this.duration=0},on=(Lt=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(e,a){var r;return Object(u.a)(this,n),(r=t.call(this,e))._startNewInstance=a,Object(z.a)(r,\"menuAnchorElement\",Ht,Object(qe.a)(r)),r.TotalMetricsName=\"DurableFunctionsMonitor-ResultsFunctionGraphTabState-TotalNumbers\",Object(z.a)(r,\"_metrics\",Rt,Object(qe.a)(r)),r._numOfInstancesShown=0,r._pageSize=1e3,r._selectedFunctionName=void 0,r}return Object(m.a)(n,[{key:\"metrics\",get:function(){return this._metrics}},{key:\"diagramSvg\",get:function(){return this._diagramSvg}},{key:\"diagramCode\",get:function(){return this._diagramCode}},{key:\"renderFunctions\",get:function(){return this._renderFunctions},set:function(e){this._renderFunctions=e,this.render()}},{key:\"renderProxies\",get:function(){return this._renderProxies},set:function(e){this._renderProxies=e,this.render()}},{key:\"showPopupMenu\",value:function(e,t){this.menuAnchorElement=e,this._selectedFunctionName=t}},{key:\"gotoOrchestrationCode\",value:function(){this.menuAnchorElement=void 0,this._selectedFunctionName&&this.gotoFunctionCode(this._selectedFunctionName)}},{key:\"startNewInstance\",value:function(){this.menuAnchorElement=void 0,this._selectedFunctionName&&this._startNewInstance(this._selectedFunctionName)}},{key:\"reset\",value:function(){this._diagramCode=\"\",this._diagramSvg=\"\",this._traversalResult=null,this._metrics={},this._numOfInstancesShown=0}},{key:\"load\",value:function(e,t,n){var a=this;this.initMermaidWhenNeeded(),this._numOfInstancesShown=0;var r=n?{}:JSON.parse(JSON.stringify(this._metrics));return this._backendClient.call(\"GET\",\"/function-map\").then((function(i){return a._traversalResult=i,a.render().then((function(){return a.loadNextBatch(e,0,r,n,t).then((function(e){a._metrics=e}))}))}))}},{key:\"loadNextBatch\",value:function(e,t,n,a,r){var i=this,o=\"/orchestrations?$top=\".concat(this._pageSize,\"&$skip=\").concat(this._numOfInstancesShown).concat(e);return this._backendClient.call(\"GET\",o).then((function(o){if(r.isCancelled)return Promise.resolve(n);n[i.TotalMetricsName]||(n[i.TotalMetricsName]=new rn);var s,l=Object(Je.a)(o);try{for(l.s();!(s=l.n()).done;){var c=s.value,u=Re.getFunctionName(c);switch(n[u]||(n[u]=new rn),c.runtimeStatus){case\"Completed\":n[u].completed++,n[i.TotalMetricsName].completed++;break;case\"Running\":case\"Pending\":case\"ContinuedAsNew\":n[u].running++,n[i.TotalMetricsName].running++;break;case\"Failed\":n[u].failed++,n[i.TotalMetricsName].failed++;break;default:n[u].other++,n[i.TotalMetricsName].other++}}}catch(m){l.e(m)}finally{l.f()}return i._numOfInstancesShown+=o.length,a||(i._metrics=n),o.length===i._pageSize?i.loadNextBatch(e,t+1,n,a,r):n}))}},{key:\"render\",value:function(){var e=this;return this._diagramCode=\"\",this._diagramSvg=\"\",new Promise((function(t,n){try{var a=Mt(e._traversalResult.functions,e._traversalResult.proxies,{doNotRenderFunctions:!e._renderFunctions,doNotRenderProxies:!e._renderProxies});if(!a)return void t();e._diagramCode=\"graph LR\\n\".concat(a),jt.a.render(\"mermaidSvgId\",e._diagramCode,(function(n){e._diagramSvg=e.applyIcons(n),t()}))}catch(r){n(r)}}))}}]),n}(Pt),Ht=Object(B.a)(Lt.prototype,\"menuAnchorElement\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Object(B.a)(Lt.prototype,\"metrics\",[W.e],Object.getOwnPropertyDescriptor(Lt.prototype,\"metrics\"),Lt.prototype),Object(B.a)(Lt.prototype,\"diagramSvg\",[W.e],Object.getOwnPropertyDescriptor(Lt.prototype,\"diagramSvg\"),Lt.prototype),Object(B.a)(Lt.prototype,\"diagramCode\",[W.e],Object.getOwnPropertyDescriptor(Lt.prototype,\"diagramCode\"),Lt.prototype),Object(B.a)(Lt.prototype,\"renderFunctions\",[W.e],Object.getOwnPropertyDescriptor(Lt.prototype,\"renderFunctions\"),Lt.prototype),Object(B.a)(Lt.prototype,\"renderProxies\",[W.e],Object.getOwnPropertyDescriptor(Lt.prototype,\"renderProxies\"),Lt.prototype),Rt=Object(B.a)(Lt.prototype,\"_metrics\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{}}}),Lt),sn=function(){function e(){Object(u.a)(this,e),this._values={};var t,n=window.location.search.substr(1).split(\"&\"),a=Object(Je.a)(n);try{for(a.s();!(t=a.n()).done;){var r=t.value.split(\"=\");r.length>1&&(this._values[r[0]]=decodeURIComponent(r[1]))}}catch(i){a.e(i)}finally{a.f()}}return Object(m.a)(e,[{key:\"values\",get:function(){return this._values}},{key:\"setValue\",value:function(e,t){t?this.values[e]=t:delete this.values[e]}},{key:\"apply\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=\"\";for(var n in this._values)t&&(t+=\"&\"),t+=n+\"=\"+encodeURIComponent(this._values[n]);e?window.history.pushState(null,null,t?\"?\"+t:\"\"):window.history.replaceState(null,null,t?\"?\"+t:\"\")}}]),e}();function ln(e,t,n){if(!n||!e||\"0\"===e)return\"\";switch(t){case Wt.Equals:return\"\".concat(e,\" eq '\").concat(encodeURIComponent(n),\"'\");case Wt.StartsWith:return\"startswith(\".concat(e,\", '\").concat(encodeURIComponent(n),\"')\");case Wt.Contains:return\"contains(\".concat(e,\", '\").concat(encodeURIComponent(n),\"')\");case Wt.NotEquals:return\"\".concat(e,\" ne '\").concat(encodeURIComponent(n),\"'\");case Wt.NotStartsWith:return\"startswith(\".concat(e,\", '\").concat(encodeURIComponent(n),\"') eq false\");case Wt.NotContains:return\"contains(\".concat(e,\", '\").concat(encodeURIComponent(n),\"') eq false\");case Wt.In:case Wt.NotIn:var a=function(e){if(e.trim().startsWith(\"[\"))try{return JSON.parse(e).map((function(e){return\"'\".concat(e,\"'\")}))}catch(t){}return e.split(\",\").map((function(e){var t=e.trim();return t.startsWith(\"'\")?t:\"'\".concat(t,\"'\")}))}(n),r=\"\".concat(e,\" in (\").concat(a.map((function(e){return encodeURIComponent(e)})).join(\",\"),\")\");return t===Wt.NotIn&&(r+=\" eq false\"),r;default:return\"\"}}!function(e){e[e.Equals=0]=\"Equals\",e[e.StartsWith=1]=\"StartsWith\",e[e.Contains=2]=\"Contains\",e[e.NotEquals=3]=\"NotEquals\",e[e.NotStartsWith=4]=\"NotStartsWith\",e[e.NotContains=5]=\"NotContains\",e[e.In=6]=\"In\",e[e.NotIn=7]=\"NotIn\"}(Wt||(Wt={})),function(e){e[e.List=0]=\"List\",e[e.Histogram=1]=\"Histogram\",e[e.Gantt=2]=\"Gantt\",e[e.FunctionGraph=3]=\"FunctionGraph\"}(nn||(nn={})),function(e){e[e.Custom=0]=\"Custom\",e[e.LastMinute=1]=\"LastMinute\",e[e.Last10Minutes=2]=\"Last10Minutes\",e[e.LastHour=3]=\"LastHour\",e[e.Last24Hours=4]=\"Last24Hours\",e[e.Last7Days=5]=\"Last7Days\",e[e.Last30Days=6]=\"Last30Days\",e[e.Last90Days=7]=\"Last90Days\"}(an||(an={}));var cn,un,mn,dn,hn,pn,gn,fn,bn,yn,vn,On,En,_n,kn,Cn,wn,jn=(Vt=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(e,a,r,i){var o,s;Object(u.a)(this,n),(o=t.call(this))._isFunctionGraphAvailable=e,o._backendClient=a,o._localStorage=r,o._startNewInstance=i,Object(z.a)(o,\"menuAnchorElement\",Yt,Object(qe.a)(o)),Object(z.a)(o,\"_tabIndex\",Gt,Object(qe.a)(o)),Object(z.a)(o,\"_cancelToken\",Ut,Object(qe.a)(o)),Object(z.a)(o,\"_autoRefresh\",Jt,Object(qe.a)(o)),Object(z.a)(o,\"_timeFrom\",qt,Object(qe.a)(o)),Object(z.a)(o,\"_timeTill\",Zt,Object(qe.a)(o)),Object(z.a)(o,\"_timeRange\",Kt,Object(qe.a)(o)),Object(z.a)(o,\"_filterValue\",$t,Object(qe.a)(o)),Object(z.a)(o,\"_filterOperator\",Qt,Object(qe.a)(o)),Object(z.a)(o,\"_filteredColumn\",Xt,Object(qe.a)(o)),Object(z.a)(o,\"_showStatuses\",en,Object(qe.a)(o)),Object(z.a)(o,\"_isStatusSelectOpen\",tn,Object(qe.a)(o)),o._tabStates=void 0,o._refreshToken=void 0,o._oldFilterValue=\"\",o._oldTimeFrom=void 0,o._oldTimeTill=void 0,o._tabStates=[new Ct(o._backendClient,o._localStorage,(function(){return o.reloadOrchestrations()})),new Nt(o._backendClient,Object(qe.a)(o)),new Tt(o._backendClient)],o._isFunctionGraphAvailable&&o._tabStates.push(new on(o._backendClient,o._startNewInstance));var l=o._localStorage.getItem(\"timeFrom\");s=l?Y()(l):Y()().subtract(1,\"days\"),o._timeFrom=s,o._oldTimeFrom=s;var c=o._localStorage.getItem(\"timeTill\");c&&(o._timeTill=Y()(c),o._oldTimeTill=o._timeTill);var m=o._localStorage.getItem(\"timeRange\");if(m){var d=new sn;d.values.timeFrom||d.values.timeTill||(o._timeRange=an[m])}var h=o._localStorage.getItem(\"filteredColumn\");h&&(o._filteredColumn=h);var p=o._localStorage.getItem(\"filterOperator\");p&&(o._filterOperator=Wt[p]);var g=o._localStorage.getItem(\"filterValue\");g&&(o._filterValue=g,o._oldFilterValue=g);var f=o._localStorage.getItem(\"showStatuses\");f&&(o._showStatuses=JSON.parse(f));var b=o._localStorage.getItem(\"autoRefresh\");b&&(o._autoRefresh=Number(b));var y=o._localStorage.getItem(\"tabIndex\");if(y){var v=Number(y);v>=0&&v<o._tabStates.length&&(o._tabIndex=v)}return o}return Object(m.a)(n,[{key:\"tabIndex\",get:function(){return this._tabIndex},set:function(e){this._tabIndex!==e&&(this._tabIndex=e,this._localStorage.setItem(\"tabIndex\",e.toString()),this.reloadOrchestrations())}},{key:\"selectedTabState\",get:function(){return this._tabStates[this._tabIndex]}},{key:\"inProgress\",get:function(){return this._cancelToken.inProgress&&!this._cancelToken.isCancelled}},{key:\"autoRefresh\",get:function(){return this._autoRefresh},set:function(e){this._autoRefresh=e,this._localStorage.setItem(\"autoRefresh\",this._autoRefresh.toString()),this.loadOrchestrations(!0)}},{key:\"timeFrom\",get:function(){return this.getTimeFrom()},set:function(e){this._timeFrom=e,this._timeRange=an.Custom}},{key:\"timeTill\",get:function(){return this.getTimeTill()},set:function(e){this._timeTill=e,this._timeRange=an.Custom}},{key:\"timeTillEnabled\",get:function(){return!!this._timeTill},set:function(e){this._timeTill=e?Y()():null,e||this.reloadOrchestrations()}},{key:\"timeRange\",get:function(){return this._timeRange},set:function(e){this.menuAnchorElement=void 0,this._timeRange=e,this.reloadOrchestrations()}},{key:\"filterValue\",get:function(){return this._filterValue},set:function(e){this._filterValue=e}},{key:\"filterOperator\",get:function(){return this._filterOperator},set:function(e){this._filterOperator=e,this._filterValue&&\"0\"!==this._filteredColumn&&this.reloadOrchestrations()}},{key:\"filteredColumn\",get:function(){return this._filteredColumn},set:function(e){this._filteredColumn=e,this._filterValue&&(\"0\"===this._filteredColumn&&(this._filterValue=\"\"),this.reloadOrchestrations())}},{key:\"showStatuses\",get:function(){return this._showStatuses},set:function(e){this._showStatuses=e}},{key:\"isStatusSelectOpen\",get:function(){return this._isStatusSelectOpen},set:function(e){this._isStatusSelectOpen=e,this._isStatusSelectOpen||this.reloadOrchestrations()}},{key:\"showLastEventColumn\",get:function(){return\"lastEvent\"===this._filteredColumn&&!!this._oldFilterValue}},{key:\"backendClient\",get:function(){return this._backendClient}},{key:\"isFunctionGraphAvailable\",get:function(){return this._isFunctionGraphAvailable}},{key:\"applyTimeFrom\",value:function(){Ze.isValidMoment(this._timeFrom)&&this._oldTimeFrom!==this._timeFrom&&this.reloadOrchestrations()}},{key:\"applyTimeTill\",value:function(){Ze.isValidMoment(this._timeTill)&&this._oldTimeTill!==this._timeTill&&this.reloadOrchestrations()}},{key:\"applyFilterValue\",value:function(){this._oldFilterValue!==this._filterValue&&this.reloadOrchestrations()}},{key:\"reloadOrchestrations\",value:function(){this._refreshToken&&(clearTimeout(this._refreshToken),this._refreshToken=null);var e,t=Object(Je.a)(this._tabStates);try{for(t.s();!(e=t.n()).done;){e.value.reset()}}catch(n){t.e(n)}finally{t.f()}Ze.isValidMoment(this._timeFrom)||(this._timeFrom=this._oldTimeFrom),this._timeTill&&!Ze.isValidMoment(this._timeTill)&&(this._timeTill=this._oldTimeTill),this._localStorage.setItems([{fieldName:\"timeFrom\",value:this._timeRange?null:this._timeFrom.toISOString()},{fieldName:\"timeTill\",value:this._timeTill&&!this._timeRange?this._timeTill.toISOString():null},{fieldName:\"timeRange\",value:this._timeRange?an[this._timeRange]:null},{fieldName:\"filteredColumn\",value:this._filteredColumn},{fieldName:\"filterOperator\",value:Wt[this._filterOperator]},{fieldName:\"filterValue\",value:this._filterValue?this._filterValue:null},{fieldName:\"showStatuses\",value:this._showStatuses?JSON.stringify(this._showStatuses):null}]),this.loadOrchestrations(),this._oldFilterValue=this._filterValue,this._oldTimeFrom=this._timeFrom,this._oldTimeTill=this._timeTill}},{key:\"cancel\",value:function(){this._cancelToken.isCancelled=!0,this._cancelToken=new _t}},{key:\"loadOrchestrations\",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=this._cancelToken;if(!n.inProgress){n.inProgress=!0;var a=\"&$filter=createdTime ge '\".concat(this.getTimeFrom().toISOString(),\"' and createdTime le '\").concat(this.getTimeTill().toISOString(),\"'\");this._showStatuses&&(a+=\" and runtimeStatus in (\".concat(this._showStatuses.map((function(e){return\"'\".concat(e,\"'\")})).join(\",\"),\")\"));var r=ln(this._filteredColumn,this._filterOperator,this._filterValue);r&&(a+=\" and \"+r),this.selectedTabState.load(a,n,t).then((function(){e._refreshToken&&clearTimeout(e._refreshToken),e._autoRefresh&&(e._refreshToken=setTimeout((function(){e.loadOrchestrations(!0)}),1e3*e._autoRefresh))}),(function(t){e._autoRefresh=0,n.isCancelled||e.showError(\"Load failed\",t)})).finally((function(){n.inProgress=!1}))}}},{key:\"getTimeFrom\",value:function(){switch(this._timeRange){case an.LastMinute:return Y()().subtract(1,\"minutes\");case an.Last10Minutes:return Y()().subtract(10,\"minutes\");case an.LastHour:return Y()().subtract(1,\"hours\");case an.Last24Hours:return Y()().subtract(1,\"days\");case an.Last7Days:return Y()().subtract(7,\"days\");case an.Last30Days:return Y()().subtract(30,\"days\");case an.Last90Days:return Y()().subtract(90,\"days\");default:return this._timeFrom}}},{key:\"getTimeTill\",value:function(){return this._timeRange||!this._timeTill?Y()():this._timeTill}}]),n}(Et),Object(B.a)(Vt.prototype,\"tabIndex\",[W.e],Object.getOwnPropertyDescriptor(Vt.prototype,\"tabIndex\"),Vt.prototype),Object(B.a)(Vt.prototype,\"inProgress\",[W.e],Object.getOwnPropertyDescriptor(Vt.prototype,\"inProgress\"),Vt.prototype),Object(B.a)(Vt.prototype,\"autoRefresh\",[W.e],Object.getOwnPropertyDescriptor(Vt.prototype,\"autoRefresh\"),Vt.prototype),Object(B.a)(Vt.prototype,\"timeFrom\",[W.e],Object.getOwnPropertyDescriptor(Vt.prototype,\"timeFrom\"),Vt.prototype),Object(B.a)(Vt.prototype,\"timeTill\",[W.e],Object.getOwnPropertyDescriptor(Vt.prototype,\"timeTill\"),Vt.prototype),Object(B.a)(Vt.prototype,\"timeTillEnabled\",[W.e],Object.getOwnPropertyDescriptor(Vt.prototype,\"timeTillEnabled\"),Vt.prototype),Object(B.a)(Vt.prototype,\"timeRange\",[W.e],Object.getOwnPropertyDescriptor(Vt.prototype,\"timeRange\"),Vt.prototype),Yt=Object(B.a)(Vt.prototype,\"menuAnchorElement\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Object(B.a)(Vt.prototype,\"filterValue\",[W.e],Object.getOwnPropertyDescriptor(Vt.prototype,\"filterValue\"),Vt.prototype),Object(B.a)(Vt.prototype,\"filterOperator\",[W.e],Object.getOwnPropertyDescriptor(Vt.prototype,\"filterOperator\"),Vt.prototype),Object(B.a)(Vt.prototype,\"filteredColumn\",[W.e],Object.getOwnPropertyDescriptor(Vt.prototype,\"filteredColumn\"),Vt.prototype),Object(B.a)(Vt.prototype,\"showStatuses\",[W.e],Object.getOwnPropertyDescriptor(Vt.prototype,\"showStatuses\"),Vt.prototype),Object(B.a)(Vt.prototype,\"isStatusSelectOpen\",[W.e],Object.getOwnPropertyDescriptor(Vt.prototype,\"isStatusSelectOpen\"),Vt.prototype),Object(B.a)(Vt.prototype,\"showLastEventColumn\",[W.e],Object.getOwnPropertyDescriptor(Vt.prototype,\"showLastEventColumn\"),Vt.prototype),Gt=Object(B.a)(Vt.prototype,\"_tabIndex\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return nn.List}}),Ut=Object(B.a)(Vt.prototype,\"_cancelToken\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new _t}}),Jt=Object(B.a)(Vt.prototype,\"_autoRefresh\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),qt=Object(B.a)(Vt.prototype,\"_timeFrom\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Zt=Object(B.a)(Vt.prototype,\"_timeTill\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Kt=Object(B.a)(Vt.prototype,\"_timeRange\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return an.Custom}}),$t=Object(B.a)(Vt.prototype,\"_filterValue\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return\"\"}}),Qt=Object(B.a)(Vt.prototype,\"_filterOperator\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Wt.Equals}}),Xt=Object(B.a)(Vt.prototype,\"_filteredColumn\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return\"0\"}}),en=Object(B.a)(Vt.prototype,\"_showStatuses\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),tn=Object(B.a)(Vt.prototype,\"_isStatusSelectOpen\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Vt),Sn=n(704),Tn=n(267),Nn=n(764),Pn=n(765),In=n(766),Dn=n(767),Fn=n(788),xn=n(768),Mn=n(126),Ln=n.n(Mn),Hn=n(777),Rn=DfmRoutePrefix?\"/\".concat(DfmRoutePrefix,\"/\"):\"/\",An=Rn+\"a/p/i\",zn=function(){function e(t,n){Object(u.a)(this,e),this._getTaskHubName=t,this._getAuthorizationHeaderAsync=n}return Object(m.a)(e,[{key:\"isVsCode\",get:function(){return!1}},{key:\"routePrefixAndTaskHubName\",get:function(){return Rn+this._getTaskHubName()}},{key:\"call\",value:function(e,t,n){var a=this;return[\"get\",\"post\",\"put\"].includes(e.toLowerCase())?new Promise((function(r,i){a._getAuthorizationHeaderAsync().then((function(o){var s=a._getTaskHubName();s.endsWith(\"TestHubName\")&&\"POST\"===e&&t.match(/\\/(orchestrations|restart)$/i)&&(s=s.replace(\"TestHubName\",\"testhubname\")),s.includes(\"-\")||(s=\"--\"+s),Ln.a.request({url:An+\"/\"+s+t,method:e,data:n,headers:o}).then((function(e){r(e.data)}),i)}))})):Promise.reject(new Error(\"Method \".concat(e,\" not supported\")))}},{key:\"showDetails\",value:function(e){window.open(\"\".concat(this.routePrefixAndTaskHubName).concat(Bn).concat(e))}}]),e}(),Bn=\"/orchestrations/\",Wn=(cn=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){var e;return Object(u.a)(this,n),e=t.call(this),Object(z.a)(e,\"menuAnchorElement\",un,Object(qe.a)(e)),Object(z.a)(e,\"_isLoggedIn\",mn,Object(qe.a)(e)),Object(z.a)(e,\"_userName\",dn,Object(qe.a)(e)),Object(z.a)(e,\"_taskHubName\",hn,Object(qe.a)(e)),Object(z.a)(e,\"_allowedTaskHubNames\",pn,Object(qe.a)(e)),e._aadApp=void 0,Ln.a.defaults.maxRedirects=0,e.login(),e}return Object(m.a)(n,[{key:\"isLoggedIn\",get:function(){return this._isLoggedIn}},{key:\"isLoggedInAnonymously\",get:function(){return!this._userName}},{key:\"userName\",get:function(){return this._userName}},{key:\"taskHubName\",get:function(){return this._taskHubName}},{key:\"allowedTaskHubNames\",get:function(){return this._allowedTaskHubNames}},{key:\"locationPathName\",get:function(){var e=window.location.pathname,t=e.lastIndexOf(Bn);return t>=0&&(e=e.substring(0,t)),e.endsWith(\"/\")||(e+=\"/\"),e}},{key:\"rootUri\",get:function(){var e=this.tryGetTaskHubName();if(e){var t=window.location.href.toLowerCase().lastIndexOf(\"/\"+e.toLowerCase());if(t>=0)return window.location.href.substring(0,t)}return window.location.origin+(window.location.pathname.endsWith(\"/\")?window.location.pathname.substr(0,window.location.pathname.length-1):window.location.pathname)}},{key:\"login\",value:function(){var e=this,t=\"\".concat(An,\"/easyauth-config\");Ln.a.get(t).then((function(t){return e.loginWithEasyAuthConfig(t.data)}),(function(t){return e.showError(\"Failed to load auth config\",t)}))}},{key:\"logout\",value:function(){this.menuAnchorElement=void 0,this._aadApp?this._aadApp.logout():window.location.replace(\"/.auth/logout\")}},{key:\"getAuthorizationHeaderAsync\",value:function(){var e=this,t={},n=\"x-dfm-xsrf-token\",a=new RegExp(\"\".concat(n,\"=([^;]+)\")).exec(decodeURIComponent(document.cookie));return a&&(t[\"x-dfm-xsrf-token\"]=a[1]),this._aadApp?new Promise((function(n,a){var r={scopes:[e._aadApp.getCurrentConfiguration().auth.clientId]};e._aadApp.acquireTokenSilent(r).then((function(e){var a=e.accessToken;a||(console.log(\"DFM: accessToken is null, so using idToken.rawIdToken instead\"),a=e.idToken.rawIdToken),t.Authorization=\"Bearer \".concat(a),n(t)}),(function(t){console.log(\"DFM: acquireTokenSilent() failed (\".concat(t,\"), so calling acquireTokenRedirect()...\")),e._aadApp.acquireTokenRedirect(r)}))})):new Promise((function(e,n){return e(t)}))}},{key:\"loginWithEasyAuthConfig\",value:function(e){if(!e.clientId)return this._userName=e.userName,Ln.a.interceptors.response.use((function(e){return e}),(function(e){return\"Network Error\"===e.message&&window.location.reload(!0),Promise.reject(e)})),void this.initializeTaskHubNameAndConfirmLogin();this._aadApp=new Hn.a({auth:{clientId:e.clientId,authority:e.authority,redirectUri:this.rootUri}}),this._aadApp.handleRedirectCallback((function(){}),(function(e,t){console.log(\"Failed to handle login redirect. name: \".concat(e.name,\", message: \").concat(e.message,\", errorCode: \").concat(e.errorCode,\", errorMessage: \").concat(e.errorMessage,\", accountState: \").concat(t))}));var t=this._aadApp.getAccount();t?(this._userName=t.userName,this.initializeTaskHubNameAndConfirmLogin()):this._aadApp.loginRedirect()}},{key:\"initializeTaskHubNameAndConfirmLogin\",value:function(){var e=this,t=this.tryGetTaskHubName();if(t)return this._taskHubName=t,void(this._isLoggedIn=!0);this.getAuthorizationHeaderAsync().then((function(t){var n=\"\".concat(An,\"/task-hub-names\");Ln.a.get(n,{headers:t}).then((function(t){var n=t.data;1===n.length?window.location.pathname=e.locationPathName+n[0]:e._allowedTaskHubNames=n}),(function(t){return e.showError(\"Failed to load the list of Task Hubs\",t)}))}))}},{key:\"tryGetTaskHubName\",value:function(){var e=this.locationPathName;if(e.toLowerCase().endsWith(\"/\".concat(DfmRoutePrefix.toLowerCase(),\"/\")))return null;var t=e.split(\"/\").filter((function(e){return!!e}));return t.length<1?null:t[t.length-1]}}]),n}(Et),Object(B.a)(cn.prototype,\"isLoggedIn\",[W.e],Object.getOwnPropertyDescriptor(cn.prototype,\"isLoggedIn\"),cn.prototype),Object(B.a)(cn.prototype,\"isLoggedInAnonymously\",[W.e],Object.getOwnPropertyDescriptor(cn.prototype,\"isLoggedInAnonymously\"),cn.prototype),Object(B.a)(cn.prototype,\"userName\",[W.e],Object.getOwnPropertyDescriptor(cn.prototype,\"userName\"),cn.prototype),Object(B.a)(cn.prototype,\"taskHubName\",[W.e],Object.getOwnPropertyDescriptor(cn.prototype,\"taskHubName\"),cn.prototype),Object(B.a)(cn.prototype,\"allowedTaskHubNames\",[W.e],Object.getOwnPropertyDescriptor(cn.prototype,\"allowedTaskHubNames\"),cn.prototype),un=Object(B.a)(cn.prototype,\"menuAnchorElement\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),mn=Object(B.a)(cn.prototype,\"_isLoggedIn\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),dn=Object(B.a)(cn.prototype,\"_userName\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),hn=Object(B.a)(cn.prototype,\"_taskHubName\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),pn=Object(B.a)(cn.prototype,\"_allowedTaskHubNames\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),cn),Vn=(gn=W.d.bound,Object(p.a)((bn=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){return Object(u.a)(this,n),t.apply(this,arguments)}return Object(m.a)(n,[{key:\"render\",value:function(){var e,t;return this.props.backendClient.isVsCode?s.createElement(v.a,{color:\"dark\"===Z.palette.type?\"inherit\":\"primary\",className:\"link-with-pointer-cursor\",onClick:this.onLinkClicked},null!==(e=this.props.title)&&void 0!==e?e:this.props.orchestrationId):s.createElement(v.a,{color:\"dark\"===Z.palette.type?\"inherit\":\"primary\",href:\"\".concat(this.props.backendClient.routePrefixAndTaskHubName).concat(Bn).concat(this.extraSanitizeHrefComponent(this.props.orchestrationId)),target:\"_blank\"},null!==(t=this.props.title)&&void 0!==t?t:this.props.orchestrationId)}},{key:\"onLinkClicked\",value:function(){this.props.backendClient.call(\"OpenInNewWindow\",this.props.orchestrationId)}},{key:\"extraSanitizeHrefComponent\",value:function(e){return e.replace(/javascript:/gi,\"\")}}]),n}(s.Component),Object(B.a)(bn.prototype,\"onLinkClicked\",[gn],Object.getOwnPropertyDescriptor(bn.prototype,\"onLinkClicked\"),bn.prototype),fn=bn))||fn),Yn=n(398),Gn=n(763),Un=Object(p.a)(yn=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){return Object(u.a)(this,n),t.apply(this,arguments)}return Object(m.a)(n,[{key:\"render\",value:function(){var e=this.props.state;return s.createElement(N.a,{fullWidth:!0,maxWidth:\"md\",open:!!e.jsonString,onClose:function(){return e.jsonString=\"\"}},s.createElement(x.a,null,e.title),s.createElement(P.a,null,s.createElement(Yn.a,{multiline:!0,fullWidth:!0,readOnly:!0,value:e.jsonString})),s.createElement(Gn.a,null,s.createElement(w.a,{onClick:function(){return e.jsonString=\"\"},color:$},\"Close\")))}}],[{key:\"formatJson\",value:function(e){if(!e)return\"\";if(\"string\"===typeof e)try{e=JSON.parse(e)}catch(t){}return\"string\"===typeof e?e:JSON.stringify(e,null,3)}},{key:\"renderJson\",value:function(e,t,n){if(!e)return null;if(\"string\"===typeof e)try{e=JSON.parse(e)}catch(i){}var a=\"string\"===typeof e?e:JSON.stringify(e),r=\"string\"===typeof e?e:JSON.stringify(e,null,3);return s.createElement(Yn.a,{color:\"secondary\",className:\"long-text-cell-input\",multiline:!0,fullWidth:!0,rowsMax:4,readOnly:!0,value:a.substr(0,512),onClick:function(){n.title=t,n.jsonString=r}})}}]),n}(s.Component))||yn,Jn=Object(p.a)((En=On=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){var e;Object(u.a)(this,n);for(var a=arguments.length,r=new Array(a),i=0;i<a;i++)r[i]=arguments[i];return(e=t.call.apply(t,[this].concat(r))).context=void 0,e}return Object(m.a)(n,[{key:\"render\",value:function(){var e=this.props.state;return s.createElement(s.Fragment,null,s.createElement(Sn.a,{className:\"items-count-label\"},!!e.orchestrations.length&&s.createElement(s.Fragment,null,e.orchestrations.length,\" items shown\",!!e.hiddenColumns.length&&s.createElement(s.Fragment,null,\", \",e.hiddenColumns.length,\" columns hidden (\",s.createElement(v.a,{color:\"dark\"===Z.palette.type?\"inherit\":\"primary\",className:\"unhide-button\",component:\"button\",variant:\"inherit\",onClick:function(){return e.unhide()}},\"unhide\"),\")\"),!!e.orderBy&&s.createElement(s.Fragment,null,\", sorted by \",s.createElement(\"strong\",null,e.orderBy,\" \",e.orderByDirection),\"(\",s.createElement(v.a,{color:\"dark\"===Z.palette.type?\"inherit\":\"primary\",className:\"unhide-button\",component:\"button\",variant:\"inherit\",onClick:function(){return e.resetOrderBy()}},\"reset\"),\")\"))),s.createElement(Tn.a,{elevation:0},this.renderTable(e)),s.createElement(Un,{state:e.longJsonDialogState}))}},{key:\"renderTable\",value:function(e){var t=this;if(!e.orchestrations.length)return s.createElement(y.a,{variant:\"h5\",className:\"empty-table-placeholder\"},\"This list is empty\");var n=Ae.filter((function(e){return!!t.props.showLastEventColumn||\"lastEvent\"!==e}));return s.createElement(Nn.a,{size:\"small\"},s.createElement(Pn.a,null,s.createElement(In.a,null,n.map((function(a){var r=n.length<=e.hiddenColumns.length+1;return!e.hiddenColumns.includes(a)&&s.createElement(Dn.a,{key:a,onMouseEnter:function(){return e.columnUnderMouse=a},onMouseLeave:function(){return e.columnUnderMouse=\"\"}},s.createElement(Fn.a,{active:e.orderBy===a,direction:e.orderByDirection,onClick:function(){return e.orderBy=a}},a,[\"createdTime\",\"lastUpdatedTime\"].includes(a)&&s.createElement(\"span\",{className:\"time-zone-name-span\"},\"(\",t.context.timeZoneName,\")\")),e.columnUnderMouse===a&&!r&&s.createElement(ue.a,{color:\"inherit\",size:\"small\",className:\"column-hide-button\",onClick:function(){return e.hideColumn(a)}},s.createElement(Ve.a,null)))})))),s.createElement(xn.a,null,e.orchestrations.map((function(n){var a=Q(n.runtimeStatus),r={verticalAlign:\"top\"};return s.createElement(In.a,{key:n.instanceId,style:a},!e.hiddenColumns.includes(\"instanceId\")&&s.createElement(Dn.a,{className:\"instance-id-cell\",style:r},s.createElement(Vn,{orchestrationId:n.instanceId,backendClient:t.props.backendClient})),!e.hiddenColumns.includes(\"name\")&&s.createElement(Dn.a,{className:\"name-cell\",style:r},n.name),!e.hiddenColumns.includes(\"createdTime\")&&s.createElement(Dn.a,{className:\"datetime-cell\",style:r},t.context.formatDateTimeString(n.createdTime)),!e.hiddenColumns.includes(\"lastUpdatedTime\")&&s.createElement(Dn.a,{className:\"datetime-cell\",style:r},t.context.formatDateTimeString(n.lastUpdatedTime)),!e.hiddenColumns.includes(\"duration\")&&s.createElement(Dn.a,{style:r},Ze.formatDuration(n.duration)),!e.hiddenColumns.includes(\"runtimeStatus\")&&s.createElement(Dn.a,{style:r},n.runtimeStatus),!e.hiddenColumns.includes(\"lastEvent\")&&t.props.showLastEventColumn&&s.createElement(Dn.a,{style:r},n.lastEvent),!e.hiddenColumns.includes(\"input\")&&s.createElement(Dn.a,{className:\"long-text-cell\",style:r},Un.renderJson(n.input,\"\".concat(n.instanceId,\" / input\"),e.longJsonDialogState)),!e.hiddenColumns.includes(\"output\")&&s.createElement(Dn.a,{className:\"output-cell\",style:r},Un.renderJson(n.output,\"\".concat(n.instanceId,\" / output\"),e.longJsonDialogState)),!e.hiddenColumns.includes(\"customStatus\")&&s.createElement(Dn.a,{className:\"output-cell\",style:r},Un.renderJson(n.customStatus,\"\".concat(n.instanceId,\" / customStatus\"),e.longJsonDialogState)))}))))}}]),n}(s.Component),On.contextType=U,vn=En))||vn,qn=n(127),Zn=Object(p.a)((Cn=kn=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){var e;Object(u.a)(this,n);for(var a=arguments.length,r=new Array(a),i=0;i<a;i++)r[i]=arguments[i];return(e=t.call.apply(t,[this].concat(r))).context=void 0,e}return Object(m.a)(n,[{key:\"render\",value:function(){var e=this,t=this.props.state,n=Object.keys(t.histograms).sort();return s.createElement(s.Fragment,null,s.createElement(Sn.a,{className:\"items-count-label\"},\"\".concat(t.numOfInstancesShown,\" items shown\"),t.zoomedIn&&s.createElement(s.Fragment,null,\", \",s.createElement(v.a,{color:\"dark\"===Z.palette.type?\"inherit\":\"primary\",className:\"unhide-button\",component:\"button\",variant:\"inherit\",onClick:function(){return t.resetZoom()}},\"reset zoom (Ctrl+Z)\"))),s.createElement(qn.e,{width:window.innerWidth-40,height:window.innerHeight-400,xType:\"time\",stackBy:\"y\",margin:{left:80,right:10,top:20}},!!t.numOfInstancesShown&&s.createElement(qn.f,{tickTotal:7}),s.createElement(qn.d,{tickTotal:7,tickFormat:function(n){return e.formatTimeTick(n,t.timeRangeInMilliseconds)}}),n.map((function(n){return s.createElement(qn.c,{key:n,stroke:\"white\",color:e.getColorCodeForInstanceType(n),data:t.histograms[n]})})),!!t.numOfInstancesShown&&s.createElement(qn.b,{color:\"#829AE3\",drag:!0,enableY:!1,onDragEnd:function(e){e&&t.applyZoom(e.left,e.right)}})),s.createElement(qn.a,{className:\"histogram-legend\"+(\"dark\"===Z.palette.type?\" histogram-legend-dark-mode\":\"\"),colors:n.map((function(t){return e.getColorCodeForInstanceType(t)})),items:n.map((function(e){return\"\".concat(e,\" (\").concat(t.counts[e],\")\")})),orientation:\"horizontal\"}))}},{key:\"getColorCodeForInstanceType\",value:function(e){for(var t=0,n=e.length-1;n>=0;n--)t=(t<<5)-t+e.charCodeAt(n),t&=2147483647;return t|=1048576,\"#\"+(t&=16777199).toString(16)}},{key:\"formatTimeTick\",value:function(e,t){var n=Y()(e);return this.context.showTimeAsLocal||n.utc(),t>432e6?n.format(\"YYYY-MM-DD\"):t>864e5?n.format(\"YYYY-MM-DD HH:mm\"):t>1e4?0===n.second()?n.format(\"HH:mm\"):n.format(\"HH:mm:ss\"):0===n.millisecond()?n.format(\"HH:mm:ss\"):n.format(\":SSS\")}}]),n}(s.Component),kn.contextType=U,_n=Cn))||_n,Kn=n(81),$n=n.n(Kn),Qn=n(265),Xn=n.n(Qn),ea=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){return Object(u.a)(this,n),t.apply(this,arguments)}return Object(m.a)(n,[{key:\"render\",value:function(){var e=this;return this.props.backendClient.isVsCode?s.createElement(w.a,{variant:\"outlined\",color:\"default\",disabled:this.props.inProgress,onClick:function(){return e.props.backendClient.call(\"SaveAs\",e.props.fileName+\".svg\",e.props.svg)}},s.createElement(Xn.a,null),s.createElement(g.a,{width:20}),s.createElement(y.a,{color:\"inherit\"},\"Save as .SVG\")):s.createElement(w.a,{variant:\"outlined\",color:\"default\",disabled:this.props.inProgress,href:URL.createObjectURL(new Blob([this.props.svg],{type:\"image/svg+xml\"})),download:this.props.fileName+\".svg\"},s.createElement(Xn.a,null),s.createElement(g.a,{width:20}),s.createElement(y.a,{color:\"inherit\"},\"Save as .SVG\"))}}]),n}(s.Component);function ta(e){return e.replace(\"</style>\",\".note { stroke: none !important; fill: none !important; } .noteText { font-size: 9px !important; } .label > g > text { transform: translateX(25px); }</style>\")}var na,aa=Object(p.a)(wn=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){return Object(u.a)(this,n),t.apply(this,arguments)}return Object(m.a)(n,[{key:\"componentDidUpdate\",value:function(){var e=document.getElementById(\"mermaidSvgId\");e&&(this.mountClickEventToFunctionNodes(e.getElementsByClassName(\"task\")),this.mountClickEventToFunctionNodes(e.getElementsByClassName(\"taskText\")),this.mountClickEventToFunctionNodes(e.getElementsByClassName(\"taskTextOutsideLeft\")),this.mountClickEventToFunctionNodes(e.getElementsByClassName(\"taskTextOutsideRight\")))}},{key:\"render\",value:function(){var e=this.props.state;return e.rawHtml?s.createElement(s.Fragment,null,s.createElement(\"div\",{className:\"raw-html-div\",style:K,dangerouslySetInnerHTML:{__html:ta(e.rawHtml)}}),s.createElement(b.a,{variant:\"dense\"},s.createElement(y.a,{style:{flex:1}}),s.createElement(w.a,{variant:\"outlined\",color:\"default\",disabled:this.props.inProgress,onClick:function(){return window.navigator.clipboard.writeText(e.diagramCode)}},s.createElement($n.a,null),s.createElement(g.a,{width:10}),s.createElement(y.a,{color:\"inherit\"},\"Copy diagram code to Clipboard\")),s.createElement(g.a,{width:20}),s.createElement(ea,{svg:ta(e.rawHtml),fileName:this.props.fileName,inProgress:this.props.inProgress,backendClient:this.props.backendClient}),s.createElement(g.a,{width:20}))):null}},{key:\"mountClickEventToFunctionNodes\",value:function(e){for(var t=this.props.state,n=function(){var n=e[a],r=parseInt(n.id.substr(4));n.onclick=function(){return t.goto(r)},n.style.cursor=\"pointer\",n.onmouseenter=function(e){e.target.style.strokeOpacity=\"0.5\"},n.onmouseleave=function(e){e.target.style.strokeOpacity=\"1\"}},a=0;a<e.length;a++)n()}}]),n}(s.Component))||wn,ra=n(789),ia=(n(693),n(377),function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){return Object(u.a)(this,n),t.apply(this,arguments)}return Object(m.a)(n,[{key:\"mountClickEventToFunctionNodes\",value:function(e){var t=this,a=this.props.state;n.forEachFunctionNode(e,(function(e,n){e.onclick=function(){return a.gotoFunctionCode(n)},t.showAsClickable(e)}))}},{key:\"showAsClickable\",value:function(e){e.style.cursor=\"pointer\",e.onmouseenter=function(e){e.target.style.strokeOpacity=\"0.5\"},e.onmouseleave=function(e){e.target.style.strokeOpacity=\"1\"}}}],[{key:\"forEachFunctionNode\",value:function(e,t){for(var n=0;n<e.length;n++){var a=e[n],r=/flowchart-(.+)-/.exec(a.id);r&&t(a,r[1])}}}]),n}(s.Component)),oa=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){var e;Object(u.a)(this,n);for(var a=arguments.length,r=new Array(a),i=0;i<a;i++)r[i]=arguments[i];return(e=t.call.apply(t,[this].concat(r))).RunningStyle=ee(\"Running\"),e.CompletedStyle=ee(\"Completed\"),e.FailedStyle=ee(\"Failed\"),e.OtherStyle=ee(\"Terminated\"),e.DurationStyle=ee(\"Duration\"),e}return Object(m.a)(n,null,[{key:\"repositionMetricHints\",value:function(){for(var e=document.getElementsByClassName(\"metrics-span\"),t=0;t<e.length;t++){e[t].style.visibility=\"hidden\"}var a=document.getElementById(\"mermaidSvgId\");if(a){var r=n.nodeTypesToHighlight.map((function(e){return Array.from(a.getElementsByClassName(e))})).flat(),i=\"\";if(n.forEachFunctionNode(r,(function(e,t){var n=document.getElementById(\"metrics-hint-\".concat(t.toLowerCase()));if(n){i=\"data-is-highlighted\",e.setAttribute(i,\"true\");var a=e.getBoundingClientRect();n.style.visibility=\"visible\",n.style.left=\"\".concat(a.left+5,\"px\"),n.style.top=\"\".concat(a.top-17,\"px\")}})),i)for(var o=0,s=Array.from(a.getElementsByClassName(\"node\"));o<s.length;o++){var l=s[o];l.style.opacity=l.getAttribute(i)?\"1\":\"0.6\"}}}}]),n}(ia);oa.nodeTypesToHighlight=[\"orchestrator\",\"entity\"];var sa,la,ca,ua,ma,da,ha,pa,ga,fa,ba,ya,va,Oa,Ea=Object(p.a)(na=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){return Object(u.a)(this,n),t.apply(this,arguments)}return Object(m.a)(n,[{key:\"componentDidMount\",value:function(){window.addEventListener(\"resize\",n.repositionMetricHints),n.repositionMetricHints()}},{key:\"componentWillUnmount\",value:function(){window.removeEventListener(\"resize\",n.repositionMetricHints)}},{key:\"componentDidUpdate\",value:function(){n.repositionMetricHints();var e=document.getElementById(\"mermaidSvgId\");e&&(this.mountClickEventToFunctionNodes(e.getElementsByClassName(\"function\")),this.mountClickEventToFunctionNodes(e.getElementsByClassName(\"activity\")),this.mountClickEventToFunctionNodes(e.getElementsByClassName(\"entity\")),this.mountClickEventToFunctionNodes(e.getElementsByClassName(\"proxy\")),this.mountClickEventToOrchestrationNodes(e.getElementsByClassName(\"orchestrator\")))}},{key:\"render\",value:function(){var e=this.props.state;return s.createElement(s.Fragment,null,s.createElement(Sn.a,{className:\"link-to-az-func-as-a-graph\"},\"powered by \",s.createElement(v.a,{color:\"dark\"===Z.palette.type?\"inherit\":\"primary\",variant:\"inherit\",href:\"https://github.com/scale-tone/az-func-as-a-graph\"},\"az-func-as-a-graph\")),!!e.functionsLoaded&&s.createElement(ke.a,{row:!0,className:\"settings-group\"},s.createElement(de.a,{control:s.createElement(Oe.a,{color:\"default\",disabled:this.props.inProgress,checked:e.renderFunctions,onChange:function(t){return e.renderFunctions=t.target.checked}}),label:s.createElement(y.a,{color:\"textPrimary\"},\"Show Functions\")}),s.createElement(de.a,{control:s.createElement(Oe.a,{color:\"default\",disabled:this.props.inProgress,checked:e.renderProxies,onChange:function(t){return e.renderProxies=t.target.checked}}),label:s.createElement(y.a,{color:\"textPrimary\"},\"Show Proxies\")}),this.renderTotalMetric()),this.renderMetrics(),!!e.diagramSvg&&s.createElement(s.Fragment,null,s.createElement(\"div\",{className:\"diagram-div\",style:K,dangerouslySetInnerHTML:{__html:ta(e.diagramSvg)}}),s.createElement(b.a,{variant:\"dense\"},s.createElement(y.a,{style:{flex:1}}),s.createElement(w.a,{variant:\"outlined\",color:\"default\",disabled:this.props.inProgress,onClick:function(){return window.navigator.clipboard.writeText(e.diagramCode)}},s.createElement($n.a,null),s.createElement(g.a,{width:10}),s.createElement(y.a,{color:\"inherit\"},\"Copy diagram code to Clipboard\")),s.createElement(g.a,{width:20}),s.createElement(ea,{svg:ta(e.diagramSvg),fileName:this.props.fileName,inProgress:this.props.inProgress,backendClient:this.props.backendClient}),s.createElement(g.a,{width:20})),s.createElement(S.a,{anchorEl:e.menuAnchorElement,anchorOrigin:{vertical:\"center\",horizontal:\"left\"},keepMounted:!0,open:!!e.menuAnchorElement,onClose:function(){return e.menuAnchorElement=void 0}},s.createElement(T.a,{onClick:function(){return e.gotoOrchestrationCode()}},\"Go to Code\"),s.createElement(T.a,{onClick:function(){return e.startNewInstance()}},\"Start New Instance...\"))))}},{key:\"renderTotalMetric\",value:function(){var e=this.props.state,t=e.metrics[e.TotalMetricsName];return!!t&&(!!t.completed||!!t.running||!!t.failed||!!t.other)&&s.createElement(\"span\",{className:\"total-metrics-span\"},s.createElement(y.a,{color:\"textPrimary\"},\"Total instances:\"),s.createElement(g.a,{width:10}),!!t.completed&&s.createElement(ra.a,{className:\"metrics-chip\",style:this.CompletedStyle,variant:\"outlined\",size:\"small\",label:\"\".concat(t.completed,\" completed\")}),!!t.running&&s.createElement(ra.a,{className:\"metrics-chip\",style:this.RunningStyle,variant:\"outlined\",size:\"small\",label:\"\".concat(t.running,\" running\")}),!!t.failed&&s.createElement(ra.a,{className:\"metrics-chip\",style:this.FailedStyle,variant:\"outlined\",size:\"small\",label:\"\".concat(t.failed,\" failed\")}),!!t.other&&s.createElement(ra.a,{className:\"metrics-chip\",style:this.OtherStyle,variant:\"outlined\",size:\"small\",label:\"\".concat(t.other,\" other\")}))}},{key:\"renderMetrics\",value:function(){var e=this,t=this.props.state;return Object.keys(t.metrics).map((function(n){var a=t.metrics[n];return s.createElement(\"span\",{id:\"metrics-hint-\".concat(n.toLowerCase()),key:\"metrics-hint-\".concat(n),className:\"metrics-span\"},!!a.completed&&s.createElement(j.a,{title:\"Number of completed instances\"},s.createElement(ra.a,{className:\"metrics-chip\",style:e.CompletedStyle,variant:\"outlined\",size:\"small\",label:\"\".concat(a.completed)})),!!a.running&&s.createElement(j.a,{title:\"Number of running instances\"},s.createElement(ra.a,{className:\"metrics-chip\",style:e.RunningStyle,variant:\"outlined\",size:\"small\",label:\"\".concat(a.running)})),!!a.failed&&s.createElement(j.a,{title:\"Number of failed instances\"},s.createElement(ra.a,{className:\"metrics-chip\",style:e.FailedStyle,variant:\"outlined\",size:\"small\",label:\"\".concat(a.failed)})),!!a.other&&s.createElement(j.a,{title:\"Number of terminated/cancelled instances\"},s.createElement(ra.a,{className:\"metrics-chip\",style:e.OtherStyle,variant:\"outlined\",size:\"small\",label:\"\".concat(a.other)})))}))}},{key:\"mountClickEventToOrchestrationNodes\",value:function(e){var t=this,a=this.props.state;n.forEachFunctionNode(e,(function(e,n){e.onclick=function(){return a.showPopupMenu(e,n)},t.showAsClickable(e)}))}}]),n}(oa))||na,_a=(sa=W.d.bound,Object(p.a)((ma=ua=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){var e;Object(u.a)(this,n);for(var a=arguments.length,r=new Array(a),i=0;i<a;i++)r[i]=arguments[i];return(e=t.call.apply(t,[this].concat(r))).context=void 0,e}return Object(m.a)(n,[{key:\"componentDidMount\",value:function(){var e=this;this.props.state.loadOrchestrations(),document.addEventListener(\"scroll\",(function(t){var n=e.props.state;if(n.tabIndex===nn.List){var a=t.target.scrollingElement;if(a){a.scrollHeight-window.innerHeight-a.scrollTop<100&&n.loadOrchestrations()}}})),document.addEventListener(\"keydown\",(function(t){var n=e.props.state;n.tabIndex===nn.Histogram&&t.ctrlKey&&90===t.keyCode&&n.selectedTabState.resetZoom()}))}},{key:\"render\",value:function(){var e,t=this,n=this.props.state,a=n.selectedTabState,r=n.selectedTabState,i=n.selectedTabState,o=n.selectedTabState,l=\"[Show All]\";return s.createElement(s.Fragment,null,s.createElement(S.a,{anchorEl:n.menuAnchorElement,keepMounted:!0,open:!!n.menuAnchorElement,onClose:function(){return n.menuAnchorElement=void 0}},s.createElement(T.a,{onClick:function(){return n.timeRange=an.LastMinute}},\"Last Minute\"),s.createElement(T.a,{onClick:function(){return n.timeRange=an.Last10Minutes}},\"Last 10 Minutes\"),s.createElement(T.a,{onClick:function(){return n.timeRange=an.LastHour}},\"Last Hour\"),s.createElement(T.a,{onClick:function(){return n.timeRange=an.Last24Hours}},\"Last 24 Hours\"),s.createElement(T.a,{onClick:function(){return n.timeRange=an.Last7Days}},\"Last 7 Days\"),s.createElement(T.a,{onClick:function(){return n.timeRange=an.Last30Days}},\"Last 30 Days\"),s.createElement(T.a,{onClick:function(){return n.timeRange=an.Last90Days}},\"Last 90 Days\"),s.createElement(T.a,{onClick:function(){return n.timeRange=an.Custom}},\"Custom\")),s.createElement(f.a,{color:\"inherit\",position:\"static\",className:\"top-appbar\"},n.inProgress?s.createElement(be.a,null):s.createElement(g.a,{height:4}),s.createElement(b.a,{variant:\"dense\",className:\"top-toolbar\"},s.createElement(ye.a,{container:!0,className:\"toolbar-grid1\"},s.createElement(ye.a,{item:!0,xs:12},s.createElement(w.a,{size:\"small\",variant:\"outlined\",className:\"time-period-menu-drop-btn\",onClick:function(e){return n.menuAnchorElement=e.currentTarget}},s.createElement(Fe.a,null)),n.timeRange?s.createElement(E.a,{className:\"from-input\",label:\"Time Range (createdTime)\",InputProps:{readOnly:!0},InputLabelProps:{shrink:!0},type:\"text\",value:this.timeRangeToString(n.timeRange)}):s.createElement(Se.a,{className:\"from-input\",ampm:!1,autoOk:!0,label:\"From (\".concat(this.context.timeZoneName,\")\"),invalidDateMessage:\"\",format:\"YYYY-MM-DD HH:mm:ss\",disabled:n.inProgress,value:this.context.getMoment(n.timeFrom),onChange:function(e){return n.timeFrom=t.context.setMoment(e)},onBlur:function(){return n.applyTimeFrom()},onAccept:function(){return n.applyTimeFrom()},onKeyPress:this.handleKeyPress})),s.createElement(ye.a,{item:!0,xs:12,className:\"toolbar-grid1-item2\"},!n.timeRange&&s.createElement(s.Fragment,null,s.createElement(ve.a,null,s.createElement(Oe.a,{id:\"till-checkbox\",className:\"till-checkbox\",disabled:n.inProgress,checked:n.timeTillEnabled,onChange:function(e){return n.timeTillEnabled=e.target.checked}})),n.timeTillEnabled?s.createElement(Se.a,{className:\"till-input\",ampm:!1,autoOk:!0,label:\"Till (\".concat(this.context.timeZoneName,\")\"),invalidDateMessage:\"\",format:\"YYYY-MM-DD HH:mm:ss\",disabled:n.inProgress,value:this.context.getMoment(n.timeTill),onChange:function(e){return n.timeTill=t.context.setMoment(e)},onBlur:function(){return n.applyTimeTill()},onAccept:function(){return n.applyTimeTill()},onKeyPress:this.handleKeyPress}):s.createElement(E.a,{className:\"till-input\",label:\"Till (\".concat(this.context.timeZoneName,\")\"),placeholder:\"[Now]\",InputLabelProps:{shrink:!0},type:\"text\",disabled:!0})))),s.createElement(ye.a,{container:!0,className:\"toolbar-grid2\"},s.createElement(ye.a,{item:!0,xs:12,className:\"toolbar-grid2-item-1\"},s.createElement(ve.a,null,s.createElement(Ee.a,{htmlFor:\"filtered-column-select\"},\"Filtered Column\"),s.createElement(_e.a,{className:\"toolbar-select filtered-column-input\",disabled:n.inProgress,value:n.filteredColumn,onChange:function(e){return n.filteredColumn=e.target.value},inputProps:{id:\"filtered-column-select\"}},s.createElement(T.a,{value:\"0\"},\"[Not Selected]\"),Ae.map((function(e){return s.createElement(T.a,{key:e,value:e},e)})))),s.createElement(ve.a,{className:\"toolbar-grid2-item1-select\"},s.createElement(Ee.a,{htmlFor:\"filter-operator-select\"},\"Filter Operator\"),s.createElement(_e.a,{className:\"toolbar-select\",disabled:n.inProgress,value:n.filterOperator,onChange:function(e){return n.filterOperator=e.target.value},inputProps:{id:\"filter-operator-select\"}},s.createElement(T.a,{value:Wt.Equals},\"Equals\"),s.createElement(T.a,{value:Wt.StartsWith},\"Starts With\"),s.createElement(T.a,{value:Wt.Contains},\"Contains\"),s.createElement(T.a,{value:Wt.In},\"In\"),s.createElement(T.a,{value:Wt.NotEquals},\"Not Equals\"),s.createElement(T.a,{value:Wt.NotStartsWith},\"Not Starts With\"),s.createElement(T.a,{value:Wt.NotContains},\"Not Contains\"),s.createElement(T.a,{value:Wt.NotIn},\"Not In\"))),s.createElement(E.a,{fullWidth:!0,className:\"filter-value-input\",label:\"Filter Value\",InputLabelProps:{shrink:!0},placeholder:[Wt.In,Wt.NotIn].includes(n.filterOperator)?\"[comma-separated or JSON array]\":\"[some text or 'null']\",disabled:\"0\"===n.filteredColumn||n.inProgress,value:n.filterValue,onChange:function(e){return n.filterValue=e.target.value},onBlur:function(){return n.applyFilterValue()},onKeyPress:this.handleKeyPress})),s.createElement(ye.a,{item:!0,xs:12,className:\"toolbar-grid2-item2\"},s.createElement(ke.a,{className:\"toolbar-runtime-status-checkbox-group\"},s.createElement(Ee.a,{shrink:!0},\"Type/Status \",n.showStatuses?\" (\".concat(n.showStatuses.length,\" selected)\"):\"\"),s.createElement(_e.a,{multiple:!0,autoWidth:!0,className:\"toolbar-select\",disabled:n.inProgress,value:null!==(e=n.showStatuses)&&void 0!==e?e:[l],onChange:function(e){var t=e.target.value;n.showStatuses&&t.includes(l)?n.showStatuses=null:(t=t.filter((function(e){return!!e&&e!=l})),n.showStatuses=t.length?t:null)},open:n.isStatusSelectOpen,onClose:function(){n.isStatusSelectOpen=!1},onOpen:function(e){n.isStatusSelectOpen=!0},renderValue:function(e){var t=[],n=e.filter((function(e){return e!=l&&\"DurableEntities\"!=e}));return n.length&&t.push(\"Orchestrations: \"+n.join(\", \")),e.includes(\"DurableEntities\")&&t.push(\"Durable Entities\"),t.length?t.join(\"; \"):l}},s.createElement(T.a,{key:l,value:l},s.createElement(Oe.a,{checked:!n.showStatuses}),s.createElement(Ce.a,{primary:l})),He.map((function(e){return s.createElement(T.a,{key:e,value:e},s.createElement(Oe.a,{checked:!!n.showStatuses&&!!n.showStatuses.includes(e)}),s.createElement(Ce.a,{primary:\"Orchestrations: \"+e}))})),s.createElement(T.a,{key:\"DurableEntities\",value:\"DurableEntities\"},s.createElement(Oe.a,{checked:!!n.showStatuses&&!!n.showStatuses.includes(\"DurableEntities\")}),s.createElement(Ce.a,{primary:\"Durable Entities\"})),s.createElement(T.a,{onClick:function(e){n.isStatusSelectOpen=!1}},s.createElement(w.a,{variant:\"outlined\",fullWidth:!0},s.createElement(Me.a,null),s.createElement(g.a,{width:5}),\"OK\")))))),s.createElement(ye.a,{container:!0,className:\"toolbar-grid3\"},s.createElement(ye.a,{item:!0,xs:12},s.createElement(ve.a,{className:\"form-control-float-right\"},s.createElement(Ee.a,{htmlFor:\"auto-refresh-select\"},\"Auto-refresh\"),s.createElement(_e.a,{className:\"autorefresh-select\",inputProps:{id:\"auto-refresh-select\"},value:n.autoRefresh,onChange:function(e){return n.autoRefresh=e.target.value}},s.createElement(T.a,{value:0},\"Never\"),s.createElement(T.a,{value:1},\"Every 1 sec.\"),s.createElement(T.a,{value:5},\"Every 5 sec.\"),s.createElement(T.a,{value:10},\"Every 10 sec.\")))),s.createElement(ye.a,{item:!0,xs:12,className:\"toolbar-grid3-item2\"},s.createElement(w.a,{className:\"refresh-button form-control-float-right\",variant:\"outlined\",color:\"default\",size:\"large\",onClick:function(){return n.inProgress?n.cancel():n.reloadOrchestrations()}},n.inProgress?s.createElement(Ie.a,null):s.createElement(Ne.a,null)))))),s.createElement(f.a,{color:\"inherit\",position:\"static\"},s.createElement(we.a,{className:\"tab-buttons\",value:n.tabIndex,onChange:function(e,t){return n.tabIndex=t}},s.createElement(je.a,{className:\"tab-buttons\",disabled:n.inProgress,label:s.createElement(y.a,{color:\"textPrimary\",variant:\"subtitle2\"},\"List\")}),s.createElement(je.a,{className:\"tab-buttons\",disabled:n.inProgress,label:s.createElement(y.a,{color:\"textPrimary\",variant:\"subtitle2\"},\"Time Histogram\")}),s.createElement(je.a,{className:\"tab-buttons\",disabled:n.inProgress,label:s.createElement(y.a,{color:\"textPrimary\",variant:\"subtitle2\"},\"Gantt Chart\")}),!!n.isFunctionGraphAvailable&&s.createElement(je.a,{className:\"tab-buttons\",disabled:n.inProgress,label:s.createElement(y.a,{color:\"textPrimary\",variant:\"subtitle2\"},\"Functions Graph\")}))),n.tabIndex===nn.List&&s.createElement(s.Fragment,null,s.createElement(Jn,{state:a,showLastEventColumn:n.showLastEventColumn,backendClient:n.backendClient}),n.inProgress&&a.orchestrations.length?s.createElement(be.a,null):s.createElement(g.a,{height:4})),n.tabIndex===nn.Histogram&&s.createElement(Zn,{state:r}),n.tabIndex===nn.Gantt&&s.createElement(aa,{state:i,inProgress:n.inProgress,fileName:\"gantt-chart-\".concat(n.timeFrom.format(\"YYYY-MM-DD-HH-mm-ss\"),\"-\").concat(n.timeTill.format(\"YYYY-MM-DD-HH-mm-ss\")),backendClient:n.backendClient}),n.tabIndex===nn.FunctionGraph&&s.createElement(Ea,{state:o,inProgress:n.inProgress,fileName:\"function-graph-\".concat(n.timeFrom.format(\"YYYY-MM-DD-HH-mm-ss\"),\"-\").concat(n.timeTill.format(\"YYYY-MM-DD-HH-mm-ss\")),backendClient:n.backendClient}),s.createElement(b.a,{variant:\"dense\"}),s.createElement(Ue,{state:this.props.state}))}},{key:\"timeRangeToString\",value:function(e){switch(e){case an.LastMinute:return\"Last Minute\";case an.Last10Minutes:return\"Last 10 Minutes\";case an.LastHour:return\"Last Hour\";case an.Last24Hours:return\"Last 24 Hours\";case an.Last7Days:return\"Last 7 Days\";case an.Last30Days:return\"Last 30 Days\";case an.Last90Days:return\"Last 90 Days\";default:return\"\"}}},{key:\"handleKeyPress\",value:function(e){\"Enter\"===e.key&&(e.preventDefault(),this.props.state.reloadOrchestrations())}}]),n}(s.Component),ua.contextType=U,ca=ma,Object(B.a)(ca.prototype,\"handleKeyPress\",[sa],Object.getOwnPropertyDescriptor(ca.prototype,\"handleKeyPress\"),ca.prototype),la=ca))||la),ka=(n(694),Object(p.a)(da=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){return Object(u.a)(this,n),t.apply(this,arguments)}return Object(m.a)(n,[{key:\"render\",value:function(){var e=this.props.state;return s.createElement(s.Fragment,null,this.renderDialogs(e),s.createElement(w.a,{variant:\"outlined\",color:$,size:\"medium\",disabled:this.props.disabled,onClick:function(){return e.purgeConfirmationOpen=!0}},\"Purge\"),s.createElement(g.a,{width:10}),s.createElement(w.a,{variant:\"outlined\",color:$,size:\"medium\",disabled:this.props.disabled,onClick:function(){return e.raiseEventDialogOpen=!0}},\"Send Signal\"))}},{key:\"renderDialogs\",value:function(e){return s.createElement(s.Fragment,null,s.createElement(N.a,{open:e.purgeConfirmationOpen,onClose:function(){return e.purgeConfirmationOpen=!1}},s.createElement(x.a,null,\"Confirm Purge\"),s.createElement(P.a,null,s.createElement(F.a,null,\"You're about to purge entity '\",e.orchestrationId,\"'. This operation drops entity state from the underlying storage and cannot be undone. Are you sure?\")),s.createElement(Gn.a,null,s.createElement(w.a,{onClick:function(){return e.purgeConfirmationOpen=!1},color:$,autoFocus:!0},\"Cancel\"),s.createElement(w.a,{onClick:function(){return e.purge()},color:\"secondary\"},\"Yes, purge\"))),s.createElement(N.a,{fullWidth:!0,open:e.raiseEventDialogOpen,onClose:function(){return e.raiseEventDialogOpen=!1}},s.createElement(x.a,null,\"Send Signal\"),s.createElement(P.a,null,s.createElement(F.a,null,\"Provide signal name and some additional data\"),s.createElement(E.a,{autoFocus:!0,margin:\"dense\",label:\"Signal Name\",InputLabelProps:{shrink:!0},fullWidth:!0,value:e.eventName,onChange:function(t){return e.eventName=t.target.value}}),s.createElement(E.a,{margin:\"dense\",label:\"Signal Data (JSON)\",InputLabelProps:{shrink:!0},fullWidth:!0,multiline:!0,rows:7,value:e.eventData,onChange:function(t){return e.eventData=t.target.value}})),s.createElement(Gn.a,null,s.createElement(w.a,{onClick:function(){return e.raiseEventDialogOpen=!1},color:$},\"Cancel\"),s.createElement(w.a,{onClick:function(){return e.raiseEvent()},disabled:!e.eventName,color:\"secondary\"},\"Send\"))))}}]),n}(s.Component))||da),Ca=Object(p.a)((ga=pa=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){var e;Object(u.a)(this,n);for(var a=arguments.length,r=new Array(a),i=0;i<a;i++)r[i]=arguments[i];return(e=t.call.apply(t,[this].concat(r))).context=void 0,e}return Object(m.a)(n,[{key:\"render\",value:function(){var e,t,n=this.props.details,a=Q(n.runtimeStatus);return s.createElement(s.Fragment,null,s.createElement(ye.a,{container:!0,className:\"grid-container\"},s.createElement(ye.a,{item:!0,xs:12,sm:12,md:3,zeroMinWidth:!0,className:\"grid-item\"},s.createElement(E.a,{label:\"entityId.name\",value:null===(e=n.entityId)||void 0===e?void 0:e.name,margin:\"normal\",InputProps:{readOnly:!0},InputLabelProps:{shrink:!0},variant:\"outlined\",fullWidth:!0})),s.createElement(ye.a,{item:!0,xs:12,sm:6,md:3,zeroMinWidth:!0,className:\"grid-item\"},s.createElement(E.a,{label:\"entityId.key\",value:null===(t=n.entityId)||void 0===t?void 0:t.key,margin:\"normal\",InputProps:{readOnly:!0},InputLabelProps:{shrink:!0},variant:\"outlined\",fullWidth:!0})),s.createElement(ye.a,{item:!0,xs:12,sm:6,md:2,zeroMinWidth:!0,className:\"grid-item\"},s.createElement(E.a,{label:\"createdTime (\".concat(this.context.timeZoneName,\")\"),value:this.context.formatDateTimeString(n.createdTime),margin:\"normal\",InputProps:{readOnly:!0},InputLabelProps:{shrink:!0},variant:\"outlined\",fullWidth:!0})),s.createElement(ye.a,{item:!0,xs:12,sm:6,md:2,zeroMinWidth:!0,className:\"grid-item\"},s.createElement(E.a,{label:\"lastUpdatedTime (\".concat(this.context.timeZoneName,\")\"),value:this.context.formatDateTimeString(n.lastUpdatedTime),margin:\"normal\",InputProps:{readOnly:!0},InputLabelProps:{shrink:!0},variant:\"outlined\",fullWidth:!0})),s.createElement(ye.a,{item:!0,xs:12,sm:6,md:2,zeroMinWidth:!0,className:\"grid-item\"},s.createElement(E.a,{label:\"runtimeStatus\",value:n.runtimeStatus,margin:\"normal\",InputProps:{readOnly:!0},InputLabelProps:{shrink:!0},variant:\"outlined\",fullWidth:!0,style:a})),s.createElement(ye.a,{item:!0,xs:12,zeroMinWidth:!0,className:\"grid-item\"},s.createElement(E.a,{label:\"input\",value:Un.formatJson(n.input),margin:\"normal\",InputProps:{readOnly:!0},InputLabelProps:{shrink:!0},variant:\"outlined\",fullWidth:!0,multiline:!0,rowsMax:10})),s.createElement(ye.a,{item:!0,xs:12,zeroMinWidth:!0,className:\"grid-item\"},s.createElement(E.a,{label:\"customStatus\",value:Un.formatJson(n.customStatus),margin:\"normal\",InputProps:{readOnly:!0},InputLabelProps:{shrink:!0},variant:\"outlined\",fullWidth:!0,multiline:!0,rowsMax:10}))))}}]),n}(s.Component),pa.contextType=U,ha=ga))||ha,wa=Object(p.a)(fa=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){return Object(u.a)(this,n),t.apply(this,arguments)}return Object(m.a)(n,[{key:\"render\",value:function(){var e=this.props.state;return s.createElement(s.Fragment,null,this.renderDialogs(e),s.createElement(w.a,{variant:\"outlined\",color:$,size:\"medium\",disabled:this.props.disabled,onClick:function(){return e.restartDialogOpen=!0}},\"Restart\"),s.createElement(g.a,{width:10}),s.createElement(w.a,{variant:\"outlined\",color:$,size:\"medium\",disabled:this.props.disabled,onClick:function(){return e.rewindConfirmationOpen=!0}},\"Rewind\"),s.createElement(g.a,{width:10}),s.createElement(w.a,{variant:\"outlined\",color:$,size:\"medium\",disabled:this.props.disabled,onClick:function(){return e.terminateConfirmationOpen=!0}},\"Terminate\"),s.createElement(g.a,{width:10}),s.createElement(w.a,{variant:\"outlined\",color:$,size:\"medium\",disabled:this.props.disabled,onClick:function(){return e.raiseEventDialogOpen=!0}},\"Raise Event\"),s.createElement(g.a,{width:10}),s.createElement(w.a,{variant:\"outlined\",color:$,size:\"medium\",disabled:this.props.disabled,onClick:function(){return e.setCustomStatusDialogOpen=!0}},\"Set Custom Status\"),s.createElement(g.a,{width:10}),s.createElement(w.a,{variant:\"outlined\",color:$,size:\"medium\",disabled:this.props.disabled,onClick:function(){return e.purgeConfirmationOpen=!0}},\"Purge\"))}},{key:\"renderDialogs\",value:function(e){return s.createElement(s.Fragment,null,s.createElement(N.a,{open:e.rewindConfirmationOpen,onClose:function(){return e.rewindConfirmationOpen=!1}},s.createElement(x.a,null,\"Confirm Rewind\"),s.createElement(P.a,null,s.createElement(F.a,null,\"You're about to rewind orchestration '\",e.orchestrationId,\"'. Are you sure?\")),s.createElement(Gn.a,null,s.createElement(w.a,{onClick:function(){return e.rewindConfirmationOpen=!1},color:$,autoFocus:!0},\"Cancel\"),s.createElement(w.a,{onClick:function(){return e.rewind()},color:\"secondary\"},\"Yes, rewind\"))),s.createElement(N.a,{open:e.terminateConfirmationOpen,onClose:function(){return e.terminateConfirmationOpen=!1}},s.createElement(x.a,null,\"Confirm Terminate\"),s.createElement(P.a,null,s.createElement(F.a,null,\"You're about to terminate orchestration '\",e.orchestrationId,\"'. This operation cannot be undone. Are you sure?\")),s.createElement(Gn.a,null,s.createElement(w.a,{onClick:function(){return e.terminateConfirmationOpen=!1},color:$,autoFocus:!0},\"Cancel\"),s.createElement(w.a,{onClick:function(){return e.terminate()},color:\"secondary\"},\"Yes, terminate\"))),s.createElement(N.a,{fullWidth:!0,open:e.raiseEventDialogOpen,onClose:function(){return e.raiseEventDialogOpen=!1}},s.createElement(x.a,null,\"Raise Event\"),s.createElement(P.a,null,s.createElement(F.a,null,\"Provide event name and some additional data\"),s.createElement(E.a,{autoFocus:!0,margin:\"dense\",label:\"Event Name\",InputLabelProps:{shrink:!0},fullWidth:!0,value:e.eventName,onChange:function(t){return e.eventName=t.target.value}}),s.createElement(E.a,{margin:\"dense\",label:\"Event Data (JSON)\",InputLabelProps:{shrink:!0},fullWidth:!0,multiline:!0,rows:7,value:e.eventData,onChange:function(t){return e.eventData=t.target.value}})),s.createElement(Gn.a,null,s.createElement(w.a,{onClick:function(){return e.raiseEventDialogOpen=!1},color:$},\"Cancel\"),s.createElement(w.a,{onClick:function(){return e.raiseEvent()},disabled:!e.eventName,color:\"secondary\"},\"Raise\"))),s.createElement(N.a,{fullWidth:!0,open:e.setCustomStatusDialogOpen,onClose:function(){return e.setCustomStatusDialogOpen=!1}},s.createElement(x.a,null,\"Set customStatus\"),s.createElement(P.a,null,s.createElement(F.a,null,\"customStatus field is a way for external clients to differentiate instances of your orchestration. It does not affect the orchestration workflow itself.\"),s.createElement(E.a,{margin:\"dense\",InputLabelProps:{shrink:!0},label:\"New customStatus (JSON)\",fullWidth:!0,multiline:!0,rows:10,value:e.newCustomStatus,onChange:function(t){return e.newCustomStatus=t.target.value}})),s.createElement(Gn.a,null,s.createElement(w.a,{onClick:function(){return e.setCustomStatusDialogOpen=!1},color:$},\"Cancel\"),s.createElement(w.a,{onClick:function(){return e.setCustomStatus()},disabled:!e.isCustomStatusDirty,color:\"secondary\"},\"Apply\"))),s.createElement(N.a,{open:e.purgeConfirmationOpen,onClose:function(){return e.purgeConfirmationOpen=!1}},s.createElement(x.a,null,\"Confirm Purge\"),s.createElement(P.a,null,s.createElement(F.a,null,\"You're about to purge orchestration '\",e.orchestrationId,\"'. This operation drops orchestration state from the underlying storage and cannot be undone. Are you sure?\")),s.createElement(Gn.a,null,s.createElement(w.a,{onClick:function(){return e.purgeConfirmationOpen=!1},color:$,autoFocus:!0},\"Cancel\"),s.createElement(w.a,{onClick:function(){return e.purge()},color:\"secondary\"},\"Yes, purge\"))),s.createElement(N.a,{open:e.restartDialogOpen,onClose:function(){return e.restartDialogOpen=!1}},s.createElement(x.a,null,\"Confirm Restart\"),s.createElement(P.a,null,s.createElement(F.a,null,\"You're about to restart orchestration '\",e.orchestrationId,\"'. Are you sure?\"),s.createElement(de.a,{control:s.createElement(Oe.a,{checked:e.restartWithNewInstanceId,onChange:function(t){return e.restartWithNewInstanceId=t.target.checked}}),label:\"Restart with new instanceId\"})),s.createElement(Gn.a,null,s.createElement(w.a,{onClick:function(){return e.restartDialogOpen=!1},color:$,autoFocus:!0},\"Cancel\"),s.createElement(w.a,{onClick:function(){return e.restart()},color:\"secondary\"},\"Restart\"))))}}]),n}(s.Component))||fa;!function(e){e[e.RawHtml=0]=\"RawHtml\",e[e.MermaidDiagram=1]=\"MermaidDiagram\",e[e.FunctionGraph=2]=\"FunctionGraph\"}(ba||(ba={}));var ja,Sa,Ta,Na,Pa,Ia,Da,Fa,xa,Ma,La,Ha,Ra,Aa,za,Ba,Wa,Va,Ya,Ga,Ua,Ja,qa,Za,Ka,$a,Qa,Xa,er,tr,nr,ar,rr,ir,or,sr,lr,cr,ur,mr,dr,hr,pr,gr,fr,br,yr,vr,Or,Er,_r,kr,Cr,wr,jr,Sr,Tr,Nr,Pr,Ir,Dr,Fr,xr,Mr,Lr,Hr,Rr,Ar,zr,Br,Wr,Vr,Yr,Gr,Ur,Jr,qr,Zr,Kr=Object(p.a)((Oa=va=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){var e;Object(u.a)(this,n);for(var a=arguments.length,r=new Array(a),i=0;i<a;i++)r[i]=arguments[i];return(e=t.call.apply(t,[this].concat(r))).context=void 0,e}return Object(m.a)(n,[{key:\"componentDidMount\",value:function(){var e=this;document.addEventListener(\"scroll\",(function(t){var n=t.target.scrollingElement;if(n){n.scrollHeight-window.innerHeight-n.scrollTop<50&&e.props.state.loadHistory()}}))}},{key:\"render\",value:function(){var e=this,t=this.props.state,n=t.historyTotalCount,a=t.details,r=t.history,i=r.length,o=Q(a.runtimeStatus);return s.createElement(s.Fragment,null,s.createElement(ye.a,{container:!0,className:\"grid-container\"},s.createElement(ye.a,{item:!0,xs:12,sm:12,md:3,zeroMinWidth:!0,className:\"grid-item\"},s.createElement(E.a,{label:\"instanceId\",value:a.instanceId,margin:\"normal\",InputProps:{readOnly:!0},InputLabelProps:{shrink:!0},variant:\"outlined\",fullWidth:!0})),s.createElement(ye.a,{item:!0,xs:12,sm:12,md:3,zeroMinWidth:!0,className:\"grid-item\"},s.createElement(E.a,{label:\"name\",value:a.name,margin:\"normal\",InputProps:{readOnly:!0},InputLabelProps:{shrink:!0},variant:\"outlined\",fullWidth:!0})),s.createElement(ye.a,{item:!0,xs:12,sm:4,md:2,zeroMinWidth:!0,className:\"grid-item\"},s.createElement(E.a,{label:\"createdTime (\".concat(this.context.timeZoneName,\")\"),value:this.context.formatDateTimeString(a.createdTime),margin:\"normal\",InputProps:{readOnly:!0},InputLabelProps:{shrink:!0},variant:\"outlined\",fullWidth:!0})),s.createElement(ye.a,{item:!0,xs:12,sm:4,md:2,zeroMinWidth:!0,className:\"grid-item\"},s.createElement(E.a,{label:\"lastUpdatedTime (\".concat(this.context.timeZoneName,\")\"),value:this.context.formatDateTimeString(a.lastUpdatedTime),margin:\"normal\",InputProps:{readOnly:!0},InputLabelProps:{shrink:!0},variant:\"outlined\",fullWidth:!0})),s.createElement(ye.a,{item:!0,xs:12,sm:4,md:2,zeroMinWidth:!0,className:\"grid-item\"},s.createElement(E.a,{label:\"runtimeStatus\",value:a.runtimeStatus,margin:\"normal\",InputProps:{readOnly:!0},InputLabelProps:{shrink:!0},variant:\"outlined\",fullWidth:!0,style:o})),s.createElement(ye.a,{item:!0,xs:12,zeroMinWidth:!0,className:\"grid-item\"},s.createElement(E.a,{label:\"input\",value:Un.formatJson(a.input),margin:\"normal\",InputProps:{readOnly:!0},InputLabelProps:{shrink:!0},variant:\"outlined\",fullWidth:!0,multiline:!0,rowsMax:8})),s.createElement(ye.a,{item:!0,xs:12,zeroMinWidth:!0,className:\"grid-item\"},s.createElement(E.a,{label:\"output\",value:Un.formatJson(a.output),margin:\"normal\",InputProps:{readOnly:!0},InputLabelProps:{shrink:!0},variant:\"outlined\",fullWidth:!0,multiline:!0,rowsMax:8})),s.createElement(ye.a,{item:!0,xs:12,zeroMinWidth:!0,className:\"grid-item\"},s.createElement(E.a,{label:\"customStatus\",value:Un.formatJson(a.customStatus),margin:\"normal\",InputProps:{readOnly:!0},InputLabelProps:{shrink:!0},variant:\"outlined\",fullWidth:!0,multiline:!0,rowsMax:8}))),s.createElement(f.a,{color:\"inherit\",position:\"static\",className:\"history-appbar\"},s.createElement(b.a,null,s.createElement(y.a,{variant:\"body2\",color:\"inherit\",className:\"history-toolbar\"},\"Execution History (\",n&&n!==i?\"\".concat(i,\" of \").concat(n,\" items shown\"):\"\".concat(i,\" items\").concat(n?\"\":\" shown\"),t.timeFromEnabled||\"0\"!==t.filteredColumn&&t.filterValue?\", filtered\":\"\",\")\"),s.createElement(y.a,{style:{flex:1}}),s.createElement(ve.a,{className:\"history-from-checkbox\"},s.createElement(Oe.a,{disabled:t.inProgress,checked:t.timeFromEnabled,onChange:function(e){return t.timeFromEnabled=e.target.checked}})),t.timeFromEnabled?s.createElement(Se.a,{className:\"history-from-input\",ampm:!1,autoOk:!0,label:s.createElement(\"div\",{className:\"history-from-label\"},\"Timestamp From (\",this.context.timeZoneName,\")\"),invalidDateMessage:\"\",format:\"YYYY-MM-DD HH:mm:ss\",disabled:t.inProgress||!t.timeFromEnabled,value:this.context.getMoment(t.timeFrom),onChange:function(n){return t.timeFrom=e.context.setMoment(n)},onBlur:function(){return t.applyTimeFrom()},onAccept:function(){return t.applyTimeFrom()},onKeyPress:function(t){return e.handleKeyPress(t)}}):s.createElement(E.a,{className:\"history-from-input\",label:s.createElement(\"div\",{className:\"history-from-label\"},\"Timestamp From (\",this.context.timeZoneName,\")\"),placeholder:\"[Not set]\",InputLabelProps:{shrink:!0},type:\"text\",disabled:!0}),s.createElement(g.a,{width:20}),s.createElement(ve.a,null,s.createElement(Ee.a,{htmlFor:\"history-filtered-column-select\"},\"Filtered Column\"),s.createElement(_e.a,{className:\"toolbar-select history-filtered-column-input\",disabled:t.inProgress,value:t.filteredColumn,onChange:function(e){return t.filteredColumn=e.target.value},inputProps:{id:\"history-filtered-column-select\"}},s.createElement(T.a,{value:\"0\"},\"[Not Selected]\"),Le.map((function(e){return s.createElement(T.a,{key:e,value:e},e)})))),s.createElement(g.a,{width:10}),s.createElement(ve.a,null,s.createElement(Ee.a,{htmlFor:\"history-filter-operator-select\"},\"Filter Operator\"),s.createElement(_e.a,{className:\"toolbar-select\",disabled:t.inProgress,value:t.filterOperator,onChange:function(e){return t.filterOperator=e.target.value},inputProps:{id:\"history-filter-operator-select\"}},s.createElement(T.a,{value:Wt.Equals},\"Equals\"),s.createElement(T.a,{value:Wt.StartsWith},\"Starts With\"),s.createElement(T.a,{value:Wt.Contains},\"Contains\"),s.createElement(T.a,{value:Wt.In},\"In\"),s.createElement(T.a,{value:Wt.NotEquals},\"Not Equals\"),s.createElement(T.a,{value:Wt.NotStartsWith},\"Not Starts With\"),s.createElement(T.a,{value:Wt.NotContains},\"Not Contains\"),s.createElement(T.a,{value:Wt.NotIn},\"Not In\"))),s.createElement(g.a,{width:10}),s.createElement(E.a,{size:\"small\",className:\"history-filter-value-input\",label:\"Filter Value\",InputLabelProps:{shrink:!0},placeholder:[Wt.In,Wt.NotIn].includes(t.filterOperator)?\"[comma-separated or JSON array]\":\"[some text or 'null']\",disabled:\"0\"===t.filteredColumn||t.inProgress,value:t.filterValue,onChange:function(e){return t.filterValue=e.target.value},onBlur:function(){return t.applyFilterValue()},onKeyPress:function(t){return e.handleKeyPress(t)}}))),!!r.length&&this.renderTable(r),s.createElement(Un,{state:t.longJsonDialogState}))}},{key:\"renderEventLink\",value:function(e){var t=this.props.state,n=e.Name;return e.SubOrchestrationId?s.createElement(Vn,{orchestrationId:e.SubOrchestrationId,title:n,backendClient:t.backendClient}):t.functionNames[n]?s.createElement(v.a,{className:\"link-with-pointer-cursor\",color:\"dark\"===Z.palette.type?\"inherit\":\"primary\",onClick:function(){t.gotoFunctionCode(n)}},n):n}},{key:\"renderTable\",value:function(e){var t=this;return s.createElement(Nn.a,{size:\"small\"},s.createElement(Pn.a,null,s.createElement(In.a,null,Le.map((function(e){return s.createElement(Dn.a,{key:e},e,[\"Timestamp\",\"ScheduledTime\"].includes(e)&&s.createElement(\"span\",{className:\"time-zone-name-span\"},\"(\",t.context.timeZoneName,\")\"))})))),s.createElement(xn.a,null,e.map((function(e,n){var a={verticalAlign:\"top\"};return s.createElement(In.a,{key:n},s.createElement(Dn.a,{style:a},s.createElement(v.a,{className:\"link-with-pointer-cursor\",color:\"dark\"===Z.palette.type?\"inherit\":\"primary\",onClick:function(){t.props.state.timeFrom=Y()(e.Timestamp),t.props.state.reloadHistory()}},t.context.formatDateTimeString(e.Timestamp))),s.createElement(Dn.a,{style:a},e.EventType),s.createElement(Dn.a,{style:a},e.EventId),s.createElement(Dn.a,{className:\"name-cell\",style:a},t.renderEventLink(e)),s.createElement(Dn.a,{style:a},t.context.formatDateTimeString(e.ScheduledTime)),s.createElement(Dn.a,{className:\"long-text-cell\",style:a},Un.renderJson(e.Result,\"\".concat(e.EventType,\" / \").concat(e.Name,\" / \").concat(Le[5]),t.props.state.longJsonDialogState)),s.createElement(Dn.a,{className:\"long-text-cell\",style:a},Un.renderJson(e.Details,\"\".concat(e.EventType,\" / \").concat(e.Name,\" / \").concat(Le[6]),t.props.state.longJsonDialogState)))}))))}},{key:\"handleKeyPress\",value:function(e){\"Enter\"===e.key&&(e.preventDefault(),this.props.state.reloadHistory())}}]),n}(s.Component),va.contextType=U,ya=Oa))||ya,$r=Object(p.a)(ja=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){return Object(u.a)(this,n),t.apply(this,arguments)}return Object(m.a)(n,[{key:\"componentDidMount\",value:function(){oa.nodeTypesToHighlight=[\"orchestrator\",\"entity\",\"activity\"],window.addEventListener(\"resize\",n.repositionMetricHints),n.repositionMetricHints()}},{key:\"componentWillUnmount\",value:function(){window.removeEventListener(\"resize\",n.repositionMetricHints)}},{key:\"componentDidUpdate\",value:function(){n.repositionMetricHints();var e=document.getElementById(\"mermaidSvgId\");e&&(this.mountClickEventToFunctionNodes(e.getElementsByClassName(\"function\")),this.mountClickEventToFunctionNodes(e.getElementsByClassName(\"orchestrator\")),this.mountClickEventToFunctionNodes(e.getElementsByClassName(\"activity\")),this.mountClickEventToFunctionNodes(e.getElementsByClassName(\"entity\")),this.mountClickEventToFunctionNodes(e.getElementsByClassName(\"proxy\")))}},{key:\"render\",value:function(){var e=this.props.state;return s.createElement(s.Fragment,null,s.createElement(Sn.a,{className:\"link-to-az-func-as-a-graph\"},\"powered by \",s.createElement(v.a,{color:\"dark\"===Z.palette.type?\"inherit\":\"primary\",variant:\"inherit\",href:\"https://github.com/scale-tone/az-func-as-a-graph\"},\"az-func-as-a-graph\")),!!e.functionsLoaded&&s.createElement(ke.a,{row:!0,className:\"settings-group\"},s.createElement(de.a,{control:s.createElement(Oe.a,{color:\"default\",disabled:this.props.inProgress,checked:e.renderFunctions,onChange:function(t){return e.renderFunctions=t.target.checked}}),label:s.createElement(y.a,{color:\"textPrimary\"},\"Show Functions\")}),s.createElement(de.a,{control:s.createElement(Oe.a,{color:\"default\",disabled:this.props.inProgress,checked:e.renderProxies,onChange:function(t){return e.renderProxies=t.target.checked}}),label:s.createElement(y.a,{color:\"textPrimary\"},\"Show Proxies\")})),this.renderMetrics(),!!e.diagramSvg&&s.createElement(s.Fragment,null,s.createElement(\"div\",{className:\"diagram-div\",style:K,dangerouslySetInnerHTML:{__html:ta(e.diagramSvg)}}),s.createElement(b.a,{variant:\"dense\"},s.createElement(y.a,{style:{flex:1}}),s.createElement(w.a,{variant:\"outlined\",color:\"default\",disabled:this.props.inProgress,onClick:function(){return window.navigator.clipboard.writeText(e.diagramCode)}},s.createElement($n.a,null),s.createElement(g.a,{width:10}),s.createElement(y.a,{color:\"inherit\"},\"Copy diagram code to Clipboard\")),s.createElement(g.a,{width:20}),s.createElement(ea,{svg:ta(e.diagramSvg),fileName:this.props.fileName,inProgress:this.props.inProgress,backendClient:this.props.backendClient}),s.createElement(g.a,{width:20}))))}},{key:\"renderMetrics\",value:function(){var e=this,t=this.props.state;return Object.keys(t.metrics).map((function(n){var a,r,i,o,l=t.metrics[n],c=(null!==(a=l.completed)&&void 0!==a?a:0)+(null!==(r=l.running)&&void 0!==r?r:0)+(null!==(i=l.failed)&&void 0!==i?i:0)+(null!==(o=l.other)&&void 0!==o?o:0);return s.createElement(\"span\",{id:\"metrics-hint-\".concat(n.toLowerCase()),key:\"metrics-hint-\".concat(n),className:\"metrics-span\"},!!l.completed&&s.createElement(j.a,{title:1===c?\"runtimeStatus\":\"Number of completed instances\"},s.createElement(ra.a,{className:\"metrics-chip\",style:e.CompletedStyle,variant:\"outlined\",size:\"small\",label:1===c?\"completed\":\"\".concat(l.completed)})),!!l.running&&s.createElement(j.a,{title:1===c?\"runtimeStatus\":\"Number of running instances\"},s.createElement(ra.a,{className:\"metrics-chip\",style:e.RunningStyle,variant:\"outlined\",size:\"small\",label:1===c?\"running\":\"\".concat(l.running)})),!!l.failed&&s.createElement(j.a,{title:1===c?\"runtimeStatus\":\"Number of failed instances\"},s.createElement(ra.a,{className:\"metrics-chip\",style:e.FailedStyle,variant:\"outlined\",size:\"small\",label:1===c?\"failed\":\"\".concat(l.failed)})),!!l.other&&s.createElement(j.a,{title:1===c?\"runtimeStatus\":\"Number of terminated/cancelled instances\"},s.createElement(ra.a,{className:\"metrics-chip\",style:e.OtherStyle,variant:\"outlined\",size:\"small\",label:1===c?\"terminated\":\"\".concat(l.other)})),!!l.duration&&s.createElement(j.a,{title:1===c?\"Duration\":\"Max Duration\"},s.createElement(ra.a,{className:\"metrics-chip\",style:e.DurationStyle,variant:\"outlined\",size:\"small\",label:Ze.formatDuration(l.duration)})))}))}}]),n}(oa))||ja,Qr=Object(p.a)(Sa=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){return Object(u.a)(this,n),t.apply(this,arguments)}return Object(m.a)(n,[{key:\"componentDidMount\",value:function(){this.props.state.loadDetails()}},{key:\"componentDidUpdate\",value:function(){var e=document.getElementById(\"mermaidSvgId\");e&&(this.mountClickEventToFunctionNodes(e.getElementsByClassName(\"actor\")),this.mountClickEventToFunctionNodes(e.getElementsByClassName(\"messageText\")),this.mountClickEventToFunctionNodes(e.getElementsByClassName(\"task\")),this.mountClickEventToFunctionNodes(e.getElementsByClassName(\"taskText\")),this.mountClickEventToFunctionNodes(e.getElementsByClassName(\"taskTextOutsideLeft\")),this.mountClickEventToFunctionNodes(e.getElementsByClassName(\"taskTextOutsideRight\")))}},{key:\"render\",value:function(){var e=this.props.state;return s.createElement(s.Fragment,null,s.createElement(f.a,{color:\"inherit\",position:\"static\",className:\"top-appbar\"},e.inProgress?s.createElement(be.a,null):s.createElement(g.a,{height:4}),s.createElement(b.a,{variant:\"dense\",className:\"details-top-toolbar\"},\"Orchestration\"===e.details.entityType&&s.createElement(wa,{state:e,disabled:e.inProgress}),\"DurableEntity\"===e.details.entityType&&s.createElement(ka,{state:e,disabled:e.inProgress}),s.createElement(g.a,{width:20}),s.createElement(y.a,{style:{flex:1}}),s.createElement(ve.a,null,s.createElement(Ee.a,{htmlFor:\"auto-refresh-select\"},\"Auto-refresh\"),s.createElement(_e.a,{className:\"toolbar-select\",value:e.autoRefresh,onChange:function(t){return e.autoRefresh=t.target.value},inputProps:{id:\"auto-refresh-select\"}},s.createElement(T.a,{value:0},\"Never\"),s.createElement(T.a,{value:1},\"Every 1 sec.\"),s.createElement(T.a,{value:5},\"Every 5 sec.\"),s.createElement(T.a,{value:10},\"Every 10 sec.\"))),s.createElement(g.a,{width:20}),s.createElement(w.a,{className:\"details-refresh-button\",variant:\"outlined\",color:\"default\",size:\"large\",disabled:e.inProgress&&!e.loadInProgress,onClick:function(){return e.loadInProgress?e.cancel():e.loadDetails()}},e.loadInProgress?s.createElement(Ie.a,null):s.createElement(Ne.a,null)))),!!e.tabStates.length&&s.createElement(s.Fragment,null,s.createElement(f.a,{color:\"inherit\",position:\"static\"},s.createElement(we.a,{className:\"tab-buttons\",value:e.tabIndex,onChange:function(t,n){\"functions-graph-link\"!==n&&(e.tabIndex=n)}},s.createElement(je.a,{className:\"tab-buttons\",disabled:e.inProgress,label:s.createElement(y.a,{color:\"textPrimary\",variant:\"subtitle2\"},\"Details\")}),e.tabStates.map((function(t){return s.createElement(je.a,{className:\"tab-buttons\",key:t.name,disabled:e.inProgress,label:s.createElement(y.a,{color:\"textPrimary\",variant:\"subtitle2\"},t.name)})}))))),!e.tabIndex&&\"Orchestration\"===e.details.entityType&&s.createElement(s.Fragment,null,s.createElement(Kr,{state:e}),e.inProgress&&e.history.length?s.createElement(be.a,null):s.createElement(g.a,{height:4})),!e.tabIndex&&\"DurableEntity\"===e.details.entityType&&s.createElement(Ca,{details:e.details}),!!e.selectedTab&&e.selectedTab.tabType===ba.FunctionGraph&&s.createElement($r,{state:e.selectedTab,inProgress:e.inProgress,fileName:e.orchestrationId,backendClient:e.backendClient}),!!e.selectedTab&&e.selectedTab.tabType!==ba.FunctionGraph&&!!e.selectedTab.rawHtml&&s.createElement(s.Fragment,null,s.createElement(\"div\",{className:\"raw-html-div\",style:K,dangerouslySetInnerHTML:{__html:ta(e.selectedTab.rawHtml)}}),e.selectedTab.tabType===ba.MermaidDiagram&&s.createElement(b.a,{variant:\"dense\"},s.createElement(y.a,{style:{flex:1}}),s.createElement(w.a,{variant:\"outlined\",color:\"default\",disabled:e.inProgress,onClick:function(){return window.navigator.clipboard.writeText(e.selectedTab.description)}},s.createElement($n.a,null),s.createElement(g.a,{width:10}),s.createElement(y.a,{color:\"inherit\"},\"Copy diagram code to Clipboard\")),s.createElement(g.a,{width:20}),s.createElement(ea,{svg:ta(e.selectedTab.rawHtml),fileName:e.orchestrationId,inProgress:e.inProgress,backendClient:e.backendClient}),s.createElement(g.a,{width:20}))),s.createElement(Ue,{state:this.props.state}))}},{key:\"mountClickEventToFunctionNodes\",value:function(e){for(var t=this.props.state,n=0;n<e.length;n++){var a=e[n],r=a.getAttribute(\"data-function-name\");if(!r){r=a.innerHTML;var i=/>(.+)</.exec(r);i&&(r=i[1])}t.functionNames[r]&&function(){var e=r;a.onclick=function(){return t.gotoFunctionCode(e)},a.style.cursor=\"pointer\",a.onmouseenter=function(e){e.target.style.strokeOpacity=\"0.5\"},a.onmouseleave=function(e){e.target.style.strokeOpacity=\"1\"}}()}}}]),n}(s.Component))||Sa,Xr=n(391),ei=n.n(Xr),ti=Object(p.a)(Ta=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){return Object(u.a)(this,n),t.apply(this,arguments)}return Object(m.a)(n,[{key:\"componentDidMount\",value:function(){this.props.state.load()}},{key:\"componentDidUpdate\",value:function(){var e=document.getElementById(\"mermaidSvgId\");e&&(this.mountClickEventToFunctionNodes(e.getElementsByClassName(\"function\")),this.mountClickEventToFunctionNodes(e.getElementsByClassName(\"orchestrator\")),this.mountClickEventToFunctionNodes(e.getElementsByClassName(\"activity\")),this.mountClickEventToFunctionNodes(e.getElementsByClassName(\"entity\")),this.mountClickEventToFunctionNodes(e.getElementsByClassName(\"proxy\")))}},{key:\"render\",value:function(){var e=this.props.state;return s.createElement(s.Fragment,null,s.createElement(f.a,{color:\"inherit\",position:\"static\",className:\"top-appbar\"},e.inProgress?s.createElement(be.a,null):s.createElement(g.a,{height:4}),s.createElement(b.a,{variant:\"dense\"},s.createElement(g.a,{width:20}),s.createElement(de.a,{control:s.createElement(Oe.a,{color:\"default\",disabled:e.inProgress,checked:e.renderFunctions,onChange:function(t){return e.renderFunctions=t.target.checked}}),label:s.createElement(y.a,{color:\"textPrimary\"},\"Show Functions\")}),s.createElement(g.a,{width:20}),s.createElement(de.a,{control:s.createElement(Oe.a,{color:\"default\",disabled:e.inProgress,checked:e.renderProxies,onChange:function(t){return e.renderProxies=t.target.checked}}),label:s.createElement(y.a,{color:\"textPrimary\"},\"Show Proxies\")}),s.createElement(g.a,{width:20}),s.createElement(y.a,{style:{flex:1}}),s.createElement(w.a,{className:\"details-refresh-button\",variant:\"outlined\",color:\"default\",size:\"large\",disabled:e.inProgress,onClick:function(){return e.load()}},s.createElement(Ne.a,null)))),s.createElement(Sn.a,{className:\"link-to-az-func-as-a-graph\"},\"powered by \",s.createElement(v.a,{color:\"dark\"===Z.palette.type?\"inherit\":\"primary\",variant:\"inherit\",href:\"https://github.com/scale-tone/az-func-as-a-graph\"},\"az-func-as-a-graph\")),!!e.diagramSvg&&s.createElement(s.Fragment,null,s.createElement(\"div\",{className:\"diagram-div\",style:K,dangerouslySetInnerHTML:{__html:ta(e.diagramSvg)}}),s.createElement(b.a,{variant:\"dense\"},s.createElement(w.a,{variant:\"outlined\",color:\"default\",disabled:e.inProgress,onClick:function(){return window.navigator.clipboard.writeText(e.diagramCode)}},s.createElement($n.a,null),s.createElement(g.a,{width:10}),s.createElement(y.a,{color:\"inherit\"},\"Copy diagram code to Clipboard\")),s.createElement(g.a,{width:20}),s.createElement(ea,{svg:ta(e.diagramSvg),fileName:\"functions.svg\",inProgress:e.inProgress,backendClient:e.backendClient}),s.createElement(g.a,{width:20}),s.createElement(w.a,{variant:\"outlined\",color:\"default\",disabled:e.inProgress,onClick:function(){return e.saveAsJson()}},s.createElement(ei.a,null),s.createElement(g.a,{width:10}),s.createElement(y.a,{color:\"inherit\"},\"Save as JSON\")))),s.createElement(Ue,{state:this.props.state}))}}]),n}(ia))||Ta,ni=n(709),ai=(n(695),Object(p.a)((Ia=Pa=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){var e;Object(u.a)(this,n);for(var a=arguments.length,r=new Array(a),i=0;i<a;i++)r[i]=arguments[i];return(e=t.call.apply(t,[this].concat(r))).context=void 0,e}return Object(m.a)(n,[{key:\"render\",value:function(){var e=this,t=this.props.state;return s.createElement(N.a,{open:t.dialogOpen,onClose:function(){t.inProgress||(t.dialogOpen=!1)}},s.createElement(x.a,null,\"Purge Instance History\"),null===t.instancesDeleted&&s.createElement(s.Fragment,null,s.createElement(P.a,null,t.inProgress?s.createElement(be.a,null):s.createElement(g.a,{height:4}),s.createElement(F.a,null,\"WARNING: this operation drops instance states from the underlying storage and cannot be undone.\",\"DurableEntity\"===t.entityType&&s.createElement(y.a,{color:\"error\"},\"It might as well remove Durable Entities, that are still active. Ensure that you specify the correct time frame! To clean up deleted Entities use the 'Clean Entity Storage' command instead.\")),s.createElement(ve.a,{className:\"purge-history-apply-to\",disabled:t.inProgress,fullWidth:!0},s.createElement(ni.a,null,\"Apply to:\"),s.createElement(me.a,{row:!0,value:t.entityType,onChange:function(e){return t.entityType=e.target.value}},s.createElement(de.a,{disabled:t.inProgress,value:\"Orchestration\",control:s.createElement(he.a,null),label:\"Orchestrations\"}),s.createElement(de.a,{disabled:t.inProgress,value:\"DurableEntity\",control:s.createElement(he.a,null),label:\"Durable Entities\"}))),s.createElement(Se.a,{className:\"purge-history-from-input\",ampm:!1,autoOk:!0,label:\"DurableEntity\"===t.entityType?\"Last Updated From (\".concat(this.context.timeZoneName,\")\"):\"From (\".concat(this.context.timeZoneName,\")\"),format:\"YYYY-MM-DD HH:mm:ss\",variant:\"inline\",disabled:t.inProgress,value:this.context.getMoment(t.timeFrom),onChange:function(n){return t.timeFrom=e.context.setMoment(n)}}),s.createElement(Se.a,{className:\"purge-history-till-input\",ampm:!1,autoOk:!0,label:\"DurableEntity\"===t.entityType?\"Last Updated Till (\".concat(this.context.timeZoneName,\")\"):\"Till (\".concat(this.context.timeZoneName,\")\"),format:\"YYYY-MM-DD HH:mm:ss\",variant:\"inline\",disabled:t.inProgress,value:this.context.getMoment(t.timeTill),onChange:function(n){return t.timeTill=e.context.setMoment(n)}}),s.createElement(ve.a,{disabled:t.inProgress},s.createElement(ni.a,null,\"With the following status:\"),\"Orchestration\"===t.entityType&&s.createElement(ke.a,{row:!0},s.createElement(ri,{state:t,runtimeStatus:\"Completed\"}),s.createElement(ri,{state:t,runtimeStatus:\"Failed\"}),s.createElement(ri,{state:t,runtimeStatus:\"Terminated\"})),\"DurableEntity\"===t.entityType&&s.createElement(ke.a,{row:!0},s.createElement(j.a,{title:\"Durable Entities are always in 'Running' state\"},s.createElement(de.a,{control:s.createElement(Oe.a,{checked:!0}),label:\"Running\",disabled:!0})))),s.createElement(Ue,{state:t})),s.createElement(Gn.a,null,s.createElement(w.a,{onClick:function(){return t.dialogOpen=!1},disabled:t.inProgress,color:$},\"Cancel\"),s.createElement(w.a,{onClick:function(){return t.purgeHistory()},disabled:!t.isValid||t.inProgress,color:\"secondary\"},\"Purge\"))),null!==t.instancesDeleted&&s.createElement(s.Fragment,null,s.createElement(P.a,null,s.createElement(F.a,{className:\"success-message\"},t.instancesDeleted,\" instances were deleted.\")),s.createElement(Gn.a,null,s.createElement(w.a,{onClick:function(){return t.dialogOpen=!1},color:$},\"Close\"))))}}]),n}(s.Component),Pa.contextType=U,Na=Ia))||Na),ri=Object(p.a)(Da=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){return Object(u.a)(this,n),t.apply(this,arguments)}return Object(m.a)(n,[{key:\"render\",value:function(){var e=this.props.state,t=this.props.runtimeStatus;return s.createElement(de.a,{control:s.createElement(Oe.a,{checked:e.getStatusIncluded(t),onChange:function(n){return e.setStatusIncluded(t,n.target.checked)}}),label:t})}}]),n}(s.Component))||Da,ii=(n(696),Object(p.a)(Fa=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){return Object(u.a)(this,n),t.apply(this,arguments)}return Object(m.a)(n,[{key:\"render\",value:function(){var e=this.props.state;return s.createElement(N.a,{open:e.dialogOpen,onClose:function(){e.inProgress||(e.dialogOpen=!1)}},s.createElement(x.a,null,\"Clean Entity Storage\"),!e.response&&s.createElement(s.Fragment,null,s.createElement(P.a,null,e.inProgress?s.createElement(be.a,null):s.createElement(g.a,{height:4}),s.createElement(F.a,null,\"An entity is considered empty, and is removed, if it has no state, is not locked, and has been idle for more than \",s.createElement(\"strong\",null,\"EntityMessageReorderWindowInMinutes\"),\". Locks are considered orphaned, and are released, if the orchestration that holds them is not in \",s.createElement(\"strong\",null,\"Running\"),\" state.\"),s.createElement(ve.a,{className:\"purge-history-statuses\",disabled:e.inProgress},s.createElement(ke.a,{row:!0},s.createElement(de.a,{control:s.createElement(Oe.a,{checked:e.removeEmptyEntities,onChange:function(t){return e.removeEmptyEntities=t.target.checked}}),label:\"Remove Empty Entities\"}),s.createElement(de.a,{control:s.createElement(Oe.a,{checked:e.releaseOrphanedLocks,onChange:function(t){return e.releaseOrphanedLocks=t.target.checked}}),label:\"Release Orphaned Locks\"}))),s.createElement(Ue,{state:e})),s.createElement(Gn.a,null,s.createElement(w.a,{onClick:function(){return e.dialogOpen=!1},disabled:e.inProgress,color:$},\"Cancel\"),s.createElement(w.a,{onClick:function(){return e.clean()},disabled:!e.isValid||e.inProgress,color:\"secondary\"},\"Clean\"))),!!e.response&&s.createElement(s.Fragment,null,s.createElement(P.a,null,s.createElement(F.a,{className:\"success-message\"},e.response.numberOfEmptyEntitiesRemoved,\" empty entities removed.\"),s.createElement(F.a,{className:\"success-message\"},e.response.numberOfOrphanedLocksRemoved,\" orphaned locks removed.\")),s.createElement(Gn.a,null,s.createElement(w.a,{onClick:function(){return e.dialogOpen=!1},color:$},\"Close\"))))}}]),n}(s.Component))||Fa),oi=Object(p.a)(xa=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){return Object(u.a)(this,n),t.apply(this,arguments)}return Object(m.a)(n,[{key:\"render\",value:function(){var e=this.props.state;return s.createElement(N.a,{open:e.dialogOpen,onClose:function(){return e.dialogOpen=!1}},s.createElement(x.a,null,\"Manage Storage Connection Settings\"),s.createElement(P.a,null,e.inProgress?s.createElement(be.a,null):s.createElement(g.a,{height:4}),s.createElement(F.a,null,e.isReadonly?\"Change the below values via your application settings ('DFM_HUB_NAME' and 'AzureWebJobsStorage' respectively)\":\"The below values will be saved to local.settings.json file.\"),s.createElement(E.a,{className:\"dialog-text-field\",autoFocus:!0,margin:\"dense\",label:\"Hub Name\",fullWidth:!0,disabled:e.inProgress,InputProps:{readOnly:!0},InputLabelProps:{shrink:!0},value:e.hubName,onChange:function(t){return e.hubName=t.target.value}}),s.createElement(E.a,{autoFocus:!0,margin:\"dense\",label:\"Azure Storage Connection String\",fullWidth:!0,disabled:e.inProgress,InputProps:{readOnly:e.isReadonly},InputLabelProps:{shrink:!0},value:e.connectionString,onChange:function(t){return e.connectionString=t.target.value}}),s.createElement(Ue,{state:e})),s.createElement(Gn.a,null,s.createElement(w.a,{onClick:function(){return e.dialogOpen=!1},color:$},\"Cancel\"),!e.isReadonly&&s.createElement(w.a,{onClick:function(){return e.saveConnectionParams()},disabled:!e.isDirty||!e.hubName||!e.connectionString||e.inProgress,color:\"secondary\"},\"Save\")))}}]),n}(s.Component))||xa,si=(n(697),Object(p.a)(Ma=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){return Object(u.a)(this,n),t.apply(this,arguments)}return Object(m.a)(n,[{key:\"render\",value:function(){var e=this.props.state;return s.createElement(N.a,{open:e.dialogOpen,onClose:function(){return e.dialogOpen=!1}},s.createElement(x.a,null,\"Start New Orchestration Instance\"),s.createElement(P.a,null,e.inProgress?s.createElement(be.a,null):s.createElement(g.a,{height:4}),s.createElement(E.a,{className:\"dialog-text-field\",margin:\"dense\",label:\"InstanceId (optional)\",fullWidth:!0,disabled:e.inProgress,InputLabelProps:{shrink:!0},value:e.instanceId,onChange:function(t){return e.instanceId=t.target.value}}),s.createElement(E.a,{className:\"dialog-text-field\",autoFocus:!0,margin:\"dense\",label:\"Orchestrator Function Name\",fullWidth:!0,disabled:e.inProgress,InputLabelProps:{shrink:!0},value:e.orchestratorFunctionName,onChange:function(t){return e.orchestratorFunctionName=t.target.value}}),s.createElement(E.a,{margin:\"dense\",disabled:e.inProgress,InputLabelProps:{shrink:!0},label:\"Input (optional JSON)\",fullWidth:!0,multiline:!0,rows:10,value:e.input,onChange:function(t){return e.input=t.target.value}}),s.createElement(Ue,{state:e})),s.createElement(Gn.a,null,s.createElement(w.a,{onClick:function(){return e.dialogOpen=!1},color:$},\"Cancel\"),s.createElement(w.a,{onClick:function(){return e.startNewInstance()},disabled:!e.orchestratorFunctionName,color:\"secondary\"},\"Start\")))}}]),n}(s.Component))||Ma),li=Object(p.a)(La=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){return Object(u.a)(this,n),t.apply(this,arguments)}return Object(m.a)(n,[{key:\"render\",value:function(){var e=this,t=this.props.state;return s.createElement(_.a,{utils:C.a},s.createElement(U.Provider,{value:J},!t.loginState&&s.createElement(g.a,{height:20}),!!t.loginState&&s.createElement(f.a,{position:\"static\",color:\"default\",className:\"app-bar\"},s.createElement(b.a,null,t.loginState.isLoggedIn&&!!t.mainMenuState&&s.createElement(fe,{state:t.mainMenuState,doRefresh:function(){return t.orchestrationsState.reloadOrchestrations()}}),s.createElement(\"img\",{src:\"\".concat(DfmRoutePrefix?\"/\":\"\").concat(DfmRoutePrefix,\"/logo.svg\"),width:\"30px\"}),s.createElement(g.a,{width:5}),s.createElement(y.a,{variant:\"h6\",color:\"inherit\",className:\"title-typography\"},s.createElement(v.a,{color:\"inherit\",href:t.loginState.rootUri},\"Durable Functions Monitor\")),s.createElement(O.a,{color:\"inherit\"},s.createElement(v.a,{color:\"inherit\",href:t.loginState.locationPathName},\"/ \",t.loginState.taskHubName),t.orchestrationDetailsState?s.createElement(y.a,{color:\"inherit\"},s.createElement(v.a,{color:\"inherit\",href:window.location.pathname},t.orchestrationDetailsState.orchestrationId)):s.createElement(k.a,{className:\"instance-id-input\",freeSolo:!0,options:t.isExactMatch?[]:t.suggestions,value:t.typedInstanceId,onChange:function(e,n){t.typedInstanceId=null!==n&&void 0!==n?n:\"\",n&&t.goto()},renderInput:function(n){return s.createElement(E.a,Object.assign({},n,{className:t.isExactMatch?\"instance-id-valid\":null,size:\"small\",label:\"instanceId to go to...\",variant:\"outlined\",onChange:function(e){return t.typedInstanceId=e.target.value},onKeyPress:function(t){return e.handleKeyPress(t)}}))}})),s.createElement(y.a,{style:{flex:1}}),s.createElement(ce,{state:t.loginState}))),!!t.orchestrationsState&&(!t.loginState||t.loginState.isLoggedIn)&&s.createElement(_a,{state:t.orchestrationsState}),!!t.orchestrationDetailsState&&(!t.loginState||t.loginState.isLoggedIn)&&s.createElement(Qr,{state:t.orchestrationDetailsState}),!!t.functionGraphState&&(!t.loginState||t.loginState.isLoggedIn)&&s.createElement(ti,{state:t.functionGraphState}),s.createElement(ai,{state:t.purgeHistoryDialogState}),s.createElement(ii,{state:t.cleanEntityStorageDialogState}),s.createElement(si,{state:t.startNewInstanceDialogState}),!!t.connectionParamsDialogState&&s.createElement(oi,{state:t.connectionParamsDialogState})))}},{key:\"handleKeyPress\",value:function(e){\"Enter\"===e.key&&(e.preventDefault(),this.props.state.goto())}}]),n}(s.Component))||La,ci=(Ha=function(){function e(t,n,a,r,i){Object(u.a)(this,e),this._backendClient=t,this._purgeHistoryDialogState=n,this._cleanEntityStorageDialogState=a,this._connectionParamsDialogState=r,this._startNewInstanceDialogState=i,Object(z.a)(this,\"menuAnchorElement\",Ra,this)}return Object(m.a)(e,[{key:\"showConnectionParamsDialog\",value:function(){this.menuAnchorElement=void 0,this._connectionParamsDialogState.dialogOpen=!0}},{key:\"showPurgeHistoryDialog\",value:function(){this.menuAnchorElement=void 0,this._purgeHistoryDialogState.dialogOpen=!0}},{key:\"showCleanEntityStorageDialog\",value:function(){this.menuAnchorElement=void 0,this._cleanEntityStorageDialogState.dialogOpen=!0}},{key:\"showStartNewInstanceDialog\",value:function(){this.menuAnchorElement=void 0,this._startNewInstanceDialogState.dialogOpen=!0}},{key:\"setWindowTitle\",value:function(){this._backendClient.call(\"GET\",\"/about\").then((function(e){document.title=\"Durable Functions Monitor (\".concat(e.accountName,\"/\").concat(e.hubName,\") v\").concat(e.version)}))}}]),e}(),Ra=Object(B.a)(Ha.prototype,\"menuAnchorElement\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ha),ui=(Aa=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(e){var a;return Object(u.a)(this,n),(a=t.call(this))._loadHistory=e,a.name=\"Diagram\",a.tabType=ba.MermaidDiagram,a}return Object(m.a)(n,[{key:\"description\",get:function(){return this._diagramCode}},{key:\"rawHtml\",get:function(){return this._diagramSvg}},{key:\"load\",value:function(e,t){var n=this;return this.initMermaidWhenNeeded(),this._loadHistory(e.instanceId).then((function(a){if(a.length&&!t.isCancelled)return n.buildDiagram(e,a,t)}))}}]),n}(St),Object(B.a)(Aa.prototype,\"description\",[W.e],Object.getOwnPropertyDescriptor(Aa.prototype,\"description\"),Aa.prototype),Object(B.a)(Aa.prototype,\"rawHtml\",[W.e],Object.getOwnPropertyDescriptor(Aa.prototype,\"rawHtml\"),Aa.prototype),Aa),mi=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){var e;Object(u.a)(this,n);for(var a=arguments.length,r=new Array(a),i=0;i<a;i++)r[i]=arguments[i];return(e=t.call.apply(t,[this].concat(r))).name=\"Sequence Diagram\",e}return Object(m.a)(n,[{key:\"buildDiagram\",value:function(e,t,n){var a=this;return new Promise((function(r,i){Promise.all(a.getSequenceForOrchestration(e.name,\".\",\"Failed\"===e.runtimeStatus,t)).then((function(e){if(n.isCancelled)r();else{a._diagramCode=\"sequenceDiagram \\n\"+e.join(\"\");try{a._diagramSvg=\"\",jt.a.render(\"mermaidSvgId\",a._diagramCode,(function(e){a._diagramSvg=e,r()}))}catch(t){i(t)}}}),i)}))}},{key:\"getSequenceForOrchestration\",value:function(e,t,n,a){for(var r,i=this,o=\".\",s=[],l=0;l<a.length;){var c,u,m=a[l];!function(){switch(m.EventType){case\"ExecutionStarted\":r=\"\".concat(t,\"->>+\").concat(e,\":[ExecutionStarted] \\n\")+\"Note over \".concat(t,\",\").concat(e,\": \").concat(i.formatTimestamp(m.Timestamp),\" \\n\"),s.push(Promise.resolve(r));break;case\"SubOrchestrationInstanceCompleted\":case\"SubOrchestrationInstanceFailed\":var d=\"SubOrchestrationInstanceFailed\"===m.EventType;if(m.SubOrchestrationId){var h=m.SubOrchestrationId,p=m.Name;s.push(new Promise((function(t,n){i._loadHistory(h).then((function(a){Promise.all(i.getSequenceForOrchestration(p,e,d,a)).then((function(e){t(e.join(\"\"))}),n)}),(function(n){console.log(\"Failed to load \".concat(p,\". \").concat(n.message)),t(\"\".concat(e,\"-x\").concat(p,\":[FailedToLoad] \\n\"))}))})))}else d?(r=\"rect rgba(255,0,0,0.4) \\n\"+\"\".concat(e,\"-x\").concat(m.Name,\":[SubOrchestrationInstanceFailed] \\n\")+\"end \\n\",s.push(Promise.resolve(r))):(r=\"\".concat(e,\"->>+\").concat(m.Name,\":[SubOrchestrationInstanceStarted] \\n\"),s.push(Promise.resolve(r)));break;case\"TaskCompleted\":case\"TaskScheduled\":for(c=m.DurationInMs,u=l+1;u<a.length&&a[u].EventType===m.EventType&&a[u].Name===m.Name&&i.getEventScheduledTime(a[u]).substr(0,23)===i.getEventScheduledTime(m).substr(0,23);u++)c<a[u].DurationInMs&&(c=a[u].DurationInMs);var g=\"TaskCompleted\"===m.EventType?\"->>\":\"--\\x3e>\";if(u===l+1){var f=\"\".concat(e).concat(g).concat(e,\":\").concat(m.Name,\" \\n\")+\"Note over \".concat(e,\": \").concat(i.formatDuration(m.DurationInMs),\" \\n\");s.push(Promise.resolve(f))}else{var b=\"par \".concat(u-l,\" calls \\n\")+\"\".concat(e).concat(g).concat(e,\":\").concat(m.Name,\" \\n\")+\"Note over \".concat(e,\": \").concat(i.formatDuration(c),\" \\n\")+\"end \\n\";s.push(Promise.resolve(b)),l=u-1}break;case\"TaskFailed\":r=\"rect rgba(255,0,0,0.4) \\n\"+\"\".concat(e,\"-x\").concat(e,\":\").concat(m.Name,\" \\n\")+\"end \\n\",s.push(Promise.resolve(r));break;case\"EventRaised\":r=\"\".concat(o,\"->>\").concat(e,\":\").concat(m.Name,\" \\n\")+\"Note over \".concat(o,\",\").concat(e,\": \").concat(i.formatTimestamp(m.Timestamp),\" \\n\"),s.push(Promise.resolve(r));break;case\"TimerFired\":r=\"\".concat(o,\"->>\").concat(e,\":[TimerFired] \\n\")+\"Note over \".concat(o,\",\").concat(e,\": \").concat(i.formatTimestamp(m.Timestamp),\" \\n\"),s.push(Promise.resolve(r));break;case\"ExecutionTerminated\":r=\"\".concat(o,\"->>\").concat(e,\":[ExecutionTerminated] \\n\")+\"Note over \".concat(o,\",\").concat(e,\": \").concat(i.formatTimestamp(m.Timestamp),\" \\n\"),s.push(Promise.resolve(r));break;case\"ExecutionCompleted\":r=\"\".concat(e,\"--\\x3e>-\").concat(t,\":[\").concat(n?\"ExecutionFailed\":\"ExecutionCompleted\",\"] \\n\")+\"Note over \".concat(e,\",\").concat(t,\": \").concat(i.formatDuration(m.DurationInMs),\" \\n\"),n&&(r=\"rect rgba(255,0,0,0.4) \\n\"+r+\"end \\n\"),s.push(Promise.resolve(r))}}(),l++}return s}},{key:\"formatTimestamp\",value:function(e){return e.length<=11?e:J.showTimeAsLocal?Y()(e).format(\"(HH:mm:ss.SSS)\"):\"(\"+e.substr(11,12)+\"Z)\"}},{key:\"getEventScheduledTime\",value:function(e){return e.ScheduledTime?e.ScheduledTime:e.Timestamp}}]),n}(ui),di=(za=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(e,a,r){var i;return Object(u.a)(this,n),(i=t.call(this,e))._loadHistory=r,i.name=\"Functions Graph\",i.tabType=ba.FunctionGraph,Object(z.a)(i,\"_metrics\",Ba,Object(qe.a)(i)),i._traversalResult=a,i}return Object(m.a)(n,[{key:\"description\",get:function(){return this._diagramCode}},{key:\"rawHtml\",get:function(){return this._diagramSvg}},{key:\"renderFunctions\",get:function(){return this._renderFunctions},set:function(e){this._renderFunctions=e,this.render()}},{key:\"renderProxies\",get:function(){return this._renderProxies},set:function(e){this._renderProxies=e,this.render()}},{key:\"metrics\",get:function(){return this._metrics}},{key:\"load\",value:function(e,t){var n=this;this.initMermaidWhenNeeded();var a={};return this.render().then((function(){return n._loadHistory(e.instanceId).then((function(r){if(!t.isCancelled)return n.updateMetricsForInstance(a,Re.getFunctionName(e),e.runtimeStatus,new Date(e.lastUpdatedTime).getTime()-new Date(e.createdTime).getTime(),r,t).then((function(){n._metrics=a}))}))}))}},{key:\"updateMetricsForInstance\",value:function(e,t,n,a,r,i){var o=this;switch(e[t]||(e[t]=new rn),n){case\"Completed\":e[t].completed++;break;case\"Running\":case\"Pending\":case\"ContinuedAsNew\":e[t].running++;break;case\"Failed\":e[t].failed++;break;default:e[t].other++}e[t].duration<a&&(e[t].duration=a);var s,l=[],c=Object(Je.a)(r);try{var u=function(){var t=(m=s.value).Name;switch(m.EventType){case\"SubOrchestrationInstanceCreated\":m.SubOrchestrationId&&l.push(o._loadHistory(m.SubOrchestrationId).then((function(n){if(!i.isCancelled)return o.updateMetricsForInstance(e,t,\"Running\",0,n,i)})));break;case\"SubOrchestrationInstanceCompleted\":if(m.SubOrchestrationId){var n=new Date(m.Timestamp).getTime()-new Date(m.ScheduledTime).getTime();l.push(o._loadHistory(m.SubOrchestrationId).then((function(a){if(!i.isCancelled)return o.updateMetricsForInstance(e,t,\"Completed\",n,a,i)})))}break;case\"SubOrchestrationInstanceFailed\":if(m.SubOrchestrationId){var a=new Date(m.Timestamp).getTime()-new Date(m.ScheduledTime).getTime();l.push(o._loadHistory(m.SubOrchestrationId).then((function(n){if(!i.isCancelled)return o.updateMetricsForInstance(e,t,\"Failed\",a,n,i)})))}break;case\"TaskCompleted\":e[t]||(e[t]=new rn),e[t].completed++,e[t].duration<m.DurationInMs&&(e[t].duration=m.DurationInMs);break;case\"TaskFailed\":e[t]||(e[t]=new rn),e[t].failed++,e[t].duration<m.DurationInMs&&(e[t].duration=m.DurationInMs);break;case\"TaskScheduled\":e[t]||(e[t]=new rn),e[t].running++}};for(c.s();!(s=c.n()).done;){var m;u()}}catch(d){c.e(d)}finally{c.f()}return Promise.all(l)}},{key:\"render\",value:function(){var e=this;return this._diagramCode=\"\",this._diagramSvg=\"\",new Promise((function(t,n){try{var a=Mt(e._traversalResult.functions,e._traversalResult.proxies,{doNotRenderFunctions:!e._renderFunctions,doNotRenderProxies:!e._renderProxies});if(!a)return void t();e._diagramCode=\"graph LR\\n\".concat(a),jt.a.render(\"mermaidSvgId\",e._diagramCode,(function(n){e._diagramSvg=e.applyIcons(n),t()}))}catch(r){n(r)}}))}}]),n}(Pt),Object(B.a)(za.prototype,\"description\",[W.e],Object.getOwnPropertyDescriptor(za.prototype,\"description\"),za.prototype),Object(B.a)(za.prototype,\"rawHtml\",[W.e],Object.getOwnPropertyDescriptor(za.prototype,\"rawHtml\"),za.prototype),Object(B.a)(za.prototype,\"renderFunctions\",[W.e],Object.getOwnPropertyDescriptor(za.prototype,\"renderFunctions\"),za.prototype),Object(B.a)(za.prototype,\"renderProxies\",[W.e],Object.getOwnPropertyDescriptor(za.prototype,\"renderProxies\"),za.prototype),Object(B.a)(za.prototype,\"metrics\",[W.e],Object.getOwnPropertyDescriptor(za.prototype,\"metrics\"),za.prototype),Ba=Object(B.a)(za.prototype,\"_metrics\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{}}}),za),hi=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){var e;Object(u.a)(this,n);for(var a=arguments.length,r=new Array(a),i=0;i<a;i++)r[i]=arguments[i];return(e=t.call.apply(t,[this].concat(r))).name=\"Gantt Chart\",e}return Object(m.a)(n,[{key:\"buildDiagram\",value:function(e,t,n){var a=this;return new Promise((function(r,i){Promise.all(a.renderOrchestration(e.instanceId,e.name,t,!0)).then((function(t){if(n.isCancelled)r();else{var o=t.flat(),s=o.filter((function(e){return!!e.functionName}));a._diagramCode=\"gantt \\n\"+\"title \".concat(e.name,\"(\").concat(e.instanceId,\") \\n\")+\"dateFormat YYYY-MM-DDTHH:mm:ss.SSS \\n\"+o.map((function(e){return e.nextLine})).join(\"\"),a._diagramSvg=\"\";try{jt.a.render(\"mermaidSvgId\",a._diagramCode,(function(e){e=a.injectFunctionNameAttributes(e,s),e=a.adjustIntervalsSmallerThanOneSecond(e,s),a._diagramSvg=e,r()}))}catch(l){i(l)}}}),i)}))}},{key:\"injectFunctionNameAttributes\",value:function(e,t){return e.replace(new RegExp('<(rect|text) id=\"task([0-9]+)(-text)?\"',\"gi\"),(function(e,n,a){var r=parseInt(a);if(r<=0||r>t.length)return e;var i=t[r-1];return i.functionName?e+' data-function-name=\"'.concat(i.functionName,'\"'):e}))}},{key:\"adjustIntervalsSmallerThanOneSecond\",value:function(e,t){return e.replace(new RegExp('<rect id=\"task([0-9]+)\" [^>]+ width=\"([0-9]+)\"',\"gi\"),(function(n,a,r){var i=parseInt(a);if(i<=0||i>t.length)return n;var o=t[i-1];if(!o.parentInstanceId||!o.widthPercentage||o.duration>1e4)return n;var s=t.findIndex((function(e){return e.instanceId===o.parentInstanceId}));if(s<0)return n;var l=new RegExp('<rect id=\"task'.concat(s+1,'\" [^>]+ width=\"([0-9]+)\"'),\"i\").exec(e);if(!l)return n;var c=parseInt(l[1]),u=o.widthPercentage>1?c:Math.ceil(c*o.widthPercentage);return n.replace('width=\"'.concat(r,'\"'),'width=\"'.concat(u.toFixed(0),'\"'))}))}},{key:\"renderOrchestration\",value:function(e,t,n,a){var r,i=this,o=[],s=n.find((function(e){return\"ExecutionStarted\"===e.EventType})),l=n.find((function(e){return\"ExecutionCompleted\"===e.EventType})),c=a,u=0;if(s&&l){if(c){var m=l.DurationInMs>864e5;r=m?\"axisFormat %Y-%m-%d %H:%M \\n\":\"axisFormat %H:%M:%S \\n\",o.push(Promise.resolve([{nextLine:r}])),c=!1}r=a?\"\":\"section \".concat(t,\"(\").concat(this.escapeTitle(e),\") \\n\");var d=this.formatDuration(l.DurationInMs);d||(d=this.formatLineName(t)),r+=\"\".concat(d,\": \").concat(a?\"\":\"active,\",\" \").concat(this.formatDateTime(s.Timestamp),\", \").concat(this.formatDurationInSeconds(l.DurationInMs),\" \\n\"),o.push(Promise.resolve([{nextLine:r,functionName:t,instanceId:e}])),u=l.DurationInMs}c&&(r=\"axisFormat %H:%M:%S \\n\",o.push(Promise.resolve([{nextLine:r}])));var h,p=Object(Je.a)(n);try{for(p.s();!(h=p.n()).done;){var g=h.value,f=g.ScheduledTime;switch(s&&Date.parse(f)<Date.parse(s.Timestamp)&&(f=s.Timestamp),g.EventType){case\"SubOrchestrationInstanceCompleted\":case\"SubOrchestrationInstanceFailed\":g.SubOrchestrationId&&function(){var n=g.SubOrchestrationId,a=g.Name;o.push(new Promise((function(e,t){i._loadHistory(n).then((function(r){Promise.all(i.renderOrchestration(n,a,r,!1)).then((function(t){e(t.flat())}),t)}),(function(t){console.log(\"Failed to load \".concat(a,\". \").concat(t.message)),e([{nextLine:\"%% Failed to load \".concat(i.formatLineName(a),\". \").concat(t.message,\" \\n\")}])}))}))),r=\"section \".concat(t,\"(\").concat(i.escapeTitle(e),\") \\n\"),o.push(Promise.resolve([{nextLine:r}]))}();break;case\"TaskCompleted\":r=\"\".concat(this.formatLineName(g.Name),\" \").concat(this.formatDuration(g.DurationInMs),\": done, \").concat(this.formatDateTime(f),\", \").concat(this.formatDurationInSeconds(g.DurationInMs),\" \\n\"),o.push(Promise.resolve([{nextLine:r,functionName:g.Name,parentInstanceId:e,duration:g.DurationInMs,widthPercentage:u?g.DurationInMs/u:0}]));break;case\"TaskFailed\":r=\"\".concat(this.formatLineName(g.Name),\" \").concat(this.formatDuration(g.DurationInMs),\": crit, \").concat(this.formatDateTime(f),\", \").concat(this.formatDurationInSeconds(g.DurationInMs),\" \\n\"),o.push(Promise.resolve([{nextLine:r,functionName:g.Name,parentInstanceId:e,duration:g.DurationInMs,widthPercentage:u?g.DurationInMs/u:0}]));break;case\"TimerFired\":r=\"[TimerFired]: done, \".concat(this.formatDateTime(g.Timestamp),\", 1s \\n\"),o.push(Promise.resolve([{nextLine:r,functionName:t,parentInstanceId:e,duration:1,widthPercentage:1e-4}]))}}}catch(b){p.e(b)}finally{p.f()}return o}},{key:\"formatDateTime\",value:function(e){return J.showTimeAsLocal?Y()(e).format(\"YYYY-MM-DDTHH:mm:ss.SSS\"):e.substr(0,23)}},{key:\"formatLineName\",value:function(e){return e.replace(/:/g,\"-\")}}]),n}(ui),pi=(Wa=function(){function e(t,n){Object(u.a)(this,e),this._orchestrationId=t,this._backendClient=n,this.name=\"\",this.description=\"\",this.tabType=ba.RawHtml,Object(z.a)(this,\"_rawHtml\",Va,this)}return Object(m.a)(e,[{key:\"rawHtml\",get:function(){return this._rawHtml}},{key:\"load\",value:function(e,t){var n=this,a=\"/orchestrations('\".concat(this._orchestrationId,\"')/custom-tab-markup('\").concat(this.name,\"')\");return this._backendClient.call(\"POST\",a).then((function(e){t.isCancelled||(n._rawHtml=e)}))}}]),e}(),Object(B.a)(Wa.prototype,\"rawHtml\",[W.e],Object.getOwnPropertyDescriptor(Wa.prototype,\"rawHtml\"),Wa.prototype),Va=Object(B.a)(Wa.prototype,\"_rawHtml\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Wa),gi=(Ya=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(e,a,r,i){var o;Object(u.a)(this,n),(o=t.call(this))._orchestrationId=e,o._isFunctionGraphAvailable=a,o._backendClient=r,o._localStorage=i,Object(z.a)(o,\"rewindConfirmationOpen\",Ga,Object(qe.a)(o)),Object(z.a)(o,\"terminateConfirmationOpen\",Ua,Object(qe.a)(o)),Object(z.a)(o,\"purgeConfirmationOpen\",Ja,Object(qe.a)(o)),Object(z.a)(o,\"eventName\",qa,Object(qe.a)(o)),Object(z.a)(o,\"eventData\",Za,Object(qe.a)(o)),Object(z.a)(o,\"newCustomStatus\",Ka,Object(qe.a)(o)),Object(z.a)(o,\"restartWithNewInstanceId\",$a,Object(qe.a)(o)),Object(z.a)(o,\"longJsonDialogState\",Qa,Object(qe.a)(o)),Object(z.a)(o,\"_tabStates\",Xa,Object(qe.a)(o)),Object(z.a)(o,\"_details\",er,Object(qe.a)(o)),Object(z.a)(o,\"_history\",tr,Object(qe.a)(o)),Object(z.a)(o,\"_tabIndex\",nr,Object(qe.a)(o)),Object(z.a)(o,\"_inProgress\",ar,Object(qe.a)(o)),Object(z.a)(o,\"_cancelToken\",rr,Object(qe.a)(o)),Object(z.a)(o,\"_raiseEventDialogOpen\",ir,Object(qe.a)(o)),Object(z.a)(o,\"_setCustomStatusDialogOpen\",or,Object(qe.a)(o)),Object(z.a)(o,\"_restartDialogOpen\",sr,Object(qe.a)(o)),Object(z.a)(o,\"_autoRefresh\",lr,Object(qe.a)(o)),Object(z.a)(o,\"_historyTotalCount\",cr,Object(qe.a)(o)),Object(z.a)(o,\"_functionMap\",ur,Object(qe.a)(o)),Object(z.a)(o,\"_timeFrom\",mr,Object(qe.a)(o)),Object(z.a)(o,\"_filterValue\",dr,Object(qe.a)(o)),Object(z.a)(o,\"_filterOperator\",hr,Object(qe.a)(o)),Object(z.a)(o,\"_filteredColumn\",pr,Object(qe.a)(o)),o._oldTimeFrom=void 0,o._oldFilterValue=\"\",o._autoRefreshToken=void 0,o._noMorePagesToLoad=!1,o._pageSize=200;var s=o._localStorage.getItem(\"autoRefresh\");s&&(o._autoRefresh=Number(s));var l=o._localStorage.getItem(\"tabIndex\");return l&&(o._tabIndex=Number(l)),o.readFilterFromQueryString(),o}return Object(m.a)(n,[{key:\"tabIndex\",get:function(){return this._tabIndex},set:function(e){this._tabIndex!==e&&(this._tabIndex=e,this._localStorage.setItem(\"tabIndex\",e.toString()),this.selectedTab?this.loadCustomTab():this._history.length||this.loadHistory())}},{key:\"selectedTab\",get:function(){return this._tabIndex?this._tabStates[this._tabIndex-1]:null}},{key:\"details\",get:function(){return this._details}},{key:\"history\",get:function(){return this._history}},{key:\"historyTotalCount\",get:function(){return this._historyTotalCount}},{key:\"orchestrationId\",get:function(){return this._orchestrationId}},{key:\"loadInProgress\",get:function(){return this._cancelToken.inProgress&&!this._cancelToken.isCancelled}},{key:\"inProgress\",get:function(){return this._inProgress||this.loadInProgress}},{key:\"autoRefresh\",get:function(){return this._autoRefresh},set:function(e){this._autoRefresh=e,this._localStorage.setItem(\"autoRefresh\",this._autoRefresh.toString()),this.loadDetails()}},{key:\"raiseEventDialogOpen\",get:function(){return this._raiseEventDialogOpen},set:function(e){this._raiseEventDialogOpen=e,e&&(this.eventName=\"\",this.eventData=\"\")}},{key:\"setCustomStatusDialogOpen\",get:function(){return this._setCustomStatusDialogOpen},set:function(e){this._setCustomStatusDialogOpen=e,e&&(this.newCustomStatus=this._details.customStatus?JSON.stringify(this._details.customStatus):\"\")}},{key:\"restartDialogOpen\",get:function(){return this._restartDialogOpen},set:function(e){this._restartDialogOpen=e,e&&(this.restartWithNewInstanceId=!0)}},{key:\"isCustomStatusDirty\",get:function(){return this._details.customStatus?this.newCustomStatus!==JSON.stringify(this._details.customStatus):!!this.newCustomStatus}},{key:\"functionNames\",get:function(){return this._functionMap}},{key:\"timeFrom\",get:function(){return this._timeFrom},set:function(e){this._timeFrom=e}},{key:\"timeFromEnabled\",get:function(){return!!this._timeFrom},set:function(e){e?this._history.length>0?this._timeFrom=Y()(this._history[0].Timestamp):this._timeFrom=Y()():(this._timeFrom=null,this.reloadHistory())}},{key:\"filterValue\",get:function(){return this._filterValue},set:function(e){this._filterValue=e}},{key:\"filterOperator\",get:function(){return this._filterOperator},set:function(e){this._filterOperator=e,this._filterValue&&\"0\"!==this._filteredColumn&&this.reloadHistory()}},{key:\"filteredColumn\",get:function(){return this._filteredColumn},set:function(e){this._filteredColumn=e,this._filterValue&&(\"0\"===this._filteredColumn&&(this._filterValue=\"\"),this.reloadHistory())}},{key:\"tabStates\",get:function(){return this._tabStates}},{key:\"backendClient\",get:function(){return this._backendClient}},{key:\"rewind\",value:function(){var e=this;this.rewindConfirmationOpen=!1;var t=\"/orchestrations('\".concat(this._orchestrationId,\"')/rewind\");this._inProgress=!0,this._backendClient.call(\"POST\",t).then((function(){e._inProgress=!1,e.loadDetails()}),(function(t){e._inProgress=!1,e.showError(\"Failed to rewind\",t)}))}},{key:\"terminate\",value:function(){var e=this;this.terminateConfirmationOpen=!1;var t=\"/orchestrations('\".concat(this._orchestrationId,\"')/terminate\");this._inProgress=!0,this._backendClient.call(\"POST\",t).then((function(){e._inProgress=!1,e.loadDetails()}),(function(t){e._inProgress=!1,e.showError(\"Failed to terminate\",t)}))}},{key:\"purge\",value:function(){var e=this;this.purgeConfirmationOpen=!1;var t=\"/orchestrations('\".concat(this._orchestrationId,\"')/purge\");this._inProgress=!0,this._backendClient.call(\"POST\",t).then((function(){e._inProgress=!1,e._history=[],e._details=new Re,e._tabStates=[]}),(function(t){e._inProgress=!1,e.showError(\"Failed to purge\",t)}))}},{key:\"restart\",value:function(){var e=this,t=\"/orchestrations('\".concat(this._orchestrationId,\"')/restart\"),n={restartWithNewInstanceId:this.restartWithNewInstanceId};this.restartDialogOpen=!1,this._inProgress=!0,this._backendClient.call(\"POST\",t,n).then((function(){e._inProgress=!1,e.loadDetails()}),(function(t){e._inProgress=!1,e.showError(\"Failed to restart\",t)}))}},{key:\"raiseEvent\",value:function(){var e=this,t=\"/orchestrations('\".concat(this._orchestrationId,\"')/raise-event\"),n={name:this.eventName,data:null};try{n.data=JSON.parse(this.eventData)}catch(a){return void this.showError(\"Failed to parse event data\",a)}finally{this.raiseEventDialogOpen=!1}this._inProgress=!0,this._backendClient.call(\"POST\",t,n).then((function(){e._inProgress=!1,e.loadDetails()}),(function(t){e._inProgress=!1,e.showError(\"Failed to raise an event\",t)}))}},{key:\"setCustomStatus\",value:function(){var e=this,t=\"/orchestrations('\".concat(this._orchestrationId,\"')/set-custom-status\"),n=null;try{this.newCustomStatus&&(n=JSON.parse(this.newCustomStatus))}catch(a){return void this.showError(\"Failed to parse custom status\",a)}finally{this.setCustomStatusDialogOpen=!1}this._inProgress=!0,this._backendClient.call(\"POST\",t,n).then((function(){e._inProgress=!1,e.loadDetails()}),(function(t){e._inProgress=!1,e.showError(\"Failed to set custom status\",t)}))}},{key:\"loadDetails\",value:function(){var e=this;if(!this.inProgress){this._inProgress=!0,this._noMorePagesToLoad=!1,this._autoRefresh||this.selectedTab||(this._history=[],this._historyTotalCount=0);var t=this._isFunctionGraphAvailable?this._backendClient.call(\"GET\",\"/function-map\"):Promise.resolve(null),n=\"/orchestrations('\".concat(this._orchestrationId,\"')\");return Promise.all([this._backendClient.call(\"GET\",n),t]).then((function(t){e._details=t[0];var n=t[1];e.setAutoRefresh();var a=0;if(\"Orchestration\"===e._details.entityType&&(e._tabStates.length<=a&&(e._tabStates.push(new mi((function(t){return e.loadAllHistory(t)}))),e._tabStates.push(new hi((function(t){return e.loadAllHistory(t)})))),a+=2),n){e._functionMap=n.functions;var r=Re.getFunctionName(e._details);Object.keys(n.functions).map((function(e){return e.toLowerCase()})).includes(r.toLowerCase())&&(e._tabStates.length<=a&&e._tabStates.push(new di(e._backendClient,n,(function(t){return e.loadAllHistory(t)}))),a++)}if(e._details.tabTemplateNames){var i,o=Object(Je.a)(e._details.tabTemplateNames);try{for(o.s();!(i=o.n()).done;){var s=i.value;e._tabStates.length<=a&&e._tabStates.push(new pi(e._orchestrationId,e._backendClient)),e._tabStates[a].name=s,a++}}catch(l){o.e(l)}finally{o.f()}}(e._tabIndex<0||e._tabIndex>e._tabStates.length)&&(e._tabIndex=0),e._inProgress=!1,e.selectedTab?e.loadCustomTab():e.loadHistory(!!e._autoRefresh)}),(function(t){e._inProgress=!1,e._autoRefresh=0,e.showError(\"Load failed\",t)}))}this.setAutoRefresh()}},{key:\"cancel\",value:function(){this._cancelToken.isCancelled=!0,this._cancelToken=new _t}},{key:\"reloadHistory\",value:function(){this.inProgress||this.selectedTab||(this._timeFrom&&!Ze.isValidMoment(this._timeFrom)&&(this._timeFrom=this._oldTimeFrom),this.writeFilterToQueryString(),this._noMorePagesToLoad=!1,this._history=[],this._historyTotalCount=0,this.loadHistory(),this._oldFilterValue=this._filterValue,this._oldTimeFrom=this._timeFrom,this.registerOnPopStateHandler())}},{key:\"loadHistory\",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!(this.inProgress||this.selectedTab||this._noMorePagesToLoad)){var n=this._cancelToken;n.inProgress=!0;var a=ln(this._filteredColumn,this._filterOperator,this._filterValue);this._timeFrom&&(a=\"timestamp ge '\".concat(this._timeFrom.toISOString(),\"'\")+(a?\" and \".concat(a):\"\"));var r=t?0:this._history.length,i=\"/orchestrations('\".concat(this._orchestrationId,\"')/history?$top=\").concat(this._pageSize,\"&$skip=\").concat(r);a&&(i+=\"&$filter=\"+a),this._backendClient.call(\"GET\",i).then((function(a){var r;n.isCancelled||(e._historyTotalCount=a.totalCount,t?e._history=a.history:((r=e._history).push.apply(r,Object(kt.a)(a.history)),a.history.length<e._pageSize&&(e._noMorePagesToLoad=!0)))}),(function(t){e._autoRefresh=0,n.isCancelled||e.showError(\"Failed to load history\",t)})).finally((function(){n.inProgress=!1}))}}},{key:\"gotoFunctionCode\",value:function(e){if(this.backendClient.isVsCode)this.backendClient.call(\"GotoFunctionCode\",e).then((function(){}),(function(e){console.log(\"Failed to goto function code: \".concat(e.message))}));else{var t=this._functionMap[e];t&&t.filePath&&window.open(t.filePath)}}},{key:\"showFunctionsGraph\",value:function(){this.backendClient.call(\"VisualizeFunctionsAsAGraph\",\"\").then((function(){}),(function(e){console.log(\"Failed to goto functions graph: \".concat(e.message))}))}},{key:\"applyTimeFrom\",value:function(){Ze.isValidMoment(this._timeFrom)&&this._oldTimeFrom!==this._timeFrom&&this.reloadHistory()}},{key:\"applyFilterValue\",value:function(){this._oldFilterValue!==this._filterValue&&this.reloadHistory()}},{key:\"loadCustomTab\",value:function(){var e=this;if(!this.inProgress){var t=this._cancelToken;t.inProgress=!0,this.selectedTab.load(this._details,t).then((function(){}),(function(n){e._autoRefresh=0,t.isCancelled||e.showError(\"Failed to load tab\",n)})).finally((function(){t.inProgress=!1}))}}},{key:\"setAutoRefresh\",value:function(){var e=this;this._autoRefresh&&(this._autoRefreshToken&&clearTimeout(this._autoRefreshToken),this._autoRefreshToken=setTimeout((function(){return e.loadDetails()}),1e3*this._autoRefresh))}},{key:\"loadAllHistory\",value:function(e){var t=\"/orchestrations('\".concat(e,\"')/history\");return this._backendClient.call(\"GET\",t).then((function(e){return e.history}))}},{key:\"readFilterFromQueryString\",value:function(){var e,t,n=new sn,a=n.values.timeFrom;this._timeFrom=a?Y()(a):null,this._oldTimeFrom=this._timeFrom,this._filteredColumn=null!==(e=n.values.filteredColumn)&&void 0!==e?e:\"0\";var r=n.values.filterOperator;this._filterOperator=r?Wt[r]:Wt.Equals,this._filterValue=null!==(t=n.values.filterValue)&&void 0!==t?t:\"\",this._oldFilterValue=this._filterValue}},{key:\"writeFilterToQueryString\",value:function(){var e=new sn;e.setValue(\"timeFrom\",this._timeFrom?this._timeFrom.toISOString():null),e.setValue(\"filteredColumn\",this._filteredColumn),e.setValue(\"filterOperator\",Wt[this._filterOperator]),e.setValue(\"filterValue\",this._filterValue),e.apply(!0)}},{key:\"registerOnPopStateHandler\",value:function(){var e=this;window.onpopstate||(window.onpopstate=function(t){e.readFilterFromQueryString(),e.loadDetails()})}}]),n}(Et),Object(B.a)(Ya.prototype,\"tabIndex\",[W.e],Object.getOwnPropertyDescriptor(Ya.prototype,\"tabIndex\"),Ya.prototype),Object(B.a)(Ya.prototype,\"details\",[W.e],Object.getOwnPropertyDescriptor(Ya.prototype,\"details\"),Ya.prototype),Object(B.a)(Ya.prototype,\"history\",[W.e],Object.getOwnPropertyDescriptor(Ya.prototype,\"history\"),Ya.prototype),Object(B.a)(Ya.prototype,\"historyTotalCount\",[W.e],Object.getOwnPropertyDescriptor(Ya.prototype,\"historyTotalCount\"),Ya.prototype),Object(B.a)(Ya.prototype,\"orchestrationId\",[W.e],Object.getOwnPropertyDescriptor(Ya.prototype,\"orchestrationId\"),Ya.prototype),Object(B.a)(Ya.prototype,\"loadInProgress\",[W.e],Object.getOwnPropertyDescriptor(Ya.prototype,\"loadInProgress\"),Ya.prototype),Object(B.a)(Ya.prototype,\"inProgress\",[W.e],Object.getOwnPropertyDescriptor(Ya.prototype,\"inProgress\"),Ya.prototype),Object(B.a)(Ya.prototype,\"autoRefresh\",[W.e],Object.getOwnPropertyDescriptor(Ya.prototype,\"autoRefresh\"),Ya.prototype),Object(B.a)(Ya.prototype,\"raiseEventDialogOpen\",[W.e],Object.getOwnPropertyDescriptor(Ya.prototype,\"raiseEventDialogOpen\"),Ya.prototype),Object(B.a)(Ya.prototype,\"setCustomStatusDialogOpen\",[W.e],Object.getOwnPropertyDescriptor(Ya.prototype,\"setCustomStatusDialogOpen\"),Ya.prototype),Object(B.a)(Ya.prototype,\"restartDialogOpen\",[W.e],Object.getOwnPropertyDescriptor(Ya.prototype,\"restartDialogOpen\"),Ya.prototype),Object(B.a)(Ya.prototype,\"isCustomStatusDirty\",[W.e],Object.getOwnPropertyDescriptor(Ya.prototype,\"isCustomStatusDirty\"),Ya.prototype),Object(B.a)(Ya.prototype,\"functionNames\",[W.e],Object.getOwnPropertyDescriptor(Ya.prototype,\"functionNames\"),Ya.prototype),Object(B.a)(Ya.prototype,\"timeFrom\",[W.e],Object.getOwnPropertyDescriptor(Ya.prototype,\"timeFrom\"),Ya.prototype),Object(B.a)(Ya.prototype,\"timeFromEnabled\",[W.e],Object.getOwnPropertyDescriptor(Ya.prototype,\"timeFromEnabled\"),Ya.prototype),Object(B.a)(Ya.prototype,\"filterValue\",[W.e],Object.getOwnPropertyDescriptor(Ya.prototype,\"filterValue\"),Ya.prototype),Object(B.a)(Ya.prototype,\"filterOperator\",[W.e],Object.getOwnPropertyDescriptor(Ya.prototype,\"filterOperator\"),Ya.prototype),Object(B.a)(Ya.prototype,\"filteredColumn\",[W.e],Object.getOwnPropertyDescriptor(Ya.prototype,\"filteredColumn\"),Ya.prototype),Ga=Object(B.a)(Ya.prototype,\"rewindConfirmationOpen\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Ua=Object(B.a)(Ya.prototype,\"terminateConfirmationOpen\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Ja=Object(B.a)(Ya.prototype,\"purgeConfirmationOpen\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),qa=Object(B.a)(Ya.prototype,\"eventName\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Za=Object(B.a)(Ya.prototype,\"eventData\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ka=Object(B.a)(Ya.prototype,\"newCustomStatus\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),$a=Object(B.a)(Ya.prototype,\"restartWithNewInstanceId\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),Qa=Object(B.a)(Ya.prototype,\"longJsonDialogState\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{}}}),Object(B.a)(Ya.prototype,\"tabStates\",[W.e],Object.getOwnPropertyDescriptor(Ya.prototype,\"tabStates\"),Ya.prototype),Xa=Object(B.a)(Ya.prototype,\"_tabStates\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),er=Object(B.a)(Ya.prototype,\"_details\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Re}}),tr=Object(B.a)(Ya.prototype,\"_history\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),nr=Object(B.a)(Ya.prototype,\"_tabIndex\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),ar=Object(B.a)(Ya.prototype,\"_inProgress\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),rr=Object(B.a)(Ya.prototype,\"_cancelToken\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new _t}}),ir=Object(B.a)(Ya.prototype,\"_raiseEventDialogOpen\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),or=Object(B.a)(Ya.prototype,\"_setCustomStatusDialogOpen\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),sr=Object(B.a)(Ya.prototype,\"_restartDialogOpen\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),lr=Object(B.a)(Ya.prototype,\"_autoRefresh\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),cr=Object(B.a)(Ya.prototype,\"_historyTotalCount\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),ur=Object(B.a)(Ya.prototype,\"_functionMap\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{}}}),mr=Object(B.a)(Ya.prototype,\"_timeFrom\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),dr=Object(B.a)(Ya.prototype,\"_filterValue\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return\"\"}}),hr=Object(B.a)(Ya.prototype,\"_filterOperator\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Wt.Equals}}),pr=Object(B.a)(Ya.prototype,\"_filteredColumn\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return\"0\"}}),Ya),fi=(yr=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(){var e;Object(u.a)(this,n);for(var a=arguments.length,r=new Array(a),i=0;i<a;i++)r[i]=arguments[i];return e=t.call.apply(t,[this].concat(r)),Object(z.a)(e,\"errorMessage\",fr,Object(qe.a)(e)),Object(z.a)(e,\"_inProgress\",br,Object(qe.a)(e)),e}return Object(m.a)(n,[{key:\"inProgress\",get:function(){return this._inProgress}},{key:\"functionsLoaded\",get:function(){return!!this._traversalResult}},{key:\"renderFunctions\",get:function(){return this._renderFunctions},set:function(e){this._renderFunctions=e,this.render()}},{key:\"renderProxies\",get:function(){return this._renderProxies},set:function(e){this._renderProxies=e,this.render()}},{key:\"render\",value:function(){var e=this;if(this._diagramCode=\"\",this._diagramSvg=\"\",this.errorMessage=\"\",this._traversalResult){this._inProgress=!0;try{var t=Mt(this._traversalResult.functions,this._traversalResult.proxies,{doNotRenderFunctions:!this._renderFunctions,doNotRenderProxies:!this._renderProxies});if(!t)return void(this._inProgress=!1);this._diagramCode=\"graph LR\\n\".concat(t),jt.a.render(\"mermaidSvgId\",this._diagramCode,(function(t){e._diagramSvg=e.applyIcons(t),e._inProgress=!1}))}catch(n){this.errorMessage=\"Failed to render: \".concat(n.message),this._inProgress=!1}}}},{key:\"load\",value:function(){var e=this;this._inProgress||(this.initMermaidWhenNeeded(),this._inProgress=!0,this.errorMessage=\"\",this._diagramCode=\"\",this._diagramSvg=\"\",this._traversalResult=null,this._backendClient.call(\"GET\",\"/function-map\").then((function(t){e._traversalResult=t,e.render()}),(function(t){e._inProgress=!1,e.errorMessage=\"Failed to traverse. \".concat(t.response?t.response.data:t.message)})))}}]),n}(Pt),gr=yr,fr=Object(B.a)(gr.prototype,\"errorMessage\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return\"\"}}),Object(B.a)(gr.prototype,\"inProgress\",[W.e],Object.getOwnPropertyDescriptor(gr.prototype,\"inProgress\"),gr.prototype),Object(B.a)(gr.prototype,\"functionsLoaded\",[W.e],Object.getOwnPropertyDescriptor(gr.prototype,\"functionsLoaded\"),gr.prototype),Object(B.a)(gr.prototype,\"renderFunctions\",[W.e],Object.getOwnPropertyDescriptor(gr.prototype,\"renderFunctions\"),gr.prototype),Object(B.a)(gr.prototype,\"renderProxies\",[W.e],Object.getOwnPropertyDescriptor(gr.prototype,\"renderProxies\"),gr.prototype),br=Object(B.a)(gr.prototype,\"_inProgress\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),gr),bi=(vr=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(e){var a;return Object(u.a)(this,n),(a=t.call(this))._backendClient=e,Object(z.a)(a,\"timeFrom\",Or,Object(qe.a)(a)),Object(z.a)(a,\"timeTill\",Er,Object(qe.a)(a)),Object(z.a)(a,\"entityType\",_r,Object(qe.a)(a)),Object(z.a)(a,\"_statuses\",kr,Object(qe.a)(a)),Object(z.a)(a,\"_dialogOpen\",Cr,Object(qe.a)(a)),Object(z.a)(a,\"_inProgress\",wr,Object(qe.a)(a)),Object(z.a)(a,\"_instancesDeleted\",jr,Object(qe.a)(a)),a}return Object(m.a)(n,[{key:\"dialogOpen\",get:function(){return this._dialogOpen},set:function(e){this._dialogOpen=e,e&&(this._instancesDeleted=null,this.timeFrom=Y()().subtract(1,\"days\").utc(),this.timeTill=Y()().utc(),this._statuses=new Set([\"Completed\",\"Terminated\"]),this.entityType=\"Orchestration\")}},{key:\"instancesDeleted\",get:function(){return this._instancesDeleted}},{key:\"inProgress\",get:function(){return this._inProgress}},{key:\"isValid\",get:function(){return this._statuses.size>0&&Ze.isValidMoment(this.timeFrom)&&Ze.isValidMoment(this.timeTill)}},{key:\"purgeHistory\",value:function(){var e=this;this._inProgress=!0,this._backendClient.call(\"POST\",\"/purge-history\",{entityType:this.entityType,timeFrom:this.timeFrom.toISOString(),timeTill:this.timeTill.toISOString(),statuses:Array.from(this._statuses.values())}).then((function(t){e._instancesDeleted=t.instancesDeleted}),(function(t){return e.showError(\"Purge history failed\",t)})).finally((function(){e._inProgress=!1}))}},{key:\"getStatusIncluded\",value:function(e){return this._statuses.has(e)}},{key:\"setStatusIncluded\",value:function(e,t){t?this._statuses.add(e):this._statuses.delete(e)}}]),n}(Et),Object(B.a)(vr.prototype,\"dialogOpen\",[W.e],Object.getOwnPropertyDescriptor(vr.prototype,\"dialogOpen\"),vr.prototype),Object(B.a)(vr.prototype,\"instancesDeleted\",[W.e],Object.getOwnPropertyDescriptor(vr.prototype,\"instancesDeleted\"),vr.prototype),Object(B.a)(vr.prototype,\"inProgress\",[W.e],Object.getOwnPropertyDescriptor(vr.prototype,\"inProgress\"),vr.prototype),Object(B.a)(vr.prototype,\"isValid\",[W.e],Object.getOwnPropertyDescriptor(vr.prototype,\"isValid\"),vr.prototype),Or=Object(B.a)(vr.prototype,\"timeFrom\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Er=Object(B.a)(vr.prototype,\"timeTill\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_r=Object(B.a)(vr.prototype,\"entityType\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return\"Orchestration\"}}),kr=Object(B.a)(vr.prototype,\"_statuses\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Set}}),Cr=Object(B.a)(vr.prototype,\"_dialogOpen\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),wr=Object(B.a)(vr.prototype,\"_inProgress\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),jr=Object(B.a)(vr.prototype,\"_instancesDeleted\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),vr),yi=(Sr=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(e){var a;return Object(u.a)(this,n),(a=t.call(this))._backendClient=e,Object(z.a)(a,\"removeEmptyEntities\",Tr,Object(qe.a)(a)),Object(z.a)(a,\"releaseOrphanedLocks\",Nr,Object(qe.a)(a)),Object(z.a)(a,\"_dialogOpen\",Pr,Object(qe.a)(a)),Object(z.a)(a,\"_inProgress\",Ir,Object(qe.a)(a)),Object(z.a)(a,\"_response\",Dr,Object(qe.a)(a)),a}return Object(m.a)(n,[{key:\"dialogOpen\",get:function(){return this._dialogOpen},set:function(e){this._dialogOpen=e,e&&(this._response=null,this.removeEmptyEntities=!0,this.releaseOrphanedLocks=!0)}},{key:\"response\",get:function(){return this._response}},{key:\"inProgress\",get:function(){return this._inProgress}},{key:\"isValid\",get:function(){return!0}},{key:\"clean\",value:function(){var e=this;this._inProgress=!0,this._backendClient.call(\"POST\",\"/clean-entity-storage\",{removeEmptyEntities:this.removeEmptyEntities,releaseOrphanedLocks:this.releaseOrphanedLocks}).then((function(t){e._response=t}),(function(t){return e.showError(\"Clean Entity Storage failed\",t)})).finally((function(){e._inProgress=!1}))}}]),n}(Et),Object(B.a)(Sr.prototype,\"dialogOpen\",[W.e],Object.getOwnPropertyDescriptor(Sr.prototype,\"dialogOpen\"),Sr.prototype),Object(B.a)(Sr.prototype,\"response\",[W.e],Object.getOwnPropertyDescriptor(Sr.prototype,\"response\"),Sr.prototype),Object(B.a)(Sr.prototype,\"inProgress\",[W.e],Object.getOwnPropertyDescriptor(Sr.prototype,\"inProgress\"),Sr.prototype),Object(B.a)(Sr.prototype,\"isValid\",[W.e],Object.getOwnPropertyDescriptor(Sr.prototype,\"isValid\"),Sr.prototype),Tr=Object(B.a)(Sr.prototype,\"removeEmptyEntities\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Nr=Object(B.a)(Sr.prototype,\"releaseOrphanedLocks\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Pr=Object(B.a)(Sr.prototype,\"_dialogOpen\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Ir=Object(B.a)(Sr.prototype,\"_inProgress\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Dr=Object(B.a)(Sr.prototype,\"_response\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),Sr),vi=(Fr=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(e){var a;return Object(u.a)(this,n),(a=t.call(this))._backendClient=e,Object(z.a)(a,\"hubName\",xr,Object(qe.a)(a)),Object(z.a)(a,\"connectionString\",Mr,Object(qe.a)(a)),Object(z.a)(a,\"_dialogOpen\",Lr,Object(qe.a)(a)),Object(z.a)(a,\"_inProgress\",Hr,Object(qe.a)(a)),Object(z.a)(a,\"_isReadOnly\",Rr,Object(qe.a)(a)),a._oldConnectionString=void 0,a._oldHubName=void 0,a}return Object(m.a)(n,[{key:\"inProgress\",get:function(){return this._inProgress}},{key:\"isReadonly\",get:function(){return this._isReadOnly}},{key:\"isDirty\",get:function(){return this.connectionString!==this._oldConnectionString||this.hubName!==this._oldHubName}},{key:\"dialogOpen\",get:function(){return this._dialogOpen},set:function(e){var t=this;this._dialogOpen=e,e&&(this._inProgress=!0,this._backendClient.call(\"GET\",\"/manage-connection\").then((function(e){t.connectionString=t._oldConnectionString=e.connectionString,t.hubName=t._oldHubName=e.hubName,t._isReadOnly=e.isReadOnly}),(function(e){return t.showError(\"Load failed\",e)})).finally((function(){t._inProgress=!1})))}},{key:\"saveConnectionParams\",value:function(){var e=this;this._inProgress=!0,this._backendClient.call(\"PUT\",\"/manage-connection\",{connectionString:this.connectionString!==this._oldConnectionString?this.connectionString:\"\",hubName:this.hubName}).then((function(){e._dialogOpen=!1,alert(\"Your changes were saved to local.settings.json file, but they cannot be picked up automatically. Please, restart the Function Host for them to take effect.\")}),(function(t){return e.showError(\"Save failed\",t)})).finally((function(){e._inProgress=!1}))}}]),n}(Et),xr=Object(B.a)(Fr.prototype,\"hubName\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Mr=Object(B.a)(Fr.prototype,\"connectionString\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Object(B.a)(Fr.prototype,\"inProgress\",[W.e],Object.getOwnPropertyDescriptor(Fr.prototype,\"inProgress\"),Fr.prototype),Object(B.a)(Fr.prototype,\"isReadonly\",[W.e],Object.getOwnPropertyDescriptor(Fr.prototype,\"isReadonly\"),Fr.prototype),Object(B.a)(Fr.prototype,\"isDirty\",[W.e],Object.getOwnPropertyDescriptor(Fr.prototype,\"isDirty\"),Fr.prototype),Object(B.a)(Fr.prototype,\"dialogOpen\",[W.e],Object.getOwnPropertyDescriptor(Fr.prototype,\"dialogOpen\"),Fr.prototype),Lr=Object(B.a)(Fr.prototype,\"_dialogOpen\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Hr=Object(B.a)(Fr.prototype,\"_inProgress\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Rr=Object(B.a)(Fr.prototype,\"_isReadOnly\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Fr),Oi=(Ar=function(e){Object(d.a)(n,e);var t=Object(h.a)(n);function n(e){var a;return Object(u.a)(this,n),(a=t.call(this))._backendClient=e,Object(z.a)(a,\"instanceId\",zr,Object(qe.a)(a)),Object(z.a)(a,\"orchestratorFunctionName\",Br,Object(qe.a)(a)),Object(z.a)(a,\"input\",Wr,Object(qe.a)(a)),Object(z.a)(a,\"_dialogOpen\",Vr,Object(qe.a)(a)),Object(z.a)(a,\"_inProgress\",Yr,Object(qe.a)(a)),a}return Object(m.a)(n,[{key:\"inProgress\",get:function(){return this._inProgress}},{key:\"dialogOpen\",get:function(){return this._dialogOpen},set:function(e){this._dialogOpen=e,this.instanceId=\"\",this.orchestratorFunctionName=\"\",this.input=\"\"}},{key:\"backendClient\",get:function(){return this._backendClient}},{key:\"showWithFunctionName\",value:function(e){this.dialogOpen=!0,this.orchestratorFunctionName=e}},{key:\"startNewInstance\",value:function(){var e=this,t=null;if(this.input)try{t=JSON.parse(this.input)}catch(n){return void this.showError(\"Failed to parse input\",n)}this._inProgress=!0,this._backendClient.call(\"POST\",\"/orchestrations\",{id:this.instanceId,name:this.orchestratorFunctionName,data:t}).then((function(t){e._dialogOpen=!1,e._backendClient.showDetails(t.instanceId)}),(function(t){return e.showError(\"Failed to start new instance\",t)})).finally((function(){e._inProgress=!1}))}}]),n}(Et),zr=Object(B.a)(Ar.prototype,\"instanceId\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Br=Object(B.a)(Ar.prototype,\"orchestratorFunctionName\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Wr=Object(B.a)(Ar.prototype,\"input\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Object(B.a)(Ar.prototype,\"inProgress\",[W.e],Object.getOwnPropertyDescriptor(Ar.prototype,\"inProgress\"),Ar.prototype),Object(B.a)(Ar.prototype,\"dialogOpen\",[W.e],Object.getOwnPropertyDescriptor(Ar.prototype,\"dialogOpen\"),Ar.prototype),Vr=Object(B.a)(Ar.prototype,\"_dialogOpen\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Yr=Object(B.a)(Ar.prototype,\"_inProgress\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Ar),Ei=function(){function e(t){Object(u.a)(this,e),this._prefix=t}return Object(m.a)(e,[{key:\"setItem\",value:function(e,t){localStorage.setItem(\"\".concat(this._prefix,\"::\").concat(e),t);var n=new sn;n.values[e]=t,n.apply()}},{key:\"setItems\",value:function(e){var t,n=new sn,a=Object(Je.a)(e);try{for(a.s();!(t=a.n()).done;){var r=t.value;null===r.value?(localStorage.removeItem(\"\".concat(this._prefix,\"::\").concat(r.fieldName)),delete n.values[r.fieldName]):(localStorage.setItem(\"\".concat(this._prefix,\"::\").concat(r.fieldName),r.value),n.values[r.fieldName]=r.value)}}catch(i){a.e(i)}finally{a.f()}n.apply()}},{key:\"getItem\",value:function(e){var t=new sn;return t.values[e]?t.values[e]:localStorage.getItem(\"\".concat(this._prefix,\"::\").concat(e))}},{key:\"removeItem\",value:function(e){localStorage.removeItem(\"\".concat(this._prefix,\"::\").concat(e));var t=new sn;delete t.values[e],t.apply()}}]),e}(),_i=function(){function e(t){var n=this;Object(u.a)(this,e),this._vsCodeApi=t,this._handlers=void 0,this._requests={},window.addEventListener(\"message\",(function(e){var t=e.data;if(n._handlers&&n._handlers[t.id])try{n._handlers[t.id](t.data)}catch(r){console.log(\"Failed to handle response from VsCode: \"+r)}else{var a=n._requests[t.id];a&&(t.err?a.reject(t.err):a.resolve(t.data),delete n._requests[t.id])}}))}return Object(m.a)(e,[{key:\"isVsCode\",get:function(){return!0}},{key:\"routePrefixAndTaskHubName\",get:function(){return null}},{key:\"call\",value:function(e,t,n){var a=this,r=Math.random().toString();return this._vsCodeApi.postMessage({id:r,method:e,url:t,data:n}),new Promise((function(e,t){a._requests[r]={resolve:e,reject:t}}))}},{key:\"showDetails\",value:function(e){this.call(\"OpenInNewWindow\",e)}},{key:\"setCustomHandlers\",value:function(e){this._handlers=e,this._vsCodeApi.postMessage({method:\"IAmReady\"})}}]),e}(),ki=function(){function e(t,n){Object(u.a)(this,e),this._prefix=t,this._vsCodeApi=n,this._state=void 0,this._state=StateFromVsCode[this._prefix],this._state||(this._state={})}return Object(m.a)(e,[{key:\"setItem\",value:function(e,t){this._state[e]=t,this.save()}},{key:\"setItems\",value:function(e){var t,n=Object(Je.a)(e);try{for(n.s();!(t=n.n()).done;){var a=t.value;null===a.value?delete this._state[a.fieldName]:this._state[a.fieldName]=a.value}}catch(r){n.e(r)}finally{n.f()}this.save()}},{key:\"getItem\",value:function(e){return this._state[e]}},{key:\"removeItem\",value:function(e){delete this._state[e],this.save()}},{key:\"save\",value:function(){this._vsCodeApi.postMessage({method:\"PersistState\",key:this._prefix,data:this._state})}}]),e}();!function(e){e[e.DurableFunctions=0]=\"DurableFunctions\",e[e.FunctionGraph=1]=\"FunctionGraph\"}(Zr||(Zr={}));var Ci=(Gr=function(){function e(){var t=this;Object(u.a)(this,e),this.loginState=void 0,this.mainMenuState=void 0,this.orchestrationsState=void 0,this.orchestrationDetailsState=void 0,this.functionGraphState=void 0,this.purgeHistoryDialogState=void 0,this.cleanEntityStorageDialogState=void 0,this.connectionParamsDialogState=void 0,this.startNewInstanceDialogState=void 0,Object(z.a)(this,\"menuAnchorElement\",Ur,this),Object(z.a)(this,\"_suggestions\",Jr,this),Object(z.a)(this,\"_typedInstanceId\",qr,this),this._backendClient=void 0;var n=void 0;try{n=acquireVsCodeApi()}catch(i){}if(n){var a=new _i(n);this._backendClient=a,this.purgeHistoryDialogState=new bi(a),this.cleanEntityStorageDialogState=new yi(a),this.startNewInstanceDialogState=new Oi(a),DfmViewMode===Zr.FunctionGraph?this.functionGraphState=new fi(a):this.instanceId?this.orchestrationDetailsState=new gi(this.instanceId,IsFunctionGraphAvailable,a,new ki(\"OrchestrationDetailsState\",n)):(this.orchestrationsState=new jn(IsFunctionGraphAvailable,a,new ki(\"OrchestrationsState\",n),(function(e){return t.startNewInstanceDialogState.showWithFunctionName(e)})),a.setCustomHandlers({purgeHistory:function(){return t.purgeHistoryDialogState.dialogOpen=!0},cleanEntityStorage:function(){return t.cleanEntityStorageDialogState.dialogOpen=!0},startNewInstance:function(){return t.startNewInstanceDialogState.dialogOpen=!0}}))}else{this.loginState=new Wn;var r=new zn((function(){return t.loginState.taskHubName}),(function(){return t.loginState.getAuthorizationHeaderAsync()}));this._backendClient=r,this.purgeHistoryDialogState=new bi(r),this.cleanEntityStorageDialogState=new yi(r),this.connectionParamsDialogState=new vi(r),this.startNewInstanceDialogState=new Oi(r),this.instanceId?this.orchestrationDetailsState=new gi(this.instanceId,IsFunctionGraphAvailable,r,new Ei(\"OrchestrationDetailsState\")):(this.mainMenuState=new ci(r,this.purgeHistoryDialogState,this.cleanEntityStorageDialogState,this.connectionParamsDialogState,this.startNewInstanceDialogState),this.orchestrationsState=new jn(IsFunctionGraphAvailable,r,new Ei(\"OrchestrationsState\"),(function(e){return t.startNewInstanceDialogState.showWithFunctionName(e)})))}}return Object(m.a)(e,[{key:\"typedInstanceId\",get:function(){return this._typedInstanceId},set:function(e){this._typedInstanceId=e,this.reloadSuggestions()}},{key:\"suggestions\",get:function(){return this._suggestions}},{key:\"isExactMatch\",get:function(){return 1===this._suggestions.length&&this._suggestions[0]===this._typedInstanceId}},{key:\"goto\",value:function(){window.open(\"\".concat(this._backendClient.routePrefixAndTaskHubName).concat(Bn).concat(this._typedInstanceId)),this._typedInstanceId=\"\",this._suggestions=[]}},{key:\"instanceId\",get:function(){if(OrchestrationIdFromVsCode)return OrchestrationIdFromVsCode;var e=window.location.pathname.lastIndexOf(Bn);return e<0?\"\":window.location.pathname.substr(e+Bn.length)}},{key:\"reloadSuggestions\",value:function(){var e=this;if(!this._typedInstanceId||this._typedInstanceId.length<2)this._suggestions=[];else{var t=\"/id-suggestions(prefix='\".concat(this._typedInstanceId,\"')\");this._backendClient.call(\"GET\",t).then((function(t){t&&e._typedInstanceId?e._suggestions=t:e._suggestions=[]}))}}}]),e}(),Ur=Object(B.a)(Gr.prototype,\"menuAnchorElement\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Object(B.a)(Gr.prototype,\"typedInstanceId\",[W.e],Object.getOwnPropertyDescriptor(Gr.prototype,\"typedInstanceId\"),Gr.prototype),Object(B.a)(Gr.prototype,\"suggestions\",[W.e],Object.getOwnPropertyDescriptor(Gr.prototype,\"suggestions\"),Gr.prototype),Object(B.a)(Gr.prototype,\"isExactMatch\",[W.e],Object.getOwnPropertyDescriptor(Gr.prototype,\"isExactMatch\"),Gr.prototype),Jr=Object(B.a)(Gr.prototype,\"_suggestions\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),qr=Object(B.a)(Gr.prototype,\"_typedInstanceId\",[W.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return\"\"}}),Gr);document.body.style.backgroundColor=Z.palette.background.paper;var wi=new Ci;l.render(s.createElement(c.a,{theme:Z},s.createElement(li,{state:wi})),document.getElementById(\"root\"))}},[[698,1,2]]]);\n//# sourceMappingURL=main.7371b08e.chunk.js.map"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/DfmStatics/static/js/runtime-main.edc3f937.js",
    "content": "!function(e){function r(r){for(var n,i,l=r[0],a=r[1],f=r[2],p=0,s=[];p<l.length;p++)i=l[p],Object.prototype.hasOwnProperty.call(o,i)&&o[i]&&s.push(o[i][0]),o[i]=0;for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n]);for(c&&c(r);s.length;)s.shift()();return u.push.apply(u,f||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,l=1;l<t.length;l++){var a=t[l];0!==o[a]&&(n=!1)}n&&(u.splice(r--,1),e=i(i.s=t[0]))}return e}var n={},o={1:0},u=[];function i(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,i),t.l=!0,t.exports}i.m=e,i.c=n,i.d=function(e,r,t){i.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},i.r=function(e){\"undefined\"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},i.t=function(e,r){if(1&r&&(e=i(e)),8&r)return e;if(4&r&&\"object\"===typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(i.r(t),Object.defineProperty(t,\"default\",{enumerable:!0,value:e}),2&r&&\"string\"!=typeof e)for(var n in e)i.d(t,n,function(r){return e[r]}.bind(null,n));return t},i.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(r,\"a\",r),r},i.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},i.p=\"/\";var l=this[\"webpackJsonpdurablefunctionsmonitor.react\"]=this[\"webpackJsonpdurablefunctionsmonitor.react\"]||[],a=l.push.bind(l);l.push=r,l=l.slice();for(var f=0;f<l.length;f++)r(l[f]);var c=a;t()}([]);\n//# sourceMappingURL=runtime-main.edc3f937.js.map"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/Dockerfile",
    "content": "FROM mcr.microsoft.com/dotnet/sdk:3.1 AS installer-env\n\nCOPY . /src/dotnet-function-app\nRUN cd /src/dotnet-function-app && \\\n    mkdir -p /home/site/wwwroot && \\\n    dotnet publish *.csproj --output /home/site/wwwroot\n\nFROM mcr.microsoft.com/azure-functions/dotnet:3.0\nENV AzureWebJobsScriptRoot=/home/site/wwwroot\n\nCOPY --from=installer-env [\"/home/site/wwwroot\", \"/home/site/wwwroot\"]"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/Functions/About.cs",
    "content": "using System;\nusing Microsoft.AspNetCore.Mvc;\nusing Microsoft.Azure.WebJobs;\nusing Microsoft.Azure.WebJobs.Extensions.Http;\nusing Microsoft.AspNetCore.Http;\nusing System.Text.RegularExpressions;\nusing System.Reflection;\nusing System.Threading.Tasks;\nusing Microsoft.Extensions.Logging;\n\nnamespace DurableFunctionsMonitor.DotNetBackend\n{\n    public static class About\n    {\n        // Returns short connection info and backend version. \n        // GET /a/p/i/{connName}-{hubName}/about\n        [FunctionName(nameof(DfmAboutFunction))]\n        public static Task<IActionResult> DfmAboutFunction(\n            [HttpTrigger(AuthorizationLevel.Anonymous, \"get\", Route = Globals.ApiRoutePrefix + \"/about\")] HttpRequest req,\n            string connName,\n            string hubName,\n            ILogger log\n        )\n        {\n            return req.HandleAuthAndErrors(connName, hubName, log, async () => {\n\n                string accountName = string.Empty;\n\n                string storageConnString = Environment.GetEnvironmentVariable(Globals.GetFullConnectionStringEnvVariableName(connName));\n                var match = AccountNameRegex.Match(storageConnString ?? string.Empty);\n                if (match.Success)\n                {\n                    accountName = match.Groups[1].Value;\n                }\n\n                return new \n                {\n                    accountName,\n                    hubName = hubName,\n                    version = Assembly.GetExecutingAssembly().GetName().Version.ToString()\n                }\n                .ToJsonContentResult();\n            });\n        }\n\n        private static readonly Regex AccountNameRegex = new Regex(@\"AccountName=(\\w+)\", RegexOptions.IgnoreCase | RegexOptions.Compiled);\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/Functions/CleanEntityStorage.cs",
    "content": "using System.Threading.Tasks;\nusing Microsoft.AspNetCore.Mvc;\nusing Microsoft.Azure.WebJobs;\nusing Microsoft.Azure.WebJobs.Extensions.Http;\nusing Microsoft.AspNetCore.Http;\nusing Newtonsoft.Json;\nusing System.Threading;\nusing Microsoft.Extensions.Logging;\nusing Microsoft.Azure.WebJobs.Extensions.DurableTask.ContextImplementations;\nusing Microsoft.Azure.WebJobs.Extensions.DurableTask;\n\nnamespace DurableFunctionsMonitor.DotNetBackend\n{\n    public class CleanEntityStorage: HttpHandlerBase\n    {\n        public CleanEntityStorage(IDurableClientFactory durableClientFactory): base(durableClientFactory) {}\n\n        // Request body\n        class CleanEntityStorageRequest\n        {\n            public bool removeEmptyEntities { get; set; }\n            public bool releaseOrphanedLocks { get; set; }\n        }\n\n        // Does garbage collection on Durable Entities\n        // POST /a/p/i/{connName}-{hubName}/clean-entity-storage\n        [FunctionName(nameof(DfmCleanEntityStorageFunction))]\n        public Task<IActionResult> DfmCleanEntityStorageFunction(\n            [HttpTrigger(AuthorizationLevel.Anonymous, \"post\", Route = Globals.ApiRoutePrefix + \"/clean-entity-storage\")] HttpRequest req,\n            [DurableClient(TaskHub = Globals.HubNameRouteParamName)] IDurableClient defaultDurableClient,\n            string connName,\n            string hubName,\n            ILogger log)\n        {\n            return this.HandleAuthAndErrors(defaultDurableClient, req, connName, hubName, log, async (durableClient) => {\n\n                // Checking that we're not in ReadOnly mode\n                if (DfmEndpoint.Settings.Mode == DfmMode.ReadOnly)\n                {\n                    log.LogError(\"Endpoint is in ReadOnly mode\");\n                    return new StatusCodeResult(403);\n                }\n\n                var request = JsonConvert.DeserializeObject<CleanEntityStorageRequest>(await req.ReadAsStringAsync());\n\n                var result = await durableClient.CleanEntityStorageAsync(request.removeEmptyEntities, request.releaseOrphanedLocks, CancellationToken.None);\n\n                return result.ToJsonContentResult();\n            });\n        }\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/Functions/DeleteTaskHub.cs",
    "content": "using System;\nusing Microsoft.AspNetCore.Mvc;\nusing Microsoft.Azure.WebJobs;\nusing Microsoft.Azure.WebJobs.Extensions.Http;\nusing Microsoft.AspNetCore.Http;\nusing DurableTask.AzureStorage;\nusing System.Threading.Tasks;\nusing Microsoft.Extensions.Logging;\nusing Microsoft.Azure.WebJobs.Extensions.DurableTask.ContextImplementations;\nusing Microsoft.Azure.WebJobs.Extensions.DurableTask;\n\nnamespace DurableFunctionsMonitor.DotNetBackend\n{\n    public class DeleteTaskHub: HttpHandlerBase\n    {\n        public DeleteTaskHub(IDurableClientFactory durableClientFactory): base(durableClientFactory) {}\n\n        // Deletes all underlying storage resources for a Task Hub.\n        // POST /{connName}-{hubName}/a/p/i/delete-task-hub\n        [FunctionName(nameof(DfmDeleteTaskHubFunction))]\n        public Task<IActionResult> DfmDeleteTaskHubFunction(\n            [HttpTrigger(AuthorizationLevel.Anonymous, \"post\", Route = Globals.ApiRoutePrefix + \"/delete-task-hub\")] HttpRequest req,\n            [DurableClient(TaskHub = Globals.HubNameRouteParamName)] IDurableClient defaultDurableClient,\n            string connName,\n            string hubName,\n            ILogger log\n        )\n        {\n            return this.HandleAuthAndErrors(defaultDurableClient, req, connName, hubName, log, async (_) => {\n\n                // Checking that we're not in ReadOnly mode\n                if (DfmEndpoint.Settings.Mode == DfmMode.ReadOnly)\n                {\n                    log.LogError(\"Endpoint is in ReadOnly mode\");\n                    return new StatusCodeResult(403);\n                }\n\n                string connectionString = Environment.GetEnvironmentVariable(Globals.GetFullConnectionStringEnvVariableName(connName));\n\n                var orcService = new AzureStorageOrchestrationService(new AzureStorageOrchestrationServiceSettings\n                {\n                    StorageConnectionString = connectionString,\n                    TaskHubName = hubName,\n                });\n\n                // .DeleteAsync() tends to throw \"The requested operation cannot be performed on this container because of a concurrent operation\"\n                // (though still seems to do its job). So just wrapping with try-catch\n                try\n                {\n                    await orcService.DeleteAsync();\n                }\n                catch(Exception ex)\n                {\n                    log.LogError(ex, \"AzureStorageOrchestrationService.DeleteAsync() failed\");\n                }\n\n                return new OkResult();\n            });\n        }\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/Functions/EasyAuthConfig.cs",
    "content": "using System;\nusing Microsoft.AspNetCore.Mvc;\nusing Microsoft.Azure.WebJobs;\nusing Microsoft.Azure.WebJobs.Extensions.Http;\nusing Microsoft.AspNetCore.Http;\nusing System.Text.RegularExpressions;\nusing Microsoft.Extensions.Logging;\nusing System.Threading.Tasks;\n\nnamespace DurableFunctionsMonitor.DotNetBackend\n{\n    public static class EasyAuthConfig\n    {\n        // Returns EasyAuth configuration settings, specifically the AAD app's Client ID (which is not a secret)\n        // GET /a/p/i/easyauth-config\n        [FunctionName(nameof(DfmGetEasyAuthConfigFunction))]\n        public static Task<IActionResult> DfmGetEasyAuthConfigFunction(\n            [HttpTrigger(AuthorizationLevel.Anonymous, \"get\", Route = \"a/p/i/easyauth-config\")] HttpRequest req,\n            ILogger log\n        )\n        {\n            return req.HandleErrors(log, async () => {\n\n                // Checking nonce, if it was set as an env variable.\n                // Don't care about return value of this method here.\n                Auth.IsNonceSetAndValid(req.Headers);\n\n                string siteName = Environment.GetEnvironmentVariable(EnvVariableNames.WEBSITE_SITE_NAME);\n                string clientId = Environment.GetEnvironmentVariable(EnvVariableNames.WEBSITE_AUTH_CLIENT_ID);\n\n                // When deployed to Azure, this tool should always be protected by EasyAuth\n                if (!string.IsNullOrEmpty(siteName) && string.IsNullOrEmpty(clientId) && !DfmEndpoint.Settings.DisableAuthentication)\n                {\n                    log.LogError($\"You need to configure EasyAuth for your '{siteName}' instance. This tool should never be exposed to the world without authentication.\");\n                    return new UnauthorizedResult();\n                }\n\n                string unauthenticatedAction = Environment.GetEnvironmentVariable(EnvVariableNames.WEBSITE_AUTH_UNAUTHENTICATED_ACTION);\n                if (unauthenticatedAction == Auth.UnauthenticatedActionRedirectToLoginPage)\n                {\n                    // Assuming it is the server-directed login flow to be used\n                    // and returning just the user name (to speed up login process)\n                    var userNameClaim = req.HttpContext.User?.FindFirst(DfmEndpoint.Settings.UserNameClaimName);\n                    return new { userName = userNameClaim?.Value }.ToJsonContentResult();\n                }\n\n                // Trying to get tenantId from WEBSITE_AUTH_OPENID_ISSUER environment variable\n                string tenantId = \"common\";\n                string openIdIssuer = Environment.GetEnvironmentVariable(EnvVariableNames.WEBSITE_AUTH_OPENID_ISSUER);\n                if (!string.IsNullOrEmpty(openIdIssuer))\n                {\n                    var match = GuidRegex.Match(openIdIssuer);\n                    if (match.Success)\n                    {\n                        tenantId = match.Groups[1].Value;\n                    }\n                }\n\n                return new { clientId, authority = \"https://login.microsoftonline.com/\" + tenantId }.ToJsonContentResult();\n            });\n        }\n\n        private static readonly Regex GuidRegex = new Regex(@\"([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\", RegexOptions.IgnoreCase | RegexOptions.Compiled);\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/Functions/FunctionMap.cs",
    "content": "using Microsoft.AspNetCore.Mvc;\nusing Microsoft.Azure.WebJobs;\nusing Microsoft.Azure.WebJobs.Extensions.Http;\nusing Microsoft.AspNetCore.Http;\nusing System.Threading.Tasks;\nusing Microsoft.Extensions.Logging;\n\nnamespace DurableFunctionsMonitor.DotNetBackend\n{\n    public static class FunctionMap\n    {\n        // Tries to fetch a Function Map for a given Task Hub. \n        // Function Maps are specially formatted JSON files, they come either from a predefined folder\n        // in the Blob Storage, or from a custom local folder.\n        // GET /{connName}-{hubName}/a/p/i/delete-task-hub\n        [FunctionName(nameof(DfmGetFunctionMap))]\n        public static Task<IActionResult> DfmGetFunctionMap(\n            [HttpTrigger(AuthorizationLevel.Anonymous, \"get\", Route = Globals.ApiRoutePrefix + \"/function-map\")] HttpRequest req,\n            string connName,\n            string hubName,\n            ILogger log\n        )\n        {\n            return req.HandleAuthAndErrors(connName, hubName, log, async () => {\n\n                // The underlying Task never throws, so it's OK.\n                var functionMapsMap = await CustomTemplates.GetFunctionMapsAsync();\n\n                var functionMapJson = functionMapsMap.GetFunctionMap(hubName);\n                if(string.IsNullOrEmpty(functionMapJson))\n                {\n                    return new NotFoundObjectResult(\"No Function Map provided\");\n                }\n\n                return new ContentResult()\n                {\n                    Content = functionMapJson,\n                    ContentType = \"application/json; charset=UTF-8\"\n                };\n            });\n        }\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/Functions/IdSuggestions.cs",
    "content": "using System.Threading.Tasks;\nusing Microsoft.AspNetCore.Mvc;\nusing Microsoft.Azure.WebJobs;\nusing Microsoft.Azure.WebJobs.Extensions.Http;\nusing Microsoft.AspNetCore.Http;\nusing Microsoft.Extensions.Logging;\nusing System.Linq;\nusing Microsoft.Azure.WebJobs.Extensions.DurableTask;\nusing System.Threading;\nusing Microsoft.Azure.WebJobs.Extensions.DurableTask.ContextImplementations;\n\nnamespace DurableFunctionsMonitor.DotNetBackend\n{\n    public class IdSuggestions: HttpHandlerBase\n    {\n        public IdSuggestions(IDurableClientFactory durableClientFactory): base(durableClientFactory) {}\n\n        // Returns a list of orchestration/entity IDs, that start with some prefix\n        // GET /a/p/i/{connName}-{hubName}/id-suggestions(prefix='{prefix}')\n        [FunctionName(nameof(DfmGetIdSuggestionsFunction))]\n        public Task<IActionResult> DfmGetIdSuggestionsFunction(\n            [HttpTrigger(AuthorizationLevel.Anonymous, \"get\", Route = Globals.ApiRoutePrefix + \"/id-suggestions(prefix='{prefix}')\")] HttpRequest req,\n            [DurableClient(TaskHub = Globals.HubNameRouteParamName)] IDurableClient defaultDurableClient,\n            string connName,\n            string hubName,\n            string prefix,\n            ILogger log)\n        {\n            return this.HandleAuthAndErrors(defaultDurableClient, req, connName, hubName, log, async (durableClient) => {\n\n                var response = await durableClient.ListInstancesAsync(new OrchestrationStatusQueryCondition()\n                    {\n                        InstanceIdPrefix = prefix,\n                        PageSize = 50,\n                        ShowInput = false\n                    }, \n                    CancellationToken.None);\n\n                var orchestrationIds = response.DurableOrchestrationState.Select((s) => s.InstanceId);\n\n                return orchestrationIds.ToJsonContentResult(Globals.FixUndefinedsInJson);\n            });\n        }\n    }\n}\n"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/Functions/ManageConnection.cs",
    "content": "using System;\nusing System.IO;\nusing System.Threading.Tasks;\nusing Microsoft.AspNetCore.Mvc;\nusing Microsoft.Azure.WebJobs;\nusing Microsoft.Azure.WebJobs.Extensions.Http;\nusing Microsoft.AspNetCore.Http;\nusing Newtonsoft.Json.Linq;\nusing System.Text.RegularExpressions;\nusing Microsoft.Extensions.Logging;\n\nnamespace DurableFunctionsMonitor.DotNetBackend\n{\n    public static class ManageConnection\n    {\n        // Gets/sets Storage Connection String and Hub Name\n        // GET /a/p/i/{connName}-{hubName}/manage-connection\n        // PUT /a/p/i/{connName}-{hubName}/manage-connection\n        [FunctionName(nameof(DfmManageConnectionFunction))]\n        public static Task<IActionResult> DfmManageConnectionFunction(\n            [HttpTrigger(AuthorizationLevel.Anonymous, \"get\", \"put\", Route = Globals.ApiRoutePrefix + \"/manage-connection\")] HttpRequest req,\n            string connName,\n            string hubName,\n            ExecutionContext executionContext,\n            ILogger log)\n        {\n            return req.HandleAuthAndErrors(connName, hubName, log, async () => {\n\n                string localSettingsFileName = Path.Combine(executionContext.FunctionAppDirectory, \"local.settings.json\");\n\n                if (req.Method == \"GET\")\n                {\n                    bool isRunningOnAzure = !string.IsNullOrEmpty(Environment.GetEnvironmentVariable(EnvVariableNames.WEBSITE_SITE_NAME));\n                    // Don't allow editing, when running in Azure or as a container\n                    bool isReadOnly = isRunningOnAzure || !File.Exists(localSettingsFileName);\n\n                    string connectionString = \n                        Environment.GetEnvironmentVariable(Globals.GetFullConnectionStringEnvVariableName(connName)) ?? \n                        string.Empty;\n                    \n                    // No need for your accountKey to ever leave the server side\n                    connectionString = AccountKeyRegex.Replace(connectionString, \"AccountKey=*****\");\n\n                    return new { connectionString, hubName = hubName, isReadOnly }.ToJsonContentResult();\n                }\n                else\n                {\n                    // Checking that we're not in ReadOnly mode\n                    if (DfmEndpoint.Settings.Mode == DfmMode.ReadOnly)\n                    {\n                        log.LogError(\"Endpoint is in ReadOnly mode\");\n                        return new StatusCodeResult(403);\n                    }\n\n                    dynamic bodyObject = JObject.Parse(await req.ReadAsStringAsync());\n\n                    string connectionString = bodyObject.connectionString;\n\n                    // local.settings.json file does should already exist\n                    dynamic localSettings = JObject.Parse(await File.ReadAllTextAsync(localSettingsFileName));\n\n                    localSettings.Merge(JObject.Parse(\"{Values: {}}\"));\n                    if (!string.IsNullOrEmpty(connectionString))\n                    {\n                        localSettings.Values.AzureWebJobsStorage = connectionString;\n                    }\n\n                    await File.WriteAllTextAsync(localSettingsFileName, localSettings.ToString());\n\n                    return new OkResult();\n                }\n            });\n        }\n\n        private static readonly Regex AccountKeyRegex = new Regex(@\"AccountKey=[^;]+\", RegexOptions.IgnoreCase | RegexOptions.Compiled);\n    }\n}\n"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/Functions/Orchestration.cs",
    "content": "using System.Threading.Tasks;\nusing Microsoft.AspNetCore.Mvc;\nusing Microsoft.Azure.WebJobs;\nusing Microsoft.Azure.WebJobs.Extensions.Http;\nusing Microsoft.AspNetCore.Http;\nusing Newtonsoft.Json.Linq;\nusing System;\nusing Microsoft.Azure.WebJobs.Extensions.DurableTask;\nusing Microsoft.WindowsAzure.Storage.Table;\nusing System.Linq;\nusing System.Collections.Generic;\nusing Microsoft.Extensions.Logging;\nusing Fluid;\nusing Fluid.Values;\nusing Newtonsoft.Json;\nusing Microsoft.Azure.WebJobs.Extensions.DurableTask.ContextImplementations;\n\nnamespace DurableFunctionsMonitor.DotNetBackend\n{\n    public class Orchestration: HttpHandlerBase\n    {\n        public Orchestration(IDurableClientFactory durableClientFactory): base(durableClientFactory) {}\n\n        // Handles orchestration instance operations.\n        // GET /a/p/i/{connName}-{hubName}/orchestrations('<id>')\n        [FunctionName(nameof(DfmGetOrchestrationFunction))]\n        public Task<IActionResult> DfmGetOrchestrationFunction(\n            [HttpTrigger(AuthorizationLevel.Anonymous, \"get\", Route = Globals.ApiRoutePrefix + \"/orchestrations('{instanceId}')\")] HttpRequest req,\n            [DurableClient(TaskHub = Globals.HubNameRouteParamName)] IDurableClient defaultDurableClient,\n            string connName,\n            string hubName,\n            string instanceId,\n            ILogger log)\n        {\n            return this.HandleAuthAndErrors(defaultDurableClient, req, connName, hubName, log, async (durableClient) => {\n\n                var status = await durableClient.GetStatusAsync(instanceId, false, false, true);\n                if (status == null)\n                {\n                    return new NotFoundObjectResult($\"Instance {instanceId} doesn't exist\");\n                }\n\n                return new DetailedOrchestrationStatus(status, connName).ToJsonContentResult(Globals.FixUndefinedsInJson);\n            });\n        }\n\n        // Handles orchestration instance operations.\n        // GET /a/p/i/{connName}-{hubName}/orchestrations('<id>')/history\n        [FunctionName(nameof(DfmGetOrchestrationHistoryFunction))]\n        public Task<IActionResult> DfmGetOrchestrationHistoryFunction(\n            [HttpTrigger(AuthorizationLevel.Anonymous, \"get\", Route = Globals.ApiRoutePrefix + \"/orchestrations('{instanceId}')/history\")] HttpRequest req,\n            [DurableClient(TaskHub = Globals.HubNameRouteParamName)] IDurableClient defaultDurableClient,\n            string connName,\n            string hubName,\n            string instanceId,\n            ILogger log)\n        {\n            return this.HandleAuthAndErrors(defaultDurableClient, req, connName, hubName, log, async (durableClient) => {\n\n                var filterClause = new FilterClause(req.Query[\"$filter\"]);\n                HistoryEvent[] history;\n                int? totalCount = null;\n                \n                try\n                {\n                    var connEnvVariableName = Globals.GetFullConnectionStringEnvVariableName(connName);\n\n                    history = DfmEndpoint.ExtensionPoints.GetInstanceHistoryRoutine(durableClient, connEnvVariableName, hubName, instanceId)\n\n                        // This code duplication is intentional. We need to keep the whole iteration process inside try-block, because of potential exceptions during it.\n\n                        .ApplyTimeFrom(filterClause.TimeFrom)\n                        .ApplyFilter(filterClause)\n                        .ApplySkip(req.Query)\n                        .ApplyTop(req.Query)\n                        .ToArray();\n                }\n                catch (Exception ex)\n                {\n                    log.LogWarning(ex, \"Failed to get execution history from storage, falling back to DurableClient\");\n\n                    // Falling back to DurableClient\n                    var status = await GetInstanceStatusWithHistory(connName, instanceId, durableClient, log);\n                    if (status == null)\n                    {\n                        return new NotFoundObjectResult($\"Instance {instanceId} doesn't exist\");\n                    }\n\n                    var historyJArray = status.History == null ? new JArray() : status.History;\n                    totalCount = historyJArray.Count;\n\n                    history = historyJArray\n                        .Select(OrchestrationHistory.ToHistoryEvent)\n                        .ApplyTimeFrom(filterClause.TimeFrom)\n                        .ApplyFilter(filterClause)\n                        .ApplySkip(req.Query)\n                        .ApplyTop(req.Query)\n                        .ToArray();\n                }\n\n                return new ContentResult()\n                {\n                    Content = JsonConvert.SerializeObject( new { totalCount, history }, HistorySerializerSettings),\n                    ContentType = \"application/json\"\n                };\n            });\n        }\n\n        // Starts a new orchestration instance.\n        // POST /a/p/i/{connName}-{hubName}/orchestrations\n        [FunctionName(nameof(DfmStartNewOrchestrationFunction))]\n        public Task<IActionResult> DfmStartNewOrchestrationFunction(\n            [HttpTrigger(AuthorizationLevel.Anonymous, \"post\", Route = Globals.ApiRoutePrefix + \"/orchestrations\")] HttpRequest req,\n            [DurableClient(TaskHub = Globals.HubNameRouteParamName)] IDurableClient defaultDurableClient,\n            string connName,\n            string hubName,\n            ILogger log)\n        {\n            return this.HandleAuthAndErrors(defaultDurableClient, req, connName, hubName, log, async (durableClient) => {\n\n                // Checking that we're not in ReadOnly mode\n                if (DfmEndpoint.Settings.Mode == DfmMode.ReadOnly)\n                {\n                    log.LogError(\"Endpoint is in ReadOnly mode\");\n                    return new StatusCodeResult(403);\n                }\n\n                string bodyString = await req.ReadAsStringAsync();\n                dynamic body = JObject.Parse(bodyString);\n\n                string orchestratorFunctionName = body.name;\n                string instanceId = body.id;\n\n                instanceId = await durableClient.StartNewAsync(orchestratorFunctionName, instanceId, body.data);\n\n                return new { instanceId }.ToJsonContentResult(Globals.FixUndefinedsInJson);\n            });\n        }\n\n        // Handles orchestration instance operations.\n        // POST /a/p/i/{connName}-{hubName}/orchestrations('<id>')/purge\n        // POST /a/p/i/{connName}-{hubName}/orchestrations('<id>')/rewind\n        // POST /a/p/i/{connName}-{hubName}/orchestrations('<id>')/terminate\n        // POST /a/p/i/{connName}-{hubName}/orchestrations('<id>')/raise-event\n        // POST /a/p/i/{connName}-{hubName}/orchestrations('<id>')/set-custom-status\n        // POST /a/p/i/{connName}-{hubName}/orchestrations('<id>')/restart\n        [FunctionName(nameof(DfmPostOrchestrationFunction))]\n        public Task<IActionResult> DfmPostOrchestrationFunction(\n            [HttpTrigger(AuthorizationLevel.Anonymous, \"post\", Route = Globals.ApiRoutePrefix + \"/orchestrations('{instanceId}')/{action?}\")] HttpRequest req,\n            [DurableClient(TaskHub = Globals.HubNameRouteParamName)] IDurableClient defaultDurableClient,\n            string connName,\n            string hubName,\n            string instanceId,\n            string action,\n            ILogger log)\n        {\n            return this.HandleAuthAndErrors(defaultDurableClient, req, connName, hubName, log, async (durableClient) => {\n\n                // Checking that we're not in ReadOnly mode\n                if (DfmEndpoint.Settings.Mode == DfmMode.ReadOnly)\n                {\n                    log.LogError(\"Endpoint is in ReadOnly mode\");\n                    return new StatusCodeResult(403);\n                }\n\n                string bodyString = await req.ReadAsStringAsync();\n\n                switch (action)\n                {\n                    case \"purge\":\n                        await durableClient.PurgeInstanceHistoryAsync(instanceId);\n                        break;\n                    case \"rewind\":\n                        await durableClient.RewindAsync(instanceId, bodyString);\n                        break;\n                    case \"terminate\":\n                        await durableClient.TerminateAsync(instanceId, bodyString);\n                        break;\n                    case \"raise-event\":\n\n                        dynamic bodyObject = JObject.Parse(bodyString);\n                        string eventName = bodyObject.name;\n                        JObject eventData = bodyObject.data;\n\n                        var match = ExpandedOrchestrationStatus.EntityIdRegex.Match(instanceId);\n                        // if this looks like an Entity\n                        if(match.Success)\n                        {\n                            // then sending signal\n                            var entityId = new EntityId(match.Groups[1].Value, match.Groups[2].Value);\n\n                            await durableClient.SignalEntityAsync(entityId, eventName, eventData);\n                        }\n                        else \n                        {\n                            // otherwise raising event\n                            await durableClient.RaiseEventAsync(instanceId, eventName, eventData);\n                        }\n\n                        break;\n                    case \"set-custom-status\":\n\n                        // Updating the table directly, as there is no other known way\n                        var tableClient = TableClient.GetTableClient(Globals.GetFullConnectionStringEnvVariableName(connName));\n                        string tableName = $\"{durableClient.TaskHubName}Instances\";\n\n                        var orcEntity = (await tableClient.ExecuteAsync(tableName, TableOperation.Retrieve(instanceId, string.Empty))).Result as DynamicTableEntity;\n\n                        if (string.IsNullOrEmpty(bodyString))\n                        {\n                            orcEntity.Properties.Remove(\"CustomStatus\");\n                        }\n                        else\n                        {\n                            // Ensuring that it is at least a valid JSON\n                            string customStatus = JObject.Parse(bodyString).ToString();\n                            orcEntity.Properties[\"CustomStatus\"] = new EntityProperty(customStatus);\n                        }\n\n                        await tableClient.ExecuteAsync(tableName, TableOperation.Replace(orcEntity));\n\n                        break;\n                    case \"restart\":\n                        bool restartWithNewInstanceId = ((dynamic)JObject.Parse(bodyString)).restartWithNewInstanceId;\n\n                        await durableClient.RestartAsync(instanceId, restartWithNewInstanceId);\n                        break;\n                    default:\n                        return new NotFoundResult();\n                }\n\n                return new OkResult();\n            });\n        }\n\n        // Renders a custom tab liquid template for this instance and returns the resulting HTML.\n        // Why is it POST and not GET? Exactly: because we don't want to allow to navigate to this page directly (bypassing Content Security Policies)\n        // POST /a/p/i{connName}-{hubName}//orchestrations('<id>')/custom-tab-markup\n        [FunctionName(nameof(DfmGetOrchestrationTabMarkupFunction))]\n        public Task<IActionResult> DfmGetOrchestrationTabMarkupFunction(\n            [HttpTrigger(AuthorizationLevel.Anonymous, \"post\", Route = Globals.ApiRoutePrefix + \"/orchestrations('{instanceId}')/custom-tab-markup('{templateName}')\")] HttpRequest req,\n            [DurableClient(TaskHub = Globals.HubNameRouteParamName)] IDurableClient defaultDurableClient,\n            string connName,\n            string hubName,\n            string instanceId,\n            string templateName,\n            ILogger log)\n        {\n            return this.HandleAuthAndErrors(defaultDurableClient, req, connName, hubName, log, async (durableClient) => {\n\n                var status = await GetInstanceStatusWithHistory(connName, instanceId, durableClient, log);\n                if (status == null)\n                {\n                    return new NotFoundObjectResult($\"Instance {instanceId} doesn't exist\");\n                }\n\n                // The underlying Task never throws, so it's OK.\n                var templatesMap = await CustomTemplates.GetTabTemplatesAsync();\n\n                string templateCode = templatesMap.GetTemplate(status.GetEntityTypeName(), templateName);\n                if (templateCode == null)\n                {\n                    return new NotFoundObjectResult(\"The specified template doesn't exist\");\n                }\n\n                try\n                {\n                    var fluidTemplate = new FluidParser().Parse(templateCode);\n\n                    var options = new TemplateOptions();\n                    options.MemberAccessStrategy.Register<JObject, object>((obj, fieldName) => obj[fieldName]);\n                    options.ValueConverters.Add(x => x is JObject obj ? new ObjectValue(obj) : null);\n                    options.ValueConverters.Add(x => x is JValue val ? val.Value : null);\n\n                    string fluidResult = fluidTemplate.Render(new TemplateContext(status, options));\n\n                    return new ContentResult()\n                    {\n                        Content = fluidResult,\n                        ContentType = \"text/html; charset=UTF-8\"\n                    };\n                }\n                catch (Exception ex)\n                {\n                    return new BadRequestObjectResult(ex.Message);\n                }\n            });\n        }\n\n        private static readonly string[] SubOrchestrationEventTypes = new[]\n        {\n            \"SubOrchestrationInstanceCreated\",\n            \"SubOrchestrationInstanceCompleted\",\n            \"SubOrchestrationInstanceFailed\",\n        };\n\n        // Need special serializer settings for execution history, to match the way it was originally serialized\n        private static JsonSerializerSettings HistorySerializerSettings = new JsonSerializerSettings\n        {\n            Formatting = Formatting.Indented,\n            DateFormatString = \"yyyy-MM-ddTHH:mm:ss.FFFFFFFZ\"\n        };\n\n        private static async Task<DetailedOrchestrationStatus> GetInstanceStatusWithHistory(string connName, string instanceId, IDurableClient durableClient, ILogger log)\n        {\n            var status = await durableClient.GetStatusAsync(instanceId, true, true, true);\n            if (status == null)\n            {\n                return null;\n            }\n\n            ConvertScheduledTime(status.History);\n\n            return new DetailedOrchestrationStatus(status, connName);\n        }\n\n        private static void ConvertScheduledTime(JArray history)\n        {\n            if (history == null)\n            {\n                return;\n            }\n\n            var orchestrationStartedEvent = history.FirstOrDefault(h => h.Value<string>(\"EventType\") == \"ExecutionStarted\");\n\n            foreach (var e in history)\n            {\n                if (e[\"ScheduledTime\"] != null)\n                {\n                    // Converting to UTC and explicitly formatting as a string (otherwise default serializer outputs it as a local time)\n                    var scheduledTime = e.Value<DateTime>(\"ScheduledTime\").ToUniversalTime();\n                    e[\"ScheduledTime\"] = scheduledTime.ToString(\"o\");\n\n                    // Also adding DurationInMs field\n                    var timestamp = e.Value<DateTime>(\"Timestamp\").ToUniversalTime();\n                    var duration = timestamp - scheduledTime;\n                    e[\"DurationInMs\"] = duration.TotalMilliseconds;\n                }\n\n                // Also adding duration of the whole orchestration\n                if (e.Value<string>(\"EventType\") == \"ExecutionCompleted\" && orchestrationStartedEvent != null)\n                {\n                    var scheduledTime = orchestrationStartedEvent.Value<DateTime>(\"Timestamp\").ToUniversalTime();\n                    var timestamp = e.Value<DateTime>(\"Timestamp\").ToUniversalTime();\n                    var duration = timestamp - scheduledTime;\n                    e[\"DurationInMs\"] = duration.TotalMilliseconds;\n                }\n            }\n        }\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/Functions/Orchestrations.cs",
    "content": "using System;\nusing System.Threading.Tasks;\nusing Microsoft.AspNetCore.Mvc;\nusing Microsoft.Azure.WebJobs;\nusing Microsoft.Azure.WebJobs.Extensions.Http;\nusing Microsoft.AspNetCore.Http;\nusing Microsoft.Extensions.Logging;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Reflection;\nusing System.Linq.Expressions;\nusing Microsoft.Azure.WebJobs.Extensions.DurableTask;\nusing System.Threading;\nusing Microsoft.Azure.WebJobs.Extensions.DurableTask.ContextImplementations;\n\nnamespace DurableFunctionsMonitor.DotNetBackend\n{\n    public class Orchestrations: HttpHandlerBase\n    {\n        public Orchestrations(IDurableClientFactory durableClientFactory): base(durableClientFactory) {}\n\n        // Adds sorting, paging and filtering capabilities around /runtime/webhooks/durabletask/instances endpoint.\n        // GET /a/p/i{connName}-{hubName}/orchestrations?$filter=<filter>&$orderby=<order-by>&$skip=<m>&$top=<n>\n        [FunctionName(nameof(DfmGetOrchestrationsFunction))]\n        public Task<IActionResult> DfmGetOrchestrationsFunction(\n            [HttpTrigger(AuthorizationLevel.Anonymous, \"get\", Route = Globals.ApiRoutePrefix + \"/orchestrations\")] HttpRequest req,\n            [DurableClient(TaskHub = Globals.HubNameRouteParamName)] IDurableClient defaultDurableClient,\n            string connName,\n            string hubName,\n            ILogger log)\n        {\n            return this.HandleAuthAndErrors(defaultDurableClient, req, connName, hubName, log, async (durableClient) => {\n\n                var filterClause = new FilterClause(req.Query[\"$filter\"]);\n\n                string hiddenColumnsString = req.Query[\"hidden-columns\"];\n                var hiddenColumns = string.IsNullOrEmpty(hiddenColumnsString) ? new HashSet<string>() : new HashSet<string>(hiddenColumnsString.Split('|'));\n\n                // Filtered column should always be returned\n                if(!string.IsNullOrEmpty(filterClause.FieldName))\n                {\n                    hiddenColumns.Remove(filterClause.FieldName);\n                }\n\n                var orchestrations = durableClient\n                    .ListAllInstances(filterClause.TimeFrom, filterClause.TimeTill, !hiddenColumns.Contains(\"input\"), filterClause.RuntimeStatuses)\n                    .ExpandStatusIfNeeded(durableClient, filterClause, hiddenColumns)\n                    .ApplyRuntimeStatusesFilter(filterClause.RuntimeStatuses)\n                    .ApplyFilter(filterClause)\n                    .ApplyOrderBy(req.Query)\n                    .ApplySkip(req.Query)\n                    .ApplyTop(req.Query);\n\n                return orchestrations.ToJsonContentResult(Globals.FixUndefinedsInJson);\n            });\n        }\n    }\n\n    internal static class ExtensionMethodsForOrchestrations\n    {\n        // Adds 'lastEvent' field to each entity, but only if being filtered by that field\n        internal static IEnumerable<ExpandedOrchestrationStatus> ExpandStatusIfNeeded(this IEnumerable<DurableOrchestrationStatus> orchestrations, \n            IDurableClient client, FilterClause filterClause, HashSet<string> hiddenColumns)\n        {\n            // Only expanding if being filtered by lastEvent\n            if(filterClause.FieldName == \"lastEvent\") \n            {\n                return orchestrations.ExpandStatus(client, filterClause, hiddenColumns);\n            } \n            else\n            {\n                return orchestrations.Select(o => new ExpandedOrchestrationStatus(o, null, hiddenColumns));\n            }\n        }\n\n        // Adds 'lastEvent' field to each entity\n        internal static IEnumerable<ExpandedOrchestrationStatus> ExpandStatus(this IEnumerable<DurableOrchestrationStatus> orchestrations,\n            IDurableClient client, FilterClause filterClause, HashSet<string> hiddenColumns)\n        {\n            // Deliberately explicitly enumerating orchestrations here, to trigger all GetStatusAsync tasks in parallel.\n            // If just using yield return, they would be started and finished sequentially, one by one.\n            var list = new List<ExpandedOrchestrationStatus>();\n            foreach (var orchestration in orchestrations)\n            {\n                list.Add(new ExpandedOrchestrationStatus(orchestration,\n                    client.GetStatusAsync(orchestration.InstanceId, true, false, false),\n                    hiddenColumns));\n            }\n            return list;\n        }\n\n        internal static IEnumerable<ExpandedOrchestrationStatus> ApplyOrderBy(this IEnumerable<ExpandedOrchestrationStatus> orchestrations,\n            IQueryCollection query)\n        {\n            var clause = query[\"$orderby\"];\n            if (!clause.Any())\n            {\n                return orchestrations;\n            }\n\n            var orderByParts = clause.ToString().Split(' ');\n            bool desc = string.Equals(\"desc\", orderByParts.Skip(1).FirstOrDefault(), StringComparison.OrdinalIgnoreCase);\n\n            return orchestrations.OrderBy(orderByParts[0], desc);\n        }\n\n        // OrderBy that takes property name as a string (instead of an expression)\n        internal static IEnumerable<T> OrderBy<T>(this IEnumerable<T> sequence, string fieldName, bool desc)\n        {\n            var paramExpression = Expression.Parameter(typeof(T));\n            Expression fieldAccessExpression;\n            \n            try\n            {\n                fieldAccessExpression = Expression.PropertyOrField(paramExpression, fieldName);\n            }\n            catch (Exception)\n            {\n                // If field is invalid, returning original enumerable\n                return sequence;\n            }\n\n            var genericParamType = fieldAccessExpression.Type;\n\n            if (!genericParamType.IsPrimitive && genericParamType != typeof(DateTime) && genericParamType != typeof(DateTimeOffset))\n            {\n                // If this is a complex object field, then sorting by it's string representation\n                fieldAccessExpression = Expression.Call(fieldAccessExpression, ToStringMethodInfo);\n                genericParamType = typeof(string);\n            }\n\n            var methodInfo = (desc ? OrderByDescMethodInfo : OrderByMethodInfo)\n                .MakeGenericMethod(typeof(T), genericParamType);\n\n            return (IEnumerable<T>)methodInfo.Invoke(null, new object[] {\n                sequence,\n                Expression.Lambda(fieldAccessExpression, paramExpression).Compile()\n            });\n        }\n\n        internal static IEnumerable<ExpandedOrchestrationStatus> ApplyRuntimeStatusesFilter(this IEnumerable<ExpandedOrchestrationStatus> orchestrations,\n            string[] statuses)\n        {\n            if (statuses == null)\n            {\n                return orchestrations;\n            }\n\n            bool includeDurableEntities = statuses.Contains(DurableEntityRuntimeStatus, StringComparer.OrdinalIgnoreCase);\n            var runtimeStatuses = statuses.ToRuntimeStatuses().ToArray();\n\n            return orchestrations.Where(o => {\n\n                if (o.EntityType == EntityTypeEnum.DurableEntity)\n                {\n                    return includeDurableEntities;\n                }\n                else \n                {\n                    return runtimeStatuses.Contains(o.RuntimeStatus);\n                }\n            });\n        }\n\n        // Intentionally NOT using async/await here, because we need yield return.\n        // The magic is to only load all the pages, when it is really needed (e.g. when sorting is used).\n        internal static IEnumerable<DurableOrchestrationStatus> ListAllInstances(this IDurableClient durableClient, DateTime? timeFrom, DateTime? timeTill, bool showInput, string[] statuses)\n        {\n            var queryCondition = new OrchestrationStatusQueryCondition()\n            {\n                PageSize = ListInstancesPageSize,\n                ShowInput = showInput\n            };\n\n            if (timeFrom.HasValue)\n            {\n                queryCondition.CreatedTimeFrom = timeFrom.Value;\n            }\n            if (timeTill.HasValue)\n            {\n                queryCondition.CreatedTimeTo = timeTill.Value;\n            }\n\n            if (statuses != null)\n            {\n                var runtimeStatuses = statuses.ToRuntimeStatuses().ToList();\n\n                // Durable Entities are always 'Running'\n                if (statuses.Contains(DurableEntityRuntimeStatus, StringComparer.OrdinalIgnoreCase))\n                {\n                    runtimeStatuses.Add(OrchestrationRuntimeStatus.Running);\n                }\n\n                queryCondition.RuntimeStatus = runtimeStatuses;\n            }\n\n            OrchestrationStatusQueryResult response = null;\n            do\n            {\n                queryCondition.ContinuationToken = response == null ? null : response.ContinuationToken;\n\n                response = durableClient.ListInstancesAsync(queryCondition, CancellationToken.None).Result;\n                foreach (var item in response.DurableOrchestrationState)\n                {\n                    yield return item;\n                }\n            }\n            while (!string.IsNullOrEmpty(response.ContinuationToken));\n        }\n\n        // Some reasonable page size for ListInstancesAsync\n        private const int ListInstancesPageSize = 500;\n\n        private const string DurableEntityRuntimeStatus = \"DurableEntities\";\n\n        private static MethodInfo OrderByMethodInfo = typeof(Enumerable).GetMethods().First(m => m.Name == \"OrderBy\" && m.GetParameters().Length == 2);\n        private static MethodInfo OrderByDescMethodInfo = typeof(Enumerable).GetMethods().First(m => m.Name == \"OrderByDescending\" && m.GetParameters().Length == 2);\n        private static MethodInfo ToStringMethodInfo = ((Func<string>)new object().ToString).Method;\n\n        private static IEnumerable<OrchestrationRuntimeStatus> ToRuntimeStatuses(this string[] statuses)\n        {\n            foreach(var s in statuses)\n            {\n                if (Enum.TryParse<OrchestrationRuntimeStatus>(s, true, out var runtimeStatus))\n                {\n                    yield return runtimeStatus;\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/Functions/PurgeHistory.cs",
    "content": "using System;\nusing System.Threading.Tasks;\nusing Microsoft.AspNetCore.Mvc;\nusing Microsoft.Azure.WebJobs;\nusing Microsoft.Azure.WebJobs.Extensions.Http;\nusing Microsoft.AspNetCore.Http;\nusing Newtonsoft.Json;\nusing DurableTask.Core;\nusing Microsoft.Azure.WebJobs.Extensions.DurableTask;\nusing Microsoft.Extensions.Logging;\nusing System.Threading;\nusing Microsoft.Azure.WebJobs.Extensions.DurableTask.ContextImplementations;\n\nnamespace DurableFunctionsMonitor.DotNetBackend\n{\n    public class PurgeHistory: HttpHandlerBase\n    {\n        public PurgeHistory(IDurableClientFactory durableClientFactory): base(durableClientFactory) {}\n\n        // Request body\n        class PurgeHistoryRequest\n        {\n            public string TimeFrom { get; set; }\n            public string TimeTill { get; set; }\n            public OrchestrationStatus[] Statuses { get; set; }\n            public EntityTypeEnum EntityType { get; set; }\n        }\n\n        // Purges orchestration instance history\n        // POST /a/p/i/{connName}-{hubName}/purge-history\n        [FunctionName(nameof(DfmPurgeHistoryFunction))]\n        public Task<IActionResult> DfmPurgeHistoryFunction(\n            [HttpTrigger(AuthorizationLevel.Anonymous, \"post\", Route = Globals.ApiRoutePrefix + \"/purge-history\")] HttpRequest req,\n            [DurableClient(TaskHub = Globals.HubNameRouteParamName)] IDurableClient defaultDurableClient,\n            string connName,\n            string hubName,\n            ILogger log)\n        {\n            return this.HandleAuthAndErrors(defaultDurableClient, req, connName, hubName, log, async (durableClient) => {\n\n                // Checking that we're not in ReadOnly mode\n                if (DfmEndpoint.Settings.Mode == DfmMode.ReadOnly)\n                {\n                    log.LogError(\"Endpoint is in ReadOnly mode\");\n                    return new StatusCodeResult(403);\n                }\n\n                // Important to deserialize time fields as strings, because otherwise time zone will appear to be local\n                var request = JsonConvert.DeserializeObject<PurgeHistoryRequest>(await req.ReadAsStringAsync());\n\n                var result = request.EntityType == EntityTypeEnum.DurableEntity ?\n                    await this.PurgeDurableEntitiesHistory(durableClient, DateTime.Parse(request.TimeFrom),\n                        DateTime.Parse(request.TimeTill)) :\n                    await this.PurgeOrchestrationsHistory(durableClient, DateTime.Parse(request.TimeFrom),\n                        DateTime.Parse(request.TimeTill), request.Statuses);\n\n                return result.ToJsonContentResult();\n            });\n        }\n\n        private Task<PurgeHistoryResult> PurgeOrchestrationsHistory(\n            IDurableClient durableClient, \n            DateTime timeFrom, \n            DateTime timeTill, \n            OrchestrationStatus[] statuses)\n        {\n            return durableClient.PurgeInstanceHistoryAsync(timeFrom, timeTill, statuses);\n        }\n\n        private async Task<PurgeHistoryResult> PurgeDurableEntitiesHistory(\n            IDurableClient durableClient,\n            DateTime timeFrom,\n            DateTime timeTill)\n        {\n            var query = new EntityQuery\n            {\n                LastOperationFrom = timeFrom,\n                LastOperationTo = timeTill\n            };\n\n            int instancesDeleted = 0;\n            EntityQueryResult response = null;\n            do\n            {\n                query.ContinuationToken = response == null ? null : response.ContinuationToken;\n\n                response = durableClient.ListEntitiesAsync(query, CancellationToken.None).Result;\n                foreach (var entity in response.Entities)\n                {\n                    await durableClient.PurgeInstanceHistoryAsync(entity.EntityId.ToString());\n                    instancesDeleted++;\n                }\n            }\n            while (!string.IsNullOrEmpty(response.ContinuationToken));\n\n            return new PurgeHistoryResult(instancesDeleted);\n        }\n    }\n}\n"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/Functions/ServeStatics.cs",
    "content": "using System.IO;\nusing Microsoft.AspNetCore.Mvc;\nusing Microsoft.Azure.WebJobs;\nusing Microsoft.Azure.WebJobs.Extensions.Http;\nusing Microsoft.AspNetCore.Http;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing System;\nusing Newtonsoft.Json.Linq;\nusing Microsoft.Extensions.Logging;\nusing System.Security.Cryptography;\n\nnamespace DurableFunctionsMonitor.DotNetBackend\n{\n    public static class ServeStatics\n    {\n        private const string StaticsRoute = \"{p1?}/{p2?}/{p3?}\";\n\n        // A simple statics hosting solution\n        [FunctionName(nameof(DfmServeStaticsFunction))]\n        public static async Task<IActionResult> DfmServeStaticsFunction(\n            [HttpTrigger(AuthorizationLevel.Anonymous, \"get\", Route = StaticsRoute)] HttpRequest req,\n            string p1,\n            string p2,\n            string p3,\n            ExecutionContext context,\n            ILogger log\n        )\n        {\n            return await req.HandleErrors(log, async () => {\n\n                // Checking nonce, if it was set as an env variable.\n                // Don't care about return value of this method here.\n                Auth.IsNonceSetAndValid(req.Headers);\n\n                // Two bugs away. Making sure none of these segments ever contain any path separators and/or relative paths\n                string path = Path.Join(Path.GetFileName(p1), Path.GetFileName(p2), Path.GetFileName(p3));\n\n                string root = Path.Join(context.FunctionAppDirectory, \"DfmStatics\");\n\n                var contentType = FileMap.FirstOrDefault((kv => path.StartsWith(kv[0])));\n                if (contentType != null)\n                {\n                    string fullPath = Path.Join(root, path);\n\n                    if (!File.Exists(fullPath))\n                    {\n                        return new NotFoundResult();\n                    }\n\n                    return new FileStreamResult(File.OpenRead(fullPath), contentType[1])\n                    {\n                        LastModified = File.GetLastWriteTimeUtc(fullPath)\n                    };\n                }\n\n                // Adding anti-forgery token\n                using(var generator = RandomNumberGenerator.Create())\n                {\n                    var bytes = new byte[64];\n                    generator.GetBytes(bytes);\n                    string token = Convert.ToBase64String(bytes);\n\n                    req.HttpContext.Response.Cookies\n                        .Append(Globals.XsrfTokenCookieAndHeaderName, token, new CookieOptions { HttpOnly = false });\n                }\n\n                // Returning index.html by default, to support client routing\n                return await ReturnIndexHtml(context, log, root, p1);\n            });\n        }\n\n        private const string DefaultContentSecurityPolicyMeta =\n            \"<meta http-equiv=\\\"Content-Security-Policy \" +\n                \"content=\\\"base-uri 'self'; \" +\n                \"block-all-mixed-content; \" +\n                \"default-src 'self'; \" +\n                \"img-src data: 'self' vscode-resource:; \" +\n                \"object-src 'none'; \" +\n                \"script-src 'self' 'unsafe-inline' vscode-resource:; \" +\n                \"connect-src 'self' https://login.microsoftonline.com; \" +\n                \"frame-src 'self' https://login.microsoftonline.com; \" +\n                \"style-src 'self' 'unsafe-inline'  vscode-resource: https://fonts.googleapis.com; \" +\n                \"font-src 'self' 'unsafe-inline' https://fonts.gstatic.com; \" +\n                \"upgrade-insecure-requests;\\\" \" +\n            \">\";\n\n        private static readonly string[][] FileMap = new string[][]\n        {\n            new [] {Path.Join(\"static\", \"css\"), \"text/css; charset=utf-8\"},\n            new [] {Path.Join(\"static\", \"js\"), \"application/javascript; charset=UTF-8\"},\n            new [] {\"manifest.json\", \"application/json; charset=UTF-8\"},\n            new [] {\"favicon.png\", \"image/png\"},\n            new [] {\"logo.svg\", \"image/svg+xml; charset=UTF-8\"},\n        };\n\n        private static string RoutePrefix = null;\n        // Gets routePrefix setting from host.json (since there seems to be no other place to take it from)\n        private static string GetRoutePrefixFromHostJson(ExecutionContext context, ILogger log)\n        {\n            if (RoutePrefix != null)\n            {\n                return RoutePrefix;\n            }\n\n            try\n            {\n                string hostJsonFileName = Path.Combine(context.FunctionAppDirectory, \"host.json\");\n                dynamic hostJson = JObject.Parse(File.ReadAllText(hostJsonFileName));\n\n                RoutePrefix = hostJson.extensions.http.routePrefix;\n            }\n            catch (Exception ex)\n            {\n                log.LogError(ex, \"Failed to get RoutePrefix from host.json, using default value ('api')\");\n                RoutePrefix = \"api\";\n            }\n            return RoutePrefix;\n        }\n\n        private static string DfmRoutePrefix = null;\n        // Gets DfmRoutePrefix from our function.json file, but only if that file wasn't modified by our build task.\n        private static string GetDfmRoutePrefixFromFunctionJson(ExecutionContext context, ILogger log)\n        {\n            if (DfmRoutePrefix != null)\n            {\n                return DfmRoutePrefix;\n            }\n\n            DfmRoutePrefix = string.Empty;\n            try\n            {\n                string functionJsonFileName = Path.Combine(context.FunctionAppDirectory, nameof(DfmServeStaticsFunction), \"function.json\");\n                dynamic functionJson = JObject.Parse(File.ReadAllText(functionJsonFileName));\n\n                string route = functionJson.bindings[0].route;\n\n                // if it wasn't modified by our build task, then doing nothing\n                if(route != StaticsRoute)\n                {\n                    DfmRoutePrefix = route.Substring(0, route.IndexOf(\"/\" + StaticsRoute));\n                }\n            }\n            catch (Exception ex)\n            {\n                log.LogError(ex, \"Failed to get DfmRoutePrefix from function.json, using default value (empty string)\");\n            }\n            return DfmRoutePrefix;\n        }\n\n        // Populates index.html template and serves it\n        private static async Task<ContentResult> ReturnIndexHtml(ExecutionContext context, ILogger log, string root, string connAndHubName)\n        {\n            string indexHtmlPath = Path.Join(root, \"index.html\");\n            string html = await File.ReadAllTextAsync(indexHtmlPath);\n\n            // Replacing our custom meta tag with customized code from Storage or with default Content Security Policy\n            string customMetaTagCode = (await CustomTemplates.GetCustomMetaTagCodeAsync()) ?? DefaultContentSecurityPolicyMeta;\n            html = html.Replace(\"<meta name=\\\"durable-functions-monitor-meta\\\">\", customMetaTagCode);\n\n            // Calculating routePrefix\n            string routePrefix = GetRoutePrefixFromHostJson(context, log);\n            string dfmRoutePrefix = GetDfmRoutePrefixFromFunctionJson(context, log);\n            if (!string.IsNullOrEmpty(dfmRoutePrefix))\n            {\n                routePrefix = string.IsNullOrEmpty(routePrefix) ? dfmRoutePrefix : routePrefix + \"/\" + dfmRoutePrefix;\n            }\n\n            // Applying routePrefix, if it is set to something other than empty string\n            if (!string.IsNullOrEmpty(routePrefix))\n            {\n                html = html.Replace(\"<script>var DfmRoutePrefix=\\\"\\\"</script>\", $\"<script>var DfmRoutePrefix=\\\"{routePrefix}\\\"</script>\");\n                html = html.Replace(\"href=\\\"/\", $\"href=\\\"/{routePrefix}/\");\n                html = html.Replace(\"src=\\\"/\", $\"src=\\\"/{routePrefix}/\");\n            }\n\n            // Applying client config, if any\n            string clientConfigString = Environment.GetEnvironmentVariable(EnvVariableNames.DFM_CLIENT_CONFIG);\n            if (!string.IsNullOrEmpty(clientConfigString))\n            {\n                dynamic clientConfig = JObject.Parse(clientConfigString);\n                html = html.Replace(\"<script>var DfmClientConfig={}</script>\", \"<script>var DfmClientConfig=\" + clientConfig.ToString() + \"</script>\");\n            }\n\n            // Mentioning whether Function Map is available for this Task Hub.\n            if (!string.IsNullOrEmpty(connAndHubName))\n            {\n                // Two bugs away. Validating that the incoming Task Hub name looks like a Task Hub name\n                Auth.ThrowIfTaskHubNameHasInvalidSymbols(connAndHubName);\n\n                Globals.SplitConnNameAndHubName(connAndHubName, out var connName, out var hubName);\n\n                string functionMap = (await CustomTemplates.GetFunctionMapsAsync()).GetFunctionMap(hubName);\n                if (!string.IsNullOrEmpty(functionMap))\n                {\n                    html = html.Replace(\"<script>var IsFunctionGraphAvailable=0</script>\", \"<script>var IsFunctionGraphAvailable=1</script>\");\n                }\n            }\n\n            return new ContentResult()\n            {\n                Content = html,\n                ContentType = \"text/html; charset=UTF-8\"\n            };\n        }\n    }\n}\n"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/Functions/TaskHubNames.cs",
    "content": "using Microsoft.AspNetCore.Mvc;\nusing Microsoft.Azure.WebJobs;\nusing Microsoft.Azure.WebJobs.Extensions.Http;\nusing Microsoft.AspNetCore.Http;\nusing Microsoft.Extensions.Logging;\nusing System.Threading.Tasks;\n\nnamespace DurableFunctionsMonitor.DotNetBackend\n{\n    public static class TaskHubNames\n    {\n        // Returns all Task Hub names from the current Storage\n        // GET /a/p/i/task-hub-names\n        [FunctionName(nameof(DfmGetTaskHubNamesFunction))]\n        public static Task<IActionResult> DfmGetTaskHubNamesFunction(\n            [HttpTrigger(AuthorizationLevel.Anonymous, \"get\", Route = \"a/p/i/task-hub-names\")] HttpRequest req,\n            ILogger log\n        )\n        {\n            return req.HandleAuthAndErrors(null, null, log, async () => {\n\n                var hubNames = await Auth.GetAllowedTaskHubNamesAsync();\n                if (hubNames == null)\n                {\n                    return new ObjectResult(\"Failed to load the list of Task Hubs\") { StatusCode = 500 };\n                }\n                return hubNames.ToJsonContentResult();\n            });\n        }\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/LICENSE",
    "content": "MIT License\n\nCopyright (c) 2019 scale-tone\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/NUGET_README.md",
    "content": "A monitoring/debugging UI tool for [Azure Durable Functions](https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-overview), now also available as a NuGet package.\n## How to use\n\nThis package you can either [![Deploy to Azure](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/1-CONTRIBUTION-GUIDE/images/deploytoazure.svg?sanitize=true)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fscale-tone%2FDurableFunctionsMonitor%2Fmaster%2Fdurablefunctionsmonitor.dotnetbackend%2Farm-template.json) or install into your own Azure Functions .Net Core project:\n\n  * `dotnet add package DurableFunctionsMonitor.DotNetBackend`\n  * Make sure `AzureWebJobsStorage` config setting is set correctly - it should point to a Storage where your Task Hub(s) reside.\n  * Invoke **DfmEndpoint.Setup();** method at your Function's startup. E.g. like this:\n\n   ```\n\t[assembly: WebJobsStartup(typeof(StartupNs.Startup))]\n\tnamespace StartupNs \n\t{\n\t\tpublic class Startup : IWebJobsStartup\n\t\t{\n\t\t\tpublic void Configure(IWebJobsBuilder builder)\n\t\t\t{\n\t\t\t\tDfmEndpoint.Setup();\n\t\t\t}\n\t\t}\n\t}\n   ```\n\n\n  * Now DFM endpoint should become available at your Function's *root* URL, which is typically https://my-func/api (or https://my-func/my-route-prefix, if you've customized [routePrefix](https://microsoft.github.io/AzureTipsAndTricks/blog/tip64.html) setting in your host.json)\n     NOTE: by default it will *overshadow* all your existing HTTP-triggered functions. If you don't want that to happen, add `DurableFunctionsMonitorRoutePrefix` setting to your CSPROJ-file:\n          \n     ![image](https://raw.githubusercontent.com/scale-tone/DurableFunctionsMonitor/master/readme/screenshots/DurableFunctionsMonitorRoutePrefix.png)\n\n\n     This will make DFM be served from https://my-func/api/my-durable-functions-monitor.\n\n \n   **IMPORTANT1**: that endpoint still does all the AuthN/AuthZ logic, in the same way as standalone DFM does. Which means that **EasyAuth** needs to be configured appropriately for your Function instance, [just like for a standalone DFM instance](https://github.com/scale-tone/DurableFunctionsMonitor/tree/master/durablefunctionsmonitor.dotnetbackend#how-to-run). If you do want to disable AuthN/AuthZ for that endpoint, either set `DFM_NONCE` config setting to `i_sure_know_what_i_am_doing` or call `DfmEndpoint.Setup()` method like this:\n\n   ```\n        DfmEndpoint.Setup(new DfmSettings { DisableAuthentication = true });\n   ```\n\n\n   **IMPORTANT2**: a person who is able to access your DFM endpoint can potentially also access *all* HTTP-triggered endpoints in your project. Make sure you configure AuthN/AuthZ properly.\n\n   **IMPORTANT3**: by default the endpoint exposes *all* Task Hubs in the underlying Storage account. Restrict the list of allowed Task Hubs either via `DFM_HUB_NAME` config setting (takes a comma-separated list) or via `extensions.durableTask.hubName` setting in your host.json.\n\nAdditional optional properties of **DfmSettings** class to further configure your DFM endpoint are as follows:\n* **DisableAuthentication** - disables all authentication. Make sure you know what you're doing.\n* **Mode** - functional mode for this DFM endpoint. Currently only `DfmMode.Normal` (default) and `DfmMode.ReadOnly` are supported.\n* **AllowedUserNames** - list of users, that are allowed to access this DFM endpoint. You typically put emails into here. Once set, the incoming access token is expected to contain one of these names in its 'preferred_username' claim.\n* **AllowedAppRoles** - list of App Roles, that are allowed to access DurableFunctionsMonitor endpoint. Users/Groups then need to be assigned one of these roles via AAD Enterprise Applications->[your AAD app]->Users and Groups tab. Once set, the incoming access token is expected to contain one of these in its 'roles' claim.\n* **CustomTemplatesFolderName** - folder where to search for custom tab/html templates. Must be a part of your Functions project and be adjacent to your host.json file.\n \nAlternatively you can call `DfmEndpoint.Setup();` with no parameters and configure your DFM endpoint with config settings (environment variables). The list of all supported config settings [can be found here](https://github.com/scale-tone/DurableFunctionsMonitor/tree/master/durablefunctionsmonitor.dotnetbackend#config-setting-reference).\n"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/README.md",
    "content": "# DurableFunctionsMonitor.DotNetBackend\n\nBackend for DurableFunctionsMonitor, reimplemented in C#. Also serves the UI statics (at root URL: http://localhost:7072).\n\nUse this project as a standalone service, either run it locally or deploy to Azure (and **protect** with AAD).\n\n## Prerequisites\nTo run this on your devbox you need to have [Azure Functions Core Tools](https://www.npmjs.com/package/azure-functions-core-tools) globally installed (which is normally already the case, if you're working with Azure Functions - just ensure that you have the latest version of it).\n\n**OR**\n\n[Docker Desktop](https://www.docker.com/products/docker-desktop), if you prefer to run it locally [as a container](https://hub.docker.com/r/scaletone/durablefunctionsmonitor).\n\n## How to run\n\n[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fscale-tone%2FDurableFunctionsMonitor%2Fmaster%2Fdurablefunctionsmonitor.dotnetbackend%2Farm-template.json) \n\nThis button will deploy a new DFM instance into your Azure Subscription from [this NuGet package](https://www.nuget.org/packages/DurableFunctionsMonitor.DotNetBackend/). You will need to have an AAD app created and specify its credentials as template parameters. See more instructions in the parameter's hints. \n\nNOTE: the instance will be deployed to the selected Resource Group's location. The default **Region** parameter in Azure Portal's *Deploy from a custom template* wizard has no effect here. It only defines where the deployment metadata will be stored, so feel free to leave it to default.\n\n**OR**\n\n* Get the sources (either via **git clone** or by just downloading the ZIP-file) from this repo.\n* Open command line in **durablefunctionsmonitor.dotnetbackend** folder.\n* Run **node setup-and-run.js**. This setup script will ask you to provide the Connection String to your Azure Storage and the Hub Name, that your existing Durable Functions are using, and put it into **local.settings.json** file. Then it will run the Functions project (do the **func start**) and open the UI page (http://localhost:7072) in your favourite browser. If not, then just navigate to that URL yourself (on a Mac it is reported to be more preferrable to open http://127.0.0.1:7072 instead).\n* Alternatively you can just create **local.settings.json** file yourself, then run **func start** and open the UI page in your browser manually.\n\n   The home page will show you the list of existing Task Hubs to choose from. WARNING: by default, *all* Task Hubs in the underlying Storage account are accessible. To restrict the list of allowed Task Hubs in your **local.settings.json** file specify an extra **DFM_HUB_NAME** config setting with a comma-separated list of Task Hub names. \n\n    WARNING: there will be **no authentication** out-of-the-box. Please, protect your endpoint as appropriate.\n\n**OR**\n\nRun [this Docker container](https://hub.docker.com/r/scaletone/durablefunctionsmonitor) locally:\n* `docker pull scaletone/durablefunctionsmonitor:[put-latest-tag-here]`\n* `docker run -p 7072:80 -e AzureWebJobsStorage=\"your-azure-storage-connection-string\" -e DFM_NONCE=\"i_sure_know_what_i_am_doing\" scaletone/durablefunctionsmonitor:[put-latest-tag-here]`\n\n   WARNING: setting **DFM_NONCE** to `i_sure_know_what_i_am_doing` **turns authentication off**. Please, protect your endpoint as appropriate.\n* Navigate to http://localhost:7072\n\n   The home page will show you the list of existing Task Hubs to choose from. WARNING: by default, *all* Task Hubs in the underlying Storage account are accessible. To restrict the list of allowed Task Hubs specify an extra **DFM_HUB_NAME** environment variable with a comma-separated list of Task Hub names. \n   \n**OR**\n\nDeploy to your own Azure Function instance (separate from where your Durable Functions are running) and **protect** it with [Easy Auth and AAD](https://docs.microsoft.com/en-us/azure/app-service/overview-authentication-authorization) (NOTE: AAD login support and token validation added starting from **v.1.1.0**).\n\n* Create a new AAD app (*Azure Portal->Azure Active Directory->App Registrations*).\n* On *Authentication* tab add a *Redirect URI* (should be like 'https://your-function-app.azurewebsites.net') and enable *ID tokens* **and** *Access tokens*.\n* Create a new Function App instance with *.Net Core* stack and setup *Easy Auth* with *AAD in Advanced Mode* for it. Set *Client ID* to your AAD app's Client ID (aka Application ID) and set *Issuer Url* to `https://login.microsoftonline.com/<your-tenant-id>/v2.0`. Also set *Action to take when request is not authenticated* to *Allow anonymous requests (no action)* (since statics are hosted by the same endpoint, they should be accessible without authentication).\n* Set **AzureWebJobsStorage** configuration setting to the correct Azure Storage instance (the one that's being used by your Durable Functions).\n* (Optionally) set **DFM_HUB_NAME** configuration setting to a comma-separated list of allowed Task Hub names. WARNING: when this setting is not set, the instance will expose **all** Task Hubs in a given Storage account.\n* Open **durablefunctionsmonitor.dotnetbackend** folder with Visual Studio Code and deploy it to your Function App instance.\n* **IMPORTANT:** so far **any** user of your tenant can login to your freshly deployed Durable Functions Monitor. To restrict the list of allowed users you have two options:\n\n    For your AAD app set *User Assignment Required* to *Yes* and explicitly add whitelisted users/groups via *Users and groups* tab. WARNING: this option might lead to your users faced with *Administrator's Consent Required* error page, when they try to login (in which case you'll need to provide that Administrator's Consent...).\n    \n    **OR**\n    \n    Add **DFM_ALLOWED_USER_NAMES** configuration setting with a comma-separated list of emails. The backend then [will only allow users from this list to call itself](https://github.com/scale-tone/DurableFunctionsMonitor/blob/master/durablefunctionsmonitor.dotnetbackend/Common/Auth.cs#L68).\n* Navigate to https://your-function-app.azurewebsites.net and ensure you can login (and unwelcomed ones cannot).\n\n**OR**\n\nDeploy to your [AKS](https://docs.microsoft.com/en-us/azure/aks/) cluster:\n```\nkubectl create secret generic dfm-secret \\\n  --from-literal=AzureWebJobsStorage='<your-azure-storage-connection-string>' \\\n  --from-literal=WEBSITE_AUTH_CLIENT_ID='<your-aad-app-client-id>' \\\n  --from-literal=WEBSITE_AUTH_OPENID_ISSUER='<your-token-issuer>' \\\n  --from-literal=DFM_ALLOWED_USER_NAMES='<your-email>'\n\nkubectl apply -f https://raw.githubusercontent.com/scale-tone/DurableFunctionsMonitor/master/durablefunctionsmonitor.dotnetbackend/dfm-aks-deployment.yaml\n```\n   \n   This will create a secret with all required config settings and then run [this Docker container](https://hub.docker.com/r/scaletone/durablefunctionsmonitor) with [this deployment yaml](https://github.com/scale-tone/DurableFunctionsMonitor/blob/master/durablefunctionsmonitor.dotnetbackend/dfm-aks-deployment.yaml).\n   \n   WARNING: by default, *all* Task Hubs in the underlying Storage account are accessible. To restrict the list of allowed Task Hubs specify an extra **DFM_HUB_NAME** secret value with a comma-separated list of Task Hub names. \n\n**OR**\n\n[Install it as a NuGet package](https://www.nuget.org/packages/DurableFunctionsMonitor.DotNetBackend) into your own Functions project (.Net Core only).\n\n   NOTE: you will also need to add a `DfmEndpoint.Setup();` call somewhere at your project's startup. See further instructions in [DurableFunctionsMonitor.DotNetBackend package's readme](https://www.nuget.org/packages/DurableFunctionsMonitor.DotNetBackend). \n\n\n## Config setting reference\n\nThe following optional config settings are supported. Depending on the way you run this tool, you specify them as environment variables, Azure App Service config settings or values in your **local.settings.json** file.\n\n* **DFM_HUB_NAME** - comma-separated list of allowed Task Hubs. Task Hubs from alternative Storage accounts should be specified as `my_other_conn_string-my_hub_name`. WARNING: when this setting is not set, *all* Task Hubs from all configured Storage Accounts are accessible.\n* **DFM_ALLOWED_USER_NAMES** - comma-separated list of users, that are allowed to access the endpoint. You typically put emails into there. WARNING: if this setting is not set, *all* authenticated users are allowed. Alternatively you can whitelist allowed users in your AAD app's configuration.\n* **DFM_ALLOWED_APP_ROLES** - comma-separated list of allowed [AAD App Roles](https://docs.microsoft.com/en-us/azure/active-directory/develop/howto-add-app-roles-in-azure-ad-apps). Once set, only users that's been assigned one of these roles will be allowed to access the endpoint. You typically assign App Roles to users/groups via AAD Enterprise Applications->[your AAD app]->Users and Groups tab in your Azure Portal. Then user's role should appear in the `roles` claim in their access token. When both **DFM_ALLOWED_USER_NAMES** and **DFM_ALLOWED_APP_ROLES** are specified, then both take effect.\n* **DFM_MODE** - the endpoint's functional mode. Only one value for this setting is currently supported: `ReadOnly` - this disables all modification operations (related methods will return 403), thus turning the endpoint into a monitoring-only state.\n* **DFM_NONCE** - the only reasonable value for this setting is `i_sure_know_what_i_am_doing`. This disables any kind of user authentication. Please, be sure what you are doing.\n* **DFM_CLIENT_CONFIG** - a JSON, that is being passed to the client UI to adjust its behaviour. So far the only option is supported: `{'theme':'dark'}` turns the UI into dark color mode.\n* **DFM_ALTERNATIVE_CONNECTION_STRING_my_other_conn_string** - alternative Storage connection string to monitor Task Hubs from. There can be multiple of these, all prefixed with `DFM_ALTERNATIVE_CONNECTION_STRING_`. Once configured, Task Hubs from these accounts become available under URLs like `https://my-dfm-endpoint/my_other_conn_string-my_hub_name`.\n\n## Details\n\nThe backend is a C#-written Azure Function itself, that leverages [Durable Functions management interface](https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-instance-management) and adds paging/filtering/sorting/etc. capabilities on top of it. UI is a set of static build artifacts from [this project](https://github.com/scale-tone/DurableFunctionsMonitor/tree/master/durablefunctionsmonitor.react), committed into [this folder](https://github.com/scale-tone/DurableFunctionsMonitor/tree/master/durablefunctionsmonitor.dotnetbackend/DfmStatics) and served by [this function](https://github.com/scale-tone/DurableFunctionsMonitor/blob/master/durablefunctionsmonitor.dotnetbackend/Functions/ServeStatics.cs). \n\nBy default, Azure Functions runtime exposes a /runtime/webhooks/durabletask endpoint, which (when running locally) doesn't have any auth and returns quite sensitive data. That endpoint is being suppressed via [proxies.json](https://github.com/scale-tone/DurableFunctionsMonitor/blob/master/durablefunctionsmonitor.dotnetbackend/proxies.json). Still, when running on your devbox, please, ensure that the HTTP port you're using is not accessible externally.\n\nWhen this backend is run as part of [VsCode extension](https://github.com/scale-tone/DurableFunctionsMonitor/tree/master/durablefunctionsmonitor-vscodeext), it's being [protected with a random nonce](https://github.com/scale-tone/DurableFunctionsMonitor/blob/master/durablefunctionsmonitor.dotnetbackend/Common/Auth.cs#L42), so that nobody else could make calls to it except your VsCode instance.\n\nWhen deployed to Azure, your DFM instance **must** be secured with [Easy Auth](https://docs.microsoft.com/en-us/azure/app-service/overview-authentication-authorization). Support for AAD login was added to **v.1.1.0** (client side [signs the user in and obtains an access token](https://github.com/scale-tone/DurableFunctionsMonitor/blob/master/durablefunctionsmonitor.react/src/states/LoginState.ts), backend [validates the token and the user](https://github.com/scale-tone/DurableFunctionsMonitor/blob/master/durablefunctionsmonitor.dotnetbackend/Common/Globals.cs#L62)), but it needs to be configured properly, as described above.\n\nEnjoy and please report any bugs.\n\n## Known Issues\n\n* Beware of [this Docker Desktop trouble](https://forums.docker.com/t/docker-for-windows-10-time-out-of-sync/21506). Whenever your laptop goes to sleep, time might freeze inside your containers. Which forces all outgoing HTTPS connections to fail due to a big time lag, so everything just breaks. If after starting the container you only see \"function host is not running\" error in your browser, then try to restart your Docker Desktop.\n"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/arm-template.json",
    "content": "{\n    \"$schema\": \"https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#\",\n    \"contentVersion\": \"1.0.0.0\",\n    \"parameters\": {\n        \"functionAppName\": {\n            \"type\": \"string\",\n            \"defaultValue\": \"[concat('dfm-',uniqueString(resourceGroup().id))]\",\n            \"metadata\": {\n                \"description\": \"Name for the Function App, that will host your DFM instance. NOTE: there will be a NEW app created, and it will be different from the one that hosts your Durable Functions.\"\n            }\n        },\n        \"storageConnectionString\": {\n            \"type\": \"securestring\",\n            \"metadata\": {\n                \"description\": \"Storage Connection String to the Storage your Durable Functions reside in. Copy it from your Durable Functions App Settings.\"\n            }\n        },\n        \"taskHubName\": {\n            \"type\": \"string\",\n            \"defaultValue\": \"\",\n            \"metadata\": {\n                \"description\": \"(optional) Comma-separated list of Task Hub names to be monitored. WARNING: if not set, this instance will expose ALL Task Hubs in your Storage account!\"\n            }\n        },\n        \"applicationPackageUrl\": {\n            \"type\": \"string\",\n            \"defaultValue\": \"https://www.nuget.org/api/v2/package/DurableFunctionsMonitor.DotNetBackend\",\n            \"metadata\": {\n                \"description\": \"The DFM app will be deployed from this package (ZIP-file or Nuget package). You can override this URL, if you wish.\"\n            }\n        },\n        \"aadAppClientId\": {\n            \"type\": \"string\",\n            \"metadata\": {\n                \"description\": \"In Azure Portal->Azure Active Directory->App Registrations create a new AAD App. Set its 'Redirect URI' setting to 'https://[your-function-app].azurewebsites.net/.auth/login/aad/callback'. Then on 'Authentication' page enable ID Tokens. Then copy that AAD App's ClientId into here.\"\n            }\n        },\n        \"aadAppTenantId\": {\n            \"type\": \"string\",\n            \"defaultValue\": \"[subscription().tenantId]\",\n            \"metadata\": {\n                \"description\": \"Put your AAD TenantId here (you can find it on Azure Portal->Azure Active Directory page), or leave as default to use the current subscription's TenantId.\"\n            }\n        },\n        \"allowedUserNames\": {\n            \"type\": \"string\",\n            \"metadata\": {\n                \"description\": \"Comma-separated list of users (emails), that will be allowed to access this DFM instance. Specify at least yourself here.\"\n            }\n        }\n    },\n    \"resources\": [\n        {\n            \"type\": \"Microsoft.Web/serverfarms\",\n            \"apiVersion\": \"2016-09-01\",\n            \"name\": \"[parameters('functionAppName')]\",\n            \"location\": \"[resourceGroup().location]\",\n            \"sku\": {\n                \"name\": \"Y1\",\n                \"tier\": \"Dynamic\"\n            },\n            \"properties\": {\n                \"name\": \"[parameters('functionAppName')]\",\n                \"computeMode\": \"Dynamic\"\n            }\n        },\n\n        {\n            \"apiVersion\": \"2018-11-01\",\n            \"type\": \"Microsoft.Web/sites\",\n            \"name\": \"[parameters('functionAppName')]\",\n            \"location\": \"[resourceGroup().location]\",\n            \"kind\": \"functionapp\",\n            \"dependsOn\": [\n                \"[resourceId('Microsoft.Web/serverfarms', parameters('functionAppName'))]\"\n            ],\n\n            \"resources\": [\n                {\n                    \"name\": \"[concat(parameters('functionAppName'), '/authsettings')]\",\n                    \"apiVersion\": \"2018-11-01\",\n                    \"type\": \"Microsoft.Web/sites/config\",\n                    \"location\": \"[resourceGroup().location]\",\n                    \"dependsOn\": [\n                        \"[resourceId('Microsoft.Web/sites', parameters('functionAppName'))]\"\n                    ],\n                    \"properties\": {\n                        \"enabled\": true,\n                        \"unauthenticatedClientAction\": \"RedirectToLoginPage\",\n                        \"tokenStoreEnabled\": true,\n                        \"defaultProvider\": \"AzureActiveDirectory\",\n                        \"clientId\": \"[parameters('aadAppClientId')]\",\n                        \"issuer\": \"[concat('https://login.microsoftonline.com/', parameters('aadAppTenantId'), '/v2.0')]\"\n                    }\n                }\n            ],\n    \n            \"properties\": {\n                \"serverFarmId\": \"[resourceId('Microsoft.Web/serverfarms', parameters('functionAppName'))]\",\n                \"siteConfig\": {\n                    \"appSettings\": [\n                        {\n                            \"name\": \"DFM_HUB_NAME\",\n                            \"value\": \"[parameters('taskHubName')]\"\n                        },\n                        {\n                            \"name\": \"DFM_ALLOWED_USER_NAMES\",\n                            \"value\": \"[parameters('allowedUserNames')]\"\n                        },\n                        {\n                            \"name\": \"AzureWebJobsStorage\",\n                            \"value\": \"[parameters('storageConnectionString')]\"\n                        },\n                        {\n                            \"name\": \"WEBSITE_RUN_FROM_PACKAGE\",\n                            \"value\": \"[parameters('applicationPackageUrl')]\"\n                        },\n                        {\n                            \"name\": \"WEBSITE_CONTENTAZUREFILECONNECTIONSTRING\",\n                            \"value\": \"[parameters('storageConnectionString')]\"\n                        },\n                        {\n                            \"name\": \"WEBSITE_CONTENTSHARE\",\n                            \"value\": \"[toLower(parameters('functionAppName'))]\"\n                        },\n                        {\n                            \"name\": \"FUNCTIONS_EXTENSION_VERSION\",\n                            \"value\": \"~3\"\n                        },\n                        {\n                            \"name\": \"FUNCTIONS_WORKER_RUNTIME\",\n                            \"value\": \"dotnet\"\n                        }\n                    ]\n                }\n            }\n        }\n    ]\n}\n"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/dfm-aks-deployment.yaml",
    "content": "# Deploys DFM from Docker image.\n# Expects a secret named 'dfm-secret' to be previously created.\n# Here is how to create that secret:\n#\n# kubectl create secret generic dfm-secret \\\n#  --from-literal=AzureWebJobsStorage='<your-azure-storage-connection-string>' \\\n#  --from-literal=WEBSITE_AUTH_CLIENT_ID='<your-aad-app-client-id>' \\\n#  --from-literal=WEBSITE_AUTH_OPENID_ISSUER='<your-token-issuer>' \\\n#  --from-literal=DFM_ALLOWED_USER_NAMES='<your-email>'\n\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: dfm\nspec:\n  selector:\n    matchLabels:\n      app: dfm\n  template:\n    metadata:\n      labels:\n        app: dfm\n    spec:\n      containers:\n      - name: dfm\n        image: docker.io/scaletone/durablefunctionsmonitor:5.1\n        imagePullPolicy: Always\n        ports:\n        - containerPort: 80        \n        envFrom:\n        - secretRef:\n            name: dfm-secret\n"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/durablefunctionsmonitor.dotnetbackend.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n  <PropertyGroup>\n    <TargetFramework>netcoreapp3.1</TargetFramework>\n    <AzureFunctionsVersion>v3</AzureFunctionsVersion>\n    <AssemblyVersion>5.1.1.0</AssemblyVersion>\n    <FileVersion>5.1.1.0</FileVersion>\n  </PropertyGroup>\n  <ItemGroup>\n    <PackageReference Include=\"Microsoft.Azure.WebJobs.Extensions.DurableTask\" Version=\"2.6.0\" />\n    <PackageReference Include=\"Microsoft.NET.Sdk.Functions\" Version=\"3.0.3\" />\n    <PackageReference Include=\"Microsoft.Azure.DurableTask.AzureStorage\" Version=\"1.9.4\" />\n    <PackageReference Include=\"Microsoft.IdentityModel.Protocols.OpenIdConnect\" Version=\"6.8.0\" />\n    <PackageReference Include=\"Fluid.Core\" Version=\"2.1.4\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Update=\"host.json\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"proxies.json\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"local.settings.json\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n      <CopyToPublishDirectory>Never</CopyToPublishDirectory>\n    </None>\n    <None Update=\"nuspec.nuspec\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"durablefunctionsmonitor.dotnetbackend.targets\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n  </ItemGroup>\n  <ItemGroup>\n    <Content Include=\"DfmStatics\\**\">\n      <CopyToOutputDirectory>Always</CopyToOutputDirectory>\n    </Content>\n  </ItemGroup>\n</Project>"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/durablefunctionsmonitor.dotnetbackend.targets",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n\n    <PropertyGroup>\n        <!-- Tells microsoft.net.sdk.functions to include DFM's dll to metadata generation -->\n        <FunctionsInDependencies>true</FunctionsInDependencies>\n        <!-- Fix for https://github.com/Azure/azure-functions-host/issues/5894 -->\n        <_FunctionsSkipCleanOutput>true</_FunctionsSkipCleanOutput>\n    </PropertyGroup>\n\n    <!-- Copying statics -->\n    <ItemGroup >\n        <Content Include=\"$(MSBuildThisFileDirectory)\\..\\DfmStatics\\**\" LinkBase=\"DfmStatics\\\">\n            <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n        </Content>\n    </ItemGroup>\n\n    <!-- \n        This inline task applies DurableFunctionsMonitorRoutePrefix to previously generated DFM's function.json files.\n        \n        By default, DFM's endpoint is served from root URL (which is typically 'https://<my-functions-host>/api')\n        and overshadows all existing HTTP triggers.\n        To prevent that from happening and make your DFM endpoint be served from e.g. 'https://<my-functions-host>/api/my-dfm' \n        add the following to your CSPROJ-file:\n\n            <DurableFunctionsMonitorRoutePrefix>my-dfm</<DurableFunctionsMonitorRoutePrefix>\n    -->\n    <UsingTask\n        TaskName=\"FixDfmPrefixesInFunctionJsonTask\"\n        TaskFactory=\"RoslynCodeTaskFactory\"\n        AssemblyFile=\"$(MSBuildToolsPath)\\Microsoft.Build.Tasks.Core.dll\" >\n        <ParameterGroup>\n            <FolderWithDfmFunctions ParameterType=\"System.String\" />\n            <DfmRoutePrefix ParameterType=\"System.String\" />\n        </ParameterGroup>\n        <Task>\n        <Using Namespace=\"System\"/>\n        <Using Namespace=\"System.IO\"/>\n        <Using Namespace=\"System.Text.RegularExpressions\"/>\n        <Code Type=\"Fragment\" Language=\"cs\">\n        <![CDATA[\n\n            Log.LogMessage(MessageImportance.High, $\"#DurableFunctionsMonitor: applying '{DfmRoutePrefix}' route prefix to function.json files in {FolderWithDfmFunctions}\");\n\n            var regex = new Regex(\"\\\"route\\\":\\\\s*\\\"\", RegexOptions.IgnoreCase | RegexOptions.Compiled);\n\n            bool dfmFunctionsFound = false;\n            foreach(var folder in Directory.EnumerateDirectories($\"{FolderWithDfmFunctions}\", \"Dfm*\"))\n            {\n                string functionJsonPath = Path.Combine(folder, \"function.json\");\n                if(!File.Exists(functionJsonPath))\n                {\n                    continue;\n                }\n\n                string json = File.ReadAllText(functionJsonPath);\n\n                var match = regex.Match(json);\n                if(match.Success)\n                {\n                    string before = json.Substring(0, match.Index);\n                    string after = json.Substring(match.Index + match.Length);\n                    \n                    if(after.StartsWith(DfmRoutePrefix))\n                    {\n                        continue;\n                    }\n\n                    json = $\"{before}\\\"route\\\": \\\"{DfmRoutePrefix}/{after}\";\n\n                    File.WriteAllText(functionJsonPath, json);\n\n                    dfmFunctionsFound = true;\n                    Log.LogMessage(MessageImportance.High, $\"#DurableFunctionsMonitor: modified {functionJsonPath}\");\n                }\n            }\n\n            if(!dfmFunctionsFound)\n            {\n                Log.LogWarning(\"#DurableFunctionsMonitor: Couldn't find any DFM functions in output folder. Make sure you called DfmEndpoint.Setup() in your code.\");\n            }\n        ]]>\n        </Code>\n        </Task>\n    </UsingTask>\n\n    <Target Name=\"FixDfmPrefixesInFunctionJsonAfterBuild\" \n        AfterTargets=\"_GenerateFunctionsPostBuild\" \n        DependsOnTargets=\"_GenerateFunctionsPostBuild\"\n        Condition=\"$(DurableFunctionsMonitorRoutePrefix) != ''\"\n    >\n        <FixDfmPrefixesInFunctionJsonTask FolderWithDfmFunctions=\"$(TargetDir)\" DfmRoutePrefix=\"$(DurableFunctionsMonitorRoutePrefix)\"/>\n    </Target>\n\n    <Target Name=\"FixDfmPrefixesInFunctionJsonAfterPublish\" \n        AfterTargets=\"_FunctionsPostPublish\" \n        DependsOnTargets=\"_FunctionsPostPublish\"\n        Condition=\"$(DurableFunctionsMonitorRoutePrefix) != ''\"\n    >\n        <FixDfmPrefixesInFunctionJsonTask FolderWithDfmFunctions=\"$(PublishDir)\" DfmRoutePrefix=\"$(DurableFunctionsMonitorRoutePrefix)\"/>\n    </Target>\n\n</Project>"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/host.json",
    "content": "{\n    \"version\": \"2.0\",\n    \"extensions\": {\n        \"http\": {\n            \"routePrefix\": \"\"\n        }\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/nuspec.nuspec",
    "content": "<?xml version=\"1.0\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd\">\n    <metadata minClientVersion=\"2.5\">\n        <id>DurableFunctionsMonitor.DotNetBackend</id>\n        <version>5.1.1</version>\n        <requireLicenseAcceptance>false</requireLicenseAcceptance>\n        <description>DurableFunctionsMonitor.DotNetBackend</description>\n        <authors>DurableFunctionsMonitor</authors>\n        <repository type=\"git\" url=\"https://github.com/scale-tone/DurableFunctionsMonitor\" />\n        <license type=\"file\">LICENSE</license>\n\n        <dependencies>\n            <dependency id=\"Microsoft.Azure.WebJobs.Extensions.DurableTask\" version=\"2.4.0\" />\n            <dependency id=\"Microsoft.IdentityModel.Protocols.OpenIdConnect\" version=\"6.8.0\" />\n            <dependency id=\"Fluid.Core\" version=\"1.0.0-beta-9722\" />\n        </dependencies>\n\n    </metadata>\n\n    <files>\n        <file src=\"..\\output\\bin\\durablefunctionsmonitor.dotnetbackend.dll\" target=\"lib/netcoreapp2.1\" />\n        <file src=\"..\\output\\**\" target=\"/\" />\n        <file src=\"..\\output\\durablefunctionsmonitor.dotnetbackend.targets\" target=\"build\" />\n    </files>\n</package>"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/proxies.json",
    "content": "{\n    \"$schema\": \"http://json.schemastore.org/proxies\",\n    \"proxies\": {\n        \"DisableRuntimeWebhooks\": {\n            \"matchCondition\": {\n                \"route\": \"{url:regex(runtime)}/{*all}\"\n            },\n            \"responseOverrides\": {\n                \"response.statusCode\": \"403\",\n                \"response.statusReason\": \"Forbidden\"\n            }\n        }\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.dotnetbackend/setup-and-run.js",
    "content": "// Checks that a local.settings.json file exists in local folder.\n// If not, asks the user to specify the Azure Storage connection string and creates the file.\n// Then runs func start\n\nconst fs = require('fs');\nconst { spawn } = require('child_process');\n\nfunction funcStart() {\n    spawn('func', ['start'], { shell: true, stdio: 'inherit' });\n    spawn('start', ['http://localhost:7072'], {shell: true});\n}\n\nif (fs.existsSync('./local.settings.json')) {\n    console.log('An existing ./local.settings.json file found in local folder. Connection parameters initialization skipped.');\n\n    funcStart();\n    return;\n}\n\nconst readline = require('readline').createInterface({\n    input: process.stdin,\n    output: process.stdout\n})\n\nconsole.log(`About to create local.settings.json file and put connection parameters into it...`);\n\nreadline.question(`Your Azure Storage Connection String: `, (connectionString) => {\n    \n    if (!connectionString) {\n        console.log(`No Connection String provided, cannot create the local.settings.json file. The app might not work.`);\n        readline.close()\n        return;\n    }\n\n    readline.question(`(optional) Comma-separated list of allowed Task Hubs: `, (hubNames) => {\n        readline.close()\n\n        const localSettings = {\n            IsEncrypted: false,\n            Values: {\n                AzureWebJobsStorage: connectionString,\n                DFM_NONCE: \"i_sure_know_what_i_am_doing\",\n                FUNCTIONS_WORKER_RUNTIME: \"dotnet\"\n            },\n            Host: {\n                LocalHttpPort: 7072,\n                CORS: \"http://127.0.0.1:7072,http://localhost:3000,http://127.0.0.1:3000\",\n                CORSCredentials: true\n            }\n        }\n\n        if (!!hubNames) {\n            localSettings.Values.DFM_HUB_NAME = hubNames;\n        }\n\n        fs.writeFileSync('local.settings.json', JSON.stringify(localSettings, null, 4));\n        console.log(`A local.settings.json file was created successfully. You can use the UI menu button to change connection parameters later on.`);\n        console.warn('\\x1b[33m%s\\x1b[0m', `WARNING: no authentication out-of-the-box! Please, protect your DFM endpoint as appropriate.`);\n\n        if (!hubNames) {\n            console.warn('\\x1b[33m%s\\x1b[0m', `WARNING: you did not provide the list of allowed Task Hubs, so this instance will allow to access ALL Task Hubs in the Storage Account.`);\n        }\n\n        funcStart();\n    });\n})"
  },
  {
    "path": "durablefunctionsmonitor.functions/README.md",
    "content": "# !DEPRECATED, REPLACED WITH [durablefunctionsmonitor.dotnetbackend](https://github.com/scale-tone/DurableFunctionsMonitor/tree/master/durablefunctionsmonitor.dotnetbackend)! \n"
  },
  {
    "path": "durablefunctionsmonitor.react/.gitignore",
    "content": "# See https://help.github.com/ignore-files/ for more about ignoring files.\n\n# dependencies\n/node_modules\n\n# testing\n/coverage\n\n# production\n/build\n\n# misc\n.DS_Store\n.env.local\n.env.development.local\n.env.test.local\n.env.production.local\n\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\n"
  },
  {
    "path": "durablefunctionsmonitor.react/README.md",
    "content": "# DurableFunctionsMonitor.React\n\nWeb UI for DurableFunctionsMonitor.\nReact+MobX+TypeScript+Material UI.   \n\n## How to compile and run locally\n\n* **npm install**\n* **npm run start**\n\n## How to build\n\n* **npm run build**\n"
  },
  {
    "path": "durablefunctionsmonitor.react/copy-build-artifacts.js",
    "content": "const ncp = require('ncp').ncp;\nconst rimraf = require(\"rimraf\");\n\nconst buildFolder = './build';\nconst outputFolder = '../durablefunctionsmonitor.dotnetbackend/DfmStatics';\n\nrimraf.sync(`${outputFolder}/static/`);\nncp(`${buildFolder}/static/`, `${outputFolder}/static/`);\nncp(`${buildFolder}/manifest.json`, `${outputFolder}/manifest.json`);\nncp(`${buildFolder}/service-worker.js`, `${outputFolder}/service-worker.js`);\nncp(`${buildFolder}/favicon.png`, `${outputFolder}/favicon.png`);\nncp(`${buildFolder}/logo.svg`, `${outputFolder}/logo.svg`);\nncp(`${buildFolder}/index.html`, `${outputFolder}/index.html`);"
  },
  {
    "path": "durablefunctionsmonitor.react/package.json",
    "content": "{\n  \"name\": \"durablefunctionsmonitor.react\",\n  \"version\": \"5.1.0\",\n  \"private\": true,\n  \"homepage\": \"http://localhost:7072\",\n  \"dependencies\": {\n    \"@date-io/moment\": \"^1.3.13\",\n    \"@material-ui/core\": \"^4.9.10\",\n    \"@material-ui/icons\": \"^4.2.1\",\n    \"@material-ui/lab\": \"^4.0.0-alpha.56\",\n    \"@material-ui/pickers\": \"^3.2.10\",\n    \"axios\": \"^0.21.2\",\n    \"mermaid\": \"^8.8.2\",\n    \"mobx\": \"^5.10.1\",\n    \"mobx-react\": \"^6.1.1\",\n    \"moment\": \"^2.27.0\",\n    \"msal\": \"^1.4.12\",\n    \"react\": \"^16.12.0\",\n    \"react-dom\": \"^16.12.0\",\n    \"react-scripts\": \"^4.0.3\",\n    \"react-vis\": \"^1.11.7\"\n  },\n  \"scripts\": {\n    \"start\": \"react-scripts start\",\n    \"build\": \"react-scripts build\",\n    \"test\": \"react-scripts test\",\n    \"eject\": \"react-scripts eject\",\n    \"build-and-copy\": \"npm run build && node copy-build-artifacts.js\"\n  },\n  \"devDependencies\": {\n    \"@types/jest\": \"^24.0.15\",\n    \"@types/node\": \"^12.0.10\",\n    \"@types/react\": \"^16.9.17\",\n    \"@types/react-dom\": \"^16.9.2\",\n    \"ncp\": \"^2.0.0\",\n    \"rimraf\": \"^3.0.2\",\n    \"typescript\": \"^3.6.4\"\n  },\n  \"eslintConfig\": {\n    \"extends\": [\n      \"react-app\",\n      \"react-app/jest\"\n    ]\n  },\n  \"browserslist\": [\n    \">0.2%\",\n    \"not dead\",\n    \"not ie <= 11\",\n    \"not op_mini all\"\n  ]\n}\n"
  },
  {
    "path": "durablefunctionsmonitor.react/public/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\">\n    <meta name=\"theme-color\" content=\"#000000\">\n\n    <meta name=\"durable-functions-monitor-meta\">\n\n    <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap\" />\n\n    <!--\n      manifest.json provides metadata used when your web app is added to the\n      homescreen on Android. See https://developers.google.com/web/fundamentals/engage-and-retain/web-app-manifest/\n    -->\n    <link rel=\"manifest\" href=\"%PUBLIC_URL%/manifest.json\" crossorigin=\"use-credentials\">\n    <link rel=\"shortcut icon\" href=\"%PUBLIC_URL%/favicon.png\">\n    <!--\n      Notice the use of %PUBLIC_URL% in the tags above.\n      It will be replaced with the URL of the `public` folder during the build.\n      Only files inside the `public` folder can be referenced from the HTML.\n\n      Unlike \"/favicon.ico\" or \"favicon.ico\", \"%PUBLIC_URL%/favicon.ico\" will\n      work correctly both with client-side routing and a non-root public URL.\n      Learn how to configure a non-root public URL by running `npm run build`.\n    -->\n    <title>Durable Functions Monitor</title>\n  </head>\n  <body>\n      \n    <noscript>\n      You need to enable JavaScript to run this app.\n    </noscript>\n\n    <script>var OrchestrationIdFromVsCode=\"\",StateFromVsCode={}</script>\n    <script>var DfmRoutePrefix=\"\"</script>\n    <script>var DfmClientConfig={}</script>\n    <script>var DfmViewMode=0</script>\n    <script>var IsFunctionGraphAvailable=0</script>\n\n    <div id=\"root\"></div>\n\n    <!-- Embedding Azure service SVG icons, these are used by Functions Graphs -->\n    <svg version=\"1.1\" id=\"all-azure-icons-svg\" style=\"display: none;\">\n      \n      <defs>\n        <!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\n        <svg version=\"1.1\" id=\"az-icon-activity\"\n          viewBox=\"0 0 64 64\" enable-background=\"new 0 0 64 64\" xml:space=\"preserve\">\n        <g>\n          <path fill=\"#3999C6\" d=\"M63.6,32.4c0.6-0.6,0.5-1.7,0-2.3L60.5,27L46.7,13.6c-0.6-0.6-1.5-0.6-2.2,0l0,0c-0.6,0.6-0.8,1.7,0,2.3\n            L59,30.1c0.6,0.6,0.6,1.7,0,2.3L44.2,47.1c-0.6,0.6-0.6,1.7,0,2.3l0,0c0.6,0.6,1.7,0.5,2.2,0l13.7-13.6c0,0,0,0,0.1-0.1L63.6,32.4z\n            \"/>\n          <path fill=\"#3999C6\" d=\"M0.4,32.4c-0.6-0.6-0.5-1.7,0-2.3L3.5,27l13.8-13.4c0.6-0.6,1.5-0.6,2.2,0l0,0c0.6,0.6,0.8,1.7,0,2.3\n            L5.3,30.1c-0.6,0.6-0.6,1.7,0,2.3l14.5,14.7c0.6,0.6,0.6,1.7,0,2.3l0,0c-0.6,0.6-1.7,0.5-2.2,0L3.6,36c0,0,0,0-0.1-0.1L0.4,32.4z\"\n            />\n          <polygon fill=\"#FCD116\" points=\"47.6,2.5 28.1,2.5 17.6,32.1 30.4,32.2 20.4,61.5 48,22.4 34.6,22.4 \t\"/>\n          <polygon opacity=\"0.3\" fill=\"#FF8C00\" enable-background=\"new    \" points=\"34.6,22.4 47.6,2.5 37.4,2.5 26.6,27.1 39.4,27.2 \n            20.4,61.5 48,22.4 \t\"/>\n        </g>\n        </svg>\n\n\n        <!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\n        <svg version=\"1.1\" id=\"az-icon-activityTrigger\"\n          viewBox=\"0 0 64 64\" enable-background=\"new 0 0 64 64\" xml:space=\"preserve\">\n        <g>\n          <path fill=\"#3999C6\" d=\"M63.6,32.4c0.6-0.6,0.5-1.7,0-2.3L60.5,27L46.7,13.6c-0.6-0.6-1.5-0.6-2.2,0l0,0c-0.6,0.6-0.8,1.7,0,2.3\n            L59,30.1c0.6,0.6,0.6,1.7,0,2.3L44.2,47.1c-0.6,0.6-0.6,1.7,0,2.3l0,0c0.6,0.6,1.7,0.5,2.2,0l13.7-13.6c0,0,0,0,0.1-0.1L63.6,32.4z\n            \"/>\n          <path fill=\"#3999C6\" d=\"M0.4,32.4c-0.6-0.6-0.5-1.7,0-2.3L3.5,27l13.8-13.4c0.6-0.6,1.5-0.6,2.2,0l0,0c0.6,0.6,0.8,1.7,0,2.3\n            L5.3,30.1c-0.6,0.6-0.6,1.7,0,2.3l14.5,14.7c0.6,0.6,0.6,1.7,0,2.3l0,0c-0.6,0.6-1.7,0.5-2.2,0L3.6,36c0,0,0,0-0.1-0.1L0.4,32.4z\"\n            />\n          <polygon fill=\"#FCD116\" points=\"47.6,2.5 28.1,2.5 17.6,32.1 30.4,32.2 20.4,61.5 48,22.4 34.6,22.4 \t\"/>\n          <polygon opacity=\"0.3\" fill=\"#FF8C00\" enable-background=\"new    \" points=\"34.6,22.4 47.6,2.5 37.4,2.5 26.6,27.1 39.4,27.2 \n            20.4,61.5 48,22.4 \t\"/>\n        </g>\n        </svg>\n\n\n        <svg\n          xmlns:dc=\"http://purl.org/dc/elements/1.1/\"\n          xmlns:cc=\"http://creativecommons.org/ns#\"\n          xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\n          xmlns:svg=\"http://www.w3.org/2000/svg\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n          xmlns:sodipodi=\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\"\n          xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\"\n          version=\"1.1\" id=\"az-icon-blob\"\n          x=\"0px\"\n          y=\"0px\"\n          viewBox=\"0 0 64 64\"\n          enable-background=\"new 0 0 64 64\"\n          xml:space=\"preserve\"\n          sodipodi:docname=\"blob.svg\"\n          inkscape:version=\"1.0.2 (e86c870879, 2021-01-15, custom)\"><metadata\n          id=\"metadata17\"><rdf:RDF><cc:Work\n              rdf:about=\"\"><dc:format>image/svg+xml</dc:format><dc:type\n                rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" /></cc:Work></rdf:RDF></metadata><defs\n          id=\"defs15\" /><sodipodi:namedview\n          pagecolor=\"#ffffff\"\n          bordercolor=\"#666666\"\n          borderopacity=\"1\"\n          objecttolerance=\"10\"\n          gridtolerance=\"10\"\n          guidetolerance=\"10\"\n          inkscape:pageopacity=\"0\"\n          inkscape:pageshadow=\"2\"\n          inkscape:window-width=\"2160\"\n          inkscape:window-height=\"1470\"\n          id=\"namedview13\"\n          showgrid=\"false\"\n          inkscape:zoom=\"11.484375\"\n          inkscape:cx=\"32\"\n          inkscape:cy=\"32\"\n          inkscape:window-x=\"85\"\n          inkscape:window-y=\"-11\"\n          inkscape:window-maximized=\"1\"\n          inkscape:current-layer=\"Layer_1\" />\n\n        <g\n          id=\"paths\"\n          transform=\"matrix(1.6491033,0,0,1.6491033,-93.240155,-59.965319)\"><g\n            id=\"Access_control\" /><g\n            id=\"Azure_active_directory\" /><g\n            id=\"API_Management\" /><g\n            id=\"Azure_automation\" /><g\n            id=\"Azure_SQL_database\" /><g\n            id=\"Azure_subscription\" /><g\n            id=\"Backup_service\" /><g\n            id=\"Bitbucket_code_source\" /><g\n            id=\"Azure_cache\" /><g\n            id=\"Content_delivery_network__x28_CDN_x29_\" /><g\n            id=\"Cloud_service\" /><g\n            id=\"CodePlex\" /><g\n            id=\"Dropbox_code_source\" /><g\n            id=\"Express_route\" /><g\n            id=\"Git_repository\" /><g\n            id=\"GitHub_code\" /><g\n            id=\"HD_Insight\" /><g\n            id=\"Health_monitoring\" /><g\n            id=\"Healthy\" /><g\n            id=\"BizTalk_hybrid_connection\" /><g\n            id=\"Hybrid_connection_manager_for_BizTalk_hybrid_connection\" /><g\n            id=\"Hyper-V_recovery_manager\" /><g\n            id=\"Machine_learning\" /><g\n            id=\"Media_services\" /><g\n            id=\"Microsoft_account\" /><g\n            id=\"Mobile_services\" /><g\n            id=\"Multi-factor_authentication\" /><g\n            id=\"MySQL_database\" /><g\n            id=\"Notification_hub\" /><g\n            id=\"Notification_topic\" /><g\n            id=\"Cloud_Office_365\" /><g\n            id=\"Office_365\" /><g\n            id=\"OS_image\" /><g\n            id=\"Remote_app\" /><g\n            id=\"Task_scheduler\" /><g\n            id=\"Azure_SDK\" /><g\n            id=\"Service_bus\" /><g\n            id=\"Service_bus_queue\" /><g\n            id=\"Service_bus_relay\" /><g\n            id=\"Service_bus_topic\" /><g\n            id=\"Service_endpoint\" /><g\n            id=\"Custom_create\" /><g\n            id=\"SQL_data_sync\" /><g\n            id=\"SQL_reporting\" /><g\n            id=\"Startup_task\" /><g\n            id=\"Windows_Azure_storage\" /><g\n            id=\"Storage_blob\"><g\n              id=\"g63\"><path\n                fill=\"#0078d7\"\n                d=\"M 85.7,39.7 H 66.4 l -9.6,16.7 9.6,16.7 h 19.3 l 9.6,-16.7 z m 0.1,24.2 c 0,1.4 -1.2,2.6 -2.6,2.6 H 69 c -1.4,0 -2.6,-1.2 -2.6,-2.6 V 49 c 0,-1.4 1.2,-2.6 2.6,-2.6 h 10.5 c 1,0 2,0 2,0 h 0.3 l 4,4 v 2.1 z\"\n                id=\"path55\" /><path\n                fill=\"#0078d7\"\n                d=\"m 74.6,59.1 c 0,-0.2 -0.1,-0.3 -0.1,-0.4 0,-0.1 -0.1,-0.2 -0.2,-0.3 -0.1,-0.1 -0.1,-0.1 -0.2,-0.1 -0.1,0 -0.2,0 -0.3,0 -0.2,0 -0.3,0 -0.4,0.1 -0.1,0.1 -0.2,0.2 -0.3,0.4 C 73,59 73,59.2 73,59.4 c 0,0.2 0,0.5 0,0.9 0,0.4 0,0.7 0,1 0,0.3 0.1,0.5 0.2,0.6 0.1,0.2 0.2,0.3 0.3,0.3 0.1,0.1 0.2,0.1 0.4,0.1 0.1,0 0.2,0 0.3,-0.1 0.1,0 0.2,-0.1 0.2,-0.2 0.1,-0.1 0.1,-0.2 0.2,-0.3 0,-0.1 0.1,-0.2 0.1,-0.4 0,-0.1 0,-0.3 0.1,-0.5 0,-0.2 0,-0.4 0,-0.6 0,-0.3 0,-0.5 0,-0.7 -0.2,-0.1 -0.2,-0.2 -0.2,-0.4 z\"\n                id=\"path57\" /><path\n                fill=\"#0078d7\"\n                d=\"M 79.1,51.3 C 79.1,51.1 79,51 79,50.9 c 0,-0.1 -0.1,-0.2 -0.2,-0.3 -0.1,-0.1 -0.1,-0.1 -0.2,-0.1 -0.1,0 -0.2,0 -0.3,0 -0.2,0 -0.3,0 -0.4,0.1 -0.1,0.1 -0.2,0.2 -0.3,0.4 -0.1,0.2 -0.1,0.4 -0.1,0.6 0,0.2 0,0.5 0,0.9 0,0.4 0,0.7 0,1 0,0.3 0.1,0.5 0.2,0.6 0.1,0.2 0.2,0.3 0.3,0.3 0.1,0.1 0.2,0.1 0.4,0.1 0.1,0 0.2,0 0.3,-0.1 0.1,0 0.2,-0.1 0.2,-0.2 0.1,-0.1 0.1,-0.2 0.2,-0.3 0,-0.1 0.1,-0.2 0.1,-0.4 0,-0.1 0,-0.3 0.1,-0.5 0,-0.2 0,-0.4 0,-0.6 0,-0.3 0,-0.5 0,-0.7 -0.1,0 -0.1,-0.2 -0.2,-0.4 z\"\n                id=\"path59\" /><path\n                fill=\"#0078d7\"\n                d=\"m 81.1,47.8 c -0.4,0 -1,0 -1.6,0 H 69 c -0.7,0 -1.2,0.5 -1.2,1.2 v 14.9 c 0,0.7 0.5,1.2 1.2,1.2 h 14.2 c 0.6,0 1.2,-0.5 1.2,-1.2 V 51.1 h -3.2 v -3.3 z m -8.9,3 c 0,0 0,-0.1 0,-0.1 0,0 0,-0.1 0,-0.1 0,0 0,0 0.1,-0.1 l 1.2,-0.8 c 0,0 0,0 0.1,0 0,0 0.1,0 0.1,0 0,0 0.1,0 0.1,0 0.1,0 0.1,0 0.2,0 0.1,0 0.2,0 0.3,0 0.1,0 0.1,0 0.2,0 0,0 0.1,0 0.1,0 0,0 0,0 0,0.1 v 4.7 h 0.9 c 0,0 0.1,0 0.1,0 0,0 0,0 0.1,0.1 0.1,0.1 0,0.1 0,0.1 0,0.1 0,0.1 0,0.2 0,0.1 0,0.2 0,0.2 0,0.1 0,0.1 0,0.1 0,0 0,0.1 -0.1,0.1 0,0 0,0 -0.1,0 h -3.1 c 0,0 0,0 -0.1,0 0,0 0,0 -0.1,-0.1 0,0 0,-0.1 0,-0.1 0,-0.1 0,-0.1 0,-0.2 0,-0.1 0,-0.2 0,-0.2 0,-0.1 0,-0.1 0,-0.1 0,0 0,-0.1 0.1,-0.1 0,0 0,0 0.1,0 h 1.1 v -3.7 l -0.9,0.5 c -0.1,0 -0.1,0.1 -0.2,0.1 0,0 -0.1,0 -0.1,0 0,0 0,-0.1 -0.1,-0.1 0,-0.1 0,-0.1 0,-0.3 0,-0.1 0,-0.2 0,-0.2 z m 3.5,10.7 c -0.1,0.4 -0.2,0.7 -0.4,0.9 -0.2,0.3 -0.4,0.5 -0.6,0.6 -0.3,0.1 -0.6,0.2 -1,0.2 -0.4,0 -0.7,-0.1 -1,-0.2 -0.3,-0.1 -0.5,-0.3 -0.6,-0.6 -0.1,-0.3 -0.3,-0.6 -0.3,-0.9 -0.1,-0.4 -0.1,-0.8 -0.1,-1.2 0,-0.5 0,-0.9 0.1,-1.2 0.1,-0.4 0.2,-0.7 0.4,-0.9 0.2,-0.2 0.4,-0.5 0.6,-0.6 0.3,-0.1 0.6,-0.2 1,-0.2 0.4,0 0.7,0.1 1,0.2 0.3,0.1 0.5,0.3 0.6,0.6 0.1,0.3 0.3,0.6 0.3,0.9 0.1,0.4 0.1,0.8 0.1,1.2 0,0.5 0,0.9 -0.1,1.2 z m 4.5,1.4 c 0,0.1 0,0.1 0,0.1 0,0 0,0.1 -0.1,0.1 0,0 0,0 -0.1,0 h -3.1 c 0,0 0,0 -0.1,0 0,0 0,0 -0.1,-0.1 0,0 0,-0.1 0,-0.1 0,-0.1 0,-0.1 0,-0.2 0,-0.1 0,-0.2 0,-0.2 0,-0.1 0,-0.1 0,-0.1 0,0 0,-0.1 0.1,-0.1 0,0 0,0 0.1,0 H 78 v -3.7 l -0.9,0.5 c -0.1,0 -0.1,0.1 -0.2,0.1 0,0 -0.1,0 -0.1,0 0,0 0,-0.1 -0.1,-0.1 0,-0.1 0,-0.1 0,-0.3 0,-0.1 0,-0.1 0,-0.2 0,0 0,-0.1 0,-0.1 0,0 0,-0.1 0,-0.1 0,0 0,0 0.1,-0.1 L 78,57.5 c 0,0 0,0 0.1,0 0,0 0.1,0 0.1,0 0,0 0.1,0 0.1,0 0.1,0 0.1,0 0.2,0 0.1,0 0.2,0 0.3,0 0.1,0 0.1,0 0.2,0 0,0 0.1,0 0.1,0 0,0 0,0 0,0.1 v 4.7 H 80 c 0,0 0.1,0 0.1,0 0,0 0,0 0.1,0.1 0,0 0,0.1 0,0.1 0,0.1 0,0.1 0,0.2 0,0.1 0,0.2 0,0.2 z m 0.1,-9.2 c -0.1,0.4 -0.2,0.7 -0.4,0.9 -0.2,0.3 -0.4,0.5 -0.6,0.6 -0.3,0.1 -0.6,0.2 -1,0.2 -0.4,0 -0.7,-0.1 -1,-0.2 -0.3,-0.1 -0.5,-0.3 -0.6,-0.6 -0.1,-0.2 -0.3,-0.6 -0.3,-0.9 0,-0.3 -0.1,-0.8 -0.1,-1.2 0,-0.5 0,-0.9 0.1,-1.2 0.1,-0.4 0.2,-0.7 0.4,-0.9 0.2,-0.3 0.4,-0.5 0.6,-0.6 0.3,-0.1 0.6,-0.2 1,-0.2 0.4,0 0.7,0.1 1,0.2 0.3,0.1 0.5,0.3 0.6,0.6 0.1,0.3 0.3,0.6 0.3,0.9 0.1,0.4 0.1,0.8 0.1,1.2 0,0.5 -0.1,0.9 -0.1,1.2 z\"\n                id=\"path61\" /></g></g></g></svg>\n\n\n        <svg\n          xmlns:dc=\"http://purl.org/dc/elements/1.1/\"\n          xmlns:cc=\"http://creativecommons.org/ns#\"\n          xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\n          xmlns:svg=\"http://www.w3.org/2000/svg\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n          xmlns:sodipodi=\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\"\n          xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\"\n          version=\"1.1\" id=\"az-icon-blobTrigger\"\n          x=\"0px\"\n          y=\"0px\"\n          viewBox=\"0 0 64 64\"\n          enable-background=\"new 0 0 64 64\"\n          xml:space=\"preserve\"\n          sodipodi:docname=\"blob.svg\"\n          inkscape:version=\"1.0.2 (e86c870879, 2021-01-15, custom)\"><metadata\n          id=\"metadata17\"><rdf:RDF><cc:Work\n              rdf:about=\"\"><dc:format>image/svg+xml</dc:format><dc:type\n                rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" /></cc:Work></rdf:RDF></metadata><defs\n          id=\"defs15\" /><sodipodi:namedview\n          pagecolor=\"#ffffff\"\n          bordercolor=\"#666666\"\n          borderopacity=\"1\"\n          objecttolerance=\"10\"\n          gridtolerance=\"10\"\n          guidetolerance=\"10\"\n          inkscape:pageopacity=\"0\"\n          inkscape:pageshadow=\"2\"\n          inkscape:window-width=\"2160\"\n          inkscape:window-height=\"1470\"\n          id=\"namedview13\"\n          showgrid=\"false\"\n          inkscape:zoom=\"11.484375\"\n          inkscape:cx=\"32\"\n          inkscape:cy=\"32\"\n          inkscape:window-x=\"85\"\n          inkscape:window-y=\"-11\"\n          inkscape:window-maximized=\"1\"\n          inkscape:current-layer=\"Layer_1\" />\n\n        <g\n          id=\"paths\"\n          transform=\"matrix(1.6491033,0,0,1.6491033,-93.240155,-59.965319)\"><g\n            id=\"Access_control\" /><g\n            id=\"Azure_active_directory\" /><g\n            id=\"API_Management\" /><g\n            id=\"Azure_automation\" /><g\n            id=\"Azure_SQL_database\" /><g\n            id=\"Azure_subscription\" /><g\n            id=\"Backup_service\" /><g\n            id=\"Bitbucket_code_source\" /><g\n            id=\"Azure_cache\" /><g\n            id=\"Content_delivery_network__x28_CDN_x29_\" /><g\n            id=\"Cloud_service\" /><g\n            id=\"CodePlex\" /><g\n            id=\"Dropbox_code_source\" /><g\n            id=\"Express_route\" /><g\n            id=\"Git_repository\" /><g\n            id=\"GitHub_code\" /><g\n            id=\"HD_Insight\" /><g\n            id=\"Health_monitoring\" /><g\n            id=\"Healthy\" /><g\n            id=\"BizTalk_hybrid_connection\" /><g\n            id=\"Hybrid_connection_manager_for_BizTalk_hybrid_connection\" /><g\n            id=\"Hyper-V_recovery_manager\" /><g\n            id=\"Machine_learning\" /><g\n            id=\"Media_services\" /><g\n            id=\"Microsoft_account\" /><g\n            id=\"Mobile_services\" /><g\n            id=\"Multi-factor_authentication\" /><g\n            id=\"MySQL_database\" /><g\n            id=\"Notification_hub\" /><g\n            id=\"Notification_topic\" /><g\n            id=\"Cloud_Office_365\" /><g\n            id=\"Office_365\" /><g\n            id=\"OS_image\" /><g\n            id=\"Remote_app\" /><g\n            id=\"Task_scheduler\" /><g\n            id=\"Azure_SDK\" /><g\n            id=\"Service_bus\" /><g\n            id=\"Service_bus_queue\" /><g\n            id=\"Service_bus_relay\" /><g\n            id=\"Service_bus_topic\" /><g\n            id=\"Service_endpoint\" /><g\n            id=\"Custom_create\" /><g\n            id=\"SQL_data_sync\" /><g\n            id=\"SQL_reporting\" /><g\n            id=\"Startup_task\" /><g\n            id=\"Windows_Azure_storage\" /><g\n            id=\"Storage_blob\"><g\n              id=\"g63\"><path\n                fill=\"#0078d7\"\n                d=\"M 85.7,39.7 H 66.4 l -9.6,16.7 9.6,16.7 h 19.3 l 9.6,-16.7 z m 0.1,24.2 c 0,1.4 -1.2,2.6 -2.6,2.6 H 69 c -1.4,0 -2.6,-1.2 -2.6,-2.6 V 49 c 0,-1.4 1.2,-2.6 2.6,-2.6 h 10.5 c 1,0 2,0 2,0 h 0.3 l 4,4 v 2.1 z\"\n                id=\"path55\" /><path\n                fill=\"#0078d7\"\n                d=\"m 74.6,59.1 c 0,-0.2 -0.1,-0.3 -0.1,-0.4 0,-0.1 -0.1,-0.2 -0.2,-0.3 -0.1,-0.1 -0.1,-0.1 -0.2,-0.1 -0.1,0 -0.2,0 -0.3,0 -0.2,0 -0.3,0 -0.4,0.1 -0.1,0.1 -0.2,0.2 -0.3,0.4 C 73,59 73,59.2 73,59.4 c 0,0.2 0,0.5 0,0.9 0,0.4 0,0.7 0,1 0,0.3 0.1,0.5 0.2,0.6 0.1,0.2 0.2,0.3 0.3,0.3 0.1,0.1 0.2,0.1 0.4,0.1 0.1,0 0.2,0 0.3,-0.1 0.1,0 0.2,-0.1 0.2,-0.2 0.1,-0.1 0.1,-0.2 0.2,-0.3 0,-0.1 0.1,-0.2 0.1,-0.4 0,-0.1 0,-0.3 0.1,-0.5 0,-0.2 0,-0.4 0,-0.6 0,-0.3 0,-0.5 0,-0.7 -0.2,-0.1 -0.2,-0.2 -0.2,-0.4 z\"\n                id=\"path57\" /><path\n                fill=\"#0078d7\"\n                d=\"M 79.1,51.3 C 79.1,51.1 79,51 79,50.9 c 0,-0.1 -0.1,-0.2 -0.2,-0.3 -0.1,-0.1 -0.1,-0.1 -0.2,-0.1 -0.1,0 -0.2,0 -0.3,0 -0.2,0 -0.3,0 -0.4,0.1 -0.1,0.1 -0.2,0.2 -0.3,0.4 -0.1,0.2 -0.1,0.4 -0.1,0.6 0,0.2 0,0.5 0,0.9 0,0.4 0,0.7 0,1 0,0.3 0.1,0.5 0.2,0.6 0.1,0.2 0.2,0.3 0.3,0.3 0.1,0.1 0.2,0.1 0.4,0.1 0.1,0 0.2,0 0.3,-0.1 0.1,0 0.2,-0.1 0.2,-0.2 0.1,-0.1 0.1,-0.2 0.2,-0.3 0,-0.1 0.1,-0.2 0.1,-0.4 0,-0.1 0,-0.3 0.1,-0.5 0,-0.2 0,-0.4 0,-0.6 0,-0.3 0,-0.5 0,-0.7 -0.1,0 -0.1,-0.2 -0.2,-0.4 z\"\n                id=\"path59\" /><path\n                fill=\"#0078d7\"\n                d=\"m 81.1,47.8 c -0.4,0 -1,0 -1.6,0 H 69 c -0.7,0 -1.2,0.5 -1.2,1.2 v 14.9 c 0,0.7 0.5,1.2 1.2,1.2 h 14.2 c 0.6,0 1.2,-0.5 1.2,-1.2 V 51.1 h -3.2 v -3.3 z m -8.9,3 c 0,0 0,-0.1 0,-0.1 0,0 0,-0.1 0,-0.1 0,0 0,0 0.1,-0.1 l 1.2,-0.8 c 0,0 0,0 0.1,0 0,0 0.1,0 0.1,0 0,0 0.1,0 0.1,0 0.1,0 0.1,0 0.2,0 0.1,0 0.2,0 0.3,0 0.1,0 0.1,0 0.2,0 0,0 0.1,0 0.1,0 0,0 0,0 0,0.1 v 4.7 h 0.9 c 0,0 0.1,0 0.1,0 0,0 0,0 0.1,0.1 0.1,0.1 0,0.1 0,0.1 0,0.1 0,0.1 0,0.2 0,0.1 0,0.2 0,0.2 0,0.1 0,0.1 0,0.1 0,0 0,0.1 -0.1,0.1 0,0 0,0 -0.1,0 h -3.1 c 0,0 0,0 -0.1,0 0,0 0,0 -0.1,-0.1 0,0 0,-0.1 0,-0.1 0,-0.1 0,-0.1 0,-0.2 0,-0.1 0,-0.2 0,-0.2 0,-0.1 0,-0.1 0,-0.1 0,0 0,-0.1 0.1,-0.1 0,0 0,0 0.1,0 h 1.1 v -3.7 l -0.9,0.5 c -0.1,0 -0.1,0.1 -0.2,0.1 0,0 -0.1,0 -0.1,0 0,0 0,-0.1 -0.1,-0.1 0,-0.1 0,-0.1 0,-0.3 0,-0.1 0,-0.2 0,-0.2 z m 3.5,10.7 c -0.1,0.4 -0.2,0.7 -0.4,0.9 -0.2,0.3 -0.4,0.5 -0.6,0.6 -0.3,0.1 -0.6,0.2 -1,0.2 -0.4,0 -0.7,-0.1 -1,-0.2 -0.3,-0.1 -0.5,-0.3 -0.6,-0.6 -0.1,-0.3 -0.3,-0.6 -0.3,-0.9 -0.1,-0.4 -0.1,-0.8 -0.1,-1.2 0,-0.5 0,-0.9 0.1,-1.2 0.1,-0.4 0.2,-0.7 0.4,-0.9 0.2,-0.2 0.4,-0.5 0.6,-0.6 0.3,-0.1 0.6,-0.2 1,-0.2 0.4,0 0.7,0.1 1,0.2 0.3,0.1 0.5,0.3 0.6,0.6 0.1,0.3 0.3,0.6 0.3,0.9 0.1,0.4 0.1,0.8 0.1,1.2 0,0.5 0,0.9 -0.1,1.2 z m 4.5,1.4 c 0,0.1 0,0.1 0,0.1 0,0 0,0.1 -0.1,0.1 0,0 0,0 -0.1,0 h -3.1 c 0,0 0,0 -0.1,0 0,0 0,0 -0.1,-0.1 0,0 0,-0.1 0,-0.1 0,-0.1 0,-0.1 0,-0.2 0,-0.1 0,-0.2 0,-0.2 0,-0.1 0,-0.1 0,-0.1 0,0 0,-0.1 0.1,-0.1 0,0 0,0 0.1,0 H 78 v -3.7 l -0.9,0.5 c -0.1,0 -0.1,0.1 -0.2,0.1 0,0 -0.1,0 -0.1,0 0,0 0,-0.1 -0.1,-0.1 0,-0.1 0,-0.1 0,-0.3 0,-0.1 0,-0.1 0,-0.2 0,0 0,-0.1 0,-0.1 0,0 0,-0.1 0,-0.1 0,0 0,0 0.1,-0.1 L 78,57.5 c 0,0 0,0 0.1,0 0,0 0.1,0 0.1,0 0,0 0.1,0 0.1,0 0.1,0 0.1,0 0.2,0 0.1,0 0.2,0 0.3,0 0.1,0 0.1,0 0.2,0 0,0 0.1,0 0.1,0 0,0 0,0 0,0.1 v 4.7 H 80 c 0,0 0.1,0 0.1,0 0,0 0,0 0.1,0.1 0,0 0,0.1 0,0.1 0,0.1 0,0.1 0,0.2 0,0.1 0,0.2 0,0.2 z m 0.1,-9.2 c -0.1,0.4 -0.2,0.7 -0.4,0.9 -0.2,0.3 -0.4,0.5 -0.6,0.6 -0.3,0.1 -0.6,0.2 -1,0.2 -0.4,0 -0.7,-0.1 -1,-0.2 -0.3,-0.1 -0.5,-0.3 -0.6,-0.6 -0.1,-0.2 -0.3,-0.6 -0.3,-0.9 0,-0.3 -0.1,-0.8 -0.1,-1.2 0,-0.5 0,-0.9 0.1,-1.2 0.1,-0.4 0.2,-0.7 0.4,-0.9 0.2,-0.3 0.4,-0.5 0.6,-0.6 0.3,-0.1 0.6,-0.2 1,-0.2 0.4,0 0.7,0.1 1,0.2 0.3,0.1 0.5,0.3 0.6,0.6 0.1,0.3 0.3,0.6 0.3,0.9 0.1,0.4 0.1,0.8 0.1,1.2 0,0.5 -0.1,0.9 -0.1,1.2 z\"\n                id=\"path61\" /></g></g></g></svg>\n\n\n        <!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\n        <svg version=\"1.1\" id=\"az-icon-cosmosDB\"\n          width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" enable-background=\"new 0 0 24 24\" xml:space=\"preserve\">\n        <path fill=\"#B8D432\" d=\"M8.147,19.01c1.73-1.219,3.716-2.861,5.859-5.004c2.201-2.201,3.819-4.167,5.008-5.853\n          C17.654,5.678,15.024,4,12,4c-4.418,0-8,3.582-8,8C4,15.021,5.675,17.649,8.147,19.01z\"/>\n        <path fill=\"#B8D432\" d=\"M16.127,16.127c-1.43,1.429-2.888,2.725-4.318,3.863C11.873,19.992,11.936,20,12,20c4.418,0,8-3.582,8-8\n          c0-0.065-0.008-0.127-0.01-0.191C18.82,13.276,17.513,14.741,16.127,16.127z\"/>\n        <path fill=\"#0078D7\" d=\"M23.417,0.583c-0.342-0.342-0.839-0.504-1.461-0.504c-1.703,0-4.348,1.225-7.312,3.328\n          c0.389,0.121,0.768,0.262,1.133,0.433c2.682-1.821,4.904-2.761,6.18-2.761c0.247,0,0.579,0.037,0.754,0.211\n          c0.947,0.947-0.966,6.391-7.997,13.422c-5.389,5.389-10.452,8.208-12.668,8.208c-0.248,0-0.579-0.037-0.754-0.211\n          c-0.626-0.626,0.011-3.228,2.542-6.949c-0.167-0.36-0.306-0.734-0.425-1.118c-2.872,4.047-4.1,7.497-2.824,8.774\n          c0.342,0.342,0.839,0.504,1.461,0.504c2.819,0,8.21-3.337,13.375-8.501C21.725,9.114,25.305,2.472,23.417,0.583z\"/>\n        <path fill=\"#0078D7\" d=\"M4,0c0,2.209-1.791,4-4,4c2.209,0,4,1.791,4,4c0-2.209,1.791-4,4-4C5.791,4,4,2.209,4,0L4,0z\"/>\n        <path fill=\"#0078D7\" d=\"M21,18c0,1.657-1.343,3-3,3c1.657,0,3,1.343,3,3c0-1.657,1.343-3,3-3C22.343,21,21,19.657,21,18L21,18z\"/>\n        <path fill=\"#59B4D9\" d=\"M8.639,13.194H8.312c0.041-0.163,0.061-0.327,0.061-0.51c0-1.205-0.98-2.184-2.184-2.184H4.146\n          C4.053,10.986,4,11.487,4,12c0,2.164,0.863,4.123,2.258,5.563h2.381c1.205,0,2.184-0.98,2.184-2.184\n          C10.823,14.174,9.843,13.194,8.639,13.194z\"/>\n        <path fill=\"#59B4D9\" d=\"M14.001,14.011c0.002-0.002,0.003-0.003,0.005-0.005c0.296-0.296,0.572-0.584,0.847-0.871\n          C14.48,13.323,14.178,13.631,14.001,14.011z\"/>\n        <path fill=\"#59B4D9\" d=\"M16.127,16.127c-0.936,0.936-1.885,1.815-2.831,2.632c0.336,0.333,0.797,0.54,1.304,0.54h0.665\n          c2.519-1.129,4.346-3.519,4.676-6.37H19.07C18.147,14.017,17.159,15.094,16.127,16.127z\"/>\n        <path fill=\"#59B4D9\" d=\"M12.661,11.234h3.926c0.958-1.107,1.759-2.134,2.422-3.073c-0.799-1.452-2.032-2.633-3.531-3.358h-0.449\n          c-0.817,0-1.47,0.653-1.47,1.47c0,0.122,0.02,0.265,0.061,0.388h-0.939c-1.286,0-2.307,1.021-2.307,2.286\n          S11.395,11.234,12.661,11.234z\"/>\n        </svg>\n\n\n        <!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\n        <svg version=\"1.1\" id=\"az-icon-cosmosDBTrigger\"\n          width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" enable-background=\"new 0 0 24 24\" xml:space=\"preserve\">\n        <path fill=\"#B8D432\" d=\"M8.147,19.01c1.73-1.219,3.716-2.861,5.859-5.004c2.201-2.201,3.819-4.167,5.008-5.853\n          C17.654,5.678,15.024,4,12,4c-4.418,0-8,3.582-8,8C4,15.021,5.675,17.649,8.147,19.01z\"/>\n        <path fill=\"#B8D432\" d=\"M16.127,16.127c-1.43,1.429-2.888,2.725-4.318,3.863C11.873,19.992,11.936,20,12,20c4.418,0,8-3.582,8-8\n          c0-0.065-0.008-0.127-0.01-0.191C18.82,13.276,17.513,14.741,16.127,16.127z\"/>\n        <path fill=\"#0078D7\" d=\"M23.417,0.583c-0.342-0.342-0.839-0.504-1.461-0.504c-1.703,0-4.348,1.225-7.312,3.328\n          c0.389,0.121,0.768,0.262,1.133,0.433c2.682-1.821,4.904-2.761,6.18-2.761c0.247,0,0.579,0.037,0.754,0.211\n          c0.947,0.947-0.966,6.391-7.997,13.422c-5.389,5.389-10.452,8.208-12.668,8.208c-0.248,0-0.579-0.037-0.754-0.211\n          c-0.626-0.626,0.011-3.228,2.542-6.949c-0.167-0.36-0.306-0.734-0.425-1.118c-2.872,4.047-4.1,7.497-2.824,8.774\n          c0.342,0.342,0.839,0.504,1.461,0.504c2.819,0,8.21-3.337,13.375-8.501C21.725,9.114,25.305,2.472,23.417,0.583z\"/>\n        <path fill=\"#0078D7\" d=\"M4,0c0,2.209-1.791,4-4,4c2.209,0,4,1.791,4,4c0-2.209,1.791-4,4-4C5.791,4,4,2.209,4,0L4,0z\"/>\n        <path fill=\"#0078D7\" d=\"M21,18c0,1.657-1.343,3-3,3c1.657,0,3,1.343,3,3c0-1.657,1.343-3,3-3C22.343,21,21,19.657,21,18L21,18z\"/>\n        <path fill=\"#59B4D9\" d=\"M8.639,13.194H8.312c0.041-0.163,0.061-0.327,0.061-0.51c0-1.205-0.98-2.184-2.184-2.184H4.146\n          C4.053,10.986,4,11.487,4,12c0,2.164,0.863,4.123,2.258,5.563h2.381c1.205,0,2.184-0.98,2.184-2.184\n          C10.823,14.174,9.843,13.194,8.639,13.194z\"/>\n        <path fill=\"#59B4D9\" d=\"M14.001,14.011c0.002-0.002,0.003-0.003,0.005-0.005c0.296-0.296,0.572-0.584,0.847-0.871\n          C14.48,13.323,14.178,13.631,14.001,14.011z\"/>\n        <path fill=\"#59B4D9\" d=\"M16.127,16.127c-0.936,0.936-1.885,1.815-2.831,2.632c0.336,0.333,0.797,0.54,1.304,0.54h0.665\n          c2.519-1.129,4.346-3.519,4.676-6.37H19.07C18.147,14.017,17.159,15.094,16.127,16.127z\"/>\n        <path fill=\"#59B4D9\" d=\"M12.661,11.234h3.926c0.958-1.107,1.759-2.134,2.422-3.073c-0.799-1.452-2.032-2.633-3.531-3.358h-0.449\n          c-0.817,0-1.47,0.653-1.47,1.47c0,0.122,0.02,0.265,0.061,0.388h-0.939c-1.286,0-2.307,1.021-2.307,2.286\n          S11.395,11.234,12.661,11.234z\"/>\n        </svg>\n\n\n        <!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\n        <svg version=\"1.1\" id=\"az-icon-entity\"\n          viewBox=\"0 0 64 64\" enable-background=\"new 0 0 64 64\" xml:space=\"preserve\">\n        <g>\n          <path fill=\"#3999C6\" d=\"M63.6,32.4c0.6-0.6,0.5-1.7,0-2.3L60.5,27L46.7,13.6c-0.6-0.6-1.5-0.6-2.2,0l0,0c-0.6,0.6-0.8,1.7,0,2.3\n            L59,30.1c0.6,0.6,0.6,1.7,0,2.3L44.2,47.1c-0.6,0.6-0.6,1.7,0,2.3l0,0c0.6,0.6,1.7,0.5,2.2,0l13.7-13.6c0,0,0,0,0.1-0.1L63.6,32.4z\n            \"/>\n          <path fill=\"#3999C6\" d=\"M0.4,32.4c-0.6-0.6-0.5-1.7,0-2.3L3.5,27l13.8-13.4c0.6-0.6,1.5-0.6,2.2,0l0,0c0.6,0.6,0.8,1.7,0,2.3\n            L5.3,30.1c-0.6,0.6-0.6,1.7,0,2.3l14.5,14.7c0.6,0.6,0.6,1.7,0,2.3l0,0c-0.6,0.6-1.7,0.5-2.2,0L3.6,36c0,0,0,0-0.1-0.1L0.4,32.4z\"\n            />\n          <polygon fill=\"#FCD116\" points=\"47.6,2.5 28.1,2.5 17.6,32.1 30.4,32.2 20.4,61.5 48,22.4 34.6,22.4 \t\"/>\n          <polygon opacity=\"0.3\" fill=\"#FF8C00\" enable-background=\"new    \" points=\"34.6,22.4 47.6,2.5 37.4,2.5 26.6,27.1 39.4,27.2 \n            20.4,61.5 48,22.4 \t\"/>\n        </g>\n        </svg>\n\n\n        <!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\n        <svg version=\"1.1\" id=\"az-icon-entityTrigger\"\n          viewBox=\"0 0 64 64\" enable-background=\"new 0 0 64 64\" xml:space=\"preserve\">\n        <g>\n          <path fill=\"#3999C6\" d=\"M63.6,32.4c0.6-0.6,0.5-1.7,0-2.3L60.5,27L46.7,13.6c-0.6-0.6-1.5-0.6-2.2,0l0,0c-0.6,0.6-0.8,1.7,0,2.3\n            L59,30.1c0.6,0.6,0.6,1.7,0,2.3L44.2,47.1c-0.6,0.6-0.6,1.7,0,2.3l0,0c0.6,0.6,1.7,0.5,2.2,0l13.7-13.6c0,0,0,0,0.1-0.1L63.6,32.4z\n            \"/>\n          <path fill=\"#3999C6\" d=\"M0.4,32.4c-0.6-0.6-0.5-1.7,0-2.3L3.5,27l13.8-13.4c0.6-0.6,1.5-0.6,2.2,0l0,0c0.6,0.6,0.8,1.7,0,2.3\n            L5.3,30.1c-0.6,0.6-0.6,1.7,0,2.3l14.5,14.7c0.6,0.6,0.6,1.7,0,2.3l0,0c-0.6,0.6-1.7,0.5-2.2,0L3.6,36c0,0,0,0-0.1-0.1L0.4,32.4z\"\n            />\n          <polygon fill=\"#FCD116\" points=\"47.6,2.5 28.1,2.5 17.6,32.1 30.4,32.2 20.4,61.5 48,22.4 34.6,22.4 \t\"/>\n          <polygon opacity=\"0.3\" fill=\"#FF8C00\" enable-background=\"new    \" points=\"34.6,22.4 47.6,2.5 37.4,2.5 26.6,27.1 39.4,27.2 \n            20.4,61.5 48,22.4 \t\"/>\n        </g>\n        </svg>\n\n\n        <!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\n        <svg version=\"1.1\" id=\"az-icon-eventGrid\"\n          width=\"50px\" height=\"50px\" viewBox=\"0 0 50 50\" enable-background=\"new 0 0 50 50\" xml:space=\"preserve\">\n        <polygon fill=\"#0072C6\" points=\"39,22 39,20 24.004,20 23.996,19.996 16.991,27 11.82,27 23.82,15 32,15 32,13 23,13 23,13.005 \n          22.992,13 8.991,27 7,27 7,29 13,29 20,35.999 20,35.999 20,36 37,36 37,34 20.828,34 15.829,29 28,29 28,27 19.82,27 24.82,22 \"/>\n        <circle fill=\"#59B4D9\" cx=\"30\" cy=\"28\" r=\"2.9\"/>\n        <ellipse transform=\"matrix(0.7071 -0.7071 0.7071 0.7071 -0.2338 27.4349)\" fill=\"#59B4D9\" cx=\"33\" cy=\"14\" rx=\"2.9\" ry=\"2.9\"/>\n        <ellipse transform=\"matrix(0.7071 -0.7071 0.7071 0.7071 -3.1333 34.4349)\" fill=\"#B8D432\" cx=\"40\" cy=\"21\" rx=\"2.9\" ry=\"2.9\"/>\n        <ellipse transform=\"matrix(0.7071 -0.7071 0.7071 0.7071 -13.9114 36.4141)\" fill=\"#B8D432\" cx=\"37\" cy=\"35\" rx=\"2.9\" ry=\"2.9\"/>\n        <path fill=\"#0072C6\" d=\"M0.801,0C0.3,0,0,0.3,0,0.8v10c0,0.5,0.3,0.8,0.801,0.8h5.008c0.501,0,0.801-0.3,0.801-0.8V6.7H43.37v4.2\n          c0,0.5,0.3,0.8,1.002,0.8h4.808c0.501,0,0.801-0.3,0.801-0.8v-5v-5c0.1-0.6-0.2-0.9-0.701-0.9l0,0H0.801z\"/>\n        <path fill=\"#0072C6\" d=\"M49.2,50c0.5,0,0.8-0.3,0.8-0.8v-9.8c0-0.5-0.3-0.8-0.8-0.8h-4.8c-0.5,0-0.8,0.3-0.8,0.8v4H6.7v-4.2\n          c0-0.5-0.3-0.8-1-0.8H0.8c-0.5,0-0.8,0.3-0.8,1v9.8C0,49.7,0.3,50,0.8,50H49.2z\"/>\n        </svg>\n\n\n        <!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\n        <svg version=\"1.1\" id=\"az-icon-eventGridTrigger\"\n          width=\"50px\" height=\"50px\" viewBox=\"0 0 50 50\" enable-background=\"new 0 0 50 50\" xml:space=\"preserve\">\n        <polygon fill=\"#0072C6\" points=\"39,22 39,20 24.004,20 23.996,19.996 16.991,27 11.82,27 23.82,15 32,15 32,13 23,13 23,13.005 \n          22.992,13 8.991,27 7,27 7,29 13,29 20,35.999 20,35.999 20,36 37,36 37,34 20.828,34 15.829,29 28,29 28,27 19.82,27 24.82,22 \"/>\n        <circle fill=\"#59B4D9\" cx=\"30\" cy=\"28\" r=\"2.9\"/>\n        <ellipse transform=\"matrix(0.7071 -0.7071 0.7071 0.7071 -0.2338 27.4349)\" fill=\"#59B4D9\" cx=\"33\" cy=\"14\" rx=\"2.9\" ry=\"2.9\"/>\n        <ellipse transform=\"matrix(0.7071 -0.7071 0.7071 0.7071 -3.1333 34.4349)\" fill=\"#B8D432\" cx=\"40\" cy=\"21\" rx=\"2.9\" ry=\"2.9\"/>\n        <ellipse transform=\"matrix(0.7071 -0.7071 0.7071 0.7071 -13.9114 36.4141)\" fill=\"#B8D432\" cx=\"37\" cy=\"35\" rx=\"2.9\" ry=\"2.9\"/>\n        <path fill=\"#0072C6\" d=\"M0.801,0C0.3,0,0,0.3,0,0.8v10c0,0.5,0.3,0.8,0.801,0.8h5.008c0.501,0,0.801-0.3,0.801-0.8V6.7H43.37v4.2\n          c0,0.5,0.3,0.8,1.002,0.8h4.808c0.501,0,0.801-0.3,0.801-0.8v-5v-5c0.1-0.6-0.2-0.9-0.701-0.9l0,0H0.801z\"/>\n        <path fill=\"#0072C6\" d=\"M49.2,50c0.5,0,0.8-0.3,0.8-0.8v-9.8c0-0.5-0.3-0.8-0.8-0.8h-4.8c-0.5,0-0.8,0.3-0.8,0.8v4H6.7v-4.2\n          c0-0.5-0.3-0.8-1-0.8H0.8c-0.5,0-0.8,0.3-0.8,1v9.8C0,49.7,0.3,50,0.8,50H49.2z\"/>\n        </svg>\n\n\n        <svg\n          xmlns:dc=\"http://purl.org/dc/elements/1.1/\"\n          xmlns:cc=\"http://creativecommons.org/ns#\"\n          xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\n          xmlns:svg=\"http://www.w3.org/2000/svg\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n          xmlns:sodipodi=\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\"\n          xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\"\n          version=\"1.1\" id=\"az-icon-eventHub\"\n          x=\"0px\"\n          y=\"0px\"\n          viewBox=\"-163 237 32 32\"\n          enable-background=\"new -163 237 32 32\"\n          xml:space=\"preserve\"\n          sodipodi:docname=\"eventHub.svg\"\n          inkscape:version=\"1.0.2 (e86c870879, 2021-01-15, custom)\"><metadata\n          id=\"metadata23\"><rdf:RDF><cc:Work\n              rdf:about=\"\"><dc:format>image/svg+xml</dc:format><dc:type\n                rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" /></cc:Work></rdf:RDF></metadata><defs\n          id=\"defs21\" /><sodipodi:namedview\n          pagecolor=\"#ffffff\"\n          bordercolor=\"#666666\"\n          borderopacity=\"1\"\n          objecttolerance=\"10\"\n          gridtolerance=\"10\"\n          guidetolerance=\"10\"\n          inkscape:pageopacity=\"0\"\n          inkscape:pageshadow=\"2\"\n          inkscape:window-width=\"2160\"\n          inkscape:window-height=\"1470\"\n          id=\"namedview19\"\n          showgrid=\"false\"\n          inkscape:zoom=\"4.71875\"\n          inkscape:cx=\"16\"\n          inkscape:cy=\"16\"\n          inkscape:window-x=\"85\"\n          inkscape:window-y=\"-11\"\n          inkscape:window-maximized=\"1\"\n          inkscape:current-layer=\"Layer_1\" />\n        <path\n          fill=\"#B8D432\"\n          d=\"M-144,251.5c0,0.3-0.2,0.5-0.5,0.5h-3.9c-0.3,0-0.5-0.2-0.5-0.5v-2.9c0-0.3,0.2-0.5,0.5-0.5h3.9  c0.3,0,0.5,0.2,0.5,0.5V251.5z\"\n          id=\"path2\" />\n        <path\n          fill=\"#B8D432\"\n          d=\"M-137,254.5c0,0.3-0.2,0.5-0.5,0.5h-3.9c-0.3,0-0.5-0.2-0.5-0.5v-2.9c0-0.3,0.2-0.5,0.5-0.5h3.9  c0.3,0,0.5,0.2,0.5,0.5V254.5z\"\n          id=\"path4\" />\n        <path\n          fill=\"#B8D432\"\n          d=\"M-144,257.5c0,0.3-0.2,0.5-0.5,0.5h-3.9c-0.3,0-0.5-0.2-0.5-0.5v-2.9c0-0.3,0.2-0.5,0.5-0.5h3.9  c0.3,0,0.5,0.2,0.5,0.5V257.5z\"\n          id=\"path6\" />\n        <path\n          fill=\"#B8D432\"\n          d=\"M-151,248.5c0,0.3-0.2,0.5-0.5,0.5h-4c-0.3,0-0.5-0.2-0.5-0.5v-3c0-0.3,0.2-0.5,0.5-0.5h3.9  c0.4,0,0.6,0.2,0.6,0.5V248.5z\"\n          id=\"path8\" />\n        <path\n          fill=\"#0072C6\"\n          d=\"M-133.5,238L-133.5,238h-3h-22.1h-1.9h-1c-0.3,0-0.5,0.2-0.5,0.5v6c0,0.3,0.2,0.5,0.5,0.5h3  c0.3,0,0.5-0.2,0.5-0.5V242h21v2.5c0,0.3,0.2,0.5,0.6,0.5h2.9c0.3,0,0.5-0.2,0.5-0.5v-3v-3C-133,238.2-133.2,238-133.5,238z\"\n          id=\"path10\" />\n        <path\n          fill=\"#0072C6\"\n          d=\"M-133.5,261.1h-2.9c-0.3,0-0.5,0.2-0.5,0.5v2.4H-158v-2.5c0-0.3-0.2-0.5-0.6-0.5h-2.9  c-0.3,0-0.5,0.2-0.5,0.6v5.9c0,0.3,0.2,0.5,0.5,0.5h1h2h22.1h2.8h0.1c0.3,0,0.5-0.2,0.5-0.5v-5.9  C-133,261.3-133.2,261.1-133.5,261.1z\"\n          id=\"path12\" />\n        <path\n          fill=\"#B8D432\"\n          d=\"M-151,254.5c0,0.3-0.2,0.5-0.5,0.5h-4c-0.3,0-0.5-0.2-0.5-0.5v-3c0-0.3,0.2-0.5,0.5-0.5h3.9  c0.4,0,0.6,0.2,0.6,0.5V254.5z\"\n          id=\"path14\" />\n        <path\n          fill=\"#B8D432\"\n          d=\"M-151,260.5c0,0.3-0.2,0.5-0.5,0.5h-4c-0.3,0-0.5-0.2-0.5-0.5v-3c0-0.3,0.2-0.5,0.5-0.5h3.9  c0.4,0,0.6,0.2,0.6,0.5V260.5z\"\n          id=\"path16\" />\n        </svg>\n\n\n        <!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\n        <svg version=\"1.1\" id=\"az-icon-function\"\n          viewBox=\"0 0 64 64\" enable-background=\"new 0 0 64 64\" xml:space=\"preserve\">\n        <g>\n          <path fill=\"#3999C6\" d=\"M63.6,32.4c0.6-0.6,0.5-1.7,0-2.3L60.5,27L46.7,13.6c-0.6-0.6-1.5-0.6-2.2,0l0,0c-0.6,0.6-0.8,1.7,0,2.3\n            L59,30.1c0.6,0.6,0.6,1.7,0,2.3L44.2,47.1c-0.6,0.6-0.6,1.7,0,2.3l0,0c0.6,0.6,1.7,0.5,2.2,0l13.7-13.6c0,0,0,0,0.1-0.1L63.6,32.4z\n            \"/>\n          <path fill=\"#3999C6\" d=\"M0.4,32.4c-0.6-0.6-0.5-1.7,0-2.3L3.5,27l13.8-13.4c0.6-0.6,1.5-0.6,2.2,0l0,0c0.6,0.6,0.8,1.7,0,2.3\n            L5.3,30.1c-0.6,0.6-0.6,1.7,0,2.3l14.5,14.7c0.6,0.6,0.6,1.7,0,2.3l0,0c-0.6,0.6-1.7,0.5-2.2,0L3.6,36c0,0,0,0-0.1-0.1L0.4,32.4z\"\n            />\n          <polygon fill=\"#FCD116\" points=\"47.6,2.5 28.1,2.5 17.6,32.1 30.4,32.2 20.4,61.5 48,22.4 34.6,22.4 \t\"/>\n          <polygon opacity=\"0.3\" fill=\"#FF8C00\" enable-background=\"new    \" points=\"34.6,22.4 47.6,2.5 37.4,2.5 26.6,27.1 39.4,27.2 \n            20.4,61.5 48,22.4 \t\"/>\n        </g>\n        </svg>\n\n        <!-- Please let the Flow team know if this changes. It needs to also be changed in the PowerApps-Portal for DLP Policies (/src/Portal/Content/Images/Connections/http-request-received-connector-icon.svg) -->\n        <svg id=\"az-icon-http\" enable-background=\"new 0 0 32 32\" version=\"1.1\" viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\">\n        <path fill=\"#009DA5\" d=\"m0 0h32v32h-32z\"/>\n        <g fill=\"#fff\">\n          <path d=\"m13.854 21.164h4.218v1.891h-4.218z\"/>\n          <path d=\"m12.036 21.673h1.527v1.382h-1.527z\"/>\n          <path d=\"m18.436 21.673h1.527v1.382h-1.527z\"/>\n          <path d=\"M15.309 23.418h1.382v.582h-1.382z\"/>\n          <path d=\"M21.218 19.782l-1.236-1.236h3.782v-.8h-3.782l1.236-1.164h-1.018l-1.673 1.527 1.745 1.673z\"/>\n          <path d=\"M15.273 20.873h1.382v-1.018c.8-.073 1.527-.364 2.182-.727l-.727-.727-.145-.145-.655.218c.364-.582.655-1.455.8-2.4.873-.145 1.745-.291 2.327-.582-.073.218-.145.364-.218.509h1.309c.218-.655.364-1.382.364-2.109 0-1.091-.291-2.109-.8-2.982-1.018-1.745-2.909-2.909-5.091-2.909-2.182 0-4.073 1.164-5.091 2.909-.509.873-.8 1.891-.8 2.982 0 3.055 2.327 5.527 5.236 5.891v1.091zm2.4-5.164c-.509.073-1.091.073-1.745.073-.655 0-1.236 0-1.745-.073-.073-.582-.145-1.164-.145-1.745 0-.436 0-.873.073-1.309.582.073 1.164.145 1.818.145.582 0 1.236-.073 1.818-.145.073.436.073.8.073 1.309 0 .655-.073 1.236-.145 1.745zm2.618-3.782c.291.582.436 1.309.436 2.036l-.073 1.018c-.509.291-1.309.582-2.473.727.073-.582.073-1.164.073-1.745 0-.436 0-.945-.073-1.382.873-.145 1.6-.364 2.109-.655zm-.218-.364c-.436.218-1.091.436-1.891.582-.145-1.164-.436-2.109-.873-2.764 1.164.364 2.182 1.091 2.764 2.182zm-4.145-2.4c.218 0 .436 0 .655.073.436.509.873 1.6 1.091 2.982-.509.073-1.091.145-1.745.145-.655 0-1.236-.073-1.745-.145.218-1.382.582-2.473 1.091-2.982.218-.073.436-.073.655-.073zm-1.309.218c-.364.655-.727 1.6-.873 2.764-.8-.145-1.455-.364-1.891-.582.582-1.091 1.527-1.818 2.764-2.182zm-3.491 4.582c0-.727.145-1.382.436-2.036.509.291 1.236.509 2.109.655-.073.436-.073.873-.073 1.382l.073 1.745c-1.164-.145-1.964-.436-2.473-.727l-.073-1.018zm.291 1.6c.582.291 1.455.436 2.327.582.145.945.436 1.818.8 2.4-1.455-.436-2.618-1.527-3.127-2.982zm2.836.655c.582.073 1.091.073 1.673.073.582 0 1.091 0 1.673-.073-.218 1.164-.582 2.036-.945 2.473l-.655.073c-.218 0-.436 0-.655-.073-.509-.509-.873-1.309-1.091-2.473z\"/>\n        </g>\n        </svg>\n\n        <svg id=\"az-icon-httpTrigger\" enable-background=\"new 0 0 32 32\" version=\"1.1\" viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\">\n        <path d=\"m0 0h32v32h-32z\" fill=\"#009da5\"/>\n        <g fill=\"#fff\">\n          <path d=\"m13.9 21.164h4.218v1.891h-4.218z\"/>\n          <path d=\"m18.409 21.673h1.527v1.382h-1.527z\"/>\n          <path d=\"m12.009 21.673h1.527v1.382h-1.527z\"/>\n          <path d=\"M15.282 23.418h1.382v.582h-1.382z\"/>\n          <path d=\"M24.882 18.109l-1.673-1.527h-1.018l1.236 1.164h-3.709v.8h3.709l-1.164 1.236h.945z\"/>\n          <path d=\"M15.282 20.873h1.382v-1.018c.8-.073 1.527-.364 2.255-.727v-1.382c-.436.364-1.018.655-1.6.8.364-.582.655-1.455.8-2.4.873-.145 1.745-.291 2.327-.582-.218.582-.509 1.018-.873 1.455h1.455c.582-.873.873-1.964.873-3.127 0-1.091-.291-2.109-.8-2.982-1.018-1.745-2.909-2.909-5.091-2.909-2.182 0-4.073 1.164-5.091 2.909-.509.873-.8 1.891-.8 2.982 0 3.055 2.327 5.527 5.236 5.891v1.091zm2.473-5.164c-.509.073-1.091.073-1.745.073-.655 0-1.236 0-1.745-.073-.073-.582-.145-1.164-.145-1.745 0-.436 0-.873.073-1.309.582.073 1.164.145 1.818.145.655 0 1.236-.073 1.818-.145.073.436.073.8.073 1.309 0 .655-.073 1.236-.145 1.745zm2.618-3.782c.291.582.436 1.309.436 2.036l-.073 1.018c-.509.291-1.309.582-2.473.727.073-.509.073-1.091.073-1.745 0-.436 0-.945-.073-1.382.8-.145 1.527-.364 2.109-.655zm-.218-.364c-.436.218-1.091.436-1.891.582-.145-1.164-.436-2.109-.873-2.764 1.164.364 2.109 1.091 2.764 2.182zm-4.145-2.4c.218 0 .436 0 .655.073.436.509.873 1.6 1.091 2.982-.509.073-1.091.145-1.745.145-.655 0-1.236-.073-1.745-.145.218-1.382.582-2.473 1.091-2.982.145-.073.436-.073.655-.073zm-1.382.218c-.364.655-.727 1.6-.873 2.764-.8-.145-1.455-.364-1.891-.582.582-1.091 1.6-1.818 2.764-2.182zm-3.418 4.582c0-.727.145-1.382.436-2.036.509.291 1.236.509 2.109.655-.073.436-.073.873-.073 1.382l.073 1.745c-1.164-.145-1.964-.436-2.473-.727l-.073-1.018zm.291 1.6c.582.291 1.455.436 2.327.582.145.945.436 1.818.8 2.4-1.455-.436-2.618-1.527-3.127-2.982zm2.836.655c.582.073 1.091.073 1.673.073.582 0 1.091 0 1.673-.073-.218 1.164-.582 2.036-.945 2.473l-.655.073c-.218 0-.436 0-.655-.073-.509-.509-.873-1.309-1.091-2.473z\"/>\n        </g>\n        </svg>\n\n\n        <!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\n        <svg version=\"1.1\" id=\"az-icon-orchestrationClient\"\n          viewBox=\"0 0 64 64\" enable-background=\"new 0 0 64 64\" xml:space=\"preserve\">\n        <g>\n          <path fill=\"#3999C6\" d=\"M63.6,32.4c0.6-0.6,0.5-1.7,0-2.3L60.5,27L46.7,13.6c-0.6-0.6-1.5-0.6-2.2,0l0,0c-0.6,0.6-0.8,1.7,0,2.3\n            L59,30.1c0.6,0.6,0.6,1.7,0,2.3L44.2,47.1c-0.6,0.6-0.6,1.7,0,2.3l0,0c0.6,0.6,1.7,0.5,2.2,0l13.7-13.6c0,0,0,0,0.1-0.1L63.6,32.4z\n            \"/>\n          <path fill=\"#3999C6\" d=\"M0.4,32.4c-0.6-0.6-0.5-1.7,0-2.3L3.5,27l13.8-13.4c0.6-0.6,1.5-0.6,2.2,0l0,0c0.6,0.6,0.8,1.7,0,2.3\n            L5.3,30.1c-0.6,0.6-0.6,1.7,0,2.3l14.5,14.7c0.6,0.6,0.6,1.7,0,2.3l0,0c-0.6,0.6-1.7,0.5-2.2,0L3.6,36c0,0,0,0-0.1-0.1L0.4,32.4z\"\n            />\n          <polygon fill=\"#FCD116\" points=\"47.6,2.5 28.1,2.5 17.6,32.1 30.4,32.2 20.4,61.5 48,22.4 34.6,22.4 \t\"/>\n          <polygon opacity=\"0.3\" fill=\"#FF8C00\" enable-background=\"new    \" points=\"34.6,22.4 47.6,2.5 37.4,2.5 26.6,27.1 39.4,27.2 \n            20.4,61.5 48,22.4 \t\"/>\n        </g>\n        </svg>\n\n\n        <!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\n        <svg version=\"1.1\" id=\"az-icon-orchestrationTrigger\"\n          viewBox=\"0 0 64 64\" enable-background=\"new 0 0 64 64\" xml:space=\"preserve\">\n        <g>\n          <path fill=\"#3999C6\" d=\"M63.6,32.4c0.6-0.6,0.5-1.7,0-2.3L60.5,27L46.7,13.6c-0.6-0.6-1.5-0.6-2.2,0l0,0c-0.6,0.6-0.8,1.7,0,2.3\n            L59,30.1c0.6,0.6,0.6,1.7,0,2.3L44.2,47.1c-0.6,0.6-0.6,1.7,0,2.3l0,0c0.6,0.6,1.7,0.5,2.2,0l13.7-13.6c0,0,0,0,0.1-0.1L63.6,32.4z\n            \"/>\n          <path fill=\"#3999C6\" d=\"M0.4,32.4c-0.6-0.6-0.5-1.7,0-2.3L3.5,27l13.8-13.4c0.6-0.6,1.5-0.6,2.2,0l0,0c0.6,0.6,0.8,1.7,0,2.3\n            L5.3,30.1c-0.6,0.6-0.6,1.7,0,2.3l14.5,14.7c0.6,0.6,0.6,1.7,0,2.3l0,0c-0.6,0.6-1.7,0.5-2.2,0L3.6,36c0,0,0,0-0.1-0.1L0.4,32.4z\"\n            />\n          <polygon fill=\"#FCD116\" points=\"47.6,2.5 28.1,2.5 17.6,32.1 30.4,32.2 20.4,61.5 48,22.4 34.6,22.4 \t\"/>\n          <polygon opacity=\"0.3\" fill=\"#FF8C00\" enable-background=\"new    \" points=\"34.6,22.4 47.6,2.5 37.4,2.5 26.6,27.1 39.4,27.2 \n            20.4,61.5 48,22.4 \t\"/>\n        </g>\n        </svg>\n\n\n        <!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\n        <svg version=\"1.1\" id=\"az-icon-orchestrator\"\n          viewBox=\"0 0 64 64\" enable-background=\"new 0 0 64 64\" xml:space=\"preserve\">\n        <g>\n          <path fill=\"#3999C6\" d=\"M63.6,32.4c0.6-0.6,0.5-1.7,0-2.3L60.5,27L46.7,13.6c-0.6-0.6-1.5-0.6-2.2,0l0,0c-0.6,0.6-0.8,1.7,0,2.3\n            L59,30.1c0.6,0.6,0.6,1.7,0,2.3L44.2,47.1c-0.6,0.6-0.6,1.7,0,2.3l0,0c0.6,0.6,1.7,0.5,2.2,0l13.7-13.6c0,0,0,0,0.1-0.1L63.6,32.4z\n            \"/>\n          <path fill=\"#3999C6\" d=\"M0.4,32.4c-0.6-0.6-0.5-1.7,0-2.3L3.5,27l13.8-13.4c0.6-0.6,1.5-0.6,2.2,0l0,0c0.6,0.6,0.8,1.7,0,2.3\n            L5.3,30.1c-0.6,0.6-0.6,1.7,0,2.3l14.5,14.7c0.6,0.6,0.6,1.7,0,2.3l0,0c-0.6,0.6-1.7,0.5-2.2,0L3.6,36c0,0,0,0-0.1-0.1L0.4,32.4z\"\n            />\n          <polygon fill=\"#FCD116\" points=\"47.6,2.5 28.1,2.5 17.6,32.1 30.4,32.2 20.4,61.5 48,22.4 34.6,22.4 \t\"/>\n          <polygon opacity=\"0.3\" fill=\"#FF8C00\" enable-background=\"new    \" points=\"34.6,22.4 47.6,2.5 37.4,2.5 26.6,27.1 39.4,27.2 \n            20.4,61.5 48,22.4 \t\"/>\n        </g>\n        </svg>\n\n\n        <svg\n          xmlns:dc=\"http://purl.org/dc/elements/1.1/\"\n          xmlns:cc=\"http://creativecommons.org/ns#\"\n          xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\n          xmlns:svg=\"http://www.w3.org/2000/svg\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n          xmlns:sodipodi=\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\"\n          xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\"\n          version=\"1.1\" id=\"az-icon-queue\"\n          x=\"0px\"\n          y=\"0px\"\n          viewBox=\"0 0 64 64\"\n          enable-background=\"new 0 0 64 64\"\n          xml:space=\"preserve\"\n          sodipodi:docname=\"queueTrigger.svg\"\n          inkscape:version=\"1.0.2 (e86c870879, 2021-01-15, custom)\"><metadata\n          id=\"metadata17\"><rdf:RDF><cc:Work\n              rdf:about=\"\"><dc:format>image/svg+xml</dc:format><dc:type\n                rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" /></cc:Work></rdf:RDF></metadata><defs\n          id=\"defs15\" /><sodipodi:namedview\n          pagecolor=\"#ffffff\"\n          bordercolor=\"#666666\"\n          borderopacity=\"1\"\n          objecttolerance=\"10\"\n          gridtolerance=\"10\"\n          guidetolerance=\"10\"\n          inkscape:pageopacity=\"0\"\n          inkscape:pageshadow=\"2\"\n          inkscape:window-width=\"2160\"\n          inkscape:window-height=\"1470\"\n          id=\"namedview13\"\n          showgrid=\"false\"\n          inkscape:zoom=\"11.484375\"\n          inkscape:cx=\"32\"\n          inkscape:cy=\"32\"\n          inkscape:window-x=\"85\"\n          inkscape:window-y=\"-11\"\n          inkscape:window-maximized=\"1\"\n          inkscape:current-layer=\"Layer_1\" />\n\n        <g\n          id=\"paths\"\n          transform=\"matrix(1.6800567,0,0,1.6800567,-95.643846,-64.835106)\"><g\n            id=\"Access_control\" /><g\n            id=\"Azure_active_directory\" /><g\n            id=\"API_Management\" /><g\n            id=\"Azure_automation\" /><g\n            id=\"Azure_SQL_database\" /><g\n            id=\"Azure_subscription\" /><g\n            id=\"Backup_service\" /><g\n            id=\"Bitbucket_code_source\" /><g\n            id=\"Azure_cache\" /><g\n            id=\"Content_delivery_network__x28_CDN_x29_\" /><g\n            id=\"Cloud_service\" /><g\n            id=\"CodePlex\" /><g\n            id=\"Dropbox_code_source\" /><g\n            id=\"Express_route\" /><g\n            id=\"Git_repository\" /><g\n            id=\"GitHub_code\" /><g\n            id=\"HD_Insight\" /><g\n            id=\"Health_monitoring\" /><g\n            id=\"Healthy\" /><g\n            id=\"BizTalk_hybrid_connection\" /><g\n            id=\"Hybrid_connection_manager_for_BizTalk_hybrid_connection\" /><g\n            id=\"Hyper-V_recovery_manager\" /><g\n            id=\"Machine_learning\" /><g\n            id=\"Media_services\" /><g\n            id=\"Microsoft_account\" /><g\n            id=\"Mobile_services\" /><g\n            id=\"Multi-factor_authentication\" /><g\n            id=\"MySQL_database\" /><g\n            id=\"Notification_hub\" /><g\n            id=\"Notification_topic\" /><g\n            id=\"Cloud_Office_365\" /><g\n            id=\"Office_365\" /><g\n            id=\"OS_image\" /><g\n            id=\"Remote_app\" /><g\n            id=\"Task_scheduler\" /><g\n            id=\"Azure_SDK\" /><g\n            id=\"Service_bus\" /><g\n            id=\"Service_bus_queue\" /><g\n            id=\"Service_bus_relay\" /><g\n            id=\"Service_bus_topic\" /><g\n            id=\"Service_endpoint\" /><g\n            id=\"Custom_create\" /><g\n            id=\"SQL_data_sync\" /><g\n            id=\"SQL_reporting\" /><g\n            id=\"Startup_task\" /><g\n            id=\"Windows_Azure_storage\" /><g\n            id=\"Storage_blob\" /><g\n            id=\"Storage_table\" /><g\n            id=\"Storage_queue\"><g\n              id=\"g69\"><polygon\n                fill=\"#0078d7\"\n                points=\"86.5,56.5 78.3,56.5 82.4,59.7 \"\n                id=\"polygon57\" /><path\n                fill=\"#0078d7\"\n                d=\"m 69.9,60.8 c -0.1,0 -0.2,0 -0.3,-0.1 l -3.8,-3 v 4.9 h 8.7 v -5 l -4.1,3.1 c -0.2,0.1 -0.4,0.1 -0.5,0.1 z\"\n                id=\"path59\" /><path\n                fill=\"#0078d7\"\n                d=\"m 82.4,60.8 c -0.1,0 -0.3,0 -0.3,-0.1 l -3.9,-3 v 4.9 h 8.7 v -5 l -4.1,3.1 c -0.2,0.1 -0.3,0.1 -0.4,0.1 z\"\n                id=\"path61\" /><path\n                fill=\"#0078d7\"\n                d=\"m 85.5,42.3 h -19 L 57,58.7 66.5,75.1 h 18.9 l 9.5,-16.4 z m 3.3,23.4 H 62.9 c -0.8,0 -1.4,-0.7 -1.4,-1.5 v -9.9 c 0,-0.8 0.6,-1.5 1.4,-1.5 h 25.9 c 0.3,0 0.8,0 4.2,6.4 l 0.1,0.3 -0.1,0.3 c -3.4,5.9 -3.9,5.9 -4.2,5.9 z\"\n                id=\"path63\" /><polygon\n                fill=\"#0078d7\"\n                points=\"74,56.5 65.7,56.5 69.8,59.7 \"\n                id=\"polygon65\" /><path\n                fill=\"#0078d7\"\n                d=\"m 62.9,53.9 c -0.2,0 -0.4,0.2 -0.4,0.4 v 9.9 c 0,0.2 0.2,0.5 0.4,0.5 h 25.7 c 0.5,-0.5 2,-2.9 3.3,-5.2 C 90.6,57 89,54.4 88.6,53.9 Z m 12.6,9.2 c 0,0.3 -0.3,0.6 -0.7,0.6 H 65 c -0.3,0 -0.4,-0.3 -0.4,-0.6 v -7.3 c 0,-0.3 0.1,-0.4 0.4,-0.4 h 9.8 c 0.3,0 0.7,0.1 0.7,0.4 z m 12.3,0 c 0,0.3 -0.2,0.6 -0.5,0.6 h -9.7 c -0.3,0 -0.5,-0.3 -0.5,-0.6 v -7.3 c 0,-0.3 0.2,-0.4 0.5,-0.4 h 9.7 c 0.3,0 0.5,0.1 0.5,0.4 z\"\n                id=\"path67\" /></g></g></g></svg>\n\n\n        <svg\n          xmlns:dc=\"http://purl.org/dc/elements/1.1/\"\n          xmlns:cc=\"http://creativecommons.org/ns#\"\n          xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\n          xmlns:svg=\"http://www.w3.org/2000/svg\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n          xmlns:sodipodi=\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\"\n          xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\"\n          version=\"1.1\" id=\"az-icon-queueTrigger\"\n          x=\"0px\"\n          y=\"0px\"\n          viewBox=\"0 0 64 64\"\n          enable-background=\"new 0 0 64 64\"\n          xml:space=\"preserve\"\n          sodipodi:docname=\"queueTrigger.svg\"\n          inkscape:version=\"1.0.2 (e86c870879, 2021-01-15, custom)\"><metadata\n          id=\"metadata17\"><rdf:RDF><cc:Work\n              rdf:about=\"\"><dc:format>image/svg+xml</dc:format><dc:type\n                rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" /></cc:Work></rdf:RDF></metadata><defs\n          id=\"defs15\" /><sodipodi:namedview\n          pagecolor=\"#ffffff\"\n          bordercolor=\"#666666\"\n          borderopacity=\"1\"\n          objecttolerance=\"10\"\n          gridtolerance=\"10\"\n          guidetolerance=\"10\"\n          inkscape:pageopacity=\"0\"\n          inkscape:pageshadow=\"2\"\n          inkscape:window-width=\"2160\"\n          inkscape:window-height=\"1470\"\n          id=\"namedview13\"\n          showgrid=\"false\"\n          inkscape:zoom=\"11.484375\"\n          inkscape:cx=\"32\"\n          inkscape:cy=\"32\"\n          inkscape:window-x=\"85\"\n          inkscape:window-y=\"-11\"\n          inkscape:window-maximized=\"1\"\n          inkscape:current-layer=\"Layer_1\" />\n\n        <g\n          id=\"paths\"\n          transform=\"matrix(1.6800567,0,0,1.6800567,-95.643846,-64.835106)\"><g\n            id=\"Access_control\" /><g\n            id=\"Azure_active_directory\" /><g\n            id=\"API_Management\" /><g\n            id=\"Azure_automation\" /><g\n            id=\"Azure_SQL_database\" /><g\n            id=\"Azure_subscription\" /><g\n            id=\"Backup_service\" /><g\n            id=\"Bitbucket_code_source\" /><g\n            id=\"Azure_cache\" /><g\n            id=\"Content_delivery_network__x28_CDN_x29_\" /><g\n            id=\"Cloud_service\" /><g\n            id=\"CodePlex\" /><g\n            id=\"Dropbox_code_source\" /><g\n            id=\"Express_route\" /><g\n            id=\"Git_repository\" /><g\n            id=\"GitHub_code\" /><g\n            id=\"HD_Insight\" /><g\n            id=\"Health_monitoring\" /><g\n            id=\"Healthy\" /><g\n            id=\"BizTalk_hybrid_connection\" /><g\n            id=\"Hybrid_connection_manager_for_BizTalk_hybrid_connection\" /><g\n            id=\"Hyper-V_recovery_manager\" /><g\n            id=\"Machine_learning\" /><g\n            id=\"Media_services\" /><g\n            id=\"Microsoft_account\" /><g\n            id=\"Mobile_services\" /><g\n            id=\"Multi-factor_authentication\" /><g\n            id=\"MySQL_database\" /><g\n            id=\"Notification_hub\" /><g\n            id=\"Notification_topic\" /><g\n            id=\"Cloud_Office_365\" /><g\n            id=\"Office_365\" /><g\n            id=\"OS_image\" /><g\n            id=\"Remote_app\" /><g\n            id=\"Task_scheduler\" /><g\n            id=\"Azure_SDK\" /><g\n            id=\"Service_bus\" /><g\n            id=\"Service_bus_queue\" /><g\n            id=\"Service_bus_relay\" /><g\n            id=\"Service_bus_topic\" /><g\n            id=\"Service_endpoint\" /><g\n            id=\"Custom_create\" /><g\n            id=\"SQL_data_sync\" /><g\n            id=\"SQL_reporting\" /><g\n            id=\"Startup_task\" /><g\n            id=\"Windows_Azure_storage\" /><g\n            id=\"Storage_blob\" /><g\n            id=\"Storage_table\" /><g\n            id=\"Storage_queue\"><g\n              id=\"g69\"><polygon\n                fill=\"#0078d7\"\n                points=\"86.5,56.5 78.3,56.5 82.4,59.7 \"\n                id=\"polygon57\" /><path\n                fill=\"#0078d7\"\n                d=\"m 69.9,60.8 c -0.1,0 -0.2,0 -0.3,-0.1 l -3.8,-3 v 4.9 h 8.7 v -5 l -4.1,3.1 c -0.2,0.1 -0.4,0.1 -0.5,0.1 z\"\n                id=\"path59\" /><path\n                fill=\"#0078d7\"\n                d=\"m 82.4,60.8 c -0.1,0 -0.3,0 -0.3,-0.1 l -3.9,-3 v 4.9 h 8.7 v -5 l -4.1,3.1 c -0.2,0.1 -0.3,0.1 -0.4,0.1 z\"\n                id=\"path61\" /><path\n                fill=\"#0078d7\"\n                d=\"m 85.5,42.3 h -19 L 57,58.7 66.5,75.1 h 18.9 l 9.5,-16.4 z m 3.3,23.4 H 62.9 c -0.8,0 -1.4,-0.7 -1.4,-1.5 v -9.9 c 0,-0.8 0.6,-1.5 1.4,-1.5 h 25.9 c 0.3,0 0.8,0 4.2,6.4 l 0.1,0.3 -0.1,0.3 c -3.4,5.9 -3.9,5.9 -4.2,5.9 z\"\n                id=\"path63\" /><polygon\n                fill=\"#0078d7\"\n                points=\"74,56.5 65.7,56.5 69.8,59.7 \"\n                id=\"polygon65\" /><path\n                fill=\"#0078d7\"\n                d=\"m 62.9,53.9 c -0.2,0 -0.4,0.2 -0.4,0.4 v 9.9 c 0,0.2 0.2,0.5 0.4,0.5 h 25.7 c 0.5,-0.5 2,-2.9 3.3,-5.2 C 90.6,57 89,54.4 88.6,53.9 Z m 12.6,9.2 c 0,0.3 -0.3,0.6 -0.7,0.6 H 65 c -0.3,0 -0.4,-0.3 -0.4,-0.6 v -7.3 c 0,-0.3 0.1,-0.4 0.4,-0.4 h 9.8 c 0.3,0 0.7,0.1 0.7,0.4 z m 12.3,0 c 0,0.3 -0.2,0.6 -0.5,0.6 h -9.7 c -0.3,0 -0.5,-0.3 -0.5,-0.6 v -7.3 c 0,-0.3 0.2,-0.4 0.5,-0.4 h 9.7 c 0.3,0 0.5,0.1 0.5,0.4 z\"\n                id=\"path67\" /></g></g></g></svg>\n\n\n        <!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\n        <svg version=\"1.1\" id=\"az-icon-serviceBus\"\n          width=\"50px\" height=\"50px\" viewBox=\"0 0 50 50\" enable-background=\"new 0 0 50 50\" xml:space=\"preserve\">\n        <path fill=\"#0072C6\" d=\"M0.833,0C0.333,0,0,0.333,0,0.833v10c0,0.5,0.333,0.833,0.833,0.833h5c0.5,0,0.833-0.333,0.833-0.833V6.667\n          h36.667v4.167c0,0.5,0.333,0.833,1,0.833h4.833c0.5,0,0.833-0.333,0.833-0.833v-5v-5C50,0.333,49.667,0,49.167,0l0,0H0.833z\"/>\n        <path fill=\"#0072C6\" d=\"M49.167,50c0.5,0,0.833-0.333,0.833-0.833v-9.833c0-0.5-0.333-0.833-0.833-0.833h-4.833\n          c-0.5,0-0.833,0.333-0.833,0.833v4H6.667v-4.167c0-0.5-0.333-0.833-1-0.833H0.833c-0.5,0-0.833,0.333-0.833,1v9.833\n          C0,49.667,0.333,50,0.833,50H49.167z\"/>\n        <path fill=\"#59B4D9\" d=\"M29.857,26.098C28.56,27.395,26.835,28.11,25,28.11s-3.56-0.714-4.858-2.012l-9.309-9.309v18.923h28.333\n          V16.788L29.857,26.098z\"/>\n        <path fill=\"#59B4D9\" d=\"M25,26.728c1.466,0,2.844-0.571,3.88-1.607l10.286-10.286V14.29H10.833v0.546L21.119,25.12\n          C22.156,26.157,23.534,26.728,25,26.728z\"/>\n        </svg>\n\n\n        <!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\n        <svg version=\"1.1\" id=\"az-icon-serviceBusTrigger\"\n          width=\"50px\" height=\"50px\" viewBox=\"0 0 50 50\" enable-background=\"new 0 0 50 50\" xml:space=\"preserve\">\n        <path fill=\"#0072C6\" d=\"M0.833,0C0.333,0,0,0.333,0,0.833v10c0,0.5,0.333,0.833,0.833,0.833h5c0.5,0,0.833-0.333,0.833-0.833V6.667\n          h36.667v4.167c0,0.5,0.333,0.833,1,0.833h4.833c0.5,0,0.833-0.333,0.833-0.833v-5v-5C50,0.333,49.667,0,49.167,0l0,0H0.833z\"/>\n        <path fill=\"#0072C6\" d=\"M49.167,50c0.5,0,0.833-0.333,0.833-0.833v-9.833c0-0.5-0.333-0.833-0.833-0.833h-4.833\n          c-0.5,0-0.833,0.333-0.833,0.833v4H6.667v-4.167c0-0.5-0.333-0.833-1-0.833H0.833c-0.5,0-0.833,0.333-0.833,1v9.833\n          C0,49.667,0.333,50,0.833,50H49.167z\"/>\n        <path fill=\"#59B4D9\" d=\"M29.857,26.098C28.56,27.395,26.835,28.11,25,28.11s-3.56-0.714-4.858-2.012l-9.309-9.309v18.923h28.333\n          V16.788L29.857,26.098z\"/>\n        <path fill=\"#59B4D9\" d=\"M25,26.728c1.466,0,2.844-0.571,3.88-1.607l10.286-10.286V14.29H10.833v0.546L21.119,25.12\n          C22.156,26.157,23.534,26.728,25,26.728z\"/>\n        </svg>\n\n\n        <svg\n          xmlns:dc=\"http://purl.org/dc/elements/1.1/\"\n          xmlns:cc=\"http://creativecommons.org/ns#\"\n          xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\n          xmlns:svg=\"http://www.w3.org/2000/svg\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n          xmlns:sodipodi=\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\"\n          xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\"\n          version=\"1.1\" id=\"az-icon-signalR\"\n          x=\"0px\"\n          y=\"0px\"\n          viewBox=\"-163 237 32 32\"\n          enable-background=\"new -163 237 32 32\"\n          xml:space=\"preserve\"\n          sodipodi:docname=\"signalR.svg\"\n          inkscape:version=\"1.0.2 (e86c870879, 2021-01-15, custom)\"><metadata\n          id=\"metadata23\"><rdf:RDF><cc:Work\n              rdf:about=\"\"><dc:format>image/svg+xml</dc:format><dc:type\n                rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs\n          id=\"defs21\" /><sodipodi:namedview\n          pagecolor=\"#ffffff\"\n          bordercolor=\"#666666\"\n          borderopacity=\"1\"\n          objecttolerance=\"10\"\n          gridtolerance=\"10\"\n          guidetolerance=\"10\"\n          inkscape:pageopacity=\"0\"\n          inkscape:pageshadow=\"2\"\n          inkscape:window-width=\"2160\"\n          inkscape:window-height=\"1470\"\n          id=\"namedview19\"\n          showgrid=\"false\"\n          inkscape:zoom=\"18.875\"\n          inkscape:cx=\"16\"\n          inkscape:cy=\"16\"\n          inkscape:window-x=\"85\"\n          inkscape:window-y=\"-11\"\n          inkscape:window-maximized=\"1\"\n          inkscape:current-layer=\"Layer_1\" />\n\n\n\n\n\n\n\n\n        <path\n          d=\"m -149.86488,260.08626 1.77666,-4.32174 h 3.88625 c 1.42572,0 2.68287,-1.017 2.89451,-2.42691 a 2.8707363,2.8707363 0 0 0 -2.83064,-3.29987 h -12.88526 l 7.15848,-7.15848 v 2.80114 h 5.70561 c 3.40819,0 6.6915,2.74513 7.18076,6.11807 a 7.1572328,7.1572328 0 0 1 -6.78785,8.23973 l 5.85837,5.8585 a 15.835798,15.835798 0 1 0 -9.02765,2.83314 15.264986,15.264986 0 0 0 4.94596,-0.81633 z\"\n          fill=\"#59b4d9\"\n          id=\"path4\"\n          style=\"stroke-width:0.124495\" /></svg>\n\n\n        <svg\n          xmlns:dc=\"http://purl.org/dc/elements/1.1/\"\n          xmlns:cc=\"http://creativecommons.org/ns#\"\n          xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\n          xmlns:svg=\"http://www.w3.org/2000/svg\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n          xmlns:sodipodi=\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\"\n          xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\"\n          version=\"1.1\" id=\"az-icon-signalRConnectionInfo\"\n          x=\"0px\"\n          y=\"0px\"\n          viewBox=\"-163 237 32 32\"\n          enable-background=\"new -163 237 32 32\"\n          xml:space=\"preserve\"\n          sodipodi:docname=\"signalR.svg\"\n          inkscape:version=\"1.0.2 (e86c870879, 2021-01-15, custom)\"><metadata\n          id=\"metadata23\"><rdf:RDF><cc:Work\n              rdf:about=\"\"><dc:format>image/svg+xml</dc:format><dc:type\n                rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs\n          id=\"defs21\" /><sodipodi:namedview\n          pagecolor=\"#ffffff\"\n          bordercolor=\"#666666\"\n          borderopacity=\"1\"\n          objecttolerance=\"10\"\n          gridtolerance=\"10\"\n          guidetolerance=\"10\"\n          inkscape:pageopacity=\"0\"\n          inkscape:pageshadow=\"2\"\n          inkscape:window-width=\"2160\"\n          inkscape:window-height=\"1470\"\n          id=\"namedview19\"\n          showgrid=\"false\"\n          inkscape:zoom=\"18.875\"\n          inkscape:cx=\"16\"\n          inkscape:cy=\"16\"\n          inkscape:window-x=\"85\"\n          inkscape:window-y=\"-11\"\n          inkscape:window-maximized=\"1\"\n          inkscape:current-layer=\"Layer_1\" />\n\n\n\n\n\n\n\n\n        <path\n          d=\"m -149.86488,260.08626 1.77666,-4.32174 h 3.88625 c 1.42572,0 2.68287,-1.017 2.89451,-2.42691 a 2.8707363,2.8707363 0 0 0 -2.83064,-3.29987 h -12.88526 l 7.15848,-7.15848 v 2.80114 h 5.70561 c 3.40819,0 6.6915,2.74513 7.18076,6.11807 a 7.1572328,7.1572328 0 0 1 -6.78785,8.23973 l 5.85837,5.8585 a 15.835798,15.835798 0 1 0 -9.02765,2.83314 15.264986,15.264986 0 0 0 4.94596,-0.81633 z\"\n          fill=\"#59b4d9\"\n          id=\"path4\"\n          style=\"stroke-width:0.124495\" /></svg>\n\n\n        <svg\n          xmlns:dc=\"http://purl.org/dc/elements/1.1/\"\n          xmlns:cc=\"http://creativecommons.org/ns#\"\n          xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\n          xmlns:svg=\"http://www.w3.org/2000/svg\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n          xmlns:sodipodi=\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\"\n          xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\"\n          version=\"1.1\" id=\"az-icon-signalRTrigger\"\n          x=\"0px\"\n          y=\"0px\"\n          viewBox=\"-163 237 32 32\"\n          enable-background=\"new -163 237 32 32\"\n          xml:space=\"preserve\"\n          sodipodi:docname=\"signalR.svg\"\n          inkscape:version=\"1.0.2 (e86c870879, 2021-01-15, custom)\"><metadata\n          id=\"metadata23\"><rdf:RDF><cc:Work\n              rdf:about=\"\"><dc:format>image/svg+xml</dc:format><dc:type\n                rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs\n          id=\"defs21\" /><sodipodi:namedview\n          pagecolor=\"#ffffff\"\n          bordercolor=\"#666666\"\n          borderopacity=\"1\"\n          objecttolerance=\"10\"\n          gridtolerance=\"10\"\n          guidetolerance=\"10\"\n          inkscape:pageopacity=\"0\"\n          inkscape:pageshadow=\"2\"\n          inkscape:window-width=\"2160\"\n          inkscape:window-height=\"1470\"\n          id=\"namedview19\"\n          showgrid=\"false\"\n          inkscape:zoom=\"18.875\"\n          inkscape:cx=\"16\"\n          inkscape:cy=\"16\"\n          inkscape:window-x=\"85\"\n          inkscape:window-y=\"-11\"\n          inkscape:window-maximized=\"1\"\n          inkscape:current-layer=\"Layer_1\" />\n\n\n\n\n\n\n\n\n        <path\n          d=\"m -149.86488,260.08626 1.77666,-4.32174 h 3.88625 c 1.42572,0 2.68287,-1.017 2.89451,-2.42691 a 2.8707363,2.8707363 0 0 0 -2.83064,-3.29987 h -12.88526 l 7.15848,-7.15848 v 2.80114 h 5.70561 c 3.40819,0 6.6915,2.74513 7.18076,6.11807 a 7.1572328,7.1572328 0 0 1 -6.78785,8.23973 l 5.85837,5.8585 a 15.835798,15.835798 0 1 0 -9.02765,2.83314 15.264986,15.264986 0 0 0 4.94596,-0.81633 z\"\n          fill=\"#59b4d9\"\n          id=\"path4\"\n          style=\"stroke-width:0.124495\" /></svg>\n\n\n        <svg\n          xmlns:dc=\"http://purl.org/dc/elements/1.1/\"\n          xmlns:cc=\"http://creativecommons.org/ns#\"\n          xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\n          xmlns:svg=\"http://www.w3.org/2000/svg\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n          xmlns:sodipodi=\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\"\n          xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\"\n          version=\"1.1\" id=\"az-icon-table\"\n          x=\"0px\"\n          y=\"0px\"\n          viewBox=\"0 0 64 64\"\n          enable-background=\"new 0 0 64 64\"\n          xml:space=\"preserve\"\n          sodipodi:docname=\"table.svg\"\n          inkscape:version=\"1.0.2 (e86c870879, 2021-01-15, custom)\"><metadata\n          id=\"metadata17\"><rdf:RDF><cc:Work\n              rdf:about=\"\"><dc:format>image/svg+xml</dc:format><dc:type\n                rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" /></cc:Work></rdf:RDF></metadata><defs\n          id=\"defs15\" /><sodipodi:namedview\n          pagecolor=\"#ffffff\"\n          bordercolor=\"#666666\"\n          borderopacity=\"1\"\n          objecttolerance=\"10\"\n          gridtolerance=\"10\"\n          guidetolerance=\"10\"\n          inkscape:pageopacity=\"0\"\n          inkscape:pageshadow=\"2\"\n          inkscape:window-width=\"2160\"\n          inkscape:window-height=\"1470\"\n          id=\"namedview13\"\n          showgrid=\"false\"\n          inkscape:zoom=\"11.484375\"\n          inkscape:cx=\"32\"\n          inkscape:cy=\"32\"\n          inkscape:window-x=\"85\"\n          inkscape:window-y=\"-11\"\n          inkscape:window-maximized=\"1\"\n          inkscape:current-layer=\"Layer_1\" />\n\n        <g\n          id=\"paths\"\n          transform=\"matrix(1.6524869,0,0,1.6524869,-93.549915,-64.449854)\"><g\n            id=\"Access_control\" /><g\n            id=\"Azure_active_directory\" /><g\n            id=\"API_Management\" /><g\n            id=\"Azure_automation\" /><g\n            id=\"Azure_SQL_database\" /><g\n            id=\"Azure_subscription\" /><g\n            id=\"Backup_service\" /><g\n            id=\"Bitbucket_code_source\" /><g\n            id=\"Azure_cache\" /><g\n            id=\"Content_delivery_network__x28_CDN_x29_\" /><g\n            id=\"Cloud_service\" /><g\n            id=\"CodePlex\" /><g\n            id=\"Dropbox_code_source\" /><g\n            id=\"Express_route\" /><g\n            id=\"Git_repository\" /><g\n            id=\"GitHub_code\" /><g\n            id=\"HD_Insight\" /><g\n            id=\"Health_monitoring\" /><g\n            id=\"Healthy\" /><g\n            id=\"BizTalk_hybrid_connection\" /><g\n            id=\"Hybrid_connection_manager_for_BizTalk_hybrid_connection\" /><g\n            id=\"Hyper-V_recovery_manager\" /><g\n            id=\"Machine_learning\" /><g\n            id=\"Media_services\" /><g\n            id=\"Microsoft_account\" /><g\n            id=\"Mobile_services\" /><g\n            id=\"Multi-factor_authentication\" /><g\n            id=\"MySQL_database\" /><g\n            id=\"Notification_hub\" /><g\n            id=\"Notification_topic\" /><g\n            id=\"Cloud_Office_365\" /><g\n            id=\"Office_365\" /><g\n            id=\"OS_image\" /><g\n            id=\"Remote_app\" /><g\n            id=\"Task_scheduler\" /><g\n            id=\"Azure_SDK\" /><g\n            id=\"Service_bus\" /><g\n            id=\"Service_bus_queue\" /><g\n            id=\"Service_bus_relay\" /><g\n            id=\"Service_bus_topic\" /><g\n            id=\"Service_endpoint\" /><g\n            id=\"Custom_create\" /><g\n            id=\"SQL_data_sync\" /><g\n            id=\"SQL_reporting\" /><g\n            id=\"Startup_task\" /><g\n            id=\"Windows_Azure_storage\" /><g\n            id=\"Storage_blob\" /><g\n            id=\"Storage_table\"><path\n              fill=\"#0078d7\"\n              d=\"m 85.5,42.3 h -19 L 57,58.7 66.5,75.1 h 18.9 l 9.5,-16.4 z m -10.4,8.6 h 4.4 v 4.4 h -4.4 z m 0,5.5 h 4.4 v 4.4 h -4.4 z m 0,5.5 h 4.4 v 4.4 h -4.4 z m -5.5,-11 H 74 v 4.4 h -4.4 z m 0,5.5 H 74 v 4.4 h -4.4 z m 0,5.5 H 74 v 4.4 h -4.4 z m 15.3,6.8 H 67 V 50.8 h 1.2 v 16.7 0 0 H 84.9 Z M 85,66.3 H 80.6 V 61.9 H 85 Z m 0,-5.5 H 80.6 V 56.4 H 85 Z m 0,-5.5 H 80.6 V 50.9 H 85 Z\"\n              id=\"path56\" /></g></g></svg>\n\n        <svg id=\"az-icon-timerTrigger\" width=\"32\" height=\"32\" version=\"1.1\" viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\">\n        <path d=\"m0 0h32v32h-32z\" fill=\"#1F85FF\"/>\n        <g fill=\"#fff\">\n          <path d=\"M16.015 10.138c-3.84-.007-6.953 3.106-6.946 6.931.007 3.833 3.106 6.931 6.924 6.931 3.818 0 6.931-3.106 6.938-6.924.007-3.811-3.106-6.938-6.917-6.938zm-.029 12.328c-3.076-.015-5.396-2.495-5.382-5.418.015-3.098 2.596-5.462 5.607-5.375 2.815.087 5.207 2.531 5.178 5.396-.007 2.989-2.393 5.411-5.404 5.396z\"/>\n          <path d=\"M21.949 12.138c.138-.349.262-.691.415-1.018.24-.502.109-.938-.262-1.287-.88-.836-1.913-1.433-3.084-1.767-.364-.102-.764-.116-1.04.196-.313.349-.575.749-.873 1.149 1.942.356 3.527 1.28 4.844 2.727z\"/>\n          <path d=\"M10.029 12.116c1.309-1.462 2.895-2.364 4.815-2.727-.233-.327-.458-.618-.655-.916-.269-.422-.655-.531-1.113-.444-1.04.204-1.913.756-2.756 1.367-.182.131-.349.298-.502.465-.262.284-.407.618-.291.996.138.415.327.822.502 1.258z\"/>\n          <path d=\"M16.516 12.923c-.604-.327-1.265.051-1.265.735.007.967.015 1.935.036 2.909.007.189-.044.327-.196.458-.385.32-.771.647-1.135.989-.313.291-.305.735-.015 1.055.284.313.742.364 1.055.095.538-.465 1.069-.931 1.585-1.418.109-.102.211-.291.211-.436.022-.676.007-1.36.007-2.036h.036v-1.731c.007-.269-.073-.48-.32-.618z\"/>\n        </g>\n        </svg>\n\n        </defs>\n    </svg>\n\n  </body>\n</html>\n"
  },
  {
    "path": "durablefunctionsmonitor.react/public/manifest.json",
    "content": "{\n    \"short_name\": \"Durable Functions Monitor\",\n    \"name\": \"Durable Functions Monitor\",\n    \"icons\": [\n        {\n            \"src\": \"favicon.png\",\n            \"sizes\": \"64x64\",\n            \"type\": \"image/png\"\n        }\n    ],\n    \"start_url\": \"./index.html\",\n    \"display\": \"standalone\",\n    \"theme_color\": \"#000000\",\n    \"background_color\": \"#ffffff\"\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/CancelToken.ts",
    "content": "import { observable } from 'mobx'\n\nexport class CancelToken {\n    @observable\n    inProgress: boolean = false;\n    @observable\n    isCancelled: boolean = false;\n}\n"
  },
  {
    "path": "durablefunctionsmonitor.react/src/DateTimeHelpers.ts",
    "content": "import moment from 'moment';\n\nexport class DateTimeHelpers\n{\n    // This is the default range for @material-ui/pickers\n    private static MinMoment = moment('1900-01-01');\n    private static MaxMoment = moment('2100-01-01');\n\n    public static isValidMoment(t: moment.Moment): boolean {\n        return !!t && t.isValid() && t.isAfter(DateTimeHelpers.MinMoment) && t.isBefore(DateTimeHelpers.MaxMoment);\n    }\n\n    public static formatDuration(durationInMs: number): string {\n\n        if (isNaN(durationInMs) || (durationInMs < 0)) {\n            return '';\n        }\n\n        const days = Math.floor(durationInMs / 86400000);\n        var c = 0;\n        var result = '';\n\n        if (days > 0) {\n            result += days.toFixed(0) + 'd';\n            ++c;\n            durationInMs = durationInMs % 86400000;\n        }\n\n        const hours = Math.floor(durationInMs / 3600000);\n        if (hours > 0) {\n            result += hours.toFixed(0) + 'h';\n\n            if (++c > 1) {\n                return result;\n            }\n\n            durationInMs = durationInMs % 3600000;\n        }\n\n        const minutes = Math.floor(durationInMs / 60000);\n        if (minutes > 0) {\n            result += minutes.toFixed(0) + 'm';\n\n            if (++c > 1) {\n                return result;\n            }\n\n            durationInMs = durationInMs % 60000;\n        }\n\n        const seconds = Math.floor(durationInMs / 1000);\n        if (seconds > 0) {\n            result += seconds.toFixed(0) + 's';\n\n            if (++c > 1) {\n                return result;\n            }\n\n            durationInMs = durationInMs % 1000;\n        }\n\n        if (durationInMs > 0) {\n            result += durationInMs.toFixed(0) + 'ms';\n        }\n\n        if (!result) {\n            result = '0ms';\n        }\n\n        return result;\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/DfmContext.ts",
    "content": "import * as React from 'react';\nimport { observable, computed } from 'mobx'\nimport moment from 'moment';\n\n// Config object passed as a global variable via index.html\ndeclare const DfmClientConfig: {\n    theme: string,\n    showTimeAs: string\n};\n\n// Global observable context object with global settings and other cross-cutting concerns in it\nexport class DfmContext {\n\n    get theme(): string { return DfmClientConfig.theme; }\n\n    @computed\n    get timeZoneName(): string {\n        return this._timeZoneName;\n    }\n\n    @computed\n    get showTimeAsLocal(): boolean {\n        return this._showTimeAsLocal;\n    }\n    set showTimeAsLocal(val) {\n        localStorage?.setItem('showTimeAs', val ? 'Local' : 'UTC');\n        this._showTimeAsLocal = val;\n        this.setTimeZoneName();\n    }\n\n    constructor() {\n        if (DfmClientConfig.showTimeAs !== 'Local') {\n            this._showTimeAsLocal = localStorage?.getItem('showTimeAs') === 'Local';\n        } else {\n            this._showTimeAsLocal = true;\n        }\n\n        this.setTimeZoneName();\n    }\n\n    // Prepares a moment for visualizing with @material-ui/pickers\n    public getMoment(t: moment.Moment): moment.Moment {\n\n        if (!t || !t.isValid()) {\n            return t;\n        }\n\n        // Need to call either .utc() or .local() on moment value, to make it _render_ correctly.\n        if (!this._showTimeAsLocal) {\n            t.utc();\n        } else {\n            t.local();\n        }\n\n        return t;\n    }\n\n    // Converts a moment taken from @material-ui/pickers\n    public setMoment(t: moment.Moment): moment.Moment {\n\n        if (!t || !t.isValid() || !!this._showTimeAsLocal) {\n            return t;\n        }\n\n        // Need to convert to UTC, because @material-ui/pickers always give us local moments\n        return moment(t.toISOString(true).slice(0, 19) + 'Z');\n    }\n\n    public formatDateTimeString(utcString: string): string {\n\n        if (!this._showTimeAsLocal || !utcString || utcString.length < 11) {\n            return utcString;\n        }\n\n        // need to handle milliseconds separately (because it might also be microseconds, and those are omitted by moment)\n        const dotPoint = utcString.lastIndexOf('.');\n        const milliseconds = (dotPoint >= 0) ? '.' + utcString.substring(dotPoint + 1, utcString.length - 1) : '';\n\n        return moment(utcString).format(`YYYY-MM-DDTHH:mm:ss`) + milliseconds;\n    }\n\n    @observable\n    private _showTimeAsLocal: boolean;\n\n    @observable\n    private _timeZoneName: string;\n\n    private setTimeZoneName() {\n\n        var timeZoneName = 'UTC';\n        if (!!this.showTimeAsLocal) {\n            \n            var offset = (new Date()).getTimezoneOffset() / 60;\n            timeZoneName +=\n                (\n                    (offset < 0 ? '+' : '-')\n                    +\n                    (Math.floor(offset) === offset ? Math.abs(offset).toFixed(0) : Math.abs(offset).toFixed(1))\n                );\n        }\n        \n        this._timeZoneName = timeZoneName;\n    }\n}\n\nexport const DfmContextType = React.createContext<DfmContext>(new DfmContext());\nexport const dfmContextInstance = new DfmContext();"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/ErrorMessage.css",
    "content": "\n.message-snackbar {\n    top: 80px !important;\n}\n\n.error-icon {\n    margin-right: 10px;\n    margin-bottom: -7px;\n}\n\n.error-snackbar-content {\n    background-color: red !important;\n}\n"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/ErrorMessage.tsx",
    "content": "import * as React from 'react';\nimport { action } from 'mobx'\nimport { observer } from 'mobx-react';\n\nimport { IconButton, Snackbar, SnackbarContent } from '@material-ui/core';\nimport CloseIcon from '@material-ui/icons/Close';\nimport ErrorIcon from '@material-ui/icons/Error';\n\nimport './ErrorMessage.css';\n\n// Error Message Snackbar\n@observer\nexport class ErrorMessage extends React.Component<{ state: { errorMessage: string } }> {\n\n    render(): JSX.Element {\n        const state = this.props.state;\n\n        return (\n\n            <Snackbar\n                className=\"message-snackbar\"\n                anchorOrigin={{ vertical: 'top', horizontal: 'right' }}\n                open={!!state.errorMessage}\n                autoHideDuration={6000}\n                onClose={this.handleClose}\n            >\n                <SnackbarContent\n                    className=\"error-snackbar-content\"\n                    message={\n                        <span>\n                            <ErrorIcon className=\"error-icon\" />\n                            {state.errorMessage}\n                        </span>\n                    }\n                    action={[\n                        <IconButton\n                            key=\"close\"\n                            aria-label=\"Close\"\n                            color=\"inherit\"\n                            onClick={this.handleClose}\n                        >\n                            <CloseIcon />\n                        </IconButton>,\n                    ]}\n                />\n\n            </Snackbar>\n        );\n    }\n\n    @action.bound\n    private handleClose() {\n        this.props.state.errorMessage = '';\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/FunctionGraph.css",
    "content": "\n.diagram-div {\n    padding-top: 30px;\n    padding-bottom: 30px;\n}\n\n.diagram-div > svg {\n    display: block;\n    margin: auto;\n    width: 100% !important;\n    height: 100% !important;\n}\n\n.link-to-az-func-as-a-graph {\n    float: right;\n    padding-right: 10px;\n}\n"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/FunctionGraph.tsx",
    "content": "import * as React from 'react';\nimport { observer } from 'mobx-react';\n\nimport { AppBar, Box, Button, Checkbox, FormControlLabel, FormHelperText, LinearProgress, Link, Toolbar, Typography } from '@material-ui/core';\n\nimport './FunctionGraph.css';\n\nimport RefreshIcon from '@material-ui/icons/Refresh';\nimport FileCopyIcon from '@material-ui/icons/FileCopy';\nimport SaveAltIcon from '@material-ui/icons/SaveAlt';\nimport { ErrorMessage } from './ErrorMessage';\nimport { FunctionGraphBase } from './FunctionGraphBase';\nimport { FunctionGraphState } from '../states/FunctionGraphState';\nimport { CustomTabStyle } from '../theme';\nimport { SaveAsSvgButton, getStyledSvg } from './SaveAsSvgButton';\nimport { Theme } from '../theme';\n\n// Function Graph view\n@observer\nexport class FunctionGraph extends FunctionGraphBase<{ state: FunctionGraphState }> {\n\n    componentDidMount() {\n\n        // Triggering initial load\n        this.props.state.load();\n    }\n\n    componentDidUpdate() {\n\n        // Mounting click handlers to diagram nodes. Built-in mermaid feature for this doesn't work inside vsCode (no idea why)\n        const svgElement = document.getElementById('mermaidSvgId');\n\n        if (!!svgElement) {\n\n            this.mountClickEventToFunctionNodes(svgElement.getElementsByClassName('function'));\n            this.mountClickEventToFunctionNodes(svgElement.getElementsByClassName('orchestrator'));\n            this.mountClickEventToFunctionNodes(svgElement.getElementsByClassName('activity'));\n            this.mountClickEventToFunctionNodes(svgElement.getElementsByClassName('entity'));\n            this.mountClickEventToFunctionNodes(svgElement.getElementsByClassName('proxy'));\n        }\n    }\n    \n    render(): JSX.Element {\n        const state = this.props.state;\n\n        return (<>\n            <AppBar color=\"inherit\" position=\"static\" className=\"top-appbar\">\n\n                {state.inProgress ? (<LinearProgress />) : (<Box height={4} />)}\n\n                <Toolbar variant=\"dense\">\n                    <Box width={20} />\n\n                    <FormControlLabel\n                        control={<Checkbox\n                            color=\"default\"\n                            disabled={state.inProgress}\n                            checked={state.renderFunctions}\n                            onChange={(evt) => state.renderFunctions = evt.target.checked}\n                        />}\n                        label={<Typography color=\"textPrimary\">Show Functions</Typography>}\n                    />\n                    <Box width={20} />\n\n                    <FormControlLabel\n                        control={<Checkbox\n                            color=\"default\"\n                            disabled={state.inProgress}\n                            checked={state.renderProxies}\n                            onChange={(evt) => state.renderProxies = evt.target.checked}\n                        />}\n                        label={<Typography color=\"textPrimary\">Show Proxies</Typography>}\n                    />\n                    \n                    <Box width={20} />\n                    <Typography style={{ flex: 1 }} />\n\n                    <Button\n                        className=\"details-refresh-button\"\n                        variant=\"outlined\"\n                        color=\"default\"\n                        size=\"large\"\n                        disabled={state.inProgress}\n                        onClick={() => state.load()}\n                    >\n                        <RefreshIcon />\n                    </Button>\n\n                </Toolbar>\n            </AppBar>\n\n            <FormHelperText className=\"link-to-az-func-as-a-graph\" >\n                powered by <Link\n                    color={Theme.palette.type === 'dark' ? 'inherit' : 'primary'} \n                    variant=\"inherit\"\n                    href=\"https://github.com/scale-tone/az-func-as-a-graph\"\n                >\n                    az-func-as-a-graph\n                </Link>\n            </FormHelperText>\n\n            {!!state.diagramSvg && (<>\n\n                <div\n                    className=\"diagram-div\"\n                    style={CustomTabStyle}\n                    dangerouslySetInnerHTML={{ __html: getStyledSvg(state.diagramSvg) }}\n                />\n\n                <Toolbar variant=\"dense\">\n\n                    <Button\n                        variant=\"outlined\"\n                        color=\"default\"\n                        disabled={state.inProgress}\n                        onClick={() => window.navigator.clipboard.writeText(state.diagramCode)}\n                    >\n                        <FileCopyIcon />\n                        <Box width={10} />\n                        <Typography color=\"inherit\">Copy diagram code to Clipboard</Typography>\n                    </Button>\n\n                    <Box width={20} />\n\n                    <SaveAsSvgButton\n                        svg={getStyledSvg(state.diagramSvg)}\n                        fileName=\"functions.svg\"\n                        inProgress={state.inProgress}\n                        backendClient={state.backendClient}\n                    />\n\n                    <Box width={20} />\n\n                    <Button\n                        variant=\"outlined\"\n                        color=\"default\"\n                        disabled={state.inProgress}\n                        onClick={() => state.saveAsJson()}\n                    >\n                        <SaveAltIcon />\n                        <Box width={10} />\n                        <Typography color=\"inherit\">Save as JSON</Typography>\n                    </Button>\n                    \n                </Toolbar>\n\n            </>)}\n\n            <ErrorMessage state={this.props.state} />\n        </>);\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/FunctionGraphBase.tsx",
    "content": "import * as React from 'react';\n\nimport './FunctionGraph.css';\n\nimport { FunctionGraphStateBase } from '../states/FunctionGraphStateBase';\n\n// Generic routines for all pages showing Function Graphs\nexport class FunctionGraphBase<P extends { state: FunctionGraphStateBase }> extends React.Component<P> {\n\n    // Detects graph nodes that look like Functions and executes an action against them\n    protected static forEachFunctionNode(nodes: HTMLCollectionOf<Element> | Array<Element>, action: (node: HTMLElement, functionName: string) => void) {\n        \n        for (var i = 0; i < nodes.length; i++) {\n            const el = nodes[i] as HTMLElement;\n\n            const match = /flowchart-(.+)-/.exec(el.id);\n            if (!!match) {\n                action(el, match[1]);\n            }\n        }\n    }\n\n    protected mountClickEventToFunctionNodes(nodes: HTMLCollection): void {\n\n        const state = this.props.state;\n\n        FunctionGraphBase.forEachFunctionNode(nodes, (el, functionName) => {\n\n            el.onclick = () => state.gotoFunctionCode(functionName);\n\n            this.showAsClickable(el);\n        })\n    }\n\n    protected showAsClickable(el: HTMLElement) {\n        \n        el.style.cursor = 'pointer';\n        el.onmouseenter = (evt) => { (evt.target as HTMLElement).style.strokeOpacity = '0.5'; };\n        el.onmouseleave = (evt) => { (evt.target as HTMLElement).style.strokeOpacity = '1'; };\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/FunctionGraphTabBase.tsx",
    "content": "\nimport { FunctionGraphStateBase } from '../states/FunctionGraphStateBase';\nimport { FunctionGraphBase } from './FunctionGraphBase';\n\nimport { RuntimeStatusToBadgeStyle } from '../theme';\n\n// Generic routines for tabs showing Function Graphs\nexport class FunctionGraphTabBase<P extends { state: FunctionGraphStateBase }> extends FunctionGraphBase<P> {\n\n    protected readonly RunningStyle = RuntimeStatusToBadgeStyle('Running');\n    protected readonly CompletedStyle = RuntimeStatusToBadgeStyle('Completed');\n    protected readonly FailedStyle = RuntimeStatusToBadgeStyle('Failed');\n    protected readonly OtherStyle = RuntimeStatusToBadgeStyle('Terminated');\n    protected readonly DurationStyle = RuntimeStatusToBadgeStyle('Duration');\n\n    protected static nodeTypesToHighlight: Array<'orchestrator' | 'entity' | 'activity'> = ['orchestrator', 'entity'];\n\n    // Handles window and graph resize. Must remain static and shouldn't use 'this'.\n    protected static repositionMetricHints() {\n\n        // Hiding all metrics first\n        const allMetricsHintNodes = document.getElementsByClassName('metrics-span');\n        for (var i = 0; i < allMetricsHintNodes.length; i++) {\n            const metricsHintNode = allMetricsHintNodes[i] as HTMLElement;\n            metricsHintNode.style.visibility = 'hidden';\n        }\n        \n        const svgElement = document.getElementById('mermaidSvgId');\n        if (!svgElement) {\n            return;\n        }\n\n        // Selecting graph node elements that should be decorated with metrich chips\n        const instanceNodes = FunctionGraphTabBase.nodeTypesToHighlight.map(nodeType => Array.from(svgElement.getElementsByClassName(nodeType))).flat();\n        var isHighlightedAttributeName = '';\n  \n        FunctionGraphTabBase.forEachFunctionNode(instanceNodes, (instanceNode, functionName) => {\n\n            const metricsHintNode = document.getElementById(`metrics-hint-${functionName.toLowerCase()}`);\n            if (!!metricsHintNode) {\n\n                // Mark this graph node as highlighed\n                isHighlightedAttributeName = 'data-is-highlighted';\n                instanceNode.setAttribute(isHighlightedAttributeName, 'true');\n\n                // Attaching metrics chip to a node\n                const instanceNodeRect = instanceNode.getBoundingClientRect();\n                \n                metricsHintNode.style.visibility = 'visible';\n                metricsHintNode.style.left = `${instanceNodeRect.left + 5}px`;\n                metricsHintNode.style.top = `${instanceNodeRect.top - 17}px`;\n            }\n        });\n\n        // Dimming those nodes that are not highlighted\n        if (!!isHighlightedAttributeName) {\n            for (var node of Array.from(svgElement.getElementsByClassName('node'))) {\n\n                (node as HTMLElement).style.opacity = !node.getAttribute(isHighlightedAttributeName) ? '0.6' : '1';\n            }\n        }\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/LoginIcon.css",
    "content": "\n.login-progress {\n    text-align: center;\n    margin-top: 20px;\n    margin-bottom: 20px;\n}\n\n.task-hub-list {\n    padding-bottom: 25px !important;\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/LoginIcon.tsx",
    "content": "import * as React from 'react';\nimport { observer } from 'mobx-react';\n\nimport {\n    Box, Button, Container, CircularProgress, Dialog, DialogContent, DialogContentText,\n    List, ListItem, Link,\n    Menu, MenuItem, Tooltip, Typography, DialogTitle\n} from '@material-ui/core';\n\nimport { AccountCircle, Error } from '@material-ui/icons';\n\nimport './LoginIcon.css';\n\nimport { LoginState } from '../states/LoginState';\n\nimport { Theme } from '../theme';\n\n// Main Menu view\n@observer\nexport class LoginIcon extends React.Component<{ state: LoginState }> {\n\n    render(): JSX.Element {\n        const state = this.props.state;\n\n        return (\n            <div>\n                <Button color={state.isLoggedInAnonymously ? \"secondary\" : \"inherit\"}\n                    onClick={evt => state.menuAnchorElement = evt.currentTarget}\n                >\n                    <AccountCircle />\n                    <Box width={5} />\n                    <Tooltip title={state.isLoggedInAnonymously ? \"Ensure this endpoint is not exposed to the public!\" : \"\"} >\n                        <Typography color={state.isLoggedInAnonymously ? \"secondary\" : \"inherit\"} >\n                            {state.isLoggedInAnonymously ? \"Anonymous\" : state.userName}\n                        </Typography>\n                    </Tooltip>\n                </Button>\n\n                {!state.isLoggedInAnonymously && (\n                    <Menu\n                        anchorEl={state.menuAnchorElement}\n                        keepMounted\n                        open={!!state.menuAnchorElement}\n                        onClose={() => state.menuAnchorElement = undefined}\n                    >\n                        <MenuItem onClick={() => state.logout()}>Login under a different name</MenuItem>\n                    </Menu>\n                )}\n\n                <Dialog open={!state.isLoggedIn}>\n                    <DialogContent>\n\n                        {!state.errorMessage ? (!state.allowedTaskHubNames ? (<>\n                            \n                            <Container className=\"login-progress\">\n                                <CircularProgress />\n                            </Container>\n                            <DialogContentText>Login in progress...</DialogContentText>\n\n                        </>) : (<>\n                                \n                            <DialogTitle>Select your Task Hub</DialogTitle>\n                            <List className=\"task-hub-list\">\n                                {state.allowedTaskHubNames.map(hubName => (\n                                    <ListItem button key={hubName}>\n                                        <Link color={Theme.palette.type === 'dark' ? 'inherit' : 'primary'} href={state.locationPathName + hubName}>{hubName}</Link>\n                                    </ListItem>)\n                                )}\n                            </List>\n                            \n                        </>)): (<>\n                        \n                            <Container className=\"login-progress\">\n                                <Error color=\"secondary\" fontSize=\"large\" />\n                            </Container>\n                            <DialogContentText color=\"secondary\">Login failed. {state.errorMessage}</DialogContentText>\n                            \n                        </>)}\n\n                    </DialogContent>\n                </Dialog>\n            </div>\n        );\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/Main.css",
    "content": ".title-typography {\n    padding-right: 10px;\n}\n\n.app-bar {\n    margin-bottom: 10px;\n}\n\n.instance-id-input {\n    width: 320px;\n}\n\n.instance-id-valid .MuiOutlinedInput-root .MuiOutlinedInput-notchedOutline {\n    border-color: green !important;\n}\n\n.raw-html-div {\n    padding: 10px;\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/Main.tsx",
    "content": "import * as React from 'react';\nimport { observer } from 'mobx-react';\n\nimport { AppBar, Breadcrumbs, Box, Link, TextField, Toolbar, Typography } from '@material-ui/core';\nimport { MuiPickersUtilsProvider } from '@material-ui/pickers';\nimport Autocomplete from '@material-ui/lab/Autocomplete';\nimport MomentUtils from '@date-io/moment';\n\nimport './Main.css';\n\nimport { LoginIcon } from './LoginIcon';\nimport { MainMenu } from './MainMenu';\nimport { MainState } from '../states/MainState';\nimport { Orchestrations } from './results-view/Orchestrations';\nimport { OrchestrationDetails } from './details-view/OrchestrationDetails';\nimport { FunctionGraph } from './FunctionGraph';\nimport { PurgeHistoryDialog } from './dialogs/PurgeHistoryDialog';\nimport { CleanEntityStorageDialog } from './dialogs/CleanEntityStorageDialog';\nimport { ConnectionParamsDialog } from './dialogs/ConnectionParamsDialog';\nimport { StartNewInstanceDialog } from './dialogs/StartNewInstanceDialog';\n\nimport { DfmContextType, dfmContextInstance } from '../DfmContext';\n\n// DFM-specific route prefix, that is passed to us from the backend via a global static variable\ndeclare const DfmRoutePrefix: string;\n\n// The main application view\n@observer\nexport class Main extends React.Component<{ state: MainState }> {\n\n    render(): JSX.Element {\n        const state = this.props.state;\n\n        return (\n            <MuiPickersUtilsProvider utils={MomentUtils}><DfmContextType.Provider value={dfmContextInstance}>\n\n                {!state.loginState && (\n                    <Box height={20}/>\n                )}\n                \n                {!!state.loginState && (\n                    <AppBar position=\"static\" color=\"default\" className=\"app-bar\">\n                        <Toolbar>\n\n                            {state.loginState.isLoggedIn && !!state.mainMenuState && (\n                                <MainMenu state={state.mainMenuState} doRefresh={() => state.orchestrationsState.reloadOrchestrations()} />\n                            )}\n\n                            <img src={`${!DfmRoutePrefix ? '' : '/'}${DfmRoutePrefix}/logo.svg`} width=\"30px\"></img>\n                            <Box width={5} />\n\n                            <Typography variant=\"h6\" color=\"inherit\" className=\"title-typography\">\n                                <Link color=\"inherit\" href={state.loginState.rootUri}>\n                                    Durable Functions Monitor\n                                </Link>\n                            </Typography>\n\n                            <Breadcrumbs color=\"inherit\">\n                                <Link color=\"inherit\" href={state.loginState.locationPathName}>\n                                    / {state.loginState.taskHubName}\n                                </Link>\n\n                                {!state.orchestrationDetailsState ?\n                                    (\n                                        <Autocomplete\n                                            className=\"instance-id-input\"\n                                            freeSolo\n                                            options={state.isExactMatch ? [] : state.suggestions}\n                                            value={state.typedInstanceId}\n                                            onChange={(evt, newValue) => {\n                                                state.typedInstanceId = newValue ?? '';\n                                                if (!!newValue) {\n                                                    state.goto();\n                                                }\n                                            }}\n                                            renderInput={(params) => (\n                                                <TextField\n                                                    {...params}\n                                                    className={state.isExactMatch ? 'instance-id-valid' : null}\n                                                    size=\"small\"\n                                                    label=\"instanceId to go to...\"\n                                                    variant=\"outlined\"\n                                                    onChange={(evt) => state.typedInstanceId = evt.target.value as string}\n                                                    onKeyPress={(evt) => this.handleKeyPress(evt)}\n                                                />\n                                            )}\n                                        />\n                                    )\n                                    :\n                                    (<Typography color=\"inherit\">\n                                        <Link color=\"inherit\" href={window.location.pathname}>\n                                            {state.orchestrationDetailsState.orchestrationId}\n                                        </Link>\n                                    </Typography>)\n                                }\n\n                            </Breadcrumbs>\n\n                            <Typography style={{ flex: 1 }} />\n\n                            <LoginIcon state={state.loginState} />\n                        </Toolbar>\n                    </AppBar>\n                )}\n\n                {!!state.orchestrationsState && (!state.loginState || state.loginState.isLoggedIn) && (\n                    <Orchestrations state={state.orchestrationsState} />\n                )}\n\n                {!!state.orchestrationDetailsState && (!state.loginState || state.loginState.isLoggedIn) && (\n                    <OrchestrationDetails state={state.orchestrationDetailsState} />\n                )}\n\n                {!!state.functionGraphState && (!state.loginState || state.loginState.isLoggedIn) && (\n                    <FunctionGraph state={state.functionGraphState} />\n                )}\n\n                <PurgeHistoryDialog state={state.purgeHistoryDialogState}/>\n                <CleanEntityStorageDialog state={state.cleanEntityStorageDialogState} />\n                <StartNewInstanceDialog state={state.startNewInstanceDialogState} />\n\n                {!!state.connectionParamsDialogState && (\n                    <ConnectionParamsDialog state={state.connectionParamsDialogState} />\n                )}           \n\n            </DfmContextType.Provider></MuiPickersUtilsProvider>\n        );\n    }\n\n    private handleKeyPress(event: React.KeyboardEvent<HTMLDivElement>) {\n        if (event.key === 'Enter') {\n            // Otherwise the event will bubble up and the form will be submitted\n            event.preventDefault();\n\n            this.props.state.goto();\n        }\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/MainMenu.css",
    "content": "\n.show-time-as-typography {\n    padding-top: 10px;\n    padding-left: 16px;\n    padding-right: 10px;\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/MainMenu.tsx",
    "content": "import * as React from 'react';\nimport { observer } from 'mobx-react';\n\nimport {\n    FormControlLabel, IconButton, Menu, MenuItem, Radio, RadioGroup, Typography\n} from '@material-ui/core';\n\nimport './MainMenu.css';\n\nimport MenuIcon from '@material-ui/icons/Menu';\n\nimport { MainMenuState } from '../states/MainMenuState';\n\nimport { DfmContextType } from '../DfmContext';\n\n// Main Menu view\n@observer\nexport class MainMenu extends React.Component<{ state: MainMenuState, doRefresh: () => void }> {\n\n    static contextType = DfmContextType;\n    context!: React.ContextType<typeof DfmContextType>;\n\n    componentDidMount() {\n        // Querying the backend for connection info and displaying it in window title\n        this.props.state.setWindowTitle();\n    }\n\n    render(): JSX.Element {\n        const state = this.props.state;\n\n        return (<>\n            <IconButton color=\"inherit\"\n                onClick={evt => state.menuAnchorElement = evt.currentTarget}\n            >\n                <MenuIcon/>\n            </IconButton>\n\n            <Menu\n                anchorEl={state.menuAnchorElement}\n                keepMounted\n                open={!!state.menuAnchorElement}\n                onClose={() => state.menuAnchorElement = undefined}\n            >\n                <RadioGroup row value={this.context.showTimeAsLocal.toString()} onChange={(evt) => {\n                    this.context.showTimeAsLocal = (evt.target as HTMLInputElement).value === 'true';\n                    state.menuAnchorElement = undefined;\n                    this.props.doRefresh();\n                }}>\n                    <Typography className=\"show-time-as-typography\">Show time as:</Typography>\n                    <FormControlLabel control={<Radio color=\"primary\"/>} label=\"UTC\" value={'false'} />\n                    <FormControlLabel control={<Radio color=\"primary\"/>} label=\"Local\" value={'true'} />\n                </RadioGroup>\n\n                <MenuItem onClick={() => state.showConnectionParamsDialog()}>Manage Storage Connection Settings...</MenuItem>\n                <MenuItem onClick={() => state.showPurgeHistoryDialog()}>Purge Instance History...</MenuItem>\n                <MenuItem onClick={() => state.showCleanEntityStorageDialog()}>Clean Entity Storage...</MenuItem>\n                <MenuItem onClick={() => state.showStartNewInstanceDialog()}>Start New Orchestration Instance...</MenuItem>\n            </Menu>\n        </>);\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/OrchestrationLink.tsx",
    "content": "import * as React from 'react';\nimport { action } from 'mobx'\nimport { observer } from 'mobx-react';\n\nimport { Link } from '@material-ui/core';\n\nimport { IBackendClient } from '../services/IBackendClient';\nimport { OrchestrationsPathPrefix } from '../states/LoginState';\nimport { Theme } from '../theme';\n\n// Renders a link to be opened either in a new browser tab or in a new VsCode WebView\n@observer\nexport class OrchestrationLink extends React.Component<{ orchestrationId: string, title?: string, backendClient: IBackendClient }> {\n\n    render(): JSX.Element {\n\n        if (this.props.backendClient.isVsCode) {\n\n            return (\n                <Link color={Theme.palette.type === 'dark' ? 'inherit' : 'primary'} className=\"link-with-pointer-cursor\" onClick={this.onLinkClicked} >\n                    {this.props.title ?? this.props.orchestrationId}\n                </Link>\n            );            \n        } else {\n\n            return (\n                <Link color={Theme.palette.type === 'dark' ? 'inherit' : 'primary'} href={`${this.props.backendClient.routePrefixAndTaskHubName}${OrchestrationsPathPrefix}${this.extraSanitizeHrefComponent(this.props.orchestrationId)}`} target=\"_blank\">\n                    {this.props.title ?? this.props.orchestrationId}\n                </Link>\n            );\n        }\n    }\n\n    @action.bound\n    private onLinkClicked() {\n        this.props.backendClient.call('OpenInNewWindow', this.props.orchestrationId);\n    }\n\n    // Just to be extra sure\n    private extraSanitizeHrefComponent(s: string): string{\n        return s.replace(/javascript:/gi, '');\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/SaveAsSvgButton.tsx",
    "content": "import * as React from 'react';\n\nimport { Box, Button, Typography } from '@material-ui/core';\n\nimport SaveIcon from '@material-ui/icons/Save';\n\nimport { IBackendClient } from '../services/IBackendClient';\n\n// A button to save something as an .SVG file\nexport class SaveAsSvgButton extends React.Component<{ svg: string, fileName: string, inProgress: boolean, backendClient: IBackendClient }> {\n\n    render(): JSX.Element {\n\n        if (this.props.backendClient.isVsCode) {\n\n            return (\n                <Button\n                    variant=\"outlined\"\n                    color=\"default\"\n                    disabled={this.props.inProgress}\n                    onClick={() => this.props.backendClient.call('SaveAs', this.props.fileName + '.svg', this.props.svg)}\n                >\n                    <SaveIcon />\n                    <Box width={20} />\n                    <Typography color=\"inherit\">Save as .SVG</Typography>\n                </Button>\n            );\n\n        } else {\n\n            return (\n                <Button\n                    variant=\"outlined\"\n                    color=\"default\"\n                    disabled={this.props.inProgress}\n                    href={URL.createObjectURL(new Blob([this.props.svg], { type: 'image/svg+xml' }))}\n                    download={this.props.fileName + '.svg'}\n                >\n                    <SaveIcon />\n                    <Box width={20} />\n                    <Typography color=\"inherit\">Save as .SVG</Typography>\n                </Button>\n            );\n        }\n    }\n}\n\n// Appends some styling to SVG code, so it can also be saved as file\nexport function getStyledSvg(svg: string): string {\n\n    return svg.replace('</style>',\n        '.note { stroke: none !important; fill: none !important; } ' +\n        '.noteText { font-size: 9px !important; } ' +\n        '.label > g > text { transform: translateX(25px); }' +\n        '</style>'\n    );\n}\n"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/details-view/DurableEntityButtons.tsx",
    "content": "import * as React from 'react';\nimport { observer } from 'mobx-react';\n\nimport {\n    Box, Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, TextField\n} from '@material-ui/core';\n\nimport { OrchestrationDetailsState } from '../../states/details-view/OrchestrationDetailsState';\n\nimport { PrimaryButtonColor } from '../../theme';\n\n// Buttons for detailed durable entity view\n@observer\nexport class DurableEntityButtons extends React.Component<{ state: OrchestrationDetailsState, disabled: boolean }> {\n\n    render(): JSX.Element {\n        const state = this.props.state;\n\n        return (<>\n\n            {this.renderDialogs(state)}\n\n            <Button variant=\"outlined\" color={PrimaryButtonColor} size=\"medium\" disabled={this.props.disabled} onClick={() => state.purgeConfirmationOpen = true}>\n                Purge\n            </Button>\n            <Box width={10} />\n            <Button variant=\"outlined\" color={PrimaryButtonColor} size=\"medium\" disabled={this.props.disabled} onClick={() => state.raiseEventDialogOpen = true}>\n                Send Signal\n            </Button>\n        </>);\n    }\n\n    private renderDialogs(state: OrchestrationDetailsState): JSX.Element {\n        return (<>\n\n            <Dialog\n                open={state.purgeConfirmationOpen}\n                onClose={() => state.purgeConfirmationOpen = false}\n            >\n                <DialogTitle>Confirm Purge</DialogTitle>\n                <DialogContent>\n                    <DialogContentText>\n                        You're about to purge entity '{state.orchestrationId}'. This operation drops entity state from the underlying storage and cannot be undone. Are you sure?\n                    </DialogContentText>\n                </DialogContent>\n                <DialogActions>\n                    <Button onClick={() => state.purgeConfirmationOpen = false} color={PrimaryButtonColor} autoFocus>\n                        Cancel\n                    </Button>\n                    <Button onClick={() => state.purge()} color=\"secondary\">\n                        Yes, purge\n                    </Button>\n                </DialogActions>\n            </Dialog>\n\n            <Dialog\n                fullWidth={true}\n                open={state.raiseEventDialogOpen}\n                onClose={() => state.raiseEventDialogOpen = false}\n            >\n                <DialogTitle>Send Signal</DialogTitle>\n                <DialogContent>\n                    <DialogContentText>\n                        Provide signal name and some additional data\n                    </DialogContentText>\n\n                    <TextField\n                        autoFocus\n                        margin=\"dense\"\n                        label=\"Signal Name\"\n                        InputLabelProps={{ shrink: true }}\n                        fullWidth\n                        value={state.eventName}\n                        onChange={(evt) => state.eventName = evt.target.value as string}\n                    />\n\n                    <TextField\n                        margin=\"dense\"\n                        label=\"Signal Data (JSON)\"\n                        InputLabelProps={{ shrink: true }}\n                        fullWidth\n                        multiline\n                        rows={7}\n                        value={state.eventData}\n                        onChange={(evt) => state.eventData = evt.target.value as string}\n                    />\n\n                </DialogContent>\n                <DialogActions>\n                    <Button onClick={() => state.raiseEventDialogOpen = false} color={PrimaryButtonColor}>\n                        Cancel\n                    </Button>\n                    <Button onClick={() => state.raiseEvent()} disabled={!state.eventName} color=\"secondary\">\n                        Send\n                    </Button>\n                </DialogActions>\n            </Dialog>\n\n        </>);\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/details-view/DurableEntityFields.tsx",
    "content": "import * as React from 'react';\nimport { observer } from 'mobx-react';\n\nimport { Grid, TextField } from '@material-ui/core';\n\nimport { DurableOrchestrationStatus } from '../../states/DurableOrchestrationStatus';\nimport { RuntimeStatusToStyle } from '../../theme';\nimport { LongJsonDialog } from '../dialogs/LongJsonDialog';\nimport { DfmContextType } from '../../DfmContext';\n\n// Fields for detailed durable entity view\n@observer\nexport class DurableEntityFields extends React.Component<{ details: DurableOrchestrationStatus }> {\n\n    static contextType = DfmContextType;\n    context!: React.ContextType<typeof DfmContextType>;\n\n    render(): JSX.Element {\n        const details = this.props.details;\n\n        const runtimeStatusStyle = RuntimeStatusToStyle(details.runtimeStatus);\n\n        return (<>\n            <Grid container className=\"grid-container\">\n                <Grid item xs={12} sm={12} md={3} zeroMinWidth className=\"grid-item\">\n                    <TextField\n                        label=\"entityId.name\"\n                        value={details.entityId?.name}\n                        margin=\"normal\"\n                        InputProps={{ readOnly: true }}\n                        InputLabelProps={{ shrink: true }}\n                        variant=\"outlined\"\n                        fullWidth\n                    />\n                </Grid>\n\n                <Grid item xs={12} sm={6} md={3} zeroMinWidth className=\"grid-item\">\n                    <TextField\n                        label=\"entityId.key\"\n                        value={details.entityId?.key}\n                        margin=\"normal\"\n                        InputProps={{ readOnly: true }}\n                        InputLabelProps={{ shrink: true }}\n                        variant=\"outlined\"\n                        fullWidth\n                    />\n                </Grid>\n\n                <Grid item xs={12} sm={6} md={2} zeroMinWidth className=\"grid-item\">\n                    <TextField\n                        label={`createdTime (${this.context.timeZoneName})`}\n                        value={this.context.formatDateTimeString(details.createdTime)}\n                        margin=\"normal\"\n                        InputProps={{ readOnly: true }}\n                        InputLabelProps={{ shrink: true }}\n                        variant=\"outlined\"\n                        fullWidth\n                    />\n                </Grid>\n                <Grid item xs={12} sm={6} md={2} zeroMinWidth className=\"grid-item\">\n                    <TextField\n                        label={`lastUpdatedTime (${this.context.timeZoneName})`}\n                        value={this.context.formatDateTimeString(details.lastUpdatedTime)}\n                        margin=\"normal\"\n                        InputProps={{ readOnly: true }}\n                        InputLabelProps={{ shrink: true }}\n                        variant=\"outlined\"\n                        fullWidth\n                    />\n                </Grid>\n                <Grid item xs={12} sm={6} md={2} zeroMinWidth className=\"grid-item\">\n                    <TextField\n                        label=\"runtimeStatus\"\n                        value={details.runtimeStatus}\n                        margin=\"normal\"\n                        InputProps={{ readOnly: true }}\n                        InputLabelProps={{ shrink: true }}\n                        variant=\"outlined\"\n                        fullWidth\n                        style={runtimeStatusStyle}\n                    />\n                </Grid>\n                \n                <Grid item xs={12} zeroMinWidth className=\"grid-item\">\n                    <TextField\n                        label=\"input\"\n                        value={LongJsonDialog.formatJson(details.input)}\n                        margin=\"normal\"\n                        InputProps={{ readOnly: true }}\n                        InputLabelProps={{ shrink: true }}\n                        variant=\"outlined\"\n                        fullWidth\n                        multiline\n                        rowsMax={10}\n                    />\n                </Grid>\n                <Grid item xs={12} zeroMinWidth className=\"grid-item\">\n                    <TextField\n                        label=\"customStatus\"\n                        value={LongJsonDialog.formatJson(details.customStatus)}\n                        margin=\"normal\"\n                        InputProps={{ readOnly: true }}\n                        InputLabelProps={{ shrink: true }}\n                        variant=\"outlined\"\n                        fullWidth\n                        multiline\n                        rowsMax={10}\n                    />\n                </Grid>\n            </Grid>\n\n        </>);\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/details-view/OrchestrationButtons.tsx",
    "content": "import * as React from 'react';\nimport { observer } from 'mobx-react';\n\nimport {\n    Box, Button, Checkbox, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle,\n    FormControlLabel, TextField\n} from '@material-ui/core';\n\nimport { OrchestrationDetailsState } from '../../states/details-view/OrchestrationDetailsState';\n\nimport { PrimaryButtonColor } from '../../theme';\n\n// Buttons for detailed orchestration view\n@observer\nexport class OrchestrationButtons extends React.Component<{ state: OrchestrationDetailsState, disabled: boolean }> {\n\n    render(): JSX.Element {\n        const state = this.props.state;\n\n        return (<>\n\n            {this.renderDialogs(state)}\n\n            <Button variant=\"outlined\" color={PrimaryButtonColor} size=\"medium\" disabled={this.props.disabled} onClick={() => state.restartDialogOpen = true}>\n                Restart\n            </Button>\n            <Box width={10} />\n            <Button variant=\"outlined\" color={PrimaryButtonColor} size=\"medium\" disabled={this.props.disabled} onClick={() => state.rewindConfirmationOpen = true}>\n                Rewind\n            </Button>\n            <Box width={10} />\n            <Button variant=\"outlined\" color={PrimaryButtonColor} size=\"medium\" disabled={this.props.disabled} onClick={() => state.terminateConfirmationOpen = true}>\n                Terminate\n            </Button>\n            <Box width={10} />\n            <Button variant=\"outlined\" color={PrimaryButtonColor} size=\"medium\" disabled={this.props.disabled} onClick={() => state.raiseEventDialogOpen = true}>\n                Raise Event\n            </Button>\n            <Box width={10} />\n            <Button variant=\"outlined\" color={PrimaryButtonColor} size=\"medium\" disabled={this.props.disabled} onClick={() => state.setCustomStatusDialogOpen = true}>\n                Set Custom Status\n            </Button>\n            <Box width={10} />\n            <Button variant=\"outlined\" color={PrimaryButtonColor} size=\"medium\" disabled={this.props.disabled} onClick={() => state.purgeConfirmationOpen = true}>\n                Purge\n            </Button>           \n            \n        </>);\n    }\n\n    private renderDialogs(state: OrchestrationDetailsState): JSX.Element {\n        return (<>\n\n            <Dialog\n                open={state.rewindConfirmationOpen}\n                onClose={() => state.rewindConfirmationOpen = false}\n            >\n                <DialogTitle>Confirm Rewind</DialogTitle>\n                <DialogContent>\n                    <DialogContentText>\n                        You're about to rewind orchestration '{state.orchestrationId}'. Are you sure?\n                    </DialogContentText>\n                </DialogContent>\n                <DialogActions>\n                    <Button onClick={() => state.rewindConfirmationOpen = false} color={PrimaryButtonColor} autoFocus>\n                        Cancel\n                    </Button>\n                    <Button onClick={() => state.rewind()} color=\"secondary\">\n                        Yes, rewind\n                    </Button>\n                </DialogActions>\n            </Dialog>\n\n            <Dialog\n                open={state.terminateConfirmationOpen}\n                onClose={() => state.terminateConfirmationOpen = false}\n            >\n                <DialogTitle>Confirm Terminate</DialogTitle>\n                <DialogContent>\n                    <DialogContentText>\n                        You're about to terminate orchestration '{state.orchestrationId}'. This operation cannot be undone. Are you sure?\n                    </DialogContentText>\n                </DialogContent>\n                <DialogActions>\n                    <Button onClick={() => state.terminateConfirmationOpen = false} color={PrimaryButtonColor} autoFocus>\n                        Cancel\n                    </Button>\n                    <Button onClick={() => state.terminate()} color=\"secondary\">\n                        Yes, terminate\n                    </Button>\n                </DialogActions>\n            </Dialog>\n\n            <Dialog\n                fullWidth={true}\n                open={state.raiseEventDialogOpen}\n                onClose={() => state.raiseEventDialogOpen = false}\n            >\n                <DialogTitle>Raise Event</DialogTitle>\n                <DialogContent>\n                    <DialogContentText>\n                        Provide event name and some additional data\n                    </DialogContentText>\n\n                    <TextField\n                        autoFocus\n                        margin=\"dense\"\n                        label=\"Event Name\"\n                        InputLabelProps={{ shrink: true }}\n                        fullWidth\n                        value={state.eventName}\n                        onChange={(evt) => state.eventName = evt.target.value as string}\n                    />\n\n                    <TextField\n                        margin=\"dense\"\n                        label=\"Event Data (JSON)\"\n                        InputLabelProps={{ shrink: true }}\n                        fullWidth\n                        multiline\n                        rows={7}\n                        value={state.eventData}\n                        onChange={(evt) => state.eventData = evt.target.value as string}\n                    />\n\n                </DialogContent>\n                <DialogActions>\n                    <Button onClick={() => state.raiseEventDialogOpen = false} color={PrimaryButtonColor}>\n                        Cancel\n                    </Button>\n                    <Button onClick={() => state.raiseEvent()} disabled={!state.eventName} color=\"secondary\">\n                        Raise\n                    </Button>\n                </DialogActions>\n            </Dialog>\n            \n            <Dialog\n                fullWidth={true}\n                open={state.setCustomStatusDialogOpen}\n                onClose={() => state.setCustomStatusDialogOpen = false}\n            >\n                <DialogTitle>Set customStatus</DialogTitle>\n                <DialogContent>\n                    <DialogContentText>\n                        customStatus field is a way for external clients to differentiate instances of your orchestration. It does not affect the orchestration workflow itself.\n                    </DialogContentText>\n\n                    <TextField\n                        margin=\"dense\"\n                        InputLabelProps={{ shrink: true }}\n                        label=\"New customStatus (JSON)\"\n                        fullWidth\n                        multiline\n                        rows={10}\n                        value={state.newCustomStatus}\n                        onChange={(evt) => state.newCustomStatus = evt.target.value as string}\n                    />\n\n                </DialogContent>\n                <DialogActions>\n                    <Button onClick={() => state.setCustomStatusDialogOpen = false} color={PrimaryButtonColor}>\n                        Cancel\n                    </Button>\n                    <Button onClick={() => state.setCustomStatus()} disabled={!state.isCustomStatusDirty} color=\"secondary\">\n                        Apply\n                    </Button>\n                </DialogActions>\n            </Dialog>\n\n            <Dialog\n                open={state.purgeConfirmationOpen}\n                onClose={() => state.purgeConfirmationOpen = false}\n            >\n                <DialogTitle>Confirm Purge</DialogTitle>\n                <DialogContent>\n                    <DialogContentText>\n                        You're about to purge orchestration '{state.orchestrationId}'. This operation drops orchestration state from the underlying storage and cannot be undone. Are you sure?\n                    </DialogContentText>\n                </DialogContent>\n                <DialogActions>\n                    <Button onClick={() => state.purgeConfirmationOpen = false} color={PrimaryButtonColor} autoFocus>\n                        Cancel\n                    </Button>\n                    <Button onClick={() => state.purge()} color=\"secondary\">\n                        Yes, purge\n                    </Button>\n                </DialogActions>\n            </Dialog>\n\n            <Dialog\n                open={state.restartDialogOpen}\n                onClose={() => state.restartDialogOpen = false}\n            >\n                <DialogTitle>Confirm Restart</DialogTitle>\n                <DialogContent>\n                    <DialogContentText>\n                        You're about to restart orchestration '{state.orchestrationId}'. Are you sure?\n                    </DialogContentText>\n\n                    <FormControlLabel control={<Checkbox\n                        checked={state.restartWithNewInstanceId}\n                        onChange={(evt) => state.restartWithNewInstanceId = evt.target.checked} />}\n                        label=\"Restart with new instanceId\"\n                    />\n\n                </DialogContent>\n                <DialogActions>\n                    <Button onClick={() => state.restartDialogOpen = false} color={PrimaryButtonColor} autoFocus>\n                        Cancel\n                    </Button>\n                    <Button onClick={() => state.restart()} color=\"secondary\">\n                        Restart\n                    </Button>\n                </DialogActions>\n            </Dialog>\n        </>);\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/details-view/OrchestrationDetails.css",
    "content": ".details-top-toolbar {\n    padding-top: 5px;\n    padding-bottom: 20px;\n    max-width: 100vw;\n    min-width: 900px;\n}\n\n.grid-container {\n    padding-top: 20px;\n    padding-right: 15px;\n}\n\n.grid-item {\n    padding-left: 15px;\n}\n\n.details-datetime-cell {\n    min-width: 250px;\n}\n\n.history-events-count-label {\n    padding-top: 10px;\n    padding-left: 16px;\n    padding-bottom: 10px;\n}\n\n.details-refresh-button {\n    width: 90px;\n}\n\n.functions-graph-tab-span {\n    display: inline-flex;\n    flex-direction: row;\n}\n\n.functions-graph-link-icon {\n    width: 15px !important;\n    margin-top: -2px;\n    padding-left: 5px;\n}\n\n.history-filtered-column-input {\n    width: 150px;\n}\n\n.history-filter-value-input {\n    width: 250px;\n}\n\n.history-appbar {\n    margin-top: 15px;\n    margin-bottom: 15px;\n    padding-top: 5px;\n    padding-bottom: 5px;\n}\n\n.history-toolbar {\n    margin-left: -8px !important;\n    padding-left: 0px !important;\n    padding-top: 17px !important;\n}\n\n.history-from-input {\n    width: 210px;\n}\n\n.history-from-checkbox {\n    padding-top: 18px !important;\n}\n\n.history-from-label {\n    margin-left: -40px;\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/details-view/OrchestrationDetails.tsx",
    "content": "import * as React from 'react';\nimport { observer } from 'mobx-react';\n\nimport {\n    AppBar, Box, Button, FormControl, InputLabel, LinearProgress, MenuItem,\n    Select, Tabs, Tab, Toolbar, Typography\n} from '@material-ui/core';\n\nimport RefreshIcon from '@material-ui/icons/Refresh';\nimport CancelOutlinedIcon from '@material-ui/icons/CancelOutlined';\nimport FileCopyIcon from '@material-ui/icons/FileCopy';\n\nimport './OrchestrationDetails.css';\n\nimport { DurableEntityButtons } from './DurableEntityButtons';\nimport { DurableEntityFields } from './DurableEntityFields';\nimport { ErrorMessage } from '../ErrorMessage';\nimport { OrchestrationButtons } from './OrchestrationButtons';\nimport { OrchestrationDetailsState } from '../../states/details-view/OrchestrationDetailsState';\nimport { FunctionGraphTabState } from '../../states/details-view/FunctionGraphTabState';\nimport { CustomTabTypeEnum } from '../../states/details-view/ICustomTabState';\nimport { OrchestrationFields } from './OrchestrationFields';\nimport { CustomTabStyle } from '../../theme';\nimport { SaveAsSvgButton, getStyledSvg } from '../SaveAsSvgButton';\nimport { OrchestrationDetailsFunctionGraph } from './OrchestrationDetailsFunctionGraph';\n\n// Orchestration Details view\n@observer\nexport class OrchestrationDetails extends React.Component<{ state: OrchestrationDetailsState }> {\n\n    componentDidMount() {\n\n        // Triggering initial load\n        this.props.state.loadDetails();\n    }\n\n    componentDidUpdate() {\n\n        // Mounting click handlers to diagram nodes\n        const svgElement = document.getElementById('mermaidSvgId');\n\n        if (!!svgElement) {\n\n            this.mountClickEventToFunctionNodes(svgElement.getElementsByClassName('actor'));\n            this.mountClickEventToFunctionNodes(svgElement.getElementsByClassName('messageText'));\n            this.mountClickEventToFunctionNodes(svgElement.getElementsByClassName('task'));\n            this.mountClickEventToFunctionNodes(svgElement.getElementsByClassName('taskText'));\n            this.mountClickEventToFunctionNodes(svgElement.getElementsByClassName('taskTextOutsideLeft'));\n            this.mountClickEventToFunctionNodes(svgElement.getElementsByClassName('taskTextOutsideRight'));\n        }\n    }\n\n    render(): JSX.Element {\n        const state = this.props.state;\n\n        return (<>\n            <AppBar color=\"inherit\" position=\"static\" className=\"top-appbar\">\n\n                {state.inProgress ? (<LinearProgress />) : (<Box height={4} />)}\n\n                <Toolbar variant=\"dense\" className=\"details-top-toolbar\">\n\n                    {state.details.entityType === \"Orchestration\" && (\n                        <OrchestrationButtons state={state} disabled={state.inProgress} />\n                    )}\n                    {state.details.entityType === \"DurableEntity\" && (\n                        <DurableEntityButtons state={state} disabled={state.inProgress} />\n                    )}\n                    \n                    <Box width={20} />\n                    <Typography style={{ flex: 1 }} />\n\n                    <FormControl>\n                        <InputLabel htmlFor=\"auto-refresh-select\">Auto-refresh</InputLabel>\n                        <Select\n                            className=\"toolbar-select\"\n                            value={state.autoRefresh}\n                            onChange={(evt) => state.autoRefresh = evt.target.value as number}\n                            inputProps={{ id: 'auto-refresh-select' }}>\n                            <MenuItem value={0}>Never</MenuItem>\n                            <MenuItem value={1}>Every 1 sec.</MenuItem>\n                            <MenuItem value={5}>Every 5 sec.</MenuItem>\n                            <MenuItem value={10}>Every 10 sec.</MenuItem>\n                        </Select>\n                    </FormControl>\n\n                    <Box width={20} />\n\n                    <Button\n                        className=\"details-refresh-button\"\n                        variant=\"outlined\"\n                        color=\"default\"\n                        size=\"large\"\n                        disabled={state.inProgress && !state.loadInProgress}\n                        onClick={() => state.loadInProgress ? state.cancel() : state.loadDetails()}\n                    >\n                        {state.loadInProgress ? (<CancelOutlinedIcon />) : (<RefreshIcon />)}\n                    </Button>\n\n                </Toolbar>\n            </AppBar>\n\n            {!!state.tabStates.length && (<>\n                <AppBar color=\"inherit\" position=\"static\">\n                    <Tabs className=\"tab-buttons\" value={state.tabIndex}\n                        onChange={(ev: React.ChangeEvent<{}>, val) => {\n                            // Link to functions graph should not be selectable\n                            if (val !== 'functions-graph-link') {\n                                state.tabIndex = val;\n                            }\n                        }}>\n                        \n                        <Tab className=\"tab-buttons\" disabled={state.inProgress} \n                            label={<Typography color=\"textPrimary\" variant=\"subtitle2\">Details</Typography>}\n                        />\n                        \n                        {state.tabStates.map(tabState => (\n                            <Tab className=\"tab-buttons\" key={tabState.name} disabled={state.inProgress} \n                                label={<Typography color=\"textPrimary\" variant=\"subtitle2\">{tabState.name}</Typography>}\n                            />\n                        ))}\n\n                    </Tabs>\n                </AppBar>\n            </>)}\n\n            {!state.tabIndex && state.details.entityType === \"Orchestration\" && (<>\n                <OrchestrationFields state={state} />\n\n                {state.inProgress && !!state.history.length ? (<LinearProgress />) : (<Box height={4} />)}\n            </>)}\n\n            {!state.tabIndex && state.details.entityType === \"DurableEntity\" &&\n                <DurableEntityFields details={state.details} />\n            }\n\n            {!!state.selectedTab && state.selectedTab.tabType === CustomTabTypeEnum.FunctionGraph && (\n\n                <OrchestrationDetailsFunctionGraph\n                    state={state.selectedTab as FunctionGraphTabState}\n                    inProgress={state.inProgress}\n                    fileName={state.orchestrationId}\n                    backendClient={state.backendClient}\n                />\n            )}\n\n            {!!state.selectedTab && state.selectedTab.tabType !== CustomTabTypeEnum.FunctionGraph && !!state.selectedTab.rawHtml && (<>\n\n                <div\n                    className=\"raw-html-div\"\n                    style={CustomTabStyle}\n                    dangerouslySetInnerHTML={{ __html: getStyledSvg(state.selectedTab.rawHtml) }}\n                />\n                \n                {state.selectedTab.tabType === CustomTabTypeEnum.MermaidDiagram && (\n\n                    <Toolbar variant=\"dense\">\n                        <Typography style={{ flex: 1 }} />\n\n                        <Button\n                            variant=\"outlined\"\n                            color=\"default\"\n                            disabled={state.inProgress}\n                            onClick={() => window.navigator.clipboard.writeText(state.selectedTab.description)}\n                        >\n                            <FileCopyIcon />\n                            <Box width={10} />\n                            <Typography color=\"inherit\">Copy diagram code to Clipboard</Typography>\n                        </Button>\n\n                        <Box width={20} />\n\n                        <SaveAsSvgButton\n                            svg={getStyledSvg(state.selectedTab.rawHtml)}\n                            fileName={state.orchestrationId}\n                            inProgress={state.inProgress}\n                            backendClient={state.backendClient}\n                        />\n\n                        <Box width={20} />\n                    </Toolbar>\n                )}\n                \n            </>)}\n\n            <ErrorMessage state={this.props.state} />\n        </>);\n    }\n\n    private mountClickEventToFunctionNodes(nodes: HTMLCollection): void {\n\n        const state = this.props.state;\n\n        for (var i = 0; i < nodes.length; i++) {\n            const el = nodes[i] as HTMLElement;\n            \n            var functionName = el.getAttribute('data-function-name');\n            if (!functionName) {\n                \n                functionName = el.innerHTML;\n                const match = />(.+)</.exec(functionName);\n                if (!!match) {\n                    functionName = match[1];\n                }\n            }\n\n            if (!!state.functionNames[functionName]) {\n\n                const closuredFunctionName = functionName;\n                el.onclick = () => state.gotoFunctionCode(closuredFunctionName);\n\n                el.style.cursor = 'pointer';\n                el.onmouseenter = (evt) => { (evt.target as HTMLElement).style.strokeOpacity = '0.5'; };\n                el.onmouseleave = (evt) => { (evt.target as HTMLElement).style.strokeOpacity = '1'; };\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/details-view/OrchestrationDetailsFunctionGraph.tsx",
    "content": "import * as React from 'react';\nimport { observer } from 'mobx-react';\n\nimport {\n    Box, Button, Checkbox, Chip, FormGroup, FormControlLabel, FormHelperText, Link, Toolbar, Tooltip, Typography\n} from '@material-ui/core';\n\nimport FileCopyIcon from '@material-ui/icons/FileCopy';\n\nimport { FunctionGraphTabState } from '../../states/details-view/FunctionGraphTabState';\nimport { SaveAsSvgButton, getStyledSvg } from '../SaveAsSvgButton';\nimport { IBackendClient } from '../../services/IBackendClient';\nimport { DateTimeHelpers } from '../../DateTimeHelpers';\nimport { FunctionGraphTabBase } from '../FunctionGraphTabBase';\n\nimport { CustomTabStyle, Theme } from '../../theme';\n\n// Interactive Function Graph view\n@observer\nexport class OrchestrationDetailsFunctionGraph extends FunctionGraphTabBase<{ state: FunctionGraphTabState, inProgress: boolean, fileName: string, backendClient: IBackendClient }> {\n\n    componentDidMount() {\n\n        // On details tab we also show metrics for activities, so need to override this\n        FunctionGraphTabBase.nodeTypesToHighlight = ['orchestrator', 'entity', 'activity'];\n\n        window.addEventListener('resize', OrchestrationDetailsFunctionGraph.repositionMetricHints);\n        OrchestrationDetailsFunctionGraph.repositionMetricHints();\n    }\n\n    componentWillUnmount() {\n\n        window.removeEventListener('resize', OrchestrationDetailsFunctionGraph.repositionMetricHints);\n    }\n\n    componentDidUpdate() {\n\n        OrchestrationDetailsFunctionGraph.repositionMetricHints();\n\n        const svgElement = document.getElementById('mermaidSvgId');\n        if (!!svgElement) {\n\n            this.mountClickEventToFunctionNodes(svgElement.getElementsByClassName('function'));\n            this.mountClickEventToFunctionNodes(svgElement.getElementsByClassName('orchestrator'));\n            this.mountClickEventToFunctionNodes(svgElement.getElementsByClassName('activity'));\n            this.mountClickEventToFunctionNodes(svgElement.getElementsByClassName('entity'));\n            this.mountClickEventToFunctionNodes(svgElement.getElementsByClassName('proxy'));\n        }\n    }\n\n    render(): JSX.Element {\n\n        const state = this.props.state;\n\n        return (<>\n            \n            <FormHelperText className=\"link-to-az-func-as-a-graph\" >\n                powered by <Link\n                    color={Theme.palette.type === 'dark' ? 'inherit' : 'primary'} \n                    variant=\"inherit\"\n                    href=\"https://github.com/scale-tone/az-func-as-a-graph\"\n                >\n                    az-func-as-a-graph\n                </Link>\n            </FormHelperText>\n\n            {!!state.functionsLoaded && (\n                <FormGroup row className=\"settings-group\">\n\n                    <FormControlLabel\n                        control={<Checkbox\n                            color=\"default\"\n                            disabled={this.props.inProgress}\n                            checked={state.renderFunctions}\n                            onChange={(evt) => state.renderFunctions = evt.target.checked}\n                        />}\n                        label={<Typography color=\"textPrimary\">Show Functions</Typography>}\n                    />\n\n                    <FormControlLabel\n                        control={<Checkbox\n                            color=\"default\"\n                            disabled={this.props.inProgress}\n                            checked={state.renderProxies}\n                            onChange={(evt) => state.renderProxies = evt.target.checked}\n                        />}\n                        label={<Typography color=\"textPrimary\">Show Proxies</Typography>}\n                    />\n\n\n                </FormGroup>\n            )}\n\n            {this.renderMetrics()}\n\n            {!!state.diagramSvg && (<>\n                <div\n                    className=\"diagram-div\"\n                    style={CustomTabStyle}\n                    dangerouslySetInnerHTML={{ __html: getStyledSvg(state.diagramSvg) }}\n                />\n\n                <Toolbar variant=\"dense\">\n\n                    <Typography style={{ flex: 1 }} />\n\n                    <Button\n                        variant=\"outlined\"\n                        color=\"default\"\n                        disabled={this.props.inProgress}\n                        onClick={() => window.navigator.clipboard.writeText(state.diagramCode)}\n                    >\n                        <FileCopyIcon />\n                        <Box width={10} />\n                        <Typography color=\"inherit\">Copy diagram code to Clipboard</Typography>\n                    </Button>\n\n                    <Box width={20} />\n\n                    <SaveAsSvgButton\n                        svg={getStyledSvg(state.diagramSvg)}\n                        fileName={this.props.fileName}\n                        inProgress={this.props.inProgress}\n                        backendClient={this.props.backendClient}\n                    />\n\n                    <Box width={20} />\n                </Toolbar>\n            </>)}\n        </>);\n    }\n\n    private renderMetrics(): JSX.Element[] {\n        \n        const state = this.props.state;\n\n        return Object.keys(state.metrics).map(functionName => {\n\n            const metric = state.metrics[functionName];\n            const totalInstances = (metric.completed ?? 0) + (metric.running ?? 0) + (metric.failed ?? 0) + (metric.other ?? 0);\n\n            return (<span id={`metrics-hint-${functionName.toLowerCase()}`} key={`metrics-hint-${functionName}`} className=\"metrics-span\">\n\n                {!!metric.completed && (\n                    <Tooltip title={totalInstances === 1 ? `runtimeStatus` : `Number of completed instances`}>\n                        <Chip className=\"metrics-chip\" style={this.CompletedStyle} variant=\"outlined\" size=\"small\"\n                            label={totalInstances === 1 ? `completed` : `${metric.completed}`}\n                        />\n                    </Tooltip>\n                )}\n                {!!metric.running && (\n                    <Tooltip title={totalInstances === 1 ? `runtimeStatus` : `Number of running instances`}>\n                        <Chip className=\"metrics-chip\" style={this.RunningStyle} variant=\"outlined\" size=\"small\"\n                            label={totalInstances === 1 ? `running` : `${metric.running}`}\n                        />\n                    </Tooltip>\n                )}\n                {!!metric.failed && (\n                    <Tooltip title={totalInstances === 1 ? `runtimeStatus` : `Number of failed instances`}>\n                        <Chip className=\"metrics-chip\" style={this.FailedStyle} variant=\"outlined\" size=\"small\"\n                            label={totalInstances === 1 ? `failed` : `${metric.failed}`}\n                        />\n                    </Tooltip>\n                )}\n                {!!metric.other && (\n                    <Tooltip title={totalInstances === 1 ? `runtimeStatus` : `Number of terminated/cancelled instances`}>\n                        <Chip className=\"metrics-chip\" style={this.OtherStyle} variant=\"outlined\" size=\"small\"\n                            label={totalInstances === 1 ? `terminated` : `${metric.other}`}\n                        />\n                    </Tooltip>\n                )}\n\n                {!!metric.duration && (\n                    <Tooltip title={totalInstances === 1 ? `Duration` : `Max Duration`}>\n                        <Chip className=\"metrics-chip\" style={this.DurationStyle} variant=\"outlined\" size=\"small\"\n                            label={DateTimeHelpers.formatDuration(metric.duration)}\n                        />\n                    </Tooltip>\n                )}\n                \n            </span>);\n        });\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/details-view/OrchestrationFields.tsx",
    "content": "import * as React from 'react';\nimport { observer } from 'mobx-react';\nimport moment from 'moment';\n\nimport {\n    AppBar, Box, Checkbox, FormControl, Grid, InputLabel, Link, MenuItem, Select, Table, TableBody,\n    TableCell, TableHead, TableRow, TextField, Toolbar, Typography\n} from '@material-ui/core';\n\nimport { KeyboardDateTimePicker } from '@material-ui/pickers';\n\nimport { FilterOperatorEnum } from '../../states/FilterOperatorEnum';\nimport { OrchestrationDetailsState } from '../../states/details-view/OrchestrationDetailsState';\nimport { HistoryEventFields, HistoryEvent } from '../../states/DurableOrchestrationStatus';\nimport { OrchestrationLink } from '../OrchestrationLink';\nimport { DfmContextType } from '../../DfmContext';\nimport { RuntimeStatusToStyle } from '../../theme';\nimport { Theme } from '../../theme';\nimport { LongJsonDialog } from '../dialogs/LongJsonDialog';\n\n// Fields for detailed orchestration view\n@observer\nexport class OrchestrationFields extends React.Component<{ state: OrchestrationDetailsState }> {\n\n    static contextType = DfmContextType;\n    context!: React.ContextType<typeof DfmContextType>;\n\n    componentDidMount() {\n\n        // Doing a simple infinite scroll\n        document.addEventListener('scroll', (evt) => {\n\n            const scrollingElement = (evt.target as Document).scrollingElement;\n            if (!scrollingElement) {\n                return;\n            }\n\n            const scrollPos = scrollingElement.scrollHeight - window.innerHeight - scrollingElement.scrollTop;\n            const scrollPosThreshold = 50;\n\n            if (scrollPos < scrollPosThreshold) {\n                this.props.state.loadHistory();\n            }\n        });\n    }\n\n    render(): JSX.Element {\n\n        const state = this.props.state;\n\n        const totalItems = state.historyTotalCount;\n        const details = state.details;\n        const history = state.history;\n        const itemsShown = history.length;\n\n        const runtimeStatusStyle = RuntimeStatusToStyle(details.runtimeStatus);\n\n        return (<>\n            <Grid container className=\"grid-container\">\n                <Grid item xs={12} sm={12} md={3} zeroMinWidth className=\"grid-item\">\n                    <TextField\n                        label=\"instanceId\"\n                        value={details.instanceId}\n                        margin=\"normal\"\n                        InputProps={{ readOnly: true }}\n                        InputLabelProps={{ shrink: true }}\n                        variant=\"outlined\"\n                        fullWidth\n                    />\n                </Grid>\n                <Grid item xs={12} sm={12} md={3} zeroMinWidth className=\"grid-item\">\n                    <TextField\n                        label=\"name\"\n                        value={details.name}\n                        margin=\"normal\"\n                        InputProps={{ readOnly: true }}\n                        InputLabelProps={{ shrink: true }}\n                        variant=\"outlined\"\n                        fullWidth\n                    />\n                </Grid>\n                <Grid item xs={12} sm={4} md={2} zeroMinWidth className=\"grid-item\">\n                    <TextField\n                        label={`createdTime (${this.context.timeZoneName})`}\n                        value={this.context.formatDateTimeString(details.createdTime)}\n                        margin=\"normal\"\n                        InputProps={{ readOnly: true }}\n                        InputLabelProps={{ shrink: true }}\n                        variant=\"outlined\"\n                        fullWidth\n                    />\n                </Grid>\n                <Grid item xs={12} sm={4} md={2} zeroMinWidth className=\"grid-item\">\n                    <TextField\n                        label={`lastUpdatedTime (${this.context.timeZoneName})`}\n                        value={this.context.formatDateTimeString(details.lastUpdatedTime)}\n                        margin=\"normal\"\n                        InputProps={{ readOnly: true }}\n                        InputLabelProps={{ shrink: true }}\n                        variant=\"outlined\"\n                        fullWidth\n                    />\n                </Grid>\n                <Grid item xs={12} sm={4} md={2} zeroMinWidth className=\"grid-item\">\n                    <TextField\n                        label=\"runtimeStatus\"\n                        value={details.runtimeStatus}\n                        margin=\"normal\"\n                        InputProps={{ readOnly: true }}\n                        InputLabelProps={{ shrink: true }}\n                        variant=\"outlined\"\n                        fullWidth\n                        style={runtimeStatusStyle}\n                    />\n                </Grid>\n                <Grid item xs={12} zeroMinWidth className=\"grid-item\">\n                    <TextField\n                        label=\"input\"\n                        value={LongJsonDialog.formatJson(details.input)}\n                        margin=\"normal\"\n                        InputProps={{ readOnly: true }}\n                        InputLabelProps={{ shrink: true }}\n                        variant=\"outlined\"\n                        fullWidth\n                        multiline\n                        rowsMax={8}\n                    />\n                </Grid>\n                <Grid item xs={12} zeroMinWidth className=\"grid-item\">\n                    <TextField\n                        label=\"output\"\n                        value={LongJsonDialog.formatJson(details.output)}\n                        margin=\"normal\"\n                        InputProps={{ readOnly: true }}\n                        InputLabelProps={{ shrink: true }}\n                        variant=\"outlined\"\n                        fullWidth\n                        multiline\n                        rowsMax={8}\n                    />\n                </Grid>\n                <Grid item xs={12} zeroMinWidth className=\"grid-item\">\n                    <TextField\n                        label=\"customStatus\"\n                        value={LongJsonDialog.formatJson(details.customStatus)}\n                        margin=\"normal\"\n                        InputProps={{ readOnly: true }}\n                        InputLabelProps={{ shrink: true }}\n                        variant=\"outlined\"\n                        fullWidth\n                        multiline\n                        rowsMax={8}\n                    />\n                </Grid>\n            </Grid>\n\n            <AppBar color=\"inherit\" position=\"static\" className=\"history-appbar\">\n                <Toolbar >\n\n                    <Typography variant=\"body2\" color=\"inherit\" className=\"history-toolbar\">\n                        Execution History\n                        (\n                            {(!totalItems || totalItems === itemsShown) ? `${itemsShown} items${!totalItems ? ' shown' : ''}` : `${itemsShown} of ${totalItems} items shown`}\n                            {(state.timeFromEnabled || (state.filteredColumn !== '0') && (!!state.filterValue)) ? `, filtered` : ''}\n                        )\n                    </Typography>\n                    \n                    <Typography style={{ flex: 1 }} />\n\n                    <FormControl className=\"history-from-checkbox\">\n                        <Checkbox\n                            disabled={state.inProgress}\n                            checked={state.timeFromEnabled}\n                            onChange={(evt) => state.timeFromEnabled = evt.target.checked}\n                        />\n                    </FormControl>\n\n                    {state.timeFromEnabled ? (\n                        <KeyboardDateTimePicker\n                            className=\"history-from-input\"\n                            ampm={false}\n                            autoOk={true}\n                            label={(<div className=\"history-from-label\">\n                                Timestamp From ({this.context.timeZoneName})\n                            </div>)}\n                            invalidDateMessage=\"\"\n                            format={\"YYYY-MM-DD HH:mm:ss\"}\n                            disabled={state.inProgress || !state.timeFromEnabled}\n                            value={this.context.getMoment(state.timeFrom)}\n                            onChange={(t) => state.timeFrom = this.context.setMoment(t)}\n                            onBlur={() => state.applyTimeFrom()}\n                            onAccept={() => state.applyTimeFrom()}\n                            onKeyPress={(evt) => this.handleKeyPress(evt as any)}\n                        />\n                    ) : (\n                        <TextField\n                            className=\"history-from-input\"\n                            label={(<div className=\"history-from-label\">\n                                Timestamp From ({this.context.timeZoneName})\n                            </div>)}\n                            placeholder=\"[Not set]\"\n                            InputLabelProps={{ shrink: true }}\n                            type=\"text\"\n                            disabled={true}\n                        />\n                    )}\n\n                    <Box width={20} />\n\n                    <FormControl>\n                        <InputLabel htmlFor=\"history-filtered-column-select\">Filtered Column</InputLabel>\n                        <Select\n                            className=\"toolbar-select history-filtered-column-input\"\n                            disabled={state.inProgress}\n                            value={state.filteredColumn}\n                            onChange={(evt) => state.filteredColumn = evt.target.value as string}\n                            inputProps={{ id: \"history-filtered-column-select\" }}>\n\n                            <MenuItem value=\"0\">[Not Selected]</MenuItem>\n\n                            {HistoryEventFields.map(col => {\n                                return (<MenuItem key={col} value={col}>{col}</MenuItem>);\n                            })}\n\n                        </Select>\n                    </FormControl>\n\n                    <Box width={10} />\n                    \n                    <FormControl>\n\n                        <InputLabel htmlFor=\"history-filter-operator-select\">Filter Operator</InputLabel>\n                        <Select\n                            className=\"toolbar-select\"\n                            disabled={state.inProgress}\n                            value={state.filterOperator}\n                            onChange={(evt) => state.filterOperator = evt.target.value as number}\n                            inputProps={{ id: \"history-filter-operator-select\" }}\n                        >\n                            <MenuItem value={FilterOperatorEnum.Equals}>Equals</MenuItem>\n                            <MenuItem value={FilterOperatorEnum.StartsWith}>Starts With</MenuItem>\n                            <MenuItem value={FilterOperatorEnum.Contains}>Contains</MenuItem>\n                            <MenuItem value={FilterOperatorEnum.In}>In</MenuItem>\n                            <MenuItem value={FilterOperatorEnum.NotEquals}>Not Equals</MenuItem>\n                            <MenuItem value={FilterOperatorEnum.NotStartsWith}>Not Starts With</MenuItem>\n                            <MenuItem value={FilterOperatorEnum.NotContains}>Not Contains</MenuItem>\n                            <MenuItem value={FilterOperatorEnum.NotIn}>Not In</MenuItem>\n                        </Select>\n\n                    </FormControl>\n\n                    <Box width={10} />\n\n                    <TextField\n                        size=\"small\"\n                        className=\"history-filter-value-input\"\n                        label=\"Filter Value\"\n                        InputLabelProps={{ shrink: true }}\n                        placeholder={[FilterOperatorEnum.In, FilterOperatorEnum.NotIn].includes(state.filterOperator) ? `[comma-separated or JSON array]` : `[some text or 'null']`}\n                        disabled={state.filteredColumn === '0' || state.inProgress}\n                        value={state.filterValue}\n                        onChange={(evt) => state.filterValue = evt.target.value as string}\n                        onBlur={() => state.applyFilterValue()}\n                        onKeyPress={(evt) => this.handleKeyPress(evt as any)}\n                    />\n\n                </Toolbar>            \n            </AppBar>\n            \n            {!!history.length && this.renderTable(history)}\n\n            <LongJsonDialog state={state.longJsonDialogState} />\n\n        </>);\n    }\n\n    private renderEventLink(event: HistoryEvent): JSX.Element | string {\n\n        const state = this.props.state;\n        const functionName = event.Name;\n\n        if (!!event.SubOrchestrationId) {\n            return (<OrchestrationLink orchestrationId={event.SubOrchestrationId}\n                title={functionName}\n                backendClient={state.backendClient}\n            />);\n        }\n\n        if (!!state.functionNames[functionName]) {\n            \n            // Showing link to sources\n            return (<Link className=\"link-with-pointer-cursor\"\n                color={Theme.palette.type === 'dark' ? 'inherit' : 'primary'}\n                onClick={() => { state.gotoFunctionCode(functionName) }}\n            >\n                {functionName}\n            </Link>);\n        }\n\n        return functionName;\n    }\n\n    private renderTable(events: HistoryEvent[]): JSX.Element {\n\n        return (\n            <Table size=\"small\">\n                <TableHead>\n                    <TableRow>\n                        {HistoryEventFields.map(col => {\n                            return <TableCell key={col}>\n\n                                {col}\n\n                                {['Timestamp', 'ScheduledTime'].includes(col) && (<span className=\"time-zone-name-span\">({this.context.timeZoneName})</span>)}\n\n                            </TableCell>;\n                        })}\n                    </TableRow>\n                </TableHead>\n                <TableBody>\n                    {events.map((event: HistoryEvent, index: number) => {\n\n                        const cellStyle = { verticalAlign: 'top' };\n                        return (\n                            <TableRow key={index}>\n                                <TableCell style={cellStyle}>\n\n                                    <Link className=\"link-with-pointer-cursor\"\n                                        color={Theme.palette.type === 'dark' ? 'inherit' : 'primary'}\n                                        onClick={() => {\n                                            \n                                            this.props.state.timeFrom = moment(event.Timestamp);\n                                            this.props.state.reloadHistory();\n                                        }}\n                                    >\n                                        {this.context.formatDateTimeString(event.Timestamp)}\n                                    </Link>\n\n                                </TableCell>\n                                <TableCell style={cellStyle}>\n                                    {event.EventType}\n                                </TableCell>\n                                <TableCell style={cellStyle}>\n                                    {event.EventId}\n                                </TableCell>\n                                <TableCell className=\"name-cell\" style={cellStyle}>\n                                    {this.renderEventLink(event)}\n                                </TableCell>\n                                <TableCell style={cellStyle}>\n                                    {this.context.formatDateTimeString(event.ScheduledTime)}\n                                </TableCell>\n                                <TableCell className=\"long-text-cell\" style={cellStyle}>\n                                    {LongJsonDialog.renderJson(event.Result, `${event.EventType} / ${event.Name} / ${HistoryEventFields[5]}`, this.props.state.longJsonDialogState)}\n                                </TableCell>\n                                <TableCell className=\"long-text-cell\" style={cellStyle}>\n                                    {LongJsonDialog.renderJson(event.Details, `${event.EventType} / ${event.Name} / ${HistoryEventFields[6]}`, this.props.state.longJsonDialogState)}\n                                </TableCell>\n                            </TableRow>\n                        );\n                    })}\n                </TableBody>\n            </Table>\n        );\n    }\n\n    private handleKeyPress(event: React.KeyboardEvent<HTMLInputElement>) {\n        if (event.key === 'Enter') {\n            // Otherwise the event will bubble up and the form will be submitted\n            event.preventDefault();\n\n            this.props.state.reloadHistory();\n        }\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/dialogs/CleanEntityStorageDialog.css",
    "content": "\n.success-message {\n    color: green !important;\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/dialogs/CleanEntityStorageDialog.tsx",
    "content": "import * as React from 'react';\nimport { observer } from 'mobx-react';\n\nimport {\n    Box, Checkbox, Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, FormControl,\n    FormControlLabel, FormGroup, LinearProgress, \n} from '@material-ui/core';\n\nimport './CleanEntityStorageDialog.css';\n\nimport { ErrorMessage } from '../ErrorMessage';\nimport { CleanEntityStorageDialogState } from '../../states/dialogs/CleanEntityStorageDialogState';\n\nimport { PrimaryButtonColor } from '../../theme';\n\n// Dialog with parameters for cleaning entity storage\n@observer\nexport class CleanEntityStorageDialog extends React.Component<{ state: CleanEntityStorageDialogState }> {\n\n    render(): JSX.Element {\n        const state = this.props.state;\n\n        return (\n            <Dialog open={state.dialogOpen} onClose={() => { if (!state.inProgress) state.dialogOpen = false; }}>\n\n                <DialogTitle>Clean Entity Storage</DialogTitle>\n\n                {!state.response && (<>\n                    <DialogContent>\n\n                        {state.inProgress ? (<LinearProgress />) : (<Box height={4} />)}\n\n                        <DialogContentText>\n                            An entity is considered empty, and is removed, if it has no state, is not locked, and has been idle for more than <strong>EntityMessageReorderWindowInMinutes</strong>. Locks are considered orphaned, and are released, if the orchestration that holds them is not in <strong>Running</strong> state.\n                        </DialogContentText>\n\n                        <FormControl className=\"purge-history-statuses\" disabled={state.inProgress}>\n                            <FormGroup row>\n\n                                <FormControlLabel control={<Checkbox\n                                    checked={state.removeEmptyEntities}\n                                    onChange={(evt) => state.removeEmptyEntities = evt.target.checked} />}\n                                    label=\"Remove Empty Entities\"\n                                />\n\n                                <FormControlLabel control={<Checkbox\n                                    checked={state.releaseOrphanedLocks}\n                                    onChange={(evt) => state.releaseOrphanedLocks = evt.target.checked} />}\n                                    label=\"Release Orphaned Locks\"\n                                />\n                                \n                            </FormGroup>\n                        </FormControl>\n\n                        <ErrorMessage state={state} />\n\n                    </DialogContent>\n\n                    <DialogActions>\n                        <Button onClick={() => state.dialogOpen = false} disabled={state.inProgress} color={PrimaryButtonColor}>\n                            Cancel\n                        </Button>\n                        <Button onClick={() => state.clean()} disabled={!state.isValid || state.inProgress} color=\"secondary\">\n                            Clean\n                        </Button>\n                    </DialogActions>\n                </>)}\n\n                {!!state.response && (<>\n                    <DialogContent>\n                        <DialogContentText className=\"success-message\">\n                            {state.response.numberOfEmptyEntitiesRemoved} empty entities removed. \n                        </DialogContentText>\n                        <DialogContentText className=\"success-message\">\n                            {state.response.numberOfOrphanedLocksRemoved} orphaned locks removed.\n                        </DialogContentText>\n                    </DialogContent>\n                    <DialogActions>\n                        <Button onClick={() => state.dialogOpen = false} color={PrimaryButtonColor}>\n                            Close\n                        </Button>\n                    </DialogActions>\n                </>)}\n\n            </Dialog>\n        );\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/dialogs/ConnectionParamsDialog.tsx",
    "content": "import * as React from 'react';\nimport { observer } from 'mobx-react';\n\nimport {\n    Box, Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, LinearProgress, TextField\n} from '@material-ui/core';\n\nimport { ErrorMessage } from '../ErrorMessage';\nimport { ConnectionParamsDialogState } from '../../states/dialogs/ConnectionParamsDialogState';\n\nimport { PrimaryButtonColor } from '../../theme';\n\n// Dialog for showing connection string and task hub name\n@observer\nexport class ConnectionParamsDialog extends React.Component<{ state: ConnectionParamsDialogState }> {\n\n    render(): JSX.Element {\n        const state = this.props.state;\n\n        return (<Dialog open={state.dialogOpen} onClose={() => state.dialogOpen = false}>\n            \n            <DialogTitle>Manage Storage Connection Settings</DialogTitle>\n            <DialogContent>\n\n                {state.inProgress ? (<LinearProgress />) : (<Box height={4} />)}\n                \n                <DialogContentText>\n                    {\n                        state.isReadonly ?\n                            \"Change the below values via your application settings ('DFM_HUB_NAME' and 'AzureWebJobsStorage' respectively)\" :\n                            \"The below values will be saved to local.settings.json file.\"\n                    }\n                </DialogContentText>\n\n                <TextField\n                    className=\"dialog-text-field\"\n                    autoFocus\n                    margin=\"dense\"\n                    label=\"Hub Name\"\n                    fullWidth\n                    disabled={state.inProgress}\n                    InputProps={{ readOnly: true }}\n                    InputLabelProps={{ shrink: true }}\n                    value={state.hubName}\n                    onChange={(evt) => state.hubName = evt.target.value as string}\n                />\n\n                <TextField\n                    autoFocus\n                    margin=\"dense\"\n                    label=\"Azure Storage Connection String\"\n                    fullWidth\n                    disabled={state.inProgress}\n                    InputProps={{ readOnly: state.isReadonly }}\n                    InputLabelProps={{ shrink: true }}\n                    value={state.connectionString}\n                    onChange={(evt) => state.connectionString = evt.target.value as string}\n                />\n\n                <ErrorMessage state={state}/>\n\n            </DialogContent>\n            <DialogActions>\n                <Button onClick={() => state.dialogOpen = false} color={PrimaryButtonColor}>\n                    Cancel\n                </Button>\n\n                {(!state.isReadonly) && (\n                    <Button\n                        onClick={() => state.saveConnectionParams()}\n                        disabled={!state.isDirty || !state.hubName || !state.connectionString || state.inProgress}\n                        color=\"secondary\"\n                    >\n                        Save\n                    </Button>\n                )}\n\n            </DialogActions>\n                \n       </Dialog>);\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/dialogs/LongJsonDialog.tsx",
    "content": "import * as React from 'react';\nimport { observer } from 'mobx-react';\n\nimport {\n    Button, Dialog, DialogActions, DialogContent, DialogTitle, InputBase\n} from '@material-ui/core';\n\nimport { PrimaryButtonColor } from '../../theme';\n\nconst MaxJsonLengthToShow = 512;\n\nexport type LongJsonDialogState = { title?: string, jsonString?: string };\n\n// Dialog to display long JSON strings\n@observer\nexport class LongJsonDialog extends React.Component<{ state: LongJsonDialogState }> {\n    \n    public static formatJson(jsonObject: any): string {\n\n        if (!jsonObject) {\n            return \"\";\n        }\n\n        // Converting from a string inside a string\n        if (typeof jsonObject === 'string') {\n            try {\n                jsonObject = JSON.parse(jsonObject);\n            } catch {}\n        }\n\n        return (typeof jsonObject === 'string' ? jsonObject : JSON.stringify(jsonObject, null, 3));\n    }\n\n    public static renderJson(jsonObject: any, dialogTitle: string, dialogState: LongJsonDialogState): JSX.Element {\n\n        if (!jsonObject) {\n            return null;\n        }\n\n        // Converting from a string inside a string\n        if (typeof jsonObject === 'string') {\n            try {\n                jsonObject = JSON.parse(jsonObject);\n            } catch {}\n        }\n\n        const jsonString = (typeof jsonObject === 'string' ? jsonObject : JSON.stringify(jsonObject));\n        const jsonFormattedString = (typeof jsonObject === 'string' ? jsonObject : JSON.stringify(jsonObject, null, 3));\n\n        return (<InputBase\n            color=\"secondary\"\n            className=\"long-text-cell-input\"\n            multiline fullWidth rowsMax={4} readOnly\n            value={jsonString.substr(0, MaxJsonLengthToShow)}\n            onClick={() => {\n                dialogState.title = dialogTitle;\n                dialogState.jsonString = jsonFormattedString;\n            }}\n        />);\n    }\n\n    render(): JSX.Element {\n        const state = this.props.state;\n\n        return (\n            <Dialog fullWidth={true} maxWidth=\"md\" open={!!state.jsonString} onClose={() => state.jsonString = ''}>\n\n                <DialogTitle>{state.title}</DialogTitle>\n\n                <DialogContent>\n                    <InputBase\n                        multiline fullWidth readOnly\n                        value={state.jsonString}\n                    />                    \n                </DialogContent>\n                \n                <DialogActions>\n                    <Button onClick={() => state.jsonString = ''} color={PrimaryButtonColor}>\n                        Close\n                    </Button>\n                </DialogActions>\n\n            </Dialog>\n       );\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/dialogs/PurgeHistoryDialog.css",
    "content": "\n.purge-history-from-input {\n    padding-bottom: 20px !important;\n}\n\n.purge-history-till-input {\n    margin-left: 20px !important;\n    padding-bottom: 20px !important;\n}\n\n.purge-history-apply-to {\n    padding-top: 10px !important;\n    padding-bottom: 10px !important;\n}\n\n.success-message {\n    color: green !important;\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/dialogs/PurgeHistoryDialog.tsx",
    "content": "import * as React from 'react';\nimport { observer } from 'mobx-react';\n\nimport {\n    Box, Checkbox, Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, FormControl,\n    FormControlLabel, FormGroup, FormLabel, LinearProgress, Radio, RadioGroup, Tooltip, Typography\n} from '@material-ui/core';\n\nimport { KeyboardDateTimePicker } from '@material-ui/pickers';\n\nimport './PurgeHistoryDialog.css';\n\nimport { ErrorMessage } from '../ErrorMessage';\nimport { EntityType, RuntimeStatus } from '../../states/DurableOrchestrationStatus';\nimport { PurgeHistoryDialogState } from '../../states/dialogs/PurgeHistoryDialogState';\nimport { DfmContextType } from '../../DfmContext';\n\nimport { PrimaryButtonColor } from '../../theme';\n\n// Dialog with parameters for purging orchestration instance history\n@observer\nexport class PurgeHistoryDialog extends React.Component<{ state: PurgeHistoryDialogState }> {\n\n    static contextType = DfmContextType;\n    context!: React.ContextType<typeof DfmContextType>;\n\n    render(): JSX.Element {\n        const state = this.props.state;\n\n        return (\n            <Dialog open={state.dialogOpen} onClose={() => { if (!state.inProgress) state.dialogOpen = false; }}>\n\n                <DialogTitle>Purge Instance History</DialogTitle>\n\n                {state.instancesDeleted === null && (<>\n                    <DialogContent>\n\n                        {state.inProgress ? (<LinearProgress />) : (<Box height={4} />)}\n\n                        <DialogContentText>\n                            WARNING: this operation drops instance states from the underlying storage and cannot be undone.\n\n                            {state.entityType === \"DurableEntity\" && (\n                                <Typography color=\"error\" >\n                                    It might as well remove Durable Entities, that are still active.\n                                    Ensure that you specify the correct time frame!\n                                    To clean up deleted Entities use the 'Clean Entity Storage' command instead. \n                                </Typography>\n                            )}\n\n                        </DialogContentText>\n\n                        <FormControl className=\"purge-history-apply-to\" disabled={state.inProgress} fullWidth>\n                            <FormLabel>Apply to:</FormLabel>\n                            <RadioGroup row\n                                value={state.entityType}\n                                onChange={(evt) => state.entityType = (evt.target as HTMLInputElement).value as EntityType}\n                            >\n                                <FormControlLabel\n                                    disabled={state.inProgress}\n                                    value={\"Orchestration\"}\n                                    control={<Radio />}\n                                    label=\"Orchestrations\"\n                                />\n                                <FormControlLabel\n                                    disabled={state.inProgress}\n                                    value={\"DurableEntity\"}\n                                    control={<Radio />}\n                                    label=\"Durable Entities\"\n                                />\n                            </RadioGroup>\n                        </FormControl>\n\n                        <KeyboardDateTimePicker\n                            className=\"purge-history-from-input\"\n                            ampm={false}\n                            autoOk={true}\n                            label={state.entityType === 'DurableEntity' ? `Last Updated From (${this.context.timeZoneName})` : `From (${this.context.timeZoneName})`}\n                            format={\"YYYY-MM-DD HH:mm:ss\"}\n                            variant=\"inline\"\n                            disabled={state.inProgress}\n                            value={this.context.getMoment(state.timeFrom)}\n                            onChange={(t) => state.timeFrom = this.context.setMoment(t)}\n                        />\n\n                        <KeyboardDateTimePicker\n                            className=\"purge-history-till-input\"\n                            ampm={false}\n                            autoOk={true}\n                            label={state.entityType === 'DurableEntity' ? `Last Updated Till (${this.context.timeZoneName})` : `Till (${this.context.timeZoneName})`}\n                            format={\"YYYY-MM-DD HH:mm:ss\"}\n                            variant=\"inline\"\n                            disabled={state.inProgress}\n                            value={this.context.getMoment(state.timeTill)}\n                            onChange={(t) => state.timeTill = this.context.setMoment(t)}\n                        />\n\n                        <FormControl disabled={state.inProgress}>\n                            <FormLabel>With the following status:</FormLabel>\n\n                            {state.entityType === 'Orchestration' && (\n                                <FormGroup row>\n                                    <RuntimeStatusCheckbox state={state} runtimeStatus=\"Completed\" />\n                                    <RuntimeStatusCheckbox state={state} runtimeStatus=\"Failed\" />\n                                    <RuntimeStatusCheckbox state={state} runtimeStatus=\"Terminated\" />\n                                </FormGroup>\n                            )}\n\n                            {state.entityType === 'DurableEntity' && (\n                                <FormGroup row>\n                                    <Tooltip title=\"Durable Entities are always in 'Running' state\">\n                                        <FormControlLabel\n                                            control={<Checkbox\n                                                checked={true} />}\n                                            label=\"Running\"\n                                            disabled={true}\n                                        />\n                                    </Tooltip>\n                                </FormGroup>\n                            )}\n                        </FormControl>\n\n                        <ErrorMessage state={state} />\n\n                    </DialogContent>\n                    <DialogActions>\n                        <Button onClick={() => state.dialogOpen = false} disabled={state.inProgress} color={PrimaryButtonColor}>\n                            Cancel\n                        </Button>\n                        <Button onClick={() => state.purgeHistory()} disabled={!state.isValid || state.inProgress} color=\"secondary\">\n                            Purge\n                        </Button>\n                    </DialogActions>\n\n                </>)}\n\n                {state.instancesDeleted !== null && (<>\n                    <DialogContent>\n                        <DialogContentText className=\"success-message\">\n                            {state.instancesDeleted} instances were deleted.\n                        </DialogContentText>\n                    </DialogContent>\n                    <DialogActions>\n                        <Button onClick={() => state.dialogOpen = false} color={PrimaryButtonColor}>\n                            Close\n                        </Button>\n                    </DialogActions>\n                </>)}\n\n            </Dialog>\n        );\n    }\n}\n\n@observer\nclass RuntimeStatusCheckbox extends React.Component<{ state: PurgeHistoryDialogState, runtimeStatus: RuntimeStatus }> {\n\n    render(): JSX.Element {\n        const state = this.props.state;\n        const runtimeStatus = this.props.runtimeStatus;\n\n        return (\n            <FormControlLabel\n                control={<Checkbox\n                    checked={state.getStatusIncluded(runtimeStatus)}\n                    onChange={(evt) => state.setStatusIncluded(runtimeStatus, evt.target.checked)} />}\n                label={runtimeStatus}\n            />\n        );\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/dialogs/StartNewInstanceDialog.css",
    "content": "\n.dialog-text-field {\n    padding-bottom: 10px;\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/dialogs/StartNewInstanceDialog.tsx",
    "content": "import * as React from 'react';\nimport { observer } from 'mobx-react';\n\nimport {\n    Box, Button, Dialog, DialogActions, DialogContent, DialogTitle, LinearProgress, TextField\n} from '@material-ui/core';\n\nimport './StartNewInstanceDialog.css';\n\nimport { ErrorMessage } from '../ErrorMessage';\nimport { StartNewInstanceDialogState } from '../../states/dialogs/StartNewInstanceDialogState';\n\nimport { PrimaryButtonColor } from '../../theme';\n\n// Dialog for starting a new orchestration instance\n@observer\nexport class StartNewInstanceDialog extends React.Component<{ state: StartNewInstanceDialogState }> {\n\n    render(): JSX.Element {\n        const state = this.props.state;\n\n        return (<Dialog open={state.dialogOpen} onClose={() => state.dialogOpen = false}>\n            \n            <DialogTitle>Start New Orchestration Instance</DialogTitle>\n\n            <DialogContent>\n\n                {state.inProgress ? (<LinearProgress />) : (<Box height={4} />)}\n\n                <TextField\n                    className=\"dialog-text-field\"\n                    margin=\"dense\"\n                    label=\"InstanceId (optional)\"\n                    fullWidth\n                    disabled={state.inProgress}\n                    InputLabelProps={{ shrink: true }}\n                    value={state.instanceId}\n                    onChange={(evt) => state.instanceId = evt.target.value as string}\n                />\n\n                <TextField\n                    className=\"dialog-text-field\"\n                    autoFocus\n                    margin=\"dense\"\n                    label=\"Orchestrator Function Name\"\n                    fullWidth\n                    disabled={state.inProgress}\n                    InputLabelProps={{ shrink: true }}\n                    value={state.orchestratorFunctionName}\n                    onChange={(evt) => state.orchestratorFunctionName = evt.target.value as string}\n                />\n\n                <TextField\n                    margin=\"dense\"\n                    disabled={state.inProgress}\n                    InputLabelProps={{ shrink: true }}\n                    label=\"Input (optional JSON)\"\n                    fullWidth\n                    multiline\n                    rows={10}\n                    value={state.input}\n                    onChange={(evt) => state.input = evt.target.value as string}\n                />\n\n                <ErrorMessage state={state} />\n                \n            </DialogContent>\n\n            <DialogActions>\n                <Button onClick={() => state.dialogOpen = false} color={PrimaryButtonColor}>\n                    Cancel\n                </Button>\n                <Button onClick={() => state.startNewInstance()} disabled={!state.orchestratorFunctionName} color=\"secondary\">\n                    Start\n                </Button>\n            </DialogActions>\n                \n       </Dialog>);\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/results-view/Orchestrations.css",
    "content": "\n.datetime-cell {\n    min-width: 145px;\n}\n\n.till-checkbox {\n    padding-top: 20px !important;\n    padding-bottom: 4px !important;\n    padding-left: 4px !important;\n    padding-right: 14px !important;\n}\n\n.till-label {\n    padding-left: 15px !important;\n}\n\n.from-input {\n    width: 215px;\n    margin-left: 10px !important;\n}\n\n.till-input {\n    width: 215px;\n}\n\n.time-period-menu-drop-btn {\n    width: 32px !important;\n    min-width: 32px !important;\n    margin-top: 16px !important;\n}\n\n.filter-value-input {\n    flex: 1;\n    margin-left: 20px !important;\n}\n\n.filtered-column-input {\n    width: 180px;\n}\n\n.items-count-label {\n    margin-top: 8px !important;\n    padding-left: 15px;\n    height: 20px;\n}\n\n.instance-id-cell {\n    min-width: 145px;\n    max-width: 270px;\n    word-break: break-all;\n}\n\n.output-cell {\n    min-width: 75px;\n    max-width: 200px;\n}\n\n.entity-type-radio {\n    margin-bottom: 0px;\n}\n\n.toolbar-grid1 {\n    width: 260px !important;\n}\n\n.toolbar-grid1-item2 {\n    padding-top: 20px;\n    min-height: 68px !important;\n    min-width: 257px !important;\n}\n\n.toolbar-grid2 {\n    margin-left: 40px;\n    margin-right: 40px;\n}\n\n.toolbar-grid2-item-1 {\n    display: flex;\n}\n\n\n.toolbar-grid2-item1-select {\n    margin-left: 20px !important;\n}\n\n.toolbar-grid2-item2 {\n    padding-top: 20px;\n}\n\n.toolbar-grid3 {\n    width: auto !important;\n}\n\n.toolbar-grid3-item2 {\n    padding-top: 26px;\n}\n\n.toolbar-runtime-status-group {\n    margin-left: 30px;\n    margin-right: 30px;\n}\n\n.toolbar-runtime-status-group-label {\n    padding-left: 10px !important;\n}\n\n.form-control-float-right {\n    float: right;\n}\n\n.column-hide-button {\n    width: 8px !important;\n    padding: 0px !important;\n    margin-right: -8px !important;\n    float: right;\n    opacity: 0.7;\n}\n\n.unhide-button {\n    vertical-align: text-bottom !important;\n    font-size: 12px;\n}\n\n.tab-buttons {\n    min-height: 37px !important;\n}\n\n.histogram-legend {\n    padding-left: 70px;\n    white-space: normal !important;\n}\n\n.histogram-legend-dark-mode > div > span {\n    color:lightgrey;\n}\n\n.status-checkbox {\n    padding-left: 10px !important;\n    padding-top: 5px !important;\n    padding-bottom: 5px !important;\n}\n\n.autorefresh-select {\n    min-width: 130px\n}\n\n.refresh-button {\n    width: 130px;\n}\n\n.selected-statuses-box {\n    display: flex;\n    flex-wrap: wrap;\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/results-view/Orchestrations.tsx",
    "content": "import * as React from 'react';\nimport { action } from 'mobx'\nimport { observer } from 'mobx-react';\n\nimport {\n    AppBar, Box, Button, Checkbox, FormGroup, FormControl, Grid,\n    InputLabel, LinearProgress, ListItemText, Menu, MenuItem, Select, Tab, Tabs, TextField, Toolbar, Typography\n} from '@material-ui/core';\n\nimport { KeyboardDateTimePicker } from '@material-ui/pickers';\n\nimport RefreshIcon from '@material-ui/icons/Refresh';\nimport CancelOutlinedIcon from '@material-ui/icons/CancelOutlined';\nimport ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';\nimport CheckIcon from '@material-ui/icons/Check';\n\nimport './Orchestrations.css';\n\nimport { DurableOrchestrationStatusFields, RuntimeStatuses } from '../../states/DurableOrchestrationStatus';\nimport { ErrorMessage } from '../ErrorMessage';\nimport { OrchestrationsState, ResultsTabEnum, TimeRangeEnum } from '../../states/results-view/OrchestrationsState';\nimport { FilterOperatorEnum } from '../../states/FilterOperatorEnum';\nimport { ResultsListTabState } from '../../states/results-view/ResultsListTabState';\nimport { ResultsGanttDiagramTabState } from '../../states/results-view/ResultsGanttDiagramTabState';\nimport { ResultsHistogramTabState } from '../../states/results-view/ResultsHistogramTabState';\nimport { ResultsFunctionGraphTabState } from '../../states/results-view/ResultsFunctionGraphTabState';\nimport { OrchestrationsList } from './OrchestrationsList';\nimport { OrchestrationsHistogram } from './OrchestrationsHistogram';\nimport { OrchestrationsGanttChart } from './OrchestrationsGanttChart';\nimport { OrchestrationsFunctionGraph } from './OrchestrationsFunctionGraph';\nimport { DfmContextType } from '../../DfmContext';\n\n// Orchestrations view\n@observer\nexport class Orchestrations extends React.Component<{ state: OrchestrationsState }> {\n\n    static contextType = DfmContextType;\n    context!: React.ContextType<typeof DfmContextType>;\n\n    componentDidMount() {\n\n        // Triggering initial load\n        this.props.state.loadOrchestrations();\n\n        // Doing a simple infinite scroll\n        document.addEventListener('scroll', (evt) => {\n\n            const state = this.props.state;\n\n            if (state.tabIndex !== ResultsTabEnum.List ) {\n                return;\n            }\n\n            const scrollingElement = (evt.target as Document).scrollingElement;\n            if (!scrollingElement) { \n                return;\n            }\n\n            const scrollPos = scrollingElement.scrollHeight - window.innerHeight - scrollingElement.scrollTop;\n            const scrollPosThreshold = 100;\n\n            if (scrollPos < scrollPosThreshold) {\n                state.loadOrchestrations();\n            }\n        });\n\n        // Doing zoom reset\n        document.addEventListener('keydown', (evt: any) => {\n\n            const state = this.props.state;\n            if (state.tabIndex === ResultsTabEnum.Histogram && !!evt.ctrlKey && evt.keyCode === 90) {\n\n                const histogramState = state.selectedTabState as ResultsHistogramTabState;\n                histogramState.resetZoom();\n            }\n        });\n    }\n\n    render(): JSX.Element {\n\n        const state = this.props.state;\n        const listState = state.selectedTabState as ResultsListTabState;\n        const histogramState = state.selectedTabState as ResultsHistogramTabState;\n        const ganttChartState = state.selectedTabState as ResultsGanttDiagramTabState;\n        const functionGraphState = state.selectedTabState as ResultsFunctionGraphTabState;\n\n        const allStatuses = '[Show All]';\n\n        return (<>\n\n            <Menu\n                anchorEl={state.menuAnchorElement}\n                keepMounted\n                open={!!state.menuAnchorElement}\n                onClose={() => state.menuAnchorElement = undefined}\n            >\n                <MenuItem onClick={() => state.timeRange = TimeRangeEnum.LastMinute}>Last Minute</MenuItem>\n                <MenuItem onClick={() => state.timeRange = TimeRangeEnum.Last10Minutes}>Last 10 Minutes</MenuItem>\n                <MenuItem onClick={() => state.timeRange = TimeRangeEnum.LastHour}>Last Hour</MenuItem>\n                <MenuItem onClick={() => state.timeRange = TimeRangeEnum.Last24Hours}>Last 24 Hours</MenuItem>\n                <MenuItem onClick={() => state.timeRange = TimeRangeEnum.Last7Days}>Last 7 Days</MenuItem>\n                <MenuItem onClick={() => state.timeRange = TimeRangeEnum.Last30Days}>Last 30 Days</MenuItem>\n                <MenuItem onClick={() => state.timeRange = TimeRangeEnum.Last90Days}>Last 90 Days</MenuItem>\n                <MenuItem onClick={() => state.timeRange = TimeRangeEnum.Custom}>Custom</MenuItem>\n            </Menu>\n            \n            <AppBar color=\"inherit\" position=\"static\" className=\"top-appbar\">\n\n                {state.inProgress ? (<LinearProgress />) : (<Box height={4} />)}\n\n                <Toolbar variant=\"dense\" className=\"top-toolbar\">\n\n                    <Grid container className=\"toolbar-grid1\">\n                        <Grid item xs={12}>\n\n                            <Button size=\"small\" variant=\"outlined\" className=\"time-period-menu-drop-btn\"\n                                onClick={evt => state.menuAnchorElement = evt.currentTarget}\n                            >\n                                <ArrowDropDownIcon/>\n                            </Button>\n                            \n                            {!!state.timeRange ? (\n                                <TextField\n                                    className=\"from-input\"\n                                    label=\"Time Range (createdTime)\"\n                                    InputProps={{ readOnly: true }}\n                                    InputLabelProps={{ shrink: true }}\n                                    type=\"text\"\n                                    value={this.timeRangeToString(state.timeRange)}\n                                />\n                            ) : (\n                                <KeyboardDateTimePicker\n                                    className=\"from-input\"\n                                    ampm={false}\n                                    autoOk={true}\n                                    label={`From (${this.context.timeZoneName})`}\n                                    invalidDateMessage=\"\"\n                                    format={\"YYYY-MM-DD HH:mm:ss\"}\n                                    disabled={state.inProgress}\n                                    value={this.context.getMoment(state.timeFrom)}\n                                    onChange={(t) => state.timeFrom = this.context.setMoment(t)}\n                                    onBlur={() => state.applyTimeFrom()}\n                                    onAccept={() => state.applyTimeFrom()}\n                                    onKeyPress={this.handleKeyPress}\n                                />\n                            )}\n\n                        </Grid>\n                        <Grid item xs={12} className=\"toolbar-grid1-item2\">\n\n                            {!state.timeRange && (<>\n\n                                <FormControl>\n                                    <Checkbox\n                                        id=\"till-checkbox\"\n                                        className=\"till-checkbox\"\n                                        disabled={state.inProgress}\n                                        checked={state.timeTillEnabled}\n                                        onChange={(evt) => state.timeTillEnabled = evt.target.checked}\n                                    />\n                                </FormControl>\n\n                                {state.timeTillEnabled ? (\n                                    <KeyboardDateTimePicker\n                                        className=\"till-input\"\n                                        ampm={false}\n                                        autoOk={true}\n                                        label={`Till (${this.context.timeZoneName})`}\n                                        invalidDateMessage=\"\"\n                                        format={\"YYYY-MM-DD HH:mm:ss\"}\n                                        disabled={state.inProgress}\n                                        value={this.context.getMoment(state.timeTill)}\n                                        onChange={(t) => state.timeTill = this.context.setMoment(t)}\n                                        onBlur={() => state.applyTimeTill()}\n                                        onAccept={() => state.applyTimeTill()}\n                                        onKeyPress={this.handleKeyPress}\n                                    />\n                                ) : (\n                                    <TextField\n                                        className=\"till-input\"\n                                        label={`Till (${this.context.timeZoneName})`}\n                                        placeholder=\"[Now]\"\n                                        InputLabelProps={{ shrink: true }}\n                                        type=\"text\"\n                                        disabled={true}\n                                    />\n                                )}\n\n                            </>)}\n                            \n                        </Grid>\n                    </Grid>\n\n                    <Grid container className=\"toolbar-grid2\">\n                        <Grid item xs={12} className=\"toolbar-grid2-item-1\">\n\n                            <FormControl>\n                                <InputLabel htmlFor=\"filtered-column-select\">Filtered Column</InputLabel>\n                                <Select\n                                    className=\"toolbar-select filtered-column-input\"\n                                    disabled={state.inProgress}\n                                    value={state.filteredColumn}\n                                    onChange={(evt) => state.filteredColumn = evt.target.value as string}\n                                    inputProps={{ id: \"filtered-column-select\" }}>\n\n                                    <MenuItem value=\"0\">[Not Selected]</MenuItem>\n                                    {DurableOrchestrationStatusFields.map(col => {\n                                        return (<MenuItem key={col} value={col}>{col}</MenuItem>);\n                                    })}\n\n                                </Select>\n                            </FormControl>\n\n                            <FormControl className=\"toolbar-grid2-item1-select\">\n\n                                <InputLabel htmlFor=\"filter-operator-select\">Filter Operator</InputLabel>\n                                <Select\n                                    className=\"toolbar-select\"\n                                    disabled={state.inProgress}\n                                    value={state.filterOperator}\n                                    onChange={(evt) => state.filterOperator = evt.target.value as number}\n                                    inputProps={{ id: \"filter-operator-select\" }}\n                                >\n                                    <MenuItem value={FilterOperatorEnum.Equals}>Equals</MenuItem>\n                                    <MenuItem value={FilterOperatorEnum.StartsWith}>Starts With</MenuItem>\n                                    <MenuItem value={FilterOperatorEnum.Contains}>Contains</MenuItem>\n                                    <MenuItem value={FilterOperatorEnum.In}>In</MenuItem>\n                                    <MenuItem value={FilterOperatorEnum.NotEquals}>Not Equals</MenuItem>\n                                    <MenuItem value={FilterOperatorEnum.NotStartsWith}>Not Starts With</MenuItem>\n                                    <MenuItem value={FilterOperatorEnum.NotContains}>Not Contains</MenuItem>\n                                    <MenuItem value={FilterOperatorEnum.NotIn}>Not In</MenuItem>\n                                </Select>\n\n                            </FormControl>\n\n                            <TextField\n                                fullWidth\n                                className=\"filter-value-input\"\n                                label=\"Filter Value\"\n                                InputLabelProps={{ shrink: true }}\n                                placeholder={[FilterOperatorEnum.In, FilterOperatorEnum.NotIn].includes(state.filterOperator) ? `[comma-separated or JSON array]` : `[some text or 'null']`}\n                                disabled={state.filteredColumn === '0' || state.inProgress}\n                                value={state.filterValue}\n                                onChange={(evt) => state.filterValue = evt.target.value as string}\n                                onBlur={() => state.applyFilterValue()}\n                                onKeyPress={this.handleKeyPress}\n                            />\n\n                        </Grid>\n\n                        <Grid item xs={12} className=\"toolbar-grid2-item2\">\n\n                            <FormGroup className=\"toolbar-runtime-status-checkbox-group\">\n\n                                <InputLabel shrink={true}>Type/Status {!state.showStatuses ? '' : ` (${state.showStatuses.length} selected)`}</InputLabel>\n\n                                <Select\n                                    multiple\n                                    autoWidth\n                                    className=\"toolbar-select\"\n                                    disabled={state.inProgress}\n                                    value={state.showStatuses ?? [allStatuses]}\n                                    \n                                    onChange={(evt) => {\n\n                                        var newStatuses = (evt.target.value as any);\n\n                                        if (!!state.showStatuses && newStatuses.includes(allStatuses)) {\n\n                                            state.showStatuses = null;\n\n                                        } else {\n\n                                            newStatuses = newStatuses.filter(s => !!s && s != allStatuses);\n                                            state.showStatuses = !newStatuses.length ? null : newStatuses;\n                                        }\n                                    }}\n\n                                    open={state.isStatusSelectOpen}\n                                    onClose={() => {\n                                        state.isStatusSelectOpen = false;\n                                    }}\n                                    onOpen={(evt) => {\n                                        state.isStatusSelectOpen = true;\n                                    }}\n                                    \n                                    renderValue={(statuses: any) => {\n\n                                        const result = [];\n\n                                        const orchestrationStatuses = statuses.filter(s => s != allStatuses && s != 'DurableEntities');\n                                        if (!!orchestrationStatuses.length) {\n                                            result.push('Orchestrations: ' + orchestrationStatuses.join(', '));\n                                        }\n\n                                        if (statuses.includes('DurableEntities')) {\n                                            result.push('Durable Entities');\n                                        }\n\n                                        return !result.length ? allStatuses : result.join('; ');\n                                    }}\n                                >\n                                   \n                                    <MenuItem key={allStatuses} value={allStatuses}>\n                                        <Checkbox checked={!state.showStatuses} />\n                                        <ListItemText primary={allStatuses} />\n                                    </MenuItem>\n                                        \n                                    {RuntimeStatuses.map(status => (\n                                        <MenuItem key={status} value={status}>\n                                            <Checkbox checked={!!state.showStatuses && !!state.showStatuses.includes(status)} />\n                                            <ListItemText primary={'Orchestrations: ' + status} />\n                                        </MenuItem>\n                                    ))}\n                                        \n                                    <MenuItem key=\"DurableEntities\" value=\"DurableEntities\">\n\n                                    <Checkbox checked={!!state.showStatuses && !!state.showStatuses.includes('DurableEntities')} />\n                                        <ListItemText primary=\"Durable Entities\" />\n                                    </MenuItem>\n\n                                    <MenuItem onClick={(evt) => {\n                                        state.isStatusSelectOpen = false;\n                                    }}>\n                                        <Button variant=\"outlined\" fullWidth>\n                                            <CheckIcon/>\n                                            <Box width={5} />\n                                            OK\n                                        </Button>\n                                    </MenuItem>\n                                    \n                                </Select>\n                            </FormGroup>\n\n                        </Grid>\n                    </Grid>\n\n                    <Grid container className=\"toolbar-grid3\">\n                        <Grid item xs={12}>\n                            <FormControl className=\"form-control-float-right\">\n                                <InputLabel htmlFor=\"auto-refresh-select\">Auto-refresh</InputLabel>\n                                <Select\n                                    className=\"autorefresh-select\"\n                                    inputProps={{ id: \"auto-refresh-select\" }}\n                                    value={state.autoRefresh}\n                                    onChange={(evt) => state.autoRefresh = evt.target.value as number}\n                                >\n                                    <MenuItem value={0}>Never</MenuItem>\n                                    <MenuItem value={1}>Every 1 sec.</MenuItem>\n                                    <MenuItem value={5}>Every 5 sec.</MenuItem>\n                                    <MenuItem value={10}>Every 10 sec.</MenuItem>\n                                </Select>\n                            </FormControl>\n                        </Grid>\n                        <Grid item xs={12} className=\"toolbar-grid3-item2\">\n                            <Button\n                                className=\"refresh-button form-control-float-right\"\n                                variant=\"outlined\"\n                                color=\"default\"\n                                size=\"large\"\n                                onClick={() => state.inProgress ? state.cancel() : state.reloadOrchestrations()}\n                            >\n                                {state.inProgress ? (<CancelOutlinedIcon />) : (<RefreshIcon />)}\n                            </Button>\n                        </Grid>\n                    </Grid>\n\n                </Toolbar>\n            </AppBar>\n\n            <AppBar color=\"inherit\" position=\"static\">\n                <Tabs className=\"tab-buttons\" value={state.tabIndex} onChange={(ev: React.ChangeEvent<{}>, val) => state.tabIndex = val}>\n\n                    <Tab className=\"tab-buttons\" disabled={state.inProgress} label={<Typography color=\"textPrimary\" variant=\"subtitle2\">List</Typography>} />\n                    <Tab className=\"tab-buttons\" disabled={state.inProgress} label={<Typography color=\"textPrimary\" variant=\"subtitle2\">Time Histogram</Typography>} />\n                    <Tab className=\"tab-buttons\" disabled={state.inProgress} label={<Typography color=\"textPrimary\" variant=\"subtitle2\">Gantt Chart</Typography>} />\n\n                    {!!state.isFunctionGraphAvailable && (\n                        <Tab className=\"tab-buttons\" disabled={state.inProgress} label={<Typography color=\"textPrimary\" variant=\"subtitle2\">Functions Graph</Typography>} />\n                    )}\n                    \n                </Tabs>\n            </AppBar>\n\n            {state.tabIndex === ResultsTabEnum.List && (<>\n\n                <OrchestrationsList state={listState} showLastEventColumn={state.showLastEventColumn} backendClient={state.backendClient} />\n\n                {state.inProgress && !!listState.orchestrations.length ? (<LinearProgress />) : (<Box height={4} />)}\n                \n            </>)}\n\n            {state.tabIndex === ResultsTabEnum.Histogram &&\n                (<OrchestrationsHistogram state={histogramState} />)\n            }\n            \n            {state.tabIndex === ResultsTabEnum.Gantt &&\n                (<OrchestrationsGanttChart\n                    state={ganttChartState}\n                    inProgress={state.inProgress}\n                    fileName={`gantt-chart-${state.timeFrom.format('YYYY-MM-DD-HH-mm-ss')}-${state.timeTill.format('YYYY-MM-DD-HH-mm-ss')}`} \n                    backendClient={state.backendClient} \n                />)\n            }\n\n            {state.tabIndex === ResultsTabEnum.FunctionGraph &&\n                (<OrchestrationsFunctionGraph\n                    state={functionGraphState}\n                    inProgress={state.inProgress}\n                    fileName={`function-graph-${state.timeFrom.format('YYYY-MM-DD-HH-mm-ss')}-${state.timeTill.format('YYYY-MM-DD-HH-mm-ss')}`} \n                    backendClient={state.backendClient} \n                />)\n            }\n                \n            <Toolbar variant=\"dense\" />\n            \n            <ErrorMessage state={this.props.state} />\n            \n        </>);\n    }\n\n    private timeRangeToString(timeRange: TimeRangeEnum): string {\n        switch (timeRange) {\n            case TimeRangeEnum.LastMinute: return 'Last Minute';\n            case TimeRangeEnum.Last10Minutes: return 'Last 10 Minutes';\n            case TimeRangeEnum.LastHour: return 'Last Hour';\n            case TimeRangeEnum.Last24Hours: return 'Last 24 Hours';\n            case TimeRangeEnum.Last7Days: return 'Last 7 Days';\n            case TimeRangeEnum.Last30Days: return 'Last 30 Days';\n            case TimeRangeEnum.Last90Days: return 'Last 90 Days';\n            default: return '';\n        }\n    }\n\n    @action.bound\n    private handleKeyPress(event: React.KeyboardEvent<HTMLInputElement>) {\n        if (event.key === 'Enter') {\n            // Otherwise the event will bubble up and the form will be submitted\n            event.preventDefault();\n\n            this.props.state.reloadOrchestrations();\n        }\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/results-view/OrchestrationsFunctionGraph.css",
    "content": "\n.settings-group {\n    padding-top: 5px;\n    padding-left: 20px;\n    padding-bottom: 5px;\n}\n\n.link-to-az-func-as-a-graph {\n    float: right;\n    padding-top: 10px;\n    padding-right: 10px;\n}\n\n.metrics-chip {\n    margin-right: 3px;\n    font-size: xx-small !important;\n}\n\n.metrics-span {\n    position: absolute;\n    visibility: hidden;\n    white-space: nowrap;\n}\n\n.total-metrics-span {\n    display: inherit;\n    padding-top: 9px;\n    padding-left: 20px;\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/results-view/OrchestrationsFunctionGraph.tsx",
    "content": "import * as React from 'react';\nimport { observer } from 'mobx-react';\n\nimport {\n    Box, Button, Checkbox, Chip, FormGroup, FormControlLabel, FormHelperText, Link, Menu, MenuItem, Toolbar, Tooltip, Typography\n} from '@material-ui/core';\n\nimport FileCopyIcon from '@material-ui/icons/FileCopy';\n\nimport './OrchestrationsFunctionGraph.css';\n\nimport { ResultsFunctionGraphTabState } from '../../states/results-view/ResultsFunctionGraphTabState';\nimport { SaveAsSvgButton, getStyledSvg } from '../SaveAsSvgButton';\nimport { IBackendClient } from '../../services/IBackendClient';\nimport { FunctionGraphTabBase } from '../FunctionGraphTabBase';\n\nimport { Theme, CustomTabStyle } from '../../theme';\n\n// Interactive Function Graph view\n@observer\nexport class OrchestrationsFunctionGraph extends FunctionGraphTabBase<{ state: ResultsFunctionGraphTabState, inProgress: boolean, fileName: string, backendClient: IBackendClient }> {\n\n    componentDidMount() {\n\n        window.addEventListener('resize', OrchestrationsFunctionGraph.repositionMetricHints);\n        OrchestrationsFunctionGraph.repositionMetricHints();\n    }\n\n    componentWillUnmount() {\n\n        window.removeEventListener('resize', OrchestrationsFunctionGraph.repositionMetricHints);\n    }\n\n    componentDidUpdate() {\n\n        OrchestrationsFunctionGraph.repositionMetricHints();\n\n        const svgElement = document.getElementById('mermaidSvgId');\n        if (!!svgElement) {\n\n            this.mountClickEventToFunctionNodes(svgElement.getElementsByClassName('function'));\n            this.mountClickEventToFunctionNodes(svgElement.getElementsByClassName('activity'));\n            this.mountClickEventToFunctionNodes(svgElement.getElementsByClassName('entity'));\n            this.mountClickEventToFunctionNodes(svgElement.getElementsByClassName('proxy'));\n\n            this.mountClickEventToOrchestrationNodes(svgElement.getElementsByClassName('orchestrator'));\n        }\n    }\n\n    render(): JSX.Element {\n\n        const state = this.props.state;\n\n        return (<>\n            \n            <FormHelperText className=\"link-to-az-func-as-a-graph\" >\n                powered by <Link\n                    color={Theme.palette.type === 'dark' ? 'inherit' : 'primary'} \n                    variant=\"inherit\"\n                    href=\"https://github.com/scale-tone/az-func-as-a-graph\"\n                >\n                    az-func-as-a-graph\n                </Link>\n            </FormHelperText>\n\n            {!!state.functionsLoaded && (\n                <FormGroup row className=\"settings-group\">\n\n                    <FormControlLabel\n                        control={<Checkbox\n                            color=\"default\"\n                            disabled={this.props.inProgress}\n                            checked={state.renderFunctions}\n                            onChange={(evt) => state.renderFunctions = evt.target.checked}\n                        />}\n                        label={<Typography color=\"textPrimary\">Show Functions</Typography>}\n                    />\n\n                    <FormControlLabel\n                        control={<Checkbox\n                            color=\"default\"\n                            disabled={this.props.inProgress}\n                            checked={state.renderProxies}\n                            onChange={(evt) => state.renderProxies = evt.target.checked}\n                        />}\n                        label={<Typography color=\"textPrimary\">Show Proxies</Typography>}\n                    />\n\n                    {this.renderTotalMetric()}\n\n                </FormGroup>\n            )}\n\n            {this.renderMetrics()}\n\n            {!!state.diagramSvg && (<>\n                <div\n                    className=\"diagram-div\"\n                    style={CustomTabStyle}\n                    dangerouslySetInnerHTML={{ __html: getStyledSvg(state.diagramSvg) }}\n                />\n\n                <Toolbar variant=\"dense\">\n\n                    <Typography style={{ flex: 1 }} />\n\n                    <Button\n                        variant=\"outlined\"\n                        color=\"default\"\n                        disabled={this.props.inProgress}\n                        onClick={() => window.navigator.clipboard.writeText(state.diagramCode)}\n                    >\n                        <FileCopyIcon />\n                        <Box width={10} />\n                        <Typography color=\"inherit\">Copy diagram code to Clipboard</Typography>\n                    </Button>\n\n                    <Box width={20} />\n\n                    <SaveAsSvgButton\n                        svg={getStyledSvg(state.diagramSvg)}\n                        fileName={this.props.fileName}\n                        inProgress={this.props.inProgress}\n                        backendClient={this.props.backendClient}\n                    />\n\n                    <Box width={20} />\n                </Toolbar>\n\n                <Menu\n                    anchorEl={state.menuAnchorElement}\n                    anchorOrigin={{ vertical: 'center', horizontal: 'left' }}\n                    keepMounted\n                    open={!!state.menuAnchorElement}\n                    onClose={() => state.menuAnchorElement = undefined}\n                >\n                    <MenuItem onClick={() => state.gotoOrchestrationCode()}>Go to Code</MenuItem>\n                    <MenuItem onClick={() => state.startNewInstance()}>Start New Instance...</MenuItem>\n                </Menu>\n\n            </>)}\n        </>);\n    }\n\n    private renderTotalMetric(): JSX.Element {\n        \n        const state = this.props.state;\n        const totalMetric = state.metrics[state.TotalMetricsName];\n\n        return (!!totalMetric && (!!totalMetric.completed || !!totalMetric.running || !!totalMetric.failed || !!totalMetric.other) && (\n            <span className=\"total-metrics-span\">\n\n                <Typography color=\"textPrimary\">Total instances:</Typography>\n\n                <Box width={10}/>\n                \n                {!!totalMetric.completed && (\n                    <Chip className=\"metrics-chip\" style={this.CompletedStyle} variant=\"outlined\" size=\"small\" label={`${totalMetric.completed} completed`} />\n                )}\n                {!!totalMetric.running && (\n                    <Chip className=\"metrics-chip\" style={this.RunningStyle} variant=\"outlined\" size=\"small\" label={`${totalMetric.running} running`} />\n                )}\n                {!!totalMetric.failed && (\n                    <Chip className=\"metrics-chip\" style={this.FailedStyle} variant=\"outlined\" size=\"small\" label={`${totalMetric.failed} failed`} />\n                )}\n                {!!totalMetric.other && (\n                    <Chip className=\"metrics-chip\" style={this.OtherStyle} variant=\"outlined\" size=\"small\" label={`${totalMetric.other} other`} />\n                )}\n                \n            </span>)\n        );\n    }\n    \n    private renderMetrics(): JSX.Element[] {\n        \n        const state = this.props.state;\n\n        return Object.keys(state.metrics).map(functionName => {\n\n            const metric = state.metrics[functionName];\n\n            return (<span id={`metrics-hint-${functionName.toLowerCase()}`} key={`metrics-hint-${functionName}`} className=\"metrics-span\">\n\n                {!!metric.completed && (\n                    <Tooltip title=\"Number of completed instances\">\n                        <Chip className=\"metrics-chip\" style={this.CompletedStyle} variant=\"outlined\" size=\"small\" label={`${metric.completed}`} />\n                    </Tooltip>\n                )}\n                {!!metric.running && (\n                    <Tooltip title=\"Number of running instances\">\n                        <Chip className=\"metrics-chip\" style={this.RunningStyle} variant=\"outlined\" size=\"small\" label={`${metric.running}`} />\n                    </Tooltip>\n                )}\n                {!!metric.failed && (\n                    <Tooltip title=\"Number of failed instances\">\n                        <Chip className=\"metrics-chip\" style={this.FailedStyle} variant=\"outlined\" size=\"small\" label={`${metric.failed}`} />\n                    </Tooltip>\n                )}\n                {!!metric.other && (\n                    <Tooltip title=\"Number of terminated/cancelled instances\">\n                        <Chip className=\"metrics-chip\" style={this.OtherStyle} variant=\"outlined\" size=\"small\" label={`${metric.other}`} />\n                    </Tooltip>\n                )}\n                \n            </span>);\n        });\n    }\n\n    private mountClickEventToOrchestrationNodes(nodes: HTMLCollection): void {\n\n        const state = this.props.state;\n\n        OrchestrationsFunctionGraph.forEachFunctionNode(nodes, (el, functionName) => {\n\n            el.onclick = () => state.showPopupMenu(el, functionName);\n\n            this.showAsClickable(el);\n        })\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/results-view/OrchestrationsGanttChart.tsx",
    "content": "import * as React from 'react';\nimport { observer } from 'mobx-react';\n\nimport {\n    Box, Button, Toolbar, Typography\n} from '@material-ui/core';\n\nimport FileCopyIcon from '@material-ui/icons/FileCopy';\n\nimport { ResultsGanttDiagramTabState } from '../../states/results-view/ResultsGanttDiagramTabState';\nimport { SaveAsSvgButton, getStyledSvg } from '../SaveAsSvgButton';\nimport { IBackendClient } from '../../services/IBackendClient';\n\nimport { CustomTabStyle } from '../../theme';\n\n// Orchestrations Gantt chart view\n@observer\nexport class OrchestrationsGanttChart extends React.Component<{ state: ResultsGanttDiagramTabState, inProgress: boolean, fileName: string, backendClient: IBackendClient }> {\n\n    componentDidUpdate() {\n\n        // Mounting click handlers to diagram nodes\n        const svgElement = document.getElementById('mermaidSvgId');\n\n        if (!!svgElement) {\n\n            this.mountClickEventToFunctionNodes(svgElement.getElementsByClassName('task'));\n            this.mountClickEventToFunctionNodes(svgElement.getElementsByClassName('taskText'));\n            this.mountClickEventToFunctionNodes(svgElement.getElementsByClassName('taskTextOutsideLeft'));\n            this.mountClickEventToFunctionNodes(svgElement.getElementsByClassName('taskTextOutsideRight'));\n        }\n    }\n\n    render(): JSX.Element {\n\n        const state = this.props.state;\n\n        if (!state.rawHtml) {\n            return null;\n        }\n\n        return (<>\n\n            <div\n                className=\"raw-html-div\"\n                style={CustomTabStyle}\n                dangerouslySetInnerHTML={{ __html: getStyledSvg(state.rawHtml) }}\n            />\n\n            <Toolbar variant=\"dense\">\n\n                <Typography style={{ flex: 1 }} />\n\n                <Button\n                    variant=\"outlined\"\n                    color=\"default\"\n                    disabled={this.props.inProgress}\n                    onClick={() => window.navigator.clipboard.writeText(state.diagramCode)}\n                >\n                    <FileCopyIcon />\n                    <Box width={10} />\n                    <Typography color=\"inherit\">Copy diagram code to Clipboard</Typography>\n                </Button>\n\n                <Box width={20} />\n\n                <SaveAsSvgButton\n                    svg={getStyledSvg(state.rawHtml)}\n                    fileName={this.props.fileName}\n                    inProgress={this.props.inProgress}\n                    backendClient={this.props.backendClient}\n                />\n\n                <Box width={20} />\n            </Toolbar>\n        </>);\n    }\n\n    private mountClickEventToFunctionNodes(nodes: HTMLCollection): void {\n\n        const state = this.props.state;\n\n        for (var i = 0; i < nodes.length; i++) {\n            const el = nodes[i] as HTMLElement;\n\n            const oneBasedInstanceIndex = parseInt(el.id.substr(4));\n            el.onclick = () => state.goto(oneBasedInstanceIndex);\n\n            el.style.cursor = 'pointer';\n            el.onmouseenter = (evt) => { (evt.target as HTMLElement).style.strokeOpacity = '0.5'; };\n            el.onmouseleave = (evt) => { (evt.target as HTMLElement).style.strokeOpacity = '1'; };\n        }\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/results-view/OrchestrationsHistogram.tsx",
    "content": "import * as React from 'react';\nimport { observer } from 'mobx-react';\nimport moment from 'moment';\n\nimport { FormHelperText, Link } from '@material-ui/core';\n\nimport { XYPlot, XAxis, YAxis, DiscreteColorLegend, VerticalRectSeries, Highlight } from 'react-vis';\n\nimport { ResultsHistogramTabState } from '../../states/results-view/ResultsHistogramTabState';\nimport { DfmContextType } from '../../DfmContext';\nimport { Theme } from '../../theme';\n\n// Orchestrations histogram view\n@observer\nexport class OrchestrationsHistogram extends React.Component<{ state: ResultsHistogramTabState }> {\n\n    static contextType = DfmContextType;\n    context!: React.ContextType<typeof DfmContextType>;\n\n    render(): JSX.Element {\n\n        const state = this.props.state;\n        const typeNames = Object.keys(state.histograms).sort();\n\n        return (<>\n\n            <FormHelperText className=\"items-count-label\">\n                {`${state.numOfInstancesShown} items shown`}\n\n                {state.zoomedIn && (<>\n\n                    {', '}\n                    <Link\n                        color={Theme.palette.type === 'dark' ? 'inherit' : 'primary'} \n                        className=\"unhide-button\"\n                        component=\"button\"\n                        variant=\"inherit\"\n                        onClick={() => state.resetZoom()}\n                    >\n                        reset zoom (Ctrl+Z)\n                        </Link>\n                </>)}\n\n            </FormHelperText>\n\n            <XYPlot\n                width={window.innerWidth - 40} height={window.innerHeight - 400}\n                xType=\"time\"\n                stackBy=\"y\"\n                margin={{ left: 80, right: 10, top: 20 }}\n            >\n                {!!state.numOfInstancesShown && (\n                    <YAxis tickTotal={7} />\n                )}\n                <XAxis tickTotal={7} tickFormat={t => this.formatTimeTick(t, state.timeRangeInMilliseconds)} />\n\n                {typeNames.map(typeName => (<VerticalRectSeries\n                    key={typeName}\n                    stroke=\"white\"\n                    color={this.getColorCodeForInstanceType(typeName)}\n                    data={state.histograms[typeName]}\n                />))}\n\n                {!!state.numOfInstancesShown && (\n\n                    <Highlight\n                        color=\"#829AE3\"\n                        drag\n                        enableY={false}\n\n                        onDragEnd={(area) => {\n                            if (!!area) {\n                                state.applyZoom(area.left, area.right);\n                            }\n                        }}\n                    />\n                )}\n\n            </XYPlot>\n\n            <DiscreteColorLegend\n                className={'histogram-legend' + (Theme.palette.type === 'dark' ? ' histogram-legend-dark-mode' : '')}\n                colors={typeNames.map(typeName => this.getColorCodeForInstanceType(typeName))}\n                items={typeNames.map(typeName => `${typeName} (${state.counts[typeName]})`)}\n                orientation=\"horizontal\"\n            />\n\n        </>);\n    }\n\n    private getColorCodeForInstanceType(instanceType: string): string {\n\n        // Taking hash out of input string (reversed, to make names like 'func1', 'func2' etc. look different)\n        var hashCode = 0;\n        for (var i = instanceType.length - 1; i >= 0; i--) {\n            hashCode = ((hashCode << 5) - hashCode) + instanceType.charCodeAt(i);\n            // Convert to positive 32-bit integer\n            hashCode &= 0x7FFFFFFF;\n        }\n\n        // min 6 hex digits\n        hashCode |= 0x100000;\n\n        // Not too white\n        hashCode &= 0xFFFFEF;\n\n        return '#' + hashCode.toString(16);\n    }\n\n    private formatTimeTick(t: Date, timeRange: number) {\n\n        const m = moment(t);\n\n        if (!this.context.showTimeAsLocal) {\n            m.utc();\n        }\n\n        if (timeRange > 5 * 86400 * 1000) {\n            return m.format('YYYY-MM-DD');\n        }\n\n        if (timeRange > 86400 * 1000) {\n            return m.format('YYYY-MM-DD HH:mm');\n        }\n\n        if (timeRange > 10000) {\n\n            return m.second() === 0 ? m.format('HH:mm') : m.format('HH:mm:ss');\n        }\n\n        return (m.millisecond() === 0) ? m.format('HH:mm:ss') : m.format(':SSS');\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/components/results-view/OrchestrationsList.tsx",
    "content": "import * as React from 'react';\nimport { observer } from 'mobx-react';\n\nimport {\n    FormHelperText, IconButton, Link, Paper, Table, TableBody, TableCell, TableHead, TableRow,\n    TableSortLabel, Typography\n} from '@material-ui/core';\n\nimport CloseIcon from '@material-ui/icons/Close';\n\nimport { IBackendClient } from '../../services/IBackendClient';\nimport { DurableOrchestrationStatusFields } from '../../states/DurableOrchestrationStatus';\nimport { OrchestrationLink } from '../OrchestrationLink';\nimport { ResultsListTabState } from '../../states/results-view/ResultsListTabState';\nimport { DfmContextType } from '../../DfmContext';\nimport { RuntimeStatusToStyle } from '../../theme';\nimport { DateTimeHelpers } from '../../DateTimeHelpers';\nimport { LongJsonDialog } from '../dialogs/LongJsonDialog';\nimport { Theme } from '../../theme';\n\n// Orchestrations list view\n@observer\nexport class OrchestrationsList extends React.Component<{ state: ResultsListTabState, showLastEventColumn: boolean, backendClient: IBackendClient }> {\n\n    static contextType = DfmContextType;\n    context!: React.ContextType<typeof DfmContextType>;\n\n    render(): JSX.Element {\n\n        const state = this.props.state;\n\n        return (<>\n            \n            <FormHelperText className=\"items-count-label\">\n                {!!state.orchestrations.length && (<>\n                    \n                    {state.orchestrations.length} items shown\n                \n                    {!!state.hiddenColumns.length && (<>\n\n                        , {state.hiddenColumns.length} columns hidden\n\n                        (<Link\n                            color={Theme.palette.type === 'dark' ? 'inherit' : 'primary'} \n                            className=\"unhide-button\"\n                            component=\"button\"\n                            variant=\"inherit\"\n                            onClick={() => state.unhide()}\n                        >\n                            unhide\n                        </Link>)\n\n                    </>)}\n\n                    {!!state.orderBy && (<>\n\n                        , sorted by <strong>{state.orderBy} {state.orderByDirection}</strong>\n                        \n                        (<Link\n                            color={Theme.palette.type === 'dark' ? 'inherit' : 'primary'} \n                            className=\"unhide-button\"\n                            component=\"button\"\n                            variant=\"inherit\"\n                            onClick={() => state.resetOrderBy()}\n                        >\n                            reset\n                        </Link>)\n\n                    </>)}\n\n                </>)}\n            </FormHelperText>\n\n            <Paper elevation={0}>\n                {this.renderTable(state)}\n            </Paper>\n\n            <LongJsonDialog state={state.longJsonDialogState} />\n            \n        </>);\n    }\n\n    private renderTable(state: ResultsListTabState): JSX.Element {\n\n        if (!state.orchestrations.length) {\n            return (\n                <Typography variant=\"h5\" className=\"empty-table-placeholder\" >\n                    This list is empty\n                </Typography>\n            );\n        }\n\n        const visibleColumns = DurableOrchestrationStatusFields\n            // hiding artificial 'lastEvent' column, when not used\n            .filter(f => this.props.showLastEventColumn ? true : f !== 'lastEvent');\n\n        return (\n            <Table size=\"small\">\n                <TableHead>\n                    <TableRow>\n                        {visibleColumns.map(col => {\n\n                            const onlyOneVisibleColumnLeft = visibleColumns.length <= state.hiddenColumns.length + 1;\n\n                            return !state.hiddenColumns.includes(col) && (\n                                <TableCell key={col}\n                                    onMouseEnter={() => state.columnUnderMouse = col}\n                                    onMouseLeave={() => state.columnUnderMouse = ''}\n                                >\n                                    <TableSortLabel\n                                        active={state.orderBy === col}\n                                        direction={state.orderByDirection}\n                                        onClick={() => state.orderBy = col}\n                                    >\n                                        {col}\n\n                                        {['createdTime', 'lastUpdatedTime'].includes(col) && (<span className=\"time-zone-name-span\">({this.context.timeZoneName})</span>)}\n\n                                    </TableSortLabel>\n\n                                    {state.columnUnderMouse === col && !onlyOneVisibleColumnLeft && (\n                                        <IconButton\n                                            color=\"inherit\"\n                                            size=\"small\"\n                                            className=\"column-hide-button\"\n                                            onClick={() => state.hideColumn(col)}\n                                        >\n                                            <CloseIcon />\n                                        </IconButton>\n                                    )}\n\n                                </TableCell>\n                            );\n                        })}\n                    </TableRow>\n                </TableHead>\n                <TableBody>\n                    {state.orchestrations.map(orchestration => {\n\n                        const rowStyle = RuntimeStatusToStyle(orchestration.runtimeStatus);\n                        const cellStyle = { verticalAlign: 'top' };\n                        return (\n                            <TableRow\n                                key={orchestration.instanceId}\n                                style={rowStyle}\n                            >\n                                {!state.hiddenColumns.includes('instanceId') && (\n                                    <TableCell className=\"instance-id-cell\" style={cellStyle}>\n                                        <OrchestrationLink orchestrationId={orchestration.instanceId} backendClient={this.props.backendClient} />\n                                    </TableCell>\n                                )}\n                                {!state.hiddenColumns.includes('name') && (\n                                    <TableCell className=\"name-cell\" style={cellStyle}>\n                                        {orchestration.name}\n                                    </TableCell>\n                                )}\n                                {!state.hiddenColumns.includes('createdTime') && (\n                                    <TableCell className=\"datetime-cell\" style={cellStyle}>\n                                        {this.context.formatDateTimeString(orchestration.createdTime)}\n                                    </TableCell>\n                                )}\n                                {!state.hiddenColumns.includes('lastUpdatedTime') && (\n                                    <TableCell className=\"datetime-cell\" style={cellStyle}>\n                                        {this.context.formatDateTimeString(orchestration.lastUpdatedTime)}\n                                    </TableCell>\n                                )}\n                                {!state.hiddenColumns.includes('duration') && (\n                                    <TableCell style={cellStyle}>\n                                        {DateTimeHelpers.formatDuration(orchestration.duration)}\n                                    </TableCell>\n                                )}\n                                {!state.hiddenColumns.includes('runtimeStatus') && (\n                                    <TableCell style={cellStyle}>\n                                        {orchestration.runtimeStatus}\n                                    </TableCell>\n                                )}\n                                {!state.hiddenColumns.includes('lastEvent') && this.props.showLastEventColumn && (\n                                    <TableCell style={cellStyle}>\n                                        {orchestration.lastEvent}\n                                    </TableCell>\n                                )}\n                                {!state.hiddenColumns.includes('input') && (\n                                    <TableCell className=\"long-text-cell\" style={cellStyle}>\n                                        {LongJsonDialog.renderJson(orchestration.input, `${orchestration.instanceId} / input`, state.longJsonDialogState)}\n                                    </TableCell>\n                                )}\n                                {!state.hiddenColumns.includes('output') && (\n                                    <TableCell className=\"output-cell\" style={cellStyle}>\n                                        {LongJsonDialog.renderJson(orchestration.output, `${orchestration.instanceId} / output`, state.longJsonDialogState)}\n                                    </TableCell>\n                                )}\n                                {!state.hiddenColumns.includes('customStatus') && (\n                                    <TableCell className=\"output-cell\" style={cellStyle}>\n                                        {LongJsonDialog.renderJson(orchestration.customStatus, `${orchestration.instanceId} / customStatus`, state.longJsonDialogState)}\n                                    </TableCell>\n                                )}\n                            </TableRow>\n                        );\n                    })}\n                </TableBody>\n            </Table>\n        );\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/index.css",
    "content": "html {\n    overflow-y: scroll !important;\n}\n\nbody {\n    margin: 0;\n    padding: 0;\n    font-family: sans-serif;\n    display: table;\n    width: 100%;\n}\n\n.top-appbar {\n    box-shadow: none !important;\n}\n\n.top-toolbar {\n    padding-top: 5px;\n    padding-bottom: 18px;\n    max-width: 100vw;\n    min-width: 900px;\n}\n\n.toolbar-select {\n    min-width: 150px;\n}\n\n.long-text-cell {\n    min-width: 160px;\n    max-width: 250px;\n}\n\n.long-text-cell-input {\n    font-size: x-small !important;\n}\n\n.long-text-cell-input:hover {\n    text-decoration: underline;\n    cursor: pointer;\n    opacity: 0.8;\n}\n\n.empty-table-placeholder {\n    padding: 30px;\n    text-align: center;\n}\n\n.name-cell {\n    min-width: 165px;\n    word-break: break-all;\n}\n\n.link-with-pointer-cursor {\n    cursor: pointer;\n}\n\n.time-zone-name-span {\n    padding-left: 2px;\n    font-size: x-small;\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/index.tsx",
    "content": "import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\n\nimport { ThemeProvider } from \"@material-ui/styles\";\n\nimport './index.css';\nimport '../node_modules/react-vis/dist/style.css';\n\nimport { Main } from './components/Main';\nimport { MainState } from './states/MainState';\nimport { Theme } from './theme';\n\ndocument.body.style.backgroundColor = Theme.palette.background.paper;\n\n// This is the app's global state. It consists of multiple parts, consumed by multiple nested components\nconst appState = new MainState();\n\nReactDOM.render(\n    <ThemeProvider theme={Theme} >\n        <Main state={appState} />\n    </ThemeProvider>,\n    document.getElementById('root') as HTMLElement\n);"
  },
  {
    "path": "durablefunctionsmonitor.react/src/react-app-env.d.ts",
    "content": "/// <reference types=\"react-scripts\" />\n"
  },
  {
    "path": "durablefunctionsmonitor.react/src/services/BackendClient.ts",
    "content": "import axios, { Method } from 'axios';\nimport { IBackendClient } from './IBackendClient';\nimport { OrchestrationsPathPrefix } from '../states/LoginState';\n\n// DFM-specific route prefix, that is passed to us from the backend via a global static variable\ndeclare const DfmRoutePrefix: string;\n\nconst RoutePrefix = !process.env.REACT_APP_BACKEND_BASE_URI ? (!DfmRoutePrefix ? '/' : `/${DfmRoutePrefix}/`) : process.env.REACT_APP_BACKEND_BASE_URI + '/';\nexport const BackendUri = RoutePrefix + process.env.REACT_APP_BACKEND_PATH;\n\n// Common IBackendClient implementation, sends HTTP requests directly\nexport class BackendClient implements IBackendClient {\n\n    get isVsCode(): boolean { return false; }\n\n    get routePrefixAndTaskHubName(): string { return RoutePrefix + this._getTaskHubName(); }\n\n    constructor(private _getTaskHubName: () => string, private _getAuthorizationHeaderAsync: () => Promise<{}>) {\n    }\n\n    call(method: Method, url: string, data?: any): Promise<any> {\n\n        // Two-bugs away\n        if (!['get', 'post', 'put'].includes(method.toLowerCase())) {\n            return Promise.reject(new Error(`Method ${method} not supported`));\n        }\n\n        return new Promise<any>((resolve, reject) => {\n\n            this._getAuthorizationHeaderAsync().then(headers => {\n\n                // Workaround for https://github.com/Azure/azure-functions-durable-extension/issues/1926\n                var hubName = this._getTaskHubName();\n                if (hubName.endsWith('TestHubName') && method === 'POST' && url.match(/\\/(orchestrations|restart)$/i)) {\n                    // Turning task hub name into lower case, this allows to bypass function name validation\n                    hubName = hubName.replace('TestHubName', 'testhubname');\n                }\n\n                // Need to add preceding dash to a plain taskHubName, otherwise it won't route properly\n                if (!hubName.includes('-')) {\n                    hubName = '--' + hubName;\n                }\n\n                axios.request({\n                    url: BackendUri + '/' + hubName + url,\n                    method, data, headers\n                }).then(r => { resolve(r.data); }, reject);\n            });\n        });\n    }\n\n    showDetails(instanceId: string) {\n        window.open(`${this.routePrefixAndTaskHubName}${OrchestrationsPathPrefix}${instanceId}`);\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/services/IBackendClient.ts",
    "content": "import { Method } from 'axios';\n\n// Interface for communicating with the backend (sending HTTP requests)\nexport interface IBackendClient {\n\n    isVsCode: boolean;\n\n    routePrefixAndTaskHubName: string;\n\n    // Sends a request to the backend\n    call(method: Method | 'OpenInNewWindow' | 'SaveAs' | 'GotoFunctionCode' | 'VisualizeFunctionsAsAGraph' | 'SaveFunctionGraphAsJson', url: string, data?: any): Promise<any>;\n\n    // Opens instance details in a new tab\n    showDetails(instanceId: string): void;\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/services/VsCodeBackendClient.ts",
    "content": "import { Method } from 'axios';\nimport { IBackendClient } from './IBackendClient';\n\n// Defines handlers for messages being sent by VsCode extension\nexport type VsCodeCustomMessageHandlers = {\n    purgeHistory: (data: any) => void;\n    cleanEntityStorage: (data: any) => void;\n    startNewInstance: (data: any) => void;\n};\n\n// IBackendClient implementation for VsCode extension, forwards HTTP requests to VsCode\nexport class VsCodeBackendClient implements IBackendClient {\n\n    get isVsCode(): boolean { return true; }\n\n    get routePrefixAndTaskHubName(): string { return null; }\n\n    constructor(private _vsCodeApi: any) {\n\n        // Handling responses from VsCode\n        window.addEventListener('message', event => {\n\n            const message = event.data;\n\n            // handling menu commands\n            if (!!this._handlers && (!!this._handlers[message.id])) {\n\n                try {\n                    this._handlers[message.id](message.data);\n                } catch(err) {\n                    console.log('Failed to handle response from VsCode: ' + err);\n                }\n\n                return;\n            }\n\n            // handling HTTP responses\n            const requestPromise = this._requests[message.id];\n            if (!requestPromise) {\n                return;\n            }\n\n            if (!!message.err) {\n                requestPromise.reject(message.err);\n            } else {\n                requestPromise.resolve(message.data);\n            }\n\n            delete this._requests[message.id];\n        });\n    }\n\n    call(method: Method | 'OpenInNewWindow', url: string, data?: any): Promise<any> {\n\n        const requestId = Math.random().toString();\n\n        // Sending request to VsCode\n        this._vsCodeApi.postMessage({ id: requestId, method, url, data });\n\n        return new Promise<any>((resolve, reject) => {\n            this._requests[requestId] = { resolve, reject };\n        });\n    }\n\n    showDetails(instanceId: string) {\n        this.call('OpenInNewWindow', instanceId);\n    }\n\n    setCustomHandlers(handlers: VsCodeCustomMessageHandlers) {\n\n        this._handlers = handlers;\n\n        // Notifying VsCode that we're ready to process messages\n        // Cannot do this in ctor, because VsCodeBackendClient and PurgeHistoryDialogState depend on each other\n        this._vsCodeApi.postMessage({ method: 'IAmReady' });\n    }\n\n    private _handlers: VsCodeCustomMessageHandlers;\n\n    private _requests: {\n        [id: string]: {\n            resolve: (value?: any) => void,\n            reject: (reason?: any) => void\n        }\n    } = {};\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/DurableOrchestrationStatus.ts",
    "content": "\n// A DTO used by DurableOrchestrationStatus.historyEvents\nexport class HistoryEvent {\n    Timestamp: string;\n    EventType: string;\n    EventId: number;\n    Name: string;\n    ScheduledTime: string;\n    DurationInMs: number;\n    SubOrchestrationId: string;\n    Result: any;\n    Details: any;\n}\n\n// Could instead just iterate through field names of HistoryEvent, but reflection in TypeScript still looks tricky\nexport const HistoryEventFields = [\n    'Timestamp',\n    'EventType',\n    'EventId',\n    'Name',\n    'ScheduledTime',\n    'Result',\n    'Details',\n];\n\nexport const RuntimeStatuses = ['Completed', 'Running', 'Failed', 'Pending', 'Terminated', 'Canceled', 'ContinuedAsNew'] as const;\nexport type RuntimeStatus = typeof RuntimeStatuses[number];\n\nexport type EntityType = 'Orchestration' | 'DurableEntity';\n\nexport class EntityId {\n    name: string;\n    key: string;\n}\n\n// A DTO returned by DurableOrchestrationClient.getStatusAll()\nexport class DurableOrchestrationStatus {\n    instanceId: string;\n    name: string;\n    entityId: EntityId;\n    runtimeStatus: RuntimeStatus;\n    entityType: EntityType;\n    lastEvent: string;\n    input: any;\n    customStatus: string;\n    output: any;\n    createdTime: string;\n    lastUpdatedTime: string;\n    duration: number;\n    tabTemplateNames?: string[];\n\n    static getFunctionName(instance: DurableOrchestrationStatus): string {\n        return instance.entityType === 'DurableEntity' ? instance.entityId.name : instance.name;\n    }\n}\n\n// Could instead just iterate through field names of DurableOrchestrationStatus, but reflection in TypeScript still looks tricky\nexport const DurableOrchestrationStatusFields = [\n    'instanceId',\n    'name',\n    'createdTime',\n    'lastUpdatedTime',\n    'duration',\n    'runtimeStatus',\n    'lastEvent',\n    'input',\n    'output',\n    'customStatus'\n];"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/ErrorMessageState.ts",
    "content": "import { observable } from 'mobx'\n\n// State of Error Message snackbar\nexport class ErrorMessageState {\n\n    @observable\n    errorMessage: string = '';\n\n    protected showError(msg: string, err: any) {\n\n        if (typeof err === 'string') {\n            this.errorMessage = `${msg}. ${err}`;\n        } else {\n            this.errorMessage = `${msg}. ${(!err.response || !err.response.data) ? err.message : err.response.data}`;\n        }\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/FilterOperatorEnum.ts",
    "content": "\nexport enum FilterOperatorEnum {\n    Equals = 0,\n    StartsWith,\n    Contains,\n    NotEquals,\n    NotStartsWith,\n    NotContains,\n    In,\n    NotIn\n}\n\nfunction toArrayOfStrings(str: string): string[] {\n        \n    if (str.trim().startsWith('[')) {\n\n        // Treat it as JSON array\n        try {\n            return JSON.parse(str).map(v => `'${v}'`);\n        } catch {\n        }\n    }\n\n    // Treat it as CSV\n    return str.split(',').map(v => {\n        var value = v.trim();\n        return value.startsWith(`'`) ? value : `'${value}'`;\n    });\n}\n\nexport function toOdataFilterQuery(filteredColumn: string, filterOperator: FilterOperatorEnum, filterValue: string): string {\n\n    if (!filterValue || !filteredColumn || (filteredColumn === '0')) {\n        return '';\n    }\n\n    switch (filterOperator) {\n        case FilterOperatorEnum.Equals:\n            return `${filteredColumn} eq '${encodeURIComponent(filterValue)}'`;\n        case FilterOperatorEnum.StartsWith:\n            return `startswith(${filteredColumn}, '${encodeURIComponent(filterValue)}')`;\n        case FilterOperatorEnum.Contains:\n            return `contains(${filteredColumn}, '${encodeURIComponent(filterValue)}')`;\n        case FilterOperatorEnum.NotEquals:\n            return `${filteredColumn} ne '${encodeURIComponent(filterValue)}'`;\n        case FilterOperatorEnum.NotStartsWith:\n            return `startswith(${filteredColumn}, '${encodeURIComponent(filterValue)}') eq false`;\n        case FilterOperatorEnum.NotContains:\n            return `contains(${filteredColumn}, '${encodeURIComponent(filterValue)}') eq false`;\n        case FilterOperatorEnum.In:\n        case FilterOperatorEnum.NotIn:\n\n            const values = toArrayOfStrings(filterValue);\n           \n            var result = `${filteredColumn} in (${values.map(v => encodeURIComponent(v)).join(',')})`;\n\n            if (filterOperator === FilterOperatorEnum.NotIn) {\n                result += ' eq false';\n            }\n\n            return result;\n        default:\n            return '';\n    }\n}\n"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/FunctionGraphState.ts",
    "content": "import { observable, computed } from 'mobx';\nimport mermaid from 'mermaid';\n\nimport { buildFunctionDiagramCode } from './az-func-as-a-graph/buildFunctionDiagramCode';\nimport { FunctionGraphStateBase } from './FunctionGraphStateBase';\n\n// State of FunctionGraph view\nexport class FunctionGraphState extends FunctionGraphStateBase {\n\n    @observable\n    errorMessage: string = '';\n\n    @computed\n    get inProgress(): boolean { return this._inProgress; };\n\n    @computed\n    get functionsLoaded(): boolean { return !!this._traversalResult; };\n\n    @computed\n    get renderFunctions(): boolean { return this._renderFunctions; };\n    set renderFunctions(val: boolean) {\n        this._renderFunctions = val;\n        this.render();\n    };\n\n    @computed\n    get renderProxies(): boolean { return this._renderProxies; };\n    set renderProxies(val: boolean) {\n        this._renderProxies = val;\n        this.render();\n    };\n    \n    render() {\n        \n        this._diagramCode = '';\n        this._diagramSvg = '';\n        this.errorMessage = '';\n\n        if (!this._traversalResult) {\n            return;\n        }\n\n        this._inProgress = true;\n        try {\n            const diagramCode = buildFunctionDiagramCode(this._traversalResult.functions, this._traversalResult.proxies,\n                {\n                    doNotRenderFunctions: !this._renderFunctions,\n                    doNotRenderProxies: !this._renderProxies\n                });\n\n            if (!diagramCode) {\n                this._inProgress = false;\n                return;\n            }\n\n            this._diagramCode = `graph LR\\n${diagramCode}`;\n\n            mermaid.render('mermaidSvgId', this._diagramCode, (svg) => {\n\n                this._diagramSvg = this.applyIcons(svg);\n\n                this._inProgress = false;\n            });\n\n        } catch (err) {\n            this.errorMessage = `Failed to render: ${err.message}`;\n            this._inProgress = false;\n        }\n    }\n\n    load() {\n\n        if (this._inProgress) {\n            return;\n        }\n\n        // Only doing this on demand, just in case\n        this.initMermaidWhenNeeded();\n\n        this._inProgress = true;\n        this.errorMessage = '';\n        this._diagramCode = '';\n        this._diagramSvg = '';\n        this._traversalResult = null;\n\n        this._backendClient.call('GET', '/function-map').then(response => {\n\n            this._traversalResult = response;\n            this.render();\n\n        }, err => {\n            this._inProgress = false;\n            this.errorMessage = `Failed to traverse. ${!err.response ? err.message : err.response.data}`;\n        });\n    }\n\n    @observable\n    private _inProgress: boolean = false;\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/FunctionGraphStateBase.ts",
    "content": "import { observable, computed } from 'mobx';\n\nimport { IBackendClient } from '../services/IBackendClient';\nimport { MermaidDiagramStateBase } from './MermaidDiagramStateBase';\nimport { FunctionsMap, ProxiesMap } from './az-func-as-a-graph/FunctionsMap';\n\nexport type TraversalResult = {\n    functions: FunctionsMap;\n    proxies: ProxiesMap;\n    iconsSvg: string;\n};\n\n// ID of an embedded SVG element containing Azure service icons. Should be present in index.html\nconst AllAzureIconsSvgElementId = \"all-azure-icons-svg\";\n\n// Base class for all Function Graph states\nexport class FunctionGraphStateBase extends MermaidDiagramStateBase {\n\n    @computed\n    get diagramCode(): string { return this._diagramCode; };\n\n    @computed\n    get diagramSvg(): string { return this._diagramSvg; };\n\n    @computed\n    get functionsLoaded(): boolean { return !!this._traversalResult; };\n\n    get backendClient(): IBackendClient { return this._backendClient; }\n\n    constructor(protected _backendClient: IBackendClient) {\n        super();\n    }\n\n    gotoFunctionCode(functionName: string): void {\n\n        if (this.backendClient.isVsCode) {\n            \n            this.backendClient.call('GotoFunctionCode', functionName).then(() => { }, err => {\n                console.log(`Failed to goto function code: ${err.message}`);\n            });\n\n        } else {\n\n            var functionOrProxy = null;\n\n            if (functionName.startsWith('proxy.')) {\n                \n                functionOrProxy = this._traversalResult.proxies[functionName.substr(6)];\n\n            } else {\n\n                functionOrProxy = this._traversalResult.functions[functionName];\n            }\n\n            if (!!functionOrProxy && !!functionOrProxy.filePath) {\n                window.open(functionOrProxy.filePath);\n            }\n        }\n    }\n\n    saveAsJson(): void {\n\n        this.backendClient.call('SaveFunctionGraphAsJson', '').then(() => { }, err => {\n            console.log(`Failed to goto function code: ${err.message}`);\n        });\n    }\n\n    @observable\n    protected _renderFunctions: boolean = true;\n    @observable\n    protected _renderProxies: boolean = true;\n    @observable\n    protected _traversalResult: TraversalResult;\n\n    protected applyIcons(svg: string): string {\n\n        const iconsSvgElement = document.getElementById(AllAzureIconsSvgElementId);\n        if (!iconsSvgElement) {\n            return svg;\n        }\n\n        // Placing icons code into a <defs> block at the top\n        svg = svg.replace(`><style>`, `>\\n<defs>\\n${iconsSvgElement.innerHTML}</defs>\\n<style>`);\n\n        // Adding <use> blocks referencing relevant icons\n        svg = svg.replace(/<g class=\"node (\\w+).*?<g class=\"label\" transform=\"translate\\([0-9,.-]+\\)\"><g transform=\"translate\\([0-9,.-]+\\)\">/g,\n            `$&<use href=\"#az-icon-$1\" width=\"20px\" height=\"20px\"/>`);\n\n        return svg;\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/ITypedLocalStorage.ts",
    "content": "\n// Interface for pesristing class field values in some storage\nexport interface ITypedLocalStorage<T>\n{\n    setItem(fieldName: Extract<keyof T, string>, value: string): void;\n\n    setItems(items: { fieldName: Extract<keyof T, string>, value: string | null}[]): void;\n    \n    getItem(fieldName: Extract<keyof T, string>): string | null;\n\n    removeItem(fieldName: Extract<keyof T, string>): void;\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/LoginState.ts",
    "content": "import { observable, computed } from 'mobx'\nimport axios from 'axios';\nimport * as Msal from 'msal';\n\nimport { ErrorMessageState } from './ErrorMessageState';\nimport { BackendUri } from '../services/BackendClient';\n\n// DFM-specific route prefix, that is passed to us from the backend via a global static variable\ndeclare const DfmRoutePrefix: string;\n\nexport const OrchestrationsPathPrefix = `/orchestrations/`;\n\n// Login State\nexport class LoginState extends ErrorMessageState {\n\n    @computed\n    get isLoggedIn(): boolean { return this._isLoggedIn; };\n\n    @computed\n    get isLoggedInAnonymously(): boolean { return !this._userName; };\n\n    @computed\n    get userName(): string { return this._userName; };\n\n    @computed\n    get taskHubName(): string { return this._taskHubName;  }\n\n    @computed\n    get allowedTaskHubNames(): string[] { return this._allowedTaskHubNames; }\n\n    @observable\n    menuAnchorElement?: Element;\n\n    // Returns window.location.pathname minus DFM's client-side routing\n    get locationPathName(): string {\n\n        var result = window.location.pathname;\n\n        const pos = result.lastIndexOf(OrchestrationsPathPrefix);\n        if (pos >= 0) {\n            result = result.substring(0, pos);\n        }\n\n        if (!result.endsWith('/')) {\n            result += '/';\n        }\n\n        return result;\n    }\n\n    // Returns the site's root URI (everything _before_ Task Hub name)\n    get rootUri(): string {\n\n        const hubName = this.tryGetTaskHubName();\n        if (!!hubName) {\n\n            const pos = window.location.href.toLowerCase().lastIndexOf('/' + hubName.toLowerCase());\n            if (pos >= 0) {\n                return window.location.href.substring(0, pos);\n            }\n        }\n\n        return window.location.origin +\n            (\n                window.location.pathname.endsWith('/') ?\n                    window.location.pathname.substr(0, window.location.pathname.length - 1) :\n                    window.location.pathname\n            );\n    }\n\n    constructor() {\n        super();\n\n        // Turning redirects off, as we don't ever need them anyway\n        axios.defaults.maxRedirects = 0;\n\n        this.login();\n    }\n\n    login() {\n        const uri = `${BackendUri}/easyauth-config`;\n        axios.get(uri).then(response => this.loginWithEasyAuthConfig(response.data), err => this.showError('Failed to load auth config', err));\n    }\n\n    logout() {\n        this.menuAnchorElement = undefined;\n\n        if (!this._aadApp) {\n\n            window.location.replace('/.auth/logout');\n\n        } else {\n            \n            this._aadApp.logout();\n        }\n    }\n\n    getAuthorizationHeaderAsync() {\n\n        const headers = {};\n\n        // Adding our custom anti-forgery token.\n        // EasyAuth has its own built-in protection against XSRF, so we're doing this only \n        // to cover potential cases of hosting DfMon as part of some custom solution _outside_ Azure.\n        const xsrfTokenCookieAndHeaderName = 'x-dfm-xsrf-token';\n        const match = new RegExp(`${xsrfTokenCookieAndHeaderName}=([^;]+)`)\n            .exec(decodeURIComponent(document.cookie));\n        \n        if (!!match) {\n            headers[xsrfTokenCookieAndHeaderName] = match[1];\n        }\n\n        // Let's think we're on localhost and proceed with no auth\n        if (!this._aadApp) {\n            return new Promise<{}>((resolve, reject) => resolve(headers));\n        }\n\n        return new Promise<{}>((resolve, reject) => {\n            // Obtaining a token to access our own AAD app\n            const authParams: Msal.AuthenticationParameters = {\n                scopes: [this._aadApp.getCurrentConfiguration().auth.clientId]\n            };\n\n            this._aadApp.acquireTokenSilent(authParams)\n                .then((authResponse) => {\n\n                    var accessToken = authResponse.accessToken;\n                    if (!accessToken) {\n                        // https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/736\n                        // accessToken might randomly be returned as null, in which case we can probably use id_token\n                        // (which is supposed to be the same)\n                        console.log('DFM: accessToken is null, so using idToken.rawIdToken instead');\n                        accessToken = authResponse.idToken.rawIdToken;\n                    }\n\n                    headers['Authorization'] = `Bearer ${accessToken}`;\n\n                    resolve(headers);\n\n                }, err => {\n                    // If silent token aquiring failed, then just redirecting the user back to AAD, \n                    // so that the page is reloaded anyway.\n                    // This is supposed to happen very rarely, as default refresh token lifetime is quite long.  \n                    console.log(`DFM: acquireTokenSilent() failed (${err}), so calling acquireTokenRedirect()...`);\n                    this._aadApp.acquireTokenRedirect(authParams);\n                });\n        });\n    }\n\n    @observable\n    private _isLoggedIn: boolean = false;\n\n    @observable\n    private _userName: string;\n\n    @observable\n    private _taskHubName: string;\n\n    @observable\n    private _allowedTaskHubNames: string[];\n\n    private _aadApp: Msal.UserAgentApplication;\n\n    private loginWithEasyAuthConfig(config: {userName: string, clientId: string, authority: string}) {\n\n        if (!config.clientId) {\n            // Let's think we're on localhost or using server-directed login flow\n            // and proceed with no client-side auth\n            \n            this._userName = config.userName;\n\n            // Reloading the page upon cookie expiration\n            axios.interceptors.response.use(response => response, err => {\n\n                // Couldn't find a better way to detect this\n                if (err.message === 'Network Error') {\n                    window.location.reload(true);\n                }\n\n                return Promise.reject(err);\n            });\n\n            this.initializeTaskHubNameAndConfirmLogin();\n            return;\n        }\n\n        // Configuring MSAL with values received from backend\n        this._aadApp = new Msal.UserAgentApplication({\n            auth: {\n                clientId: config.clientId,\n                authority: config.authority,\n                redirectUri: this.rootUri\n            }\n        })\n\n        // Checking if it was a redirect from AAD\n        this._aadApp.handleRedirectCallback(() => { }, (authErr: Msal.AuthError, accountState: string) => {\n\n            console.log(`Failed to handle login redirect. name: ${authErr.name}, message: ${authErr.message}, errorCode: ${authErr.errorCode}, errorMessage: ${authErr.errorMessage}, accountState: ${accountState}`);\n        });\n\n        const account = this._aadApp.getAccount();\n\n        if (!account) {\n            // Redirecting user to AAD. Redirect flow is more reliable (doesn't need popups enabled)\n            this._aadApp.loginRedirect();\n\n        } else {\n            // We've logged in successfully. Setting user name.\n            this._userName = account.userName;\n            this.initializeTaskHubNameAndConfirmLogin();\n        }\n    }\n\n    private initializeTaskHubNameAndConfirmLogin(): void {\n\n        const hubName = this.tryGetTaskHubName();\n        if (!!hubName) {\n\n            this._taskHubName = hubName;\n            this._isLoggedIn = true;\n            return;\n        }\n\n        // Trying to load the list of allowed Task Hubs from the backend\n        this.getAuthorizationHeaderAsync().then(headers => {\n\n            const uri = `${BackendUri}/task-hub-names`;\n            axios.get(uri, { headers }).then(response => {\n                \n                const hubNames: string[] = response.data;\n\n                if (hubNames.length === 1) {\n                    \n                    // Redirecting to that Task Hub\n                    window.location.pathname = this.locationPathName + hubNames[0];\n                } else {\n\n                    // Asking the user to choose from\n                    this._allowedTaskHubNames = hubNames;\n                }\n\n            }, err => this.showError('Failed to load the list of Task Hubs', err));\n        });\n    }\n\n    // Extracts Task Hub name from window.location.href, still honoring client-side routing and subpaths\n    private tryGetTaskHubName(): string {\n\n        const locationPathName = this.locationPathName;\n\n        // If current path ends with DfmRoutePrefix, then it doesn't actually contain Task Hub name\n        if (locationPathName.toLowerCase().endsWith(`/${DfmRoutePrefix.toLowerCase()}/`)) {\n            return null;\n        }\n\n        const pathParts = locationPathName.split('/').filter(p => !!p);\n        if (pathParts.length < 1) {\n            return null;\n        }\n\n        // Consider the last path part to be the Task Hub name.\n        // This should work even if we're hosted under some subpath\n        return pathParts[pathParts.length - 1];\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/MainMenuState.ts",
    "content": "import { observable } from 'mobx'\n\nimport { IBackendClient } from '../services/IBackendClient';\nimport { PurgeHistoryDialogState } from './dialogs/PurgeHistoryDialogState';\nimport { CleanEntityStorageDialogState } from './dialogs/CleanEntityStorageDialogState';\nimport { ConnectionParamsDialogState } from './dialogs/ConnectionParamsDialogState';\nimport { StartNewInstanceDialogState } from './dialogs/StartNewInstanceDialogState';\n\n// State of Main Menu component\nexport class MainMenuState {\n\n    @observable\n    menuAnchorElement?: Element;\n\n    constructor(private _backendClient: IBackendClient,\n        private _purgeHistoryDialogState: PurgeHistoryDialogState,\n        private _cleanEntityStorageDialogState: CleanEntityStorageDialogState,\n        private _connectionParamsDialogState: ConnectionParamsDialogState,\n        private _startNewInstanceDialogState: StartNewInstanceDialogState) {\n    }\n    \n    showConnectionParamsDialog() {\n        this.menuAnchorElement = undefined;\n\n        this._connectionParamsDialogState.dialogOpen = true;\n    }\n\n    showPurgeHistoryDialog() {\n        this.menuAnchorElement = undefined;\n        \n        this._purgeHistoryDialogState.dialogOpen = true;\n    }\n\n    showCleanEntityStorageDialog() {\n        this.menuAnchorElement = undefined;\n\n        this._cleanEntityStorageDialogState.dialogOpen = true;\n    }\n\n    showStartNewInstanceDialog() {\n        this.menuAnchorElement = undefined;\n\n        this._startNewInstanceDialogState.dialogOpen = true;\n    }\n\n    setWindowTitle() {\n        \n        this._backendClient.call('GET', '/about').then(response => {\n            document.title = `Durable Functions Monitor (${response.accountName}/${response.hubName}) v${response.version}`;\n        });\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/MainState.ts",
    "content": "import { observable, computed } from 'mobx';\n\nimport { IBackendClient } from '../services/IBackendClient';\nimport { BackendClient } from '../services/BackendClient';\nimport { LoginState, OrchestrationsPathPrefix } from './LoginState';\nimport { MainMenuState } from './MainMenuState';\nimport { OrchestrationsState } from './results-view/OrchestrationsState';\nimport { ResultsListTabState } from './results-view/ResultsListTabState';\nimport { OrchestrationDetailsState } from './details-view/OrchestrationDetailsState';\nimport { FunctionGraphState } from './FunctionGraphState';\nimport { PurgeHistoryDialogState } from './dialogs/PurgeHistoryDialogState';\nimport { CleanEntityStorageDialogState } from './dialogs/CleanEntityStorageDialogState';\nimport { ConnectionParamsDialogState } from './dialogs/ConnectionParamsDialogState';\nimport { StartNewInstanceDialogState } from './dialogs/StartNewInstanceDialogState';\nimport { TypedLocalStorage } from './TypedLocalStorage';\nimport { VsCodeBackendClient } from '../services/VsCodeBackendClient';\nimport { VsCodeTypedLocalStorage } from './VsCodeTypedLocalStorage';\n\n// This method is provided by VsCode, when running inside a WebView\ndeclare const acquireVsCodeApi: () => any;\n\n// Global variables declared in index.html and replaced by VsCode extension\ndeclare const OrchestrationIdFromVsCode: string;\ndeclare const IsFunctionGraphAvailable: boolean;\n\nenum DfmViewModeEnum {\n    DurableFunctions = 0,\n    FunctionGraph\n}\ndeclare const DfmViewMode: DfmViewModeEnum;\n\n// Main Application State\nexport class MainState  {\n    \n    readonly loginState?: LoginState;    \n    readonly mainMenuState?: MainMenuState;\n    readonly orchestrationsState?: OrchestrationsState;\n    readonly orchestrationDetailsState?: OrchestrationDetailsState;\n    readonly functionGraphState?: FunctionGraphState;\n    readonly purgeHistoryDialogState: PurgeHistoryDialogState;\n    readonly cleanEntityStorageDialogState: CleanEntityStorageDialogState;\n    readonly connectionParamsDialogState: ConnectionParamsDialogState;\n    readonly startNewInstanceDialogState: StartNewInstanceDialogState;\n\n    @observable\n    menuAnchorElement?: Element;\n\n    @computed\n    get typedInstanceId(): string {\n        return this._typedInstanceId;\n    }\n    set typedInstanceId(s: string) {\n        this._typedInstanceId = s;\n        this.reloadSuggestions();\n    }\n\n    @computed\n    get suggestions(): string[] {\n        return this._suggestions;\n    }\n\n    @computed\n    get isExactMatch(): boolean {\n        return this._suggestions.length === 1 && this._suggestions[0] === this._typedInstanceId;\n    }\n    \n    constructor() {\n\n        // checking whether we're inside VsCode\n        var vsCodeApi: any = undefined;\n        try {\n            vsCodeApi = acquireVsCodeApi();\n        } catch { }\n\n        if (!!vsCodeApi) {\n\n            const backendClient = new VsCodeBackendClient(vsCodeApi);\n            this._backendClient = backendClient;\n\n            this.purgeHistoryDialogState = new PurgeHistoryDialogState(backendClient);\n            this.cleanEntityStorageDialogState = new CleanEntityStorageDialogState(backendClient);\n            this.startNewInstanceDialogState = new StartNewInstanceDialogState(backendClient);\n\n            if (DfmViewMode === DfmViewModeEnum.FunctionGraph) {\n\n                this.functionGraphState = new FunctionGraphState(backendClient);\n\n            } else if (!!this.instanceId) {\n\n                this.orchestrationDetailsState = new OrchestrationDetailsState(this.instanceId,\n                    IsFunctionGraphAvailable,\n                    backendClient,\n                    new VsCodeTypedLocalStorage<OrchestrationDetailsState>('OrchestrationDetailsState', vsCodeApi));\n                \n            } else {\n\n                this.orchestrationsState = new OrchestrationsState(IsFunctionGraphAvailable,\n                    backendClient,\n                    new VsCodeTypedLocalStorage<OrchestrationsState & ResultsListTabState>('OrchestrationsState', vsCodeApi),\n                    funcName => this.startNewInstanceDialogState.showWithFunctionName(funcName));\n\n                // This needs to be done after state instances are created, but it needs to be done anyway\n                backendClient.setCustomHandlers({\n                    purgeHistory: () => this.purgeHistoryDialogState.dialogOpen = true,\n                    cleanEntityStorage: () => this.cleanEntityStorageDialogState.dialogOpen = true,\n                    startNewInstance: () => this.startNewInstanceDialogState.dialogOpen = true,\n                });\n            }\n            \n        } else {\n\n            this.loginState = new LoginState();\n\n            const backendClient = new BackendClient(() => this.loginState.taskHubName, () => this.loginState.getAuthorizationHeaderAsync());\n            this._backendClient = backendClient;\n\n            this.purgeHistoryDialogState = new PurgeHistoryDialogState(backendClient);\n            this.cleanEntityStorageDialogState = new CleanEntityStorageDialogState(backendClient);\n            this.connectionParamsDialogState = new ConnectionParamsDialogState(backendClient);\n            this.startNewInstanceDialogState = new StartNewInstanceDialogState(backendClient);\n\n            if (!!this.instanceId) {\n\n                this.orchestrationDetailsState = new OrchestrationDetailsState(this.instanceId,\n                    IsFunctionGraphAvailable,\n                    backendClient, \n                    new TypedLocalStorage<OrchestrationDetailsState>('OrchestrationDetailsState'));\n                \n            } else {\n\n                this.mainMenuState = new MainMenuState(backendClient, this.purgeHistoryDialogState, this.cleanEntityStorageDialogState, this.connectionParamsDialogState, this.startNewInstanceDialogState);\n                \n                this.orchestrationsState = new OrchestrationsState(IsFunctionGraphAvailable,\n                    backendClient,\n                    new TypedLocalStorage<OrchestrationsState>('OrchestrationsState'),\n                    funcName => this.startNewInstanceDialogState.showWithFunctionName(funcName));\n            }\n        }\n    }\n\n    // Opens the entered orchestrationId in a new tab\n    goto() {\n        window.open(`${this._backendClient.routePrefixAndTaskHubName}${OrchestrationsPathPrefix}${this._typedInstanceId}`);\n        this._typedInstanceId = '';\n        this._suggestions = [];\n    }\n\n    @observable\n    private _suggestions: string[] = [];\n    @observable\n    private _typedInstanceId: string = '';\n\n    private readonly _backendClient: IBackendClient;\n\n    // Extracts orchestrationId from URL or from VsCode\n    private get instanceId(): string {\n\n        if (!!OrchestrationIdFromVsCode) {\n            return OrchestrationIdFromVsCode;\n        }\n\n        const pos = window.location.pathname.lastIndexOf(OrchestrationsPathPrefix);\n        if (pos < 0) {\n            return '';\n        }\n\n        return window.location.pathname.substr(pos + OrchestrationsPathPrefix.length);\n    }\n\n    // Reloads list of suggested instanceIds\n    private reloadSuggestions(): void {\n\n        if (!this._typedInstanceId || this._typedInstanceId.length < 2) {\n            this._suggestions = [];\n            return;\n        }\n\n        const uri = `/id-suggestions(prefix='${this._typedInstanceId}')`;\n        this._backendClient.call('GET', uri).then(response => {\n\n            if (!response || !this._typedInstanceId) {\n                this._suggestions = [];\n            } else {\n                this._suggestions = response;\n            }\n        });\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/MermaidDiagramStateBase.ts",
    "content": "import { observable } from 'mobx';\nimport mermaid from 'mermaid';\nimport { DateTimeHelpers } from '../DateTimeHelpers';\n\n// Base class for all mermaid-related states\nexport abstract class MermaidDiagramStateBase {\n\n    @observable\n    protected _diagramCode: string;\n    @observable\n    protected _diagramSvg: string;\n\n    protected initMermaidWhenNeeded() : void {\n\n        if (MermaidDiagramStateBase._mermaidInitialized) { \n            return;\n        }\n\n        mermaid.initialize({\n            startOnLoad: true,\n            \n            sequence: {\n                noteMargin: 0,\n                boxMargin: 5,\n                boxTextMargin: 5\n            },\n\n            flowchart: {\n                curve: 'Basis',\n                useMaxWidth: true,\n                htmlLabels: false\n            }\n        });\n\n        MermaidDiagramStateBase._mermaidInitialized = true;\n    }\n\n    protected escapeTitle(id: string) {\n\n        return id.replace(/[@:;]/g, ' ');\n    }\n\n    protected formatDuration(durationInMs: number): string {\n\n        const result = DateTimeHelpers.formatDuration(durationInMs);\n        return !result ? '' : `(${result})`;\n    }\n\n    protected formatDurationInSeconds(durationInMs: number): string {\n\n        return Math.ceil(durationInMs / 1000).toFixed(0) + 's';\n    }\n\n    private static _mermaidInitialized = false;\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/QueryString.ts",
    "content": "\n// Helper class for dealing with browser's query string\nexport class QueryString {\n\n    constructor() {\n\n        const pairs = window.location.search.substr(1).split('&');\n        for (var pairString of pairs) {\n            const pair = pairString.split('=');\n            if (pair.length > 1) {\n                this._values[pair[0]] = decodeURIComponent(pair[1]);\n            }\n        }\n    }\n\n    get values(): { [key: string]: string } { return this._values; }\n\n    setValue(key: string, val: string): void {\n\n        if (!!val) {\n            this.values[key] = val;\n        } else {\n            delete this.values[key];\n        }\n    }\n\n    apply(pushState: boolean = false): void {\n\n        var queryString = '';\n\n        for (var key in this._values) {\n            if (!!queryString) {\n                queryString += '&';\n            }\n            queryString += key + '=' + encodeURIComponent(this._values[key]);\n        }\n\n        if (pushState) {\n            window.history.pushState(null, null, !queryString ? '' : '?' + queryString);\n        } else {\n            window.history.replaceState(null, null, !queryString ? '' : '?' + queryString);\n        }\n    }\n\n    private _values: { [key: string]: string } = {};\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/TypedLocalStorage.ts",
    "content": "import { ITypedLocalStorage } from './ITypedLocalStorage';\nimport { QueryString } from './QueryString';\n\n// Stores field values in a localStorage\nexport class TypedLocalStorage<T> implements ITypedLocalStorage<T>\n{\n    constructor(private _prefix: string) { }\n\n    setItem(fieldName: Extract<keyof T, string>, value: string) {\n\n        localStorage.setItem(`${this._prefix}::${fieldName}`, value);\n\n        // Also placing into query string\n        const queryString = new QueryString();\n        queryString.values[fieldName] = value;\n        queryString.apply();\n    }\n\n    setItems(items: { fieldName: Extract<keyof T, string>, value: string | null }[]) {\n\n        // Also placing into query string\n        const queryString = new QueryString();\n\n        for (const item of items) {\n            if (item.value === null) {\n\n                localStorage.removeItem(`${this._prefix}::${item.fieldName}`);\n\n                delete queryString.values[item.fieldName];\n\n            } else {\n\n                localStorage.setItem(`${this._prefix}::${item.fieldName}`, item.value);\n\n                queryString.values[item.fieldName] = item.value;\n            }\n        }\n\n        queryString.apply();\n    }\n\n    getItem(fieldName: Extract<keyof T, string>): string | null {\n\n        // Query string should take precedence\n        const queryString = new QueryString();\n        if (!!queryString.values[fieldName]) {\n            return queryString.values[fieldName];\n        }\n\n        return localStorage.getItem(`${this._prefix}::${fieldName}`);\n    }\n\n    removeItem(fieldName: Extract<keyof T, string>) {\n\n        localStorage.removeItem(`${this._prefix}::${fieldName}`);\n\n        // Also dropping from query string\n        const queryString = new QueryString();\n        delete queryString.values[fieldName];\n        queryString.apply();\n    }\n}\n"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/VsCodeTypedLocalStorage.ts",
    "content": "import { ITypedLocalStorage } from './ITypedLocalStorage';\n\n// A global variable declared in index.html and replaced by VsCode extension\ndeclare const StateFromVsCode: {};\n\n// Stores field values in VsCode\nexport class VsCodeTypedLocalStorage<T> implements ITypedLocalStorage<T>\n{\n    constructor(private _prefix: string, private _vsCodeApi: any) { \n        this._state = StateFromVsCode[this._prefix];\n        if (!this._state) {\n            this._state = {};\n        }\n    }\n\n    setItem(fieldName: Extract<keyof T, string>, value: string) {\n\n        this._state[fieldName] = value\n        this.save();\n    }\n\n    setItems(items: { fieldName: Extract<keyof T, string>, value: string | null }[]) {\n\n        for (const item of items) {\n\n            if (item.value === null) {\n                delete this._state[item.fieldName];\n            } else {\n                this._state[item.fieldName] = item.value;\n            }\n        }\n\n        this.save();\n    }\n\n    getItem(fieldName: Extract<keyof T, string>): string | null {\n\n        return this._state[fieldName];\n    }\n\n    removeItem(fieldName: Extract<keyof T, string>) {\n\n        delete this._state[fieldName];\n        this.save();\n    }\n\n    private readonly _state: any;\n\n    private save(): void {\n        this._vsCodeApi.postMessage({ method: 'PersistState', key: this._prefix, data: this._state });\n    }\n}\n"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/az-func-as-a-graph/FunctionsMap.d.ts",
    "content": "\nexport type FunctionsMap = {\n    [name: string]: {\n        bindings: any[],\n        isCalledBy: string[],\n        isSignalledBy: { name: string, signalName: string }[],\n        isCalledByItself?: boolean,\n        filePath?: string,\n        pos?: number,\n        lineNr?: number\n    }\n};\n\nexport type ProxiesMap = {\n    [name: string]: {\n        matchCondition?: {\n            methods?: string[];\n            route?: string;\n        };\n        backendUri?: string;\n        requestOverrides?: {};\n        responseOverrides?: {};\n        filePath?: string,\n        pos?: number,\n        lineNr?: number,\n        warningNotAddedToCsProjFile?: boolean\n    }\n};\n\nexport type TraverseFunctionResult = {\n    functions: FunctionsMap;\n    proxies: ProxiesMap;\n    tempFolders: string[];\n};\n"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/az-func-as-a-graph/buildFunctionDiagramCode.ts",
    "content": "import { FunctionsMap, ProxiesMap } from './FunctionsMap';\n\nconst space = '#32;';\n\nfunction getTriggerBindingText(binding: any): string {\n\n    switch (binding.type) {\n        case 'httpTrigger':\n            return `${binding.authLevel === 'anonymous' ? '#127760;' : '#128274;'} http${!binding.methods ? '' : ':[' + binding.methods.join(',') + ']'}${!binding.route ? '' : ':' + binding.route}`;\n        case 'blobTrigger':\n            return `${space}blob:${binding.path ?? ''}`;\n        case 'cosmosDBTrigger':\n            return `${space}cosmosDB:${binding.databaseName ?? ''}:${binding.collectionName ?? ''}`;\n        case 'eventHubTrigger':\n            return `${space}eventHub:${binding.eventHubName ?? ''}`;\n        case 'serviceBusTrigger':\n            return `${space}serviceBus:${!binding.queueName ? (binding.topicName ?? '') : binding.queueName}${!binding.subscriptionName ? '' : ':' + binding.subscriptionName}`;\n        case 'queueTrigger':\n            return `${space}queue:${binding.queueName ?? ''}`;\n        case 'timerTrigger':\n            return `${space}timer:${binding.schedule ?? ''}`;\n        default:\n            return `${space}${binding.type}`;\n    }\n}\n\nfunction getBindingText(binding: any): string {\n\n    switch (binding.type) {\n        case 'table':\n            return `${space}table:${binding.tableName ?? ''}`;\n        case 'blob':\n            return `${space}blob:${binding.path ?? ''}`;\n        case 'cosmosDB':\n            return `${space}cosmosDB:${binding.databaseName ?? ''}:${binding.collectionName ?? ''}`;\n        case 'eventHub':\n            return `${space}eventHub:${binding.eventHubName ?? ''}`;\n        case 'serviceBus':\n            return `${space}serviceBus:${!binding.queueName ? (binding.topicName ?? '') : binding.queueName}${!binding.subscriptionName ? '' : ':' + binding.subscriptionName}`;\n        case 'queue':\n            return `${space}queue:${binding.queueName ?? ''}`;\n        default:\n            return `${space}${binding.type}`;\n    }\n}\n\nexport type GraphSettings = {\n    doNotRenderFunctions?: boolean,\n    doNotRenderProxies?: boolean,\n};\n\n// Translates functions and their bindings into a Mermaid Flowchart diagram code\nexport function buildFunctionDiagramCode(functionsMap: FunctionsMap, proxiesMap: ProxiesMap, settings: GraphSettings = {}): string {\n\n    var code = '';\n\n    if (!settings.doNotRenderFunctions) {\n        \n        const functions = [];\n\n        // Determine what kind of function this one is\n        for (const name in functionsMap) {\n            const func = functionsMap[name];\n    \n            var triggerBinding = undefined, inputBindings = [], outputBindings = [], otherBindings = [];\n            var nodeCode = `${name}{{\"${space}${name}\"}}:::function`;\n    \n            for (const binding of func.bindings) {\n    \n                if (binding.type === 'orchestrationTrigger') {\n                    nodeCode = `${name}[[\"${space}${name}\"]]:::orchestrator`;\n                } else if (binding.type === 'activityTrigger') {\n                    nodeCode = `${name}[/\"${space}${name}\"/]:::activity`;\n                } else if (binding.type === 'entityTrigger') {\n                    nodeCode = `${name}[(\"${space}${name}\")]:::entity`;\n                }\n    \n                if (binding.type.endsWith('Trigger')) {\n                    triggerBinding = binding;\n                } else if (binding.direction === 'in') {\n                    inputBindings.push(binding);\n                } else if (binding.direction === 'out') {\n                    outputBindings.push(binding);\n                } else {\n                    otherBindings.push(binding);\n                }\n            }\n    \n            functions.push({ name, nodeCode, triggerBinding, inputBindings, outputBindings, otherBindings, ...func });\n        }\n    \n        // Sorting by trigger type, then by name. Moving the ones that are being called to the bottom.\n        const getFunctionHash = (f) => {\n    \n            var hash = (!!f.isCalledBy?.length || !f.triggerBinding || !f.triggerBinding.type) ? '' : f.triggerBinding.type;\n            hash += '~' + f.name;\n            return hash;\n        }\n        functions.sort((f1, f2) => {\n            \n            var s1 = getFunctionHash(f1);\n            var s2 = getFunctionHash(f2);\n    \n            return (s1 > s2) ? 1 : ((s2 > s1) ? -1 : 0);\n        });\n    \n        // Rendering\n        for (const func of functions) {\n    \n            code += `${func.nodeCode}\\n`;\n            // Making Functions nodes a bit darker\n            code += `style ${func.name} fill:#D9D9FF,stroke-width:2px\\n`;\n    \n            if (!!func.isCalledBy?.length) {\n    \n                for (const calledBy of func.isCalledBy) {\n                    code += `${calledBy} ---> ${func.name}\\n`;\n                }\n    \n            } else if (!!func.triggerBinding) {\n    \n                code += `${func.name}.${func.triggerBinding.type}>\"${getTriggerBindingText(func.triggerBinding)}\"]:::${func.triggerBinding.type} --> ${func.name}\\n`;\n            }\n    \n            for (var i = 0; i < func.inputBindings.length; i++) {\n                const inputBinding = func.inputBindings[i];\n                code += `${func.name}.${i}.${inputBinding.type}([\"${getBindingText(inputBinding)}\"]):::${inputBinding.type} -.-> ${func.name}\\n`;\n            }\n    \n            for (var i = 0; i < func.outputBindings.length; i++) {\n                const outputBinding = func.outputBindings[i];\n                code += `${func.name} -.-> ${func.name}.${i}.${outputBinding.type}([\"${getBindingText(outputBinding)}\"]):::${outputBinding.type}\\n`;\n            }\n    \n            for (var i = 0; i < func.otherBindings.length; i++) {\n                const otherBinding = func.otherBindings[i];\n                code += `${func.name} -.- ${func.name}.${i}.${otherBinding.type}([\"${getBindingText(otherBinding)}\"]):::${otherBinding.type}\\n`;\n            }\n    \n            if (!!func.isSignalledBy?.length) {\n    \n                for (const signalledBy of func.isSignalledBy) {\n                    code += `${signalledBy.name} -- \"#9889; ${signalledBy.signalName}\" ---> ${func.name}\\n`;\n                }\n            }\n    \n            if (!!func.isCalledByItself) {\n    \n                code += `${func.name} -- \"[ContinueAsNew]\" --> ${func.name}\\n`;\n            }\n        }\n    }\n\n    // Also proxies\n    if (!settings.doNotRenderProxies && (Object.keys(proxiesMap).length > 0)) {\n        \n        const proxyNodesColor = '#FFE6C8';\n\n        var nodeTitle = ``;\n        var notAddedToCsProjFile = false;\n\n        for (const name in proxiesMap) {\n            const proxy = proxiesMap[name];\n            const proxyPurifiedName = name.replace(/ /g, '');\n\n            notAddedToCsProjFile = proxy.warningNotAddedToCsProjFile;\n\n            nodeTitle = '';\n            if (!!proxy.matchCondition) {\n                \n                if (!!proxy.matchCondition.methods && !!proxy.matchCondition.methods.length) {\n                    nodeTitle += (!!nodeTitle ? ':' : '') + `[${proxy.matchCondition.methods.join(',')}]`;\n                }\n\n                if (!!proxy.matchCondition.route) {\n                    nodeTitle += (!!nodeTitle ? ':' : '') + proxy.matchCondition.route;\n                }\n            }\n            if (!nodeTitle) {\n                nodeTitle = name;\n            }\n\n            var nodeName = `proxy.${proxyPurifiedName}`;\n\n            code += `proxies.json -. \"${name}\" .-> ${nodeName}([\"${space}${nodeTitle}\"]):::proxy\\n`;\n            code += `style ${nodeName} fill:${proxyNodesColor}\\n`;\n\n            if (!!proxy.backendUri) {\n\n                nodeTitle = proxy.backendUri.replace(/'response./g, `'`);\n\n                const nextNodeName = `proxy.${proxyPurifiedName}.backendUri`;\n\n                code += `${nodeName} ${getRequestOverridesArrowCode(proxy.requestOverrides)} ${nextNodeName}[\"${space}${nodeTitle}\"]:::http\\n`;\n                code += `style ${nextNodeName} fill:${proxyNodesColor}\\n`;\n\n                nodeName = nextNodeName;\n            }\n\n            const nextNodeName = `proxy.${proxyPurifiedName}.response`;\n\n            code += `${nodeName} ${getResponseOverridesArrowCode(proxy.responseOverrides)} ${nextNodeName}([\"${space}.\"]):::http\\n`;\n            code += `style ${nextNodeName} fill:${proxyNodesColor}\\n`;\n        }\n\n        nodeTitle = `proxies.json`;\n        var nodeColor = proxyNodesColor;\n        if (notAddedToCsProjFile) {\n            nodeTitle += ` #9888; Not added to .CSPROJ file!`;\n            nodeColor = `#FF8080`;\n        }\n\n        code += `proxies.json[\"${space}${nodeTitle}\"]\\n`;\n        code += `style proxies.json fill:${nodeColor}\\n`;\n    }\n\n    return code;\n}\n\nconst maxSymbolsInTitle = 150;\n\nfunction getRequestOverridesArrowCode(requestOverrides: any): string {\n\n    if (!requestOverrides) {\n        return `-->`\n    }\n\n    var arrowText = JSON.stringify(requestOverrides)\n        .replace(/\"/g, `'`)\n        .replace(/'backend.request./g, `'`);\n    \n    if (arrowText.length > maxSymbolsInTitle) {\n        arrowText = arrowText.substr(0, maxSymbolsInTitle) + '...';\n    }\n\n    return `-- \"${arrowText}${space}\" -->`;\n}\n\nfunction getResponseOverridesArrowCode(responseOverrides: any): string {\n\n    if (!responseOverrides) {\n        return `-->`\n    }\n\n    if (!!responseOverrides['response.body']) {\n        responseOverrides['response.body'] = '...';\n    }\n\n    var arrowText = JSON.stringify(responseOverrides)\n        .replace(/\"/g, `'`)\n        .replace(/'response./g, `'`);\n    \n    if (arrowText.length > maxSymbolsInTitle) {\n        arrowText = arrowText.substr(0, maxSymbolsInTitle) + '...';\n    }\n\n    return `-- \"${arrowText}${space}\" -->`;\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/details-view/FunctionGraphTabState.ts",
    "content": "import { observable, computed } from 'mobx';\nimport mermaid from 'mermaid';\n\nimport { IBackendClient } from '../../services/IBackendClient';\nimport { DurableOrchestrationStatus, HistoryEvent, RuntimeStatus } from '../DurableOrchestrationStatus';\nimport { ICustomTabState, CustomTabTypeEnum } from './ICustomTabState';\nimport { FunctionGraphStateBase, TraversalResult } from '../FunctionGraphStateBase';\nimport { buildFunctionDiagramCode } from '../az-func-as-a-graph/buildFunctionDiagramCode';\nimport { CancelToken } from '../../CancelToken';\nimport { MetricsMap, MetricsItem } from '../results-view/ResultsFunctionGraphTabState';\n\n// State of Functions Graph tab on OrchestrationDetails view\nexport class FunctionGraphTabState extends FunctionGraphStateBase implements ICustomTabState {\n\n    readonly name = \"Functions Graph\";\n    readonly tabType = CustomTabTypeEnum.FunctionGraph;\n\n    @computed\n    get description(): string { return this._diagramCode; };\n\n    @computed\n    get rawHtml(): string { return this._diagramSvg; };\n\n    @computed\n    get renderFunctions(): boolean { return this._renderFunctions; };\n    set renderFunctions(val: boolean) {\n        this._renderFunctions = val;\n        this.render();\n    };\n\n    @computed\n    get renderProxies(): boolean { return this._renderProxies; };\n    set renderProxies(val: boolean) {\n        this._renderProxies = val;\n        this.render();\n    };\n\n    @computed\n    get metrics(): MetricsMap { return this._metrics; }\n\n    constructor(backendClient: IBackendClient, traversalResult: TraversalResult, private _loadHistory: (orchestrationId: string) => Promise<HistoryEvent[]>) {\n        super(backendClient);\n        this._traversalResult = traversalResult;\n    }\n\n    load(details: DurableOrchestrationStatus, cancelToken: CancelToken): Promise<void> {\n\n        // Only doing this on demand, just in case\n        this.initMermaidWhenNeeded();\n\n        const metrics: MetricsMap = {};\n\n        return this.render().then(() => {\n\n            return this._loadHistory(details.instanceId).then(history => {\n\n                if (cancelToken.isCancelled) {\n                    return;\n                }\n\n                return this.updateMetricsForInstance(metrics, DurableOrchestrationStatus.getFunctionName(details),\n                        details.runtimeStatus, new Date(details.lastUpdatedTime).getTime() - new Date(details.createdTime).getTime(),\n                        history, cancelToken)\n                    .then(() => {\n\n                        this._metrics = metrics;\n                    });\n            });\n        })\n    }\n\n    @observable\n    private _metrics: MetricsMap = {};\n\n    private updateMetricsForInstance(metrics: MetricsMap,\n        funcName: string,\n        runtimeStatus: RuntimeStatus,\n        durationInMs: number,\n        history: HistoryEvent[],\n        cancelToken: CancelToken): Promise<void> {\n        \n        if (!metrics[funcName]) {\n            metrics[funcName] = new MetricsItem();\n        }\n\n        switch (runtimeStatus) {\n            case 'Completed':\n                metrics[funcName].completed++;\n                break;\n            case 'Running':\n            case 'Pending':\n            case 'ContinuedAsNew':\n                metrics[funcName].running++;\n                break;\n            case 'Failed':\n                metrics[funcName].failed++;\n                break;\n            default:\n                metrics[funcName].other++;\n                break;\n        }\n\n        if (metrics[funcName].duration < durationInMs) {\n            metrics[funcName].duration = durationInMs;\n        }\n\n        const promises: Promise<void>[] = [];\n\n        for (var event of history) {\n\n            const subFuncName = event.Name;\n\n            switch (event.EventType) {\n                case 'SubOrchestrationInstanceCreated':\n\n                    if (!!event.SubOrchestrationId) {\n\n                        promises.push(this._loadHistory(event.SubOrchestrationId).then(subHistory => {\n\n                            if (!cancelToken.isCancelled) {\n                                return this.updateMetricsForInstance(metrics, subFuncName, \"Running\", 0, subHistory, cancelToken);\n                            }\n                        }));\n                    }\n\n                    break;\n                case 'SubOrchestrationInstanceCompleted':\n\n                    if (!!event.SubOrchestrationId) {\n\n                        const durationInMs = new Date(event.Timestamp).getTime() - new Date(event.ScheduledTime).getTime();\n\n                        promises.push(this._loadHistory(event.SubOrchestrationId).then(subHistory => {\n\n                            if (!cancelToken.isCancelled) {\n                                return this.updateMetricsForInstance(metrics, subFuncName, \"Completed\", durationInMs, subHistory, cancelToken);\n                            }\n                        }));\n                    }\n                    \n                    break;\n                case 'SubOrchestrationInstanceFailed':\n\n                    if (!!event.SubOrchestrationId) {\n\n                        const durationInMs = new Date(event.Timestamp).getTime() - new Date(event.ScheduledTime).getTime();\n\n                        promises.push(this._loadHistory(event.SubOrchestrationId).then(subHistory => {\n\n                            if (!cancelToken.isCancelled) {\n                                return this.updateMetricsForInstance(metrics, subFuncName, \"Failed\", durationInMs, subHistory, cancelToken);\n                            }\n                        }));\n                    }\n                \n                    break;\n                case 'TaskCompleted':\n\n                    if (!metrics[subFuncName]) {\n                        metrics[subFuncName] = new MetricsItem();\n                    }\n\n                    metrics[subFuncName].completed++;\n\n                    if (metrics[subFuncName].duration < event.DurationInMs) {\n                        metrics[subFuncName].duration = event.DurationInMs;\n                    }\n                    \n                    break;\n                case 'TaskFailed':\n\n                    if (!metrics[subFuncName]) {\n                        metrics[subFuncName] = new MetricsItem();\n                    }\n\n                    metrics[subFuncName].failed++;\n\n                    if (metrics[subFuncName].duration < event.DurationInMs) {\n                        metrics[subFuncName].duration = event.DurationInMs;\n                    }\n                    \n                    break;\n                case 'TaskScheduled':\n\n                    if (!metrics[subFuncName]) {\n                        metrics[subFuncName] = new MetricsItem();\n                    }\n\n                    metrics[subFuncName].running++;\n                    \n                    break;\n            }                   \n        }\n\n        return Promise.all(promises) as any;\n    }\n    \n    private render(): Promise<void> {\n\n        this._diagramCode = '';\n        this._diagramSvg = '';\n\n        return new Promise<void>((resolve, reject) => {\n\n            try {\n                const diagramCode = buildFunctionDiagramCode(this._traversalResult.functions, this._traversalResult.proxies,\n                    {\n                        doNotRenderFunctions: !this._renderFunctions,\n                        doNotRenderProxies: !this._renderProxies\n                    });\n    \n                if (!diagramCode) {\n                    resolve();\n                    return;\n                }\n    \n                this._diagramCode = `graph LR\\n${diagramCode}`;\n    \n                mermaid.render('mermaidSvgId', this._diagramCode, (svg) => {\n    \n                    this._diagramSvg = this.applyIcons(svg);\n\n                    resolve();\n                });\n    \n            } catch (err) {\n                reject(err);\n            }\n        });\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/details-view/GanttDiagramTabState.ts",
    "content": "import mermaid from 'mermaid';\nimport moment from 'moment';\n\nimport { DurableOrchestrationStatus, HistoryEvent } from '../DurableOrchestrationStatus';\nimport { MermaidDiagramTabState } from './MermaidDiagramTabState';\nimport { CancelToken } from '../../CancelToken';\nimport { dfmContextInstance } from '../../DfmContext';\n\ntype LineTextAndMetadata = { nextLine: string, functionName?: string, instanceId?: string, parentInstanceId?: string, duration?: number, widthPercentage?: number };\n\n// State of Gantt Diagram tab on OrchestrationDetails view\nexport class GanttDiagramTabState extends MermaidDiagramTabState {\n\n    readonly name: string = \"Gantt Chart\";\n\n    protected buildDiagram(details: DurableOrchestrationStatus, history: HistoryEvent[], cancelToken: CancelToken): Promise<void> {\n\n        return new Promise<void>((resolve, reject) => {\n            Promise.all(this.renderOrchestration(details.instanceId, details.name, history, true)).then(arrayOfArrays => {\n\n                if (cancelToken.isCancelled) {\n\n                    resolve();\n                    return;\n                }\n\n                const lines = arrayOfArrays.flat();\n                const linesWithMetadata = lines.filter(l => !!l.functionName);\n\n                this._diagramCode = 'gantt \\n' +\n                    `title ${details.name}(${details.instanceId}) \\n` +\n                    'dateFormat YYYY-MM-DDTHH:mm:ss.SSS \\n' +\n                    lines.map(item => item.nextLine).join('');\n\n                // Very much unknown, why this line is needed. Without it sometimes the diagrams fail to re-render\n                this._diagramSvg = '';\n\n                try {\n\n                    mermaid.render('mermaidSvgId', this._diagramCode, (svg) => {\n\n                        svg = this.injectFunctionNameAttributes(svg, linesWithMetadata);\n                        svg = this.adjustIntervalsSmallerThanOneSecond(svg, linesWithMetadata);\n\n                        this._diagramSvg = svg;\n\n                        resolve();\n                    });\n                    \n                } catch (err) {\n                    reject(err);\n                }\n\n            }, reject);\n        });\n    }\n\n    // Adds data-function-name attributes to diagram lines, so that Function names can be further used by rendering\n    private injectFunctionNameAttributes(svg: string, linesWithMetadata: LineTextAndMetadata[]): string {\n        \n        return svg.replace(new RegExp(`<(rect|text) id=\"task([0-9]+)(-text)?\"`, 'gi'), (match, tagName, taskIndex) => {\n\n            const oneBasedLineIndex = parseInt(taskIndex);\n\n            if (oneBasedLineIndex <= 0 || oneBasedLineIndex > linesWithMetadata.length) {\n                return match;\n            }\n\n            const lineMetadata = linesWithMetadata[oneBasedLineIndex - 1];\n            if (!lineMetadata.functionName) {\n                return match;\n            }\n\n            return match + ` data-function-name=\"${lineMetadata.functionName}\"`;\n        });\n    }\n\n    // Workaround for mermaid being unable to render intervals shorter than 1 second\n    private adjustIntervalsSmallerThanOneSecond(svg: string, linesWithMetadata: LineTextAndMetadata[]): string {\n\n        return svg.replace(new RegExp(`<rect id=\"task([0-9]+)\" [^>]+ width=\"([0-9]+)\"`, 'gi'), (match, taskIndex, activityWidth) => {\n\n            const oneBasedLineIndex = parseInt(taskIndex);\n\n            if (oneBasedLineIndex <= 0 || oneBasedLineIndex > linesWithMetadata.length) {\n                return match;\n            }\n\n            const activityMetadata = linesWithMetadata[oneBasedLineIndex - 1];\n            if (!activityMetadata.parentInstanceId || !activityMetadata.widthPercentage || (activityMetadata.duration > 10000)) {\n                return match;\n            }\n\n            // now we need to figure out the width (in pixels) of parent orchestration line\n            const orchIndex = linesWithMetadata.findIndex(l => l.instanceId === activityMetadata.parentInstanceId);\n            if (orchIndex < 0) {\n                return match;\n            }\n\n            const orchMatch = new RegExp(`<rect id=\"task${orchIndex + 1}\" [^>]+ width=\"([0-9]+)\"`, 'i').exec(svg);\n            if (!orchMatch) {\n                return match;\n            }\n\n            const orchWidth = parseInt(orchMatch[1]);\n            const newActivityWidth = activityMetadata.widthPercentage > 1 ? orchWidth : Math.ceil(orchWidth * activityMetadata.widthPercentage);\n\n            return match.replace(`width=\"${activityWidth}\"`, `width=\"${newActivityWidth.toFixed(0)}\"`)\n        });\n    }\n\n    private renderOrchestration(orchestrationId: string, orchestrationName: string, historyEvents: HistoryEvent[], isParentOrchestration: boolean):\n        Promise<LineTextAndMetadata[]>[] {\n\n        const results: Promise<LineTextAndMetadata[]>[] = [];\n\n        const startedEvent = historyEvents.find(event => event.EventType === 'ExecutionStarted');\n        const completedEvent = historyEvents.find(event => event.EventType === 'ExecutionCompleted');\n\n        var needToAddAxisFormat = isParentOrchestration;\n        var nextLine: string;\n        var orchDuration = 0;\n\n        if (!!startedEvent && !!completedEvent) {\n\n            if (needToAddAxisFormat) {\n\n                const longerThanADay = completedEvent.DurationInMs > 86400000;\n                nextLine = longerThanADay ? 'axisFormat %Y-%m-%d %H:%M \\n' : 'axisFormat %H:%M:%S \\n';\n                results.push(Promise.resolve([{ nextLine }]));\n                needToAddAxisFormat = false;\n            }\n            \n            nextLine = isParentOrchestration ? '' : `section ${orchestrationName}(${this.escapeTitle(orchestrationId)}) \\n`;\n\n            var lineName = this.formatDuration(completedEvent.DurationInMs);\n            if (!lineName) {\n                lineName = this.formatLineName(orchestrationName);\n            }\n\n            nextLine += `${lineName}: ${isParentOrchestration ? '' : 'active,'} ${this.formatDateTime(startedEvent.Timestamp)}, ${this.formatDurationInSeconds(completedEvent.DurationInMs)} \\n`;\n            results.push(Promise.resolve([{ nextLine, functionName: orchestrationName, instanceId: orchestrationId }]));\n            \n            orchDuration = completedEvent.DurationInMs;\n        }\n\n        if (needToAddAxisFormat) {\n\n            nextLine = 'axisFormat %H:%M:%S \\n';\n            results.push(Promise.resolve([{ nextLine }]));\n        }\n\n        for (var event of historyEvents) {\n\n            var eventTimestamp = event.ScheduledTime;\n\n            // Sometimes activity timestamp might appear to be earlier than orchestration start (due to machine time difference, I assume),\n            // and that breaks the diagram\n            if (!!startedEvent && (Date.parse(eventTimestamp) < Date.parse(startedEvent.Timestamp))) {\n                eventTimestamp = startedEvent.Timestamp;\n            }\n        \n            switch (event.EventType) {\n                case 'SubOrchestrationInstanceCompleted':\n                case 'SubOrchestrationInstanceFailed':\n\n                    if (!!event.SubOrchestrationId) {\n\n                        const subOrchestrationId = event.SubOrchestrationId;\n                        const subOrchestrationName = event.Name;\n                        \n                        results.push(new Promise<LineTextAndMetadata[]>((resolve, reject) => {\n                            this._loadHistory(subOrchestrationId).then(history => {\n\n                                Promise.all(this.renderOrchestration(subOrchestrationId, subOrchestrationName, history, false)).then(sequenceLines => {\n\n                                    resolve(sequenceLines.flat());\n\n                                }, reject);\n\n                            }, err => {\n\n                                console.log(`Failed to load ${subOrchestrationName}. ${err.message}`);\n                                resolve([{ nextLine: `%% Failed to load ${this.formatLineName(subOrchestrationName)}. ${err.message} \\n` }]);\n                            });\n                        }));\n\n                        nextLine = `section ${orchestrationName}(${this.escapeTitle(orchestrationId)}) \\n`;\n                        results.push(Promise.resolve([{ nextLine }]));\n                    }\n\n                    break;\n                case 'TaskCompleted':\n\n                    nextLine = `${this.formatLineName(event.Name)} ${this.formatDuration(event.DurationInMs)}: done, ${this.formatDateTime(eventTimestamp)}, ${this.formatDurationInSeconds(event.DurationInMs)} \\n`;\n                    results.push(Promise.resolve([{\n                        nextLine,\n                        functionName: event.Name,\n                        parentInstanceId: orchestrationId,\n                        duration: event.DurationInMs,\n                        widthPercentage: orchDuration ? event.DurationInMs / orchDuration : 0\n                    }]));\n\n                    break;\n                case 'TaskFailed':\n\n                    nextLine = `${this.formatLineName(event.Name)} ${this.formatDuration(event.DurationInMs)}: crit, ${this.formatDateTime(eventTimestamp)}, ${this.formatDurationInSeconds(event.DurationInMs)} \\n`;\n                    results.push(Promise.resolve([{\n                        nextLine,\n                        functionName: event.Name,\n                        parentInstanceId: orchestrationId,\n                        duration: event.DurationInMs,\n                        widthPercentage: orchDuration ? event.DurationInMs / orchDuration : 0\n                    }]));\n\n                    break;\n                    case 'TimerFired':\n\n                        nextLine = `[TimerFired]: done, ${this.formatDateTime(event.Timestamp)}, 1s \\n`;\n                        results.push(Promise.resolve([{\n                            nextLine,\n                            functionName: orchestrationName,\n                            parentInstanceId: orchestrationId,\n                            duration: 1,\n                            widthPercentage: 0.0001\n                        }]));\n    \n                        break;\n                }\n        }\n\n        return results;\n    }\n\n    private formatDateTime(utcDateTimeString: string): string {\n\n        if (!dfmContextInstance.showTimeAsLocal) {\n            return utcDateTimeString.substr(0, 23);\n        }\n\n        return moment(utcDateTimeString).format('YYYY-MM-DDTHH:mm:ss.SSS')\n    }\n\n    private formatLineName(name: string): string {\n\n        return name.replace(/:/g, '-');\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/details-view/ICustomTabState.ts",
    "content": "import { DurableOrchestrationStatus } from '../DurableOrchestrationStatus';\nimport { CancelToken } from '../../CancelToken';\n\nexport enum CustomTabTypeEnum {\n    RawHtml = 0,\n    MermaidDiagram,\n    FunctionGraph\n}\n\n// Represents states of custom tabs\nexport interface ICustomTabState {\n\n    name: string;\n    description: string;\n    rawHtml: string;\n    tabType: CustomTabTypeEnum;\n\n    load(details: DurableOrchestrationStatus, cancelToken: CancelToken): Promise<void>;\n}\n"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/details-view/LiquidMarkupTabState.ts",
    "content": "import { observable, computed } from 'mobx';\n\nimport { IBackendClient } from '../../services/IBackendClient';\nimport { DurableOrchestrationStatus } from '../DurableOrchestrationStatus';\nimport { ICustomTabState, CustomTabTypeEnum } from './ICustomTabState';\nimport { CancelToken } from '../../CancelToken';\n\n// State of a custom liquid markup tab on OrchestrationDetails view\nexport class LiquidMarkupTabState implements ICustomTabState {\n\n    name: string = \"\";\n    readonly description = \"\";\n    readonly tabType = CustomTabTypeEnum.RawHtml;\n\n    @computed\n    get rawHtml(): string { return this._rawHtml; };\n\n    constructor(private _orchestrationId: string, private _backendClient: IBackendClient) {\n    }\n\n    load(details: DurableOrchestrationStatus, cancelToken: CancelToken): Promise<void> {\n\n        const uri = `/orchestrations('${this._orchestrationId}')/custom-tab-markup('${this.name}')`;\n        return this._backendClient.call('POST', uri).then(response => {\n\n            if (!cancelToken.isCancelled) {\n               \n                this._rawHtml = response;\n            }\n        });\n    }\n\n    @observable\n    private _rawHtml: string;\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/details-view/MermaidDiagramTabState.ts",
    "content": "import { computed } from 'mobx';\n\nimport { ICustomTabState, CustomTabTypeEnum } from './ICustomTabState';\nimport { DurableOrchestrationStatus, HistoryEvent } from '../DurableOrchestrationStatus';\nimport { MermaidDiagramStateBase } from '../MermaidDiagramStateBase';\nimport { CancelToken } from '../../CancelToken';\n\n// Base class for all mermaid diagram tab states\nexport abstract class MermaidDiagramTabState extends MermaidDiagramStateBase implements ICustomTabState {\n\n    readonly name: string = \"Diagram\";\n    readonly tabType = CustomTabTypeEnum.MermaidDiagram;\n\n    @computed\n    get description(): string { return this._diagramCode; };\n\n    @computed\n    get rawHtml(): string { return this._diagramSvg; };\n\n    constructor(protected _loadHistory: (orchestrationId: string) => Promise<HistoryEvent[]>) {\n        super();\n    }\n\n    load(details: DurableOrchestrationStatus, cancelToken: CancelToken): Promise<void> {\n        \n        // Only doing this on demand, just in case\n        this.initMermaidWhenNeeded();\n\n        return this._loadHistory(details.instanceId).then(history => {\n\n            if (!history.length || cancelToken.isCancelled) {\n                return;\n            }\n\n            return this.buildDiagram(details, history, cancelToken);\n        });\n    }\n\n    protected abstract buildDiagram(details: DurableOrchestrationStatus, history: HistoryEvent[], cancelToken: CancelToken): Promise<void>;\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/details-view/OrchestrationDetailsState.ts",
    "content": "import { observable, computed } from 'mobx';\nimport moment from 'moment';\n\nimport { DurableOrchestrationStatus, HistoryEvent } from '../DurableOrchestrationStatus';\nimport { ErrorMessageState } from '../ErrorMessageState';\nimport { IBackendClient } from '../../services/IBackendClient';\nimport { ITypedLocalStorage } from '../ITypedLocalStorage';\nimport { SequenceDiagramTabState } from './SequenceDiagramTabState';\nimport { FunctionGraphTabState } from './FunctionGraphTabState';\nimport { ICustomTabState } from './ICustomTabState';\nimport { GanttDiagramTabState } from './GanttDiagramTabState';\nimport { LiquidMarkupTabState } from './LiquidMarkupTabState';\nimport { CancelToken } from '../../CancelToken';\nimport { FunctionsMap } from '../az-func-as-a-graph/FunctionsMap';\nimport { FilterOperatorEnum, toOdataFilterQuery } from '../FilterOperatorEnum';\nimport { QueryString } from '../QueryString';\nimport { DateTimeHelpers } from '../../DateTimeHelpers';\n\n// State of OrchestrationDetails view\nexport class OrchestrationDetailsState extends ErrorMessageState {\n\n    // Tab currently selected\n    @computed\n    get tabIndex(): number { return this._tabIndex; }\n    set tabIndex(val: number) {\n\n        if (this._tabIndex === val) {\n            return;\n        }\n\n        this._tabIndex = val;\n        this._localStorage.setItem('tabIndex', val.toString());\n\n        if (!!this.selectedTab) {\n\n            this.loadCustomTab();\n\n        } else if (!this._history.length) {\n\n            this.loadHistory();\n        }\n    }\n\n    get selectedTab(): ICustomTabState {\n        return !this._tabIndex ? null : this._tabStates[this._tabIndex - 1];\n    }\n\n    @computed\n    get details(): DurableOrchestrationStatus { return this._details; }\n\n    @computed\n    get history(): HistoryEvent[] { return this._history; }\n\n    @computed\n    get historyTotalCount(): number { return this._historyTotalCount; }\n\n    @computed\n    get orchestrationId(): string { return this._orchestrationId; }\n\n    @computed\n    get loadInProgress(): boolean { return this._cancelToken.inProgress && !this._cancelToken.isCancelled; }\n\n    @computed\n    get inProgress(): boolean { return this._inProgress || this.loadInProgress; };\n\n    @computed\n    get autoRefresh(): number { return this._autoRefresh; }\n    set autoRefresh(val: number) {\n        this._autoRefresh = val;\n        this._localStorage.setItem('autoRefresh', this._autoRefresh.toString());\n        this.loadDetails();\n    }\n\n    @computed\n    get raiseEventDialogOpen(): boolean { return this._raiseEventDialogOpen; }\n    set raiseEventDialogOpen(val: boolean) {\n        this._raiseEventDialogOpen = val;\n        if (!!val) {\n            this.eventName = '';\n            this.eventData = '';\n        }\n    }\n\n    @computed\n    get setCustomStatusDialogOpen(): boolean { return this._setCustomStatusDialogOpen; }\n    set setCustomStatusDialogOpen(val: boolean) {\n        this._setCustomStatusDialogOpen = val;\n        if (!!val) {\n            this.newCustomStatus = !!this._details.customStatus ? JSON.stringify(this._details.customStatus) : '';\n        }\n    }\n\n    @computed\n    get restartDialogOpen(): boolean { return this._restartDialogOpen; }\n    set restartDialogOpen(val: boolean) {\n        this._restartDialogOpen = val;\n        if (!!val) {\n            this.restartWithNewInstanceId = true;\n        }\n    }\n\n    @computed\n    get isCustomStatusDirty(): boolean { \n\n        if (!this._details.customStatus) {\n            return !!this.newCustomStatus;\n        }\n\n        return this.newCustomStatus !== JSON.stringify(this._details.customStatus);\n    }\n\n    @computed\n    get functionNames(): { [name: string]: any } { return this._functionMap; };\n\n    @computed\n    get timeFrom(): moment.Moment { return this._timeFrom; }\n    set timeFrom(val: moment.Moment) { this._timeFrom = val; }\n\n    @computed\n    get timeFromEnabled(): boolean { return !!this._timeFrom; }\n    set timeFromEnabled(val: boolean) {\n\n        if (!!val) {\n\n            if (this._history.length > 0) {\n                \n                this._timeFrom = moment(this._history[0].Timestamp);\n\n            } else {\n\n                this._timeFrom = moment();\n            }\n\n        } else {\n\n            this._timeFrom = null;\n            this.reloadHistory();\n        }\n    }\n\n    @computed\n    get filterValue(): string { return this._filterValue; }\n    set filterValue(val: string) { this._filterValue = val; }\n\n    @computed\n    get filterOperator(): FilterOperatorEnum { return this._filterOperator; }\n    set filterOperator(val: FilterOperatorEnum) {\n        \n        this._filterOperator = val;\n\n        if (!!this._filterValue && this._filteredColumn !== '0') {\n\n            this.reloadHistory();\n        }\n    }\n\n    @computed\n    get filteredColumn(): string { return this._filteredColumn; }\n    set filteredColumn(val: string) {\n\n        this._filteredColumn = val;\n\n        if (!this._filterValue) {\n            return;\n        }\n\n        if (this._filteredColumn === '0') {\n            this._filterValue = '';\n        }\n\n        this.reloadHistory();\n    }\n\n    @observable\n    rewindConfirmationOpen: boolean = false;\n    @observable\n    terminateConfirmationOpen: boolean = false;\n    @observable\n    purgeConfirmationOpen: boolean = false;\n\n    @observable\n    eventName: string;\n    @observable\n    eventData: string;\n    @observable\n    newCustomStatus: string;\n    @observable\n    restartWithNewInstanceId: boolean = true;\n\n    @observable\n    longJsonDialogState = {};\n\n    @computed\n    get tabStates(): ICustomTabState[] { return this._tabStates; }\n\n    get backendClient(): IBackendClient { return this._backendClient; }\n\n    constructor(private _orchestrationId: string,\n        private _isFunctionGraphAvailable: boolean,\n        private _backendClient: IBackendClient,\n        private _localStorage: ITypedLocalStorage<OrchestrationDetailsState>) {\n        super();\n\n        const autoRefreshString = this._localStorage.getItem('autoRefresh');\n        if (!!autoRefreshString) {\n            this._autoRefresh = Number(autoRefreshString);\n        }\n\n        const tabIndexString = this._localStorage.getItem('tabIndex');\n        if (!!tabIndexString) {\n            this._tabIndex = Number(tabIndexString);\n        }\n\n        // Storing filter in query string only. Don't want it to stick to every instance in VsCode.\n        this.readFilterFromQueryString();\n    }\n\n    rewind() {\n        this.rewindConfirmationOpen = false;\n\n        const uri = `/orchestrations('${this._orchestrationId}')/rewind`;\n        this._inProgress = true;\n\n        this._backendClient.call('POST', uri).then(() => {\n            this._inProgress = false;\n            this.loadDetails();\n        }, err => {\n            this._inProgress = false;\n            this.showError('Failed to rewind', err);\n        });\n    }\n\n    terminate() {\n        this.terminateConfirmationOpen = false;\n\n        const uri = `/orchestrations('${this._orchestrationId}')/terminate`;\n        this._inProgress = true;\n\n        this._backendClient.call('POST', uri).then(() => {\n            this._inProgress = false;\n            this.loadDetails();\n        }, err => {\n            this._inProgress = false;\n            this.showError('Failed to terminate', err);\n        });\n    }\n\n    purge() {\n        this.purgeConfirmationOpen = false;\n\n        const uri = `/orchestrations('${this._orchestrationId}')/purge`;\n        this._inProgress = true;\n\n        this._backendClient.call('POST', uri).then(() => {\n            this._inProgress = false;\n            this._history = [];\n            this._details = new DurableOrchestrationStatus();\n            this._tabStates = [];\n        }, err => {\n            this._inProgress = false;\n            this.showError('Failed to purge', err);\n        });\n    }\n\n    restart() {\n\n        const uri = `/orchestrations('${this._orchestrationId}')/restart`;\n        const requestBody = { restartWithNewInstanceId: this.restartWithNewInstanceId };\n\n        this.restartDialogOpen = false;\n        this._inProgress = true;\n\n        this._backendClient.call('POST', uri, requestBody).then(() => {\n            this._inProgress = false;\n            this.loadDetails();\n        }, err => {\n            this._inProgress = false;\n            this.showError('Failed to restart', err);\n        });\n    }\n\n    raiseEvent() {\n\n        const uri = `/orchestrations('${this._orchestrationId}')/raise-event`;\n        const requestBody = { name: this.eventName, data: null };\n\n        try {\n            requestBody.data = JSON.parse(this.eventData);\n        } catch (err) {\n            this.showError('Failed to parse event data', err);\n            return;\n        } finally {\n            this.raiseEventDialogOpen = false;\n        }\n\n        this._inProgress = true;\n\n        this._backendClient.call('POST', uri, requestBody).then(() => {\n            this._inProgress = false;\n            this.loadDetails();\n        }, err => {\n            this._inProgress = false;\n            this.showError('Failed to raise an event', err);\n        });\n    }\n\n    setCustomStatus() {\n\n        const uri = `/orchestrations('${this._orchestrationId}')/set-custom-status`;\n        var requestBody = null;\n\n        try {\n\n            if (!!this.newCustomStatus) {\n                requestBody = JSON.parse(this.newCustomStatus);\n            }\n\n        } catch (err) {\n            this.showError('Failed to parse custom status', err);\n            return;\n        } finally {\n            this.setCustomStatusDialogOpen = false;\n        }\n\n        this._inProgress = true;\n\n        this._backendClient.call('POST', uri, requestBody).then(() => {\n            this._inProgress = false;\n            this.loadDetails();\n        }, err => {\n            this._inProgress = false;\n            this.showError('Failed to set custom status', err);\n        });\n    }\n\n    loadDetails() {\n\n        if (!!this.inProgress) { // We might end up here, if next timer occurs while a custom tab is still loading\n            // Doing auto-refresh\n            this.setAutoRefresh();\n            return;\n        }\n\n        this._inProgress = true;\n        this._noMorePagesToLoad = false;\n\n        if (!this._autoRefresh && (!this.selectedTab)) {\n            \n            this._history = [];\n            this._historyTotalCount = 0;\n        }\n\n        const functionMapPromise = !!this._isFunctionGraphAvailable ? this._backendClient.call('GET', `/function-map`) : Promise.resolve(null);\n\n        const uri = `/orchestrations('${this._orchestrationId}')`;\n        return Promise.all([this._backendClient.call('GET', uri), functionMapPromise]).then(responses => {\n        \n            this._details = responses[0];\n            const traversalResult = responses[1];\n\n            // Doing auto-refresh\n            this.setAutoRefresh();\n\n            var tabStateIndex = 0;\n\n            // Loading sequence diagram tab\n            if (this._details.entityType === \"Orchestration\") {\n               \n                if (this._tabStates.length <= tabStateIndex) {\n                    this._tabStates.push(new SequenceDiagramTabState((orchId) => this.loadAllHistory(orchId)));\n                    this._tabStates.push(new GanttDiagramTabState((orchId) => this.loadAllHistory(orchId)));\n                }\n                tabStateIndex += 2;\n            }\n\n            // Functions Graph tab\n            if (!!traversalResult) {\n\n                this._functionMap = traversalResult.functions;\n\n                const functionName = DurableOrchestrationStatus.getFunctionName(this._details);\n        \n                // Entities have their names lowered, so we need to do a case-insensitive match\n                const shownFunctionNames = Object.keys(traversalResult.functions).map(fn => fn.toLowerCase());\n                \n                // Only showing Functions Graph, if currently opened instance is shown on it\n                if (shownFunctionNames.includes(functionName.toLowerCase())) {\n                    \n                    if (this._tabStates.length <= tabStateIndex) {\n                        this._tabStates.push(new FunctionGraphTabState(this._backendClient, traversalResult, (orchId) => this.loadAllHistory(orchId)));\n                    }\n                    tabStateIndex++;\n                }\n            }\n\n            // Loading custom tabs\n            if (!!this._details.tabTemplateNames) {\n                for (var templateName of this._details.tabTemplateNames) {\n\n                    if (this._tabStates.length <= tabStateIndex) {\n                        this._tabStates.push(new LiquidMarkupTabState(this._orchestrationId, this._backendClient));\n                    }\n                    this._tabStates[tabStateIndex].name = templateName;\n                    tabStateIndex++;\n                }                \n            }\n\n            // Ensuring tab index does not go out of sync\n            if (this._tabIndex < 0 || this._tabIndex > this._tabStates.length) {\n                this._tabIndex = 0;\n            }\n\n            this._inProgress = false;\n\n            if (!this.selectedTab) {\n                \n                this.loadHistory(!!this._autoRefresh);\n\n            } else {\n\n                this.loadCustomTab();\n            }\n            \n        }, err => {\n            this._inProgress = false;\n\n            // Cancelling auto-refresh just in case\n            this._autoRefresh = 0;\n\n            this.showError('Load failed', err);\n        });\n    }\n\n    cancel() {\n        this._cancelToken.isCancelled = true;\n        this._cancelToken = new CancelToken();\n    }\n\n    reloadHistory(): void {\n\n        if (!!this.inProgress || !!this.selectedTab) {\n            return;\n        }\n\n        // If dates are invalid, reverting them to previous valid values\n        if (!!this._timeFrom && !DateTimeHelpers.isValidMoment(this._timeFrom)) {\n            this._timeFrom = this._oldTimeFrom;\n        }\n\n        // Storing filter in query string only. Don't want it to stick to every instance in VsCode.\n        this.writeFilterToQueryString();\n\n        this._noMorePagesToLoad = false;\n        this._history = [];\n        this._historyTotalCount = 0;\n\n        this.loadHistory();\n\n        this._oldFilterValue = this._filterValue;\n        this._oldTimeFrom = this._timeFrom;\n\n        // Enabling back arrow.\n        // This must be done here and not in the ctor, because onPopState events might be produced by external components and triggered immediately \n        // upon page load (when login state is not initialized yet), which would lead to errors. \n        this.registerOnPopStateHandler();\n    }\n\n    loadHistory(isAutoRefresh: boolean = false): void {\n\n        if (!!this.inProgress || !!this.selectedTab || !!this._noMorePagesToLoad) {\n            return;\n        }\n\n        const cancelToken = this._cancelToken;\n        cancelToken.inProgress = true;\n\n        var filter = toOdataFilterQuery(this._filteredColumn, this._filterOperator, this._filterValue);\n        if (!!this._timeFrom) {\n            \n            filter = `timestamp ge '${this._timeFrom.toISOString()}'` + (!!filter ? ` and ${filter}` : '')\n        }\n\n        // In auto-refresh mode only refreshing the first page\n        const skip = isAutoRefresh ? 0 : this._history.length;\n\n        var uri = `/orchestrations('${this._orchestrationId}')/history?$top=${this._pageSize}&$skip=${skip}`;\n        if (!!filter) {\n            \n            uri += '&$filter=' + filter;\n        }\n\n        this._backendClient.call('GET', uri).then(response => {\n\n            if (cancelToken.isCancelled) {\n                return;\n            }\n\n            this._historyTotalCount = response.totalCount;\n\n            if (isAutoRefresh) {\n                this._history = response.history;\n            } else {\n                this._history.push(...response.history);\n\n                if (response.history.length < this._pageSize) {\n\n                    // Stop the infinite scrolling\n                    this._noMorePagesToLoad = true;\n                }\n            }\n        }, err => {\n\n            // Cancelling auto-refresh just in case\n            this._autoRefresh = 0;\n\n            if (!cancelToken.isCancelled) {\n                this.showError('Failed to load history', err);\n            }\n\n        }).finally(() => {\n            cancelToken.inProgress = false;\n        });\n    }\n\n    gotoFunctionCode(functionName: string): void {\n\n        if (this.backendClient.isVsCode) {\n            \n            this.backendClient.call('GotoFunctionCode', functionName).then(() => {}, err => {\n                console.log(`Failed to goto function code: ${err.message}`);\n            });\n    \n        } else {\n\n            var func = this._functionMap[functionName];\n\n            if (!!func && !!func.filePath) {\n                window.open(func.filePath);\n            }\n        }\n    }\n\n    showFunctionsGraph(): void {\n\n        this.backendClient.call('VisualizeFunctionsAsAGraph', '').then(() => {}, err => {\n            console.log(`Failed to goto functions graph: ${err.message}`);\n        });\n    }\n\n    applyTimeFrom() {\n        if (DateTimeHelpers.isValidMoment(this._timeFrom) && this._oldTimeFrom !== this._timeFrom) {\n            this.reloadHistory();\n        }\n    }\n\n    applyFilterValue() {\n        if (this._oldFilterValue !== this._filterValue) {\n            this.reloadHistory();\n        }\n    }\n\n    private loadCustomTab(): void {\n\n        if (!!this.inProgress) {\n            return;\n        }\n\n        const cancelToken = this._cancelToken;\n        cancelToken.inProgress = true;\n\n        this.selectedTab.load(this._details, cancelToken).then(() => {}, err => { \n                \n            // Cancelling auto-refresh just in case\n            this._autoRefresh = 0;\n\n            if (!cancelToken.isCancelled) {\n                this.showError('Failed to load tab', err);\n            }\n\n        }).finally(() => {\n            cancelToken.inProgress = false;\n        });\n    }\n\n    private setAutoRefresh(): void {\n\n        if (!this._autoRefresh) {\n            return;\n        }\n\n        if (!!this._autoRefreshToken) {\n            clearTimeout(this._autoRefreshToken);\n        }\n        this._autoRefreshToken = setTimeout(() => this.loadDetails(), this._autoRefresh * 1000);\n    }\n\n    private loadAllHistory(orchestrationId: string): Promise<HistoryEvent[]> {\n\n        const uri = `/orchestrations('${orchestrationId}')/history`;\n        return this._backendClient.call('GET', uri).then(response => response.history);\n    }\n\n    private readFilterFromQueryString(): void {\n\n        const queryString = new QueryString();\n\n        const timeFromString = queryString.values['timeFrom'];\n        this._timeFrom = !!timeFromString ? moment(timeFromString) : null;\n        this._oldTimeFrom = this._timeFrom;\n\n        this._filteredColumn = queryString.values['filteredColumn'] ?? '0';\n\n        const filterOperatorString = queryString.values['filterOperator'];\n        this._filterOperator = !!filterOperatorString ? FilterOperatorEnum[filterOperatorString] : FilterOperatorEnum.Equals;\n\n        this._filterValue = queryString.values['filterValue'] ?? '';\n        this._oldFilterValue = this._filterValue;\n    }\n\n    private writeFilterToQueryString() {\n        \n        const queryString = new QueryString();\n\n        queryString.setValue('timeFrom', !!this._timeFrom ? this._timeFrom.toISOString() : null);\n        queryString.setValue('filteredColumn', this._filteredColumn);\n        queryString.setValue('filterOperator', FilterOperatorEnum[this._filterOperator]);\n        queryString.setValue('filterValue', this._filterValue);\n\n        queryString.apply(true);\n    }\n\n    private registerOnPopStateHandler(): void {\n\n        if (!window.onpopstate) {\n            \n            window.onpopstate = (evt: PopStateEvent) => {\n\n                this.readFilterFromQueryString();\n                // This should be loadDetails(), not reloadHistory(). Because reloadHistory() pushes the history state, which shouldn't happen here.\n                this.loadDetails();\n            }\n        }\n    }\n\n    @observable\n    private _tabStates: ICustomTabState[] = [];\n\n    @observable\n    private _details: DurableOrchestrationStatus = new DurableOrchestrationStatus();\n    @observable\n    private _history: HistoryEvent[] = [];\n    @observable\n    private _tabIndex: number = 0;\n    @observable\n    private _inProgress: boolean = false;\n    @observable\n    private _cancelToken: CancelToken = new CancelToken();\n    @observable\n    private _raiseEventDialogOpen: boolean = false;\n    @observable\n    private _setCustomStatusDialogOpen: boolean = false;\n    @observable\n    private _restartDialogOpen: boolean = false;\n    @observable\n    private _autoRefresh: number = 0;\n    @observable\n    private _historyTotalCount: number = 0;\n    @observable\n    private _functionMap: FunctionsMap = {};\n\n    @observable\n    private _timeFrom: moment.Moment;\n    @observable\n    private _filterValue: string = '';\n    @observable\n    private _filterOperator: FilterOperatorEnum = FilterOperatorEnum.Equals;\n    @observable\n    private _filteredColumn: string = '0';\n\n    private _oldTimeFrom: moment.Moment;\n    private _oldFilterValue: string = '';\n    private _autoRefreshToken: NodeJS.Timeout;\n    private _noMorePagesToLoad: boolean = false;\n    private readonly _pageSize = 200;\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/details-view/SequenceDiagramTabState.ts",
    "content": "import mermaid from 'mermaid';\nimport moment from 'moment';\n\nimport { DurableOrchestrationStatus, HistoryEvent } from '../DurableOrchestrationStatus';\nimport { MermaidDiagramTabState } from './MermaidDiagramTabState';\nimport { CancelToken } from '../../CancelToken';\nimport { dfmContextInstance } from '../../DfmContext';\n\n// State of Sequence Diagram tab on OrchestrationDetails view\nexport class SequenceDiagramTabState extends MermaidDiagramTabState {\n\n    readonly name: string = \"Sequence Diagram\";\n\n    protected buildDiagram(details: DurableOrchestrationStatus, history: HistoryEvent[], cancelToken: CancelToken) : Promise<void> {\n\n        return new Promise<void>((resolve, reject) => {\n            Promise.all(this.getSequenceForOrchestration(details.name, '.', details.runtimeStatus === 'Failed', history)).then(sequenceLines => {\n\n                if (cancelToken.isCancelled) {\n                    resolve();\n                    return;\n                }\n\n                this._diagramCode = 'sequenceDiagram \\n' + sequenceLines.join('');\n\n                try {\n\n                    // Very much unknown, why this line is needed. Without it sometimes the diagrams fail to re-render\n                    this._diagramSvg = '';\n\n                    mermaid.render('mermaidSvgId', this._diagramCode, (svg) => {\n                        this._diagramSvg = svg;\n\n                        resolve();\n                    });\n                    \n                } catch (err) {\n                    reject(err);\n                }\n\n            }, reject);\n        });\n    }\n\n    private getSequenceForOrchestration(orchestrationName: string, parentOrchestrationName: string, isFailed: boolean, historyEvents: HistoryEvent[]): Promise<string>[] {\n\n        const externalActor = '.'\n        const results: Promise<string>[] = [];\n        var nextLine: string;\n\n        var i = 0;\n        while (i < historyEvents.length) {\n            const event = historyEvents[i];\n\n            switch (event.EventType) {\n                case 'ExecutionStarted':\n\n                    nextLine =\n                        `${parentOrchestrationName}->>+${orchestrationName}:[ExecutionStarted] \\n` +\n                        `Note over ${parentOrchestrationName},${orchestrationName}: ${this.formatTimestamp(event.Timestamp)} \\n`;\n                                        \n                    results.push(Promise.resolve(nextLine));\n\n                    break;\n                case 'SubOrchestrationInstanceCompleted':\n                case 'SubOrchestrationInstanceFailed':\n\n                    const subOrchFailed = event.EventType === 'SubOrchestrationInstanceFailed';\n\n                    if (!!event.SubOrchestrationId) {\n\n                        const subOrchestrationId = event.SubOrchestrationId;\n                        const subOrchestrationName = event.Name;\n\n                        results.push(new Promise<string>((resolve, reject) => {\n                            this._loadHistory(subOrchestrationId).then(history => {\n\n                                Promise.all(this.getSequenceForOrchestration(subOrchestrationName, orchestrationName, subOrchFailed, history)).then(sequenceLines => {\n\n                                    resolve(sequenceLines.join(''));\n\n                                }, reject);\n\n                            }, err => {\n\n                                console.log(`Failed to load ${subOrchestrationName}. ${err.message}`);\n                                resolve(`${orchestrationName}-x${subOrchestrationName}:[FailedToLoad] \\n`);\n                            });\n                        }));\n\n                    } else if (!!subOrchFailed) {\n\n                        nextLine = `rect rgba(255,0,0,0.4) \\n` +\n                        `${orchestrationName}-x${event.Name}:[SubOrchestrationInstanceFailed] \\n` +\n                        'end \\n';\n\n                        results.push(Promise.resolve(nextLine));\n                        \n                    } else {\n\n                        nextLine = `${orchestrationName}->>+${event.Name}:[SubOrchestrationInstanceStarted] \\n`;\n\n                        results.push(Promise.resolve(nextLine));                        \n                    }\n\n                    break;\n                case 'TaskCompleted':\n                case 'TaskScheduled':\n\n                    // Trying to aggregate multiple parallel calls\n                    var maxDurationInMs = event.DurationInMs;\n                    var j = i + 1;\n                    for (; j < historyEvents.length &&\n                        historyEvents[j].EventType === event.EventType &&\n                        historyEvents[j].Name === event.Name &&\n                        this.getEventScheduledTime(historyEvents[j]).substr(0, 23) === this.getEventScheduledTime(event).substr(0, 23);\n                        j++) {\n\n                        if (maxDurationInMs < historyEvents[j].DurationInMs) {\n                            maxDurationInMs = historyEvents[j].DurationInMs;\n                        }\n                    }\n\n                    const lineType = event.EventType === 'TaskCompleted' ? '->>' : '-->>';\n\n                    if (j === i + 1) {\n\n                        const nextLine =\n                            `${orchestrationName}${lineType}${orchestrationName}:${event.Name} \\n` +\n                            `Note over ${orchestrationName}: ${this.formatDuration(event.DurationInMs)} \\n`;\n                        results.push(Promise.resolve(nextLine));\n                        \n                    } else {\n\n                        const nextLine =\n                            `par ${j - i} calls \\n` +\n                            `${orchestrationName}${lineType}${orchestrationName}:${event.Name} \\n` +\n                            `Note over ${orchestrationName}: ${this.formatDuration(maxDurationInMs)} \\n` +\n                            `end \\n`;\n                        results.push(Promise.resolve(nextLine));\n\n                        i = j - 1;\n                    }\n\n                    break;\n                case 'TaskFailed':\n\n                    nextLine = `rect rgba(255,0,0,0.4) \\n` +\n                        `${orchestrationName}-x${orchestrationName}:${event.Name} \\n` + \n                        'end \\n';\n                    \n                    results.push(Promise.resolve(nextLine));\n                    break;\n                case 'EventRaised':\n\n                    nextLine =\n                        `${externalActor}->>${orchestrationName}:${event.Name} \\n` +\n                        `Note over ${externalActor},${orchestrationName}: ${this.formatTimestamp(event.Timestamp)} \\n`;\n                    results.push(Promise.resolve(nextLine));\n\n                    break;\n                case 'TimerFired':\n\n                    nextLine =\n                        `${externalActor}->>${orchestrationName}:[TimerFired] \\n` +\n                        `Note over ${externalActor},${orchestrationName}: ${this.formatTimestamp(event.Timestamp)} \\n`;\n                    results.push(Promise.resolve(nextLine));\n\n                    break;\n                case 'ExecutionTerminated':\n\n                    nextLine =\n                        `${externalActor}->>${orchestrationName}:[ExecutionTerminated] \\n` +\n                        `Note over ${externalActor},${orchestrationName}: ${this.formatTimestamp(event.Timestamp)} \\n`;\n                    results.push(Promise.resolve(nextLine));\n\n                    break;\n                case 'ExecutionCompleted':\n\n                    nextLine =\n                        `${orchestrationName}-->>-${parentOrchestrationName}:[${!!isFailed ? 'ExecutionFailed' : 'ExecutionCompleted'}] \\n` +\n                        `Note over ${orchestrationName},${parentOrchestrationName}: ${this.formatDuration(event.DurationInMs)} \\n`;\n\n                    if (!!isFailed) {\n                    \n                        nextLine = `rect rgba(255,0,0,0.4) \\n` + nextLine + 'end \\n';\n                    }\n                        \n                    results.push(Promise.resolve(nextLine));\n\n                    break;\n            }\n\n            i++;\n        }\n\n        return results;\n    }\n\n    private formatTimestamp(timestamp: string): string {\n\n        if (timestamp.length <= 11) {\n            return timestamp;\n        }\n\n        if (!!dfmContextInstance.showTimeAsLocal) {\n            return moment(timestamp).format('(HH:mm:ss.SSS)')\n        }\n\n        return '(' + timestamp.substr(11, 12) + 'Z)';\n    }\n\n    private getEventScheduledTime(evt: HistoryEvent): string {\n        return !!evt.ScheduledTime ? evt.ScheduledTime : evt.Timestamp;\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/dialogs/CleanEntityStorageDialogState.ts",
    "content": "import { observable, computed } from 'mobx'\n\nimport { IBackendClient } from '../../services/IBackendClient';\nimport { ErrorMessageState } from '../ErrorMessageState';\n\n// State of Clean Entity Storage Dialog\nexport class CleanEntityStorageDialogState extends ErrorMessageState {\n\n    @computed\n    get dialogOpen(): boolean { return this._dialogOpen; };\n    set dialogOpen(isOpen: boolean) {\n        this._dialogOpen = isOpen;\n\n        if (isOpen) {\n            this._response = null;\n            this.removeEmptyEntities = true;\n            this.releaseOrphanedLocks = true;\n        }\n    }\n\n    @computed\n    get response(): CleanEntityStorageResponse | null { return this._response; };\n\n    @computed\n    get inProgress(): boolean { return this._inProgress; };\n\n    @computed\n    get isValid(): boolean {\n        return true;\n    };\n\n    @observable\n    removeEmptyEntities: boolean;\n    @observable\n    releaseOrphanedLocks: boolean;\n    \n    constructor(private _backendClient: IBackendClient) {\n        super();\n    }\n\n    clean() {\n\n        this._inProgress = true;\n\n        this._backendClient.call('POST', '/clean-entity-storage', {\n            removeEmptyEntities: this.removeEmptyEntities,\n            releaseOrphanedLocks: this.releaseOrphanedLocks\n        }).then(response => {\n            this._response = response;\n        }, err => this.showError('Clean Entity Storage failed', err))\n        .finally(() => {\n            this._inProgress = false;\n        });\n    }\n\n    @observable\n    private _dialogOpen: boolean = false;\n    \n    @observable\n    private _inProgress: boolean = false;\n\n    @observable\n    private _response: CleanEntityStorageResponse | null = null;\n}\n\nexport class CleanEntityStorageResponse\n{\n    numberOfEmptyEntitiesRemoved: number;\n    numberOfOrphanedLocksRemoved: number;\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/dialogs/ConnectionParamsDialogState.ts",
    "content": "import { observable, computed } from 'mobx'\n\nimport { IBackendClient } from '../../services/IBackendClient';\nimport { ErrorMessageState } from '../ErrorMessageState';\n\n// State of Connection Params Dialog\nexport class ConnectionParamsDialogState extends ErrorMessageState {\n\n    @observable\n    hubName: string;\n    @observable\n    connectionString: string;\n\n    @computed\n    get inProgress(): boolean { return this._inProgress; }\n\n    @computed\n    get isReadonly(): boolean { return this._isReadOnly; }\n\n    @computed\n    get isDirty(): boolean {\n        return (this.connectionString !== this._oldConnectionString) || (this.hubName !== this._oldHubName);\n    }\n\n    @computed\n    get dialogOpen(): boolean { return this._dialogOpen; };\n    set dialogOpen(value: boolean) {\n        this._dialogOpen = value;\n\n        if (!!value) {\n\n            this._inProgress = true;\n\n            this._backendClient.call('GET', '/manage-connection').then(response => {\n    \n                this.connectionString = this._oldConnectionString = response.connectionString;\n                this.hubName = this._oldHubName = response.hubName;\n                this._isReadOnly = response.isReadOnly;\n    \n            }, err => this.showError('Load failed', err))\n            .finally(() => {\n                this._inProgress = false;\n            });\n        }\n    }\n\n    constructor(private _backendClient: IBackendClient) {\n        super();\n    }\n    \n    saveConnectionParams() {\n\n        this._inProgress = true;\n\n        this._backendClient.call('PUT', '/manage-connection', {\n            connectionString: this.connectionString !== this._oldConnectionString ? this.connectionString : '',\n            hubName: this.hubName\n        }).then(() => {\n        \n            this._dialogOpen = false;\n\n            alert(`Your changes were saved to local.settings.json file, but they cannot be picked up automatically. Please, restart the Function Host for them to take effect.`);\n\n        }, err => this.showError('Save failed', err))\n        .finally(() => {\n            this._inProgress = false;\n        });\n    }\n\n    @observable\n    private _dialogOpen: boolean = false;\n\n    @observable\n    private _inProgress: boolean = false;\n\n    @observable\n    private _isReadOnly: boolean = false;\n\n    private _oldConnectionString: string;\n    private _oldHubName: string;\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/dialogs/PurgeHistoryDialogState.ts",
    "content": "import { observable, computed } from 'mobx'\nimport moment from 'moment';\n\nimport { DateTimeHelpers } from '../../DateTimeHelpers';\nimport { IBackendClient } from '../../services/IBackendClient';\nimport { RuntimeStatus, EntityType } from '../DurableOrchestrationStatus';\nimport { ErrorMessageState } from '../ErrorMessageState';\n\n// State of Purge History Dialog\nexport class PurgeHistoryDialogState extends ErrorMessageState {\n\n    @computed\n    get dialogOpen(): boolean { return this._dialogOpen; };\n    set dialogOpen(value: boolean) {\n        this._dialogOpen = value;\n\n        if (value) {\n\n            this._instancesDeleted = null;\n\n            this.timeFrom = moment().subtract(1, 'days').utc();\n            this.timeTill = moment().utc();\n\n            this._statuses = new Set<RuntimeStatus>([\"Completed\", \"Terminated\"]);\n\n            this.entityType = \"Orchestration\";\n        }\n    }\n\n    @computed\n    get instancesDeleted(): number | null { return this._instancesDeleted; };\n\n    @computed\n    get inProgress(): boolean { return this._inProgress; };\n\n    @computed\n    get isValid(): boolean {\n        return this._statuses.size > 0 && DateTimeHelpers.isValidMoment(this.timeFrom) && DateTimeHelpers.isValidMoment(this.timeTill);\n    };\n\n    constructor(private _backendClient: IBackendClient) {\n        super();\n    }\n\n    purgeHistory() {\n\n        this._inProgress = true;\n\n        this._backendClient.call('POST', '/purge-history', {\n            entityType: this.entityType,\n            timeFrom: this.timeFrom.toISOString(),\n            timeTill: this.timeTill.toISOString(),\n            statuses: Array.from(this._statuses.values())\n        }).then(response => {\n\n            this._instancesDeleted = response.instancesDeleted;\n\n        }, err => this.showError('Purge history failed', err))\n        .finally(() => {\n            this._inProgress = false;\n        });\n    }\n\n    @observable\n    timeFrom: moment.Moment;\n    @observable\n    timeTill: moment.Moment;\n\n    @observable\n    entityType: EntityType = \"Orchestration\";\n\n    getStatusIncluded(status: RuntimeStatus) {\n        return this._statuses.has(status);\n    }\n\n    setStatusIncluded(status: RuntimeStatus, included: boolean) {\n        if (included) {\n            this._statuses.add(status);\n        } else {\n            this._statuses.delete(status);\n        }\n    }\n\n    @observable\n    private _statuses: Set<RuntimeStatus> = new Set<RuntimeStatus>();\n\n    @observable\n    private _dialogOpen: boolean = false;\n    \n    @observable\n    private _inProgress: boolean = false;\n\n    @observable\n    private _instancesDeleted: number | null = null;\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/dialogs/StartNewInstanceDialogState.ts",
    "content": "import { observable, computed } from 'mobx'\n\nimport { IBackendClient } from '../../services/IBackendClient';\nimport { ErrorMessageState } from '../ErrorMessageState';\n\n// State of New Orchestration Instance Dialog\nexport class StartNewInstanceDialogState extends ErrorMessageState {\n\n    @observable\n    instanceId: string;\n    @observable\n    orchestratorFunctionName: string;\n    @observable\n    input: string;\n\n    @computed\n    get inProgress(): boolean { return this._inProgress; }\n\n    @computed\n    get dialogOpen(): boolean { return this._dialogOpen; };\n    set dialogOpen(value: boolean) {\n        this._dialogOpen = value;\n\n        this.instanceId = '';\n        this.orchestratorFunctionName = '';\n        this.input = '';\n    }\n\n    get backendClient(): IBackendClient { return this._backendClient; }\n\n    constructor(private _backendClient: IBackendClient) {\n        super();\n    }\n\n    showWithFunctionName(funcName: string) {\n        this.dialogOpen = true;\n        this.orchestratorFunctionName = funcName;\n    }\n    \n    startNewInstance() {\n\n        var inputObject = null;\n        if (!!this.input) {\n            try {\n\n                inputObject = JSON.parse(this.input);\n            \n            } catch (err) {\n    \n                this.showError('Failed to parse input', err);\n                return;\n            }\n        }\n\n        this._inProgress = true;\n\n        this._backendClient.call('POST', '/orchestrations', { id: this.instanceId, name: this.orchestratorFunctionName, data: inputObject })\n        .then(response => {\n\n            this._dialogOpen = false;\n            this._backendClient.showDetails(response.instanceId);\n\n        }, err => this.showError('Failed to start new instance', err))\n        .finally(() => {\n            this._inProgress = false;\n        });\n    }\n\n    @observable\n    private _dialogOpen: boolean = false;\n\n    @observable\n    private _inProgress: boolean = false;\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/results-view/OrchestrationsState.ts",
    "content": "import { observable, computed } from 'mobx';\nimport moment from 'moment';\n\nimport { DateTimeHelpers } from '../../DateTimeHelpers';\nimport { ErrorMessageState } from '../ErrorMessageState';\nimport { IBackendClient } from '../../services/IBackendClient';\nimport { ITypedLocalStorage } from '../ITypedLocalStorage';\nimport { CancelToken } from '../../CancelToken';\nimport { IResultsTabState, ResultsListTabState } from './ResultsListTabState';\nimport { ResultsGanttDiagramTabState } from './ResultsGanttDiagramTabState';\nimport { ResultsHistogramTabState } from './ResultsHistogramTabState';\nimport { ResultsFunctionGraphTabState } from './ResultsFunctionGraphTabState';\nimport { RuntimeStatus } from '../DurableOrchestrationStatus';\nimport { QueryString } from '../QueryString';\nimport { FilterOperatorEnum, toOdataFilterQuery } from '../FilterOperatorEnum';\n\nexport enum ResultsTabEnum {\n    List = 0,\n    Histogram,\n    Gantt,\n    FunctionGraph\n}\n\nexport enum TimeRangeEnum {\n    Custom = 0,\n    LastMinute,\n    Last10Minutes,\n    LastHour,\n    Last24Hours,\n    Last7Days,\n    Last30Days,\n    Last90Days\n}\n\nexport type RuntimeStatusOrDurableEntities = RuntimeStatus | 'DurableEntities';\n\n// State of Orchestrations view\nexport class OrchestrationsState extends ErrorMessageState {\n\n    // Tab currently selected\n    @computed\n    get tabIndex(): ResultsTabEnum { return this._tabIndex; }\n    set tabIndex(val: ResultsTabEnum) {\n\n        if (this._tabIndex === val) {\n            return;\n        }\n\n        this._tabIndex = val;\n        this._localStorage.setItem('tabIndex', val.toString());\n\n        this.reloadOrchestrations();\n    }\n\n    get selectedTabState(): IResultsTabState {\n        return this._tabStates[this._tabIndex];\n    }\n\n    @computed\n    get inProgress(): boolean { return this._cancelToken.inProgress && !this._cancelToken.isCancelled; }\n\n    @computed\n    get autoRefresh(): number { return this._autoRefresh; }\n    set autoRefresh(val: number) {\n        this._autoRefresh = val;\n        this._localStorage.setItem('autoRefresh', this._autoRefresh.toString());\n        this.loadOrchestrations(true);\n    }\n\n    @computed\n    get timeFrom(): moment.Moment {\n        return this.getTimeFrom();\n    }\n    set timeFrom(val: moment.Moment) {\n\n        this._timeFrom = val;\n        this._timeRange = TimeRangeEnum.Custom;\n    }\n\n    @computed\n    get timeTill(): moment.Moment {\n        return this.getTimeTill();\n    }\n    set timeTill(val: moment.Moment) {\n        this._timeTill = val;\n        this._timeRange = TimeRangeEnum.Custom;\n    }\n    \n    @computed\n    get timeTillEnabled(): boolean { return !!this._timeTill; }\n    set timeTillEnabled(val: boolean) {\n\n        this._timeTill = val ? moment() : null;\n\n        if (!val) {\n            this.reloadOrchestrations();\n        }\n    }\n\n    @computed\n    get timeRange(): TimeRangeEnum { return this._timeRange; }\n    set timeRange(val: TimeRangeEnum) {\n\n        this.menuAnchorElement = undefined;\n        \n        this._timeRange = val;\n\n        this.reloadOrchestrations();\n    }\n\n    @observable\n    menuAnchorElement?: Element;\n\n    @computed\n    get filterValue(): string { return this._filterValue; }\n    set filterValue(val: string) { this._filterValue = val; }\n\n    @computed\n    get filterOperator(): FilterOperatorEnum { return this._filterOperator; }\n    set filterOperator(val: FilterOperatorEnum) {\n        \n        this._filterOperator = val;\n\n        if (!!this._filterValue && this._filteredColumn !== '0') {\n\n            this.reloadOrchestrations();\n        }\n    }\n\n    @computed\n    get filteredColumn(): string { return this._filteredColumn; }\n    set filteredColumn(val: string) {\n\n        this._filteredColumn = val;\n\n        if (!this._filterValue) {\n            return;\n        }\n\n        if (this._filteredColumn === '0') {\n            this._filterValue = '';\n        }\n\n        this.reloadOrchestrations();\n    }\n\n    @computed\n    get showStatuses(): RuntimeStatusOrDurableEntities[] { return this._showStatuses; }\n    set showStatuses(val: RuntimeStatusOrDurableEntities[]) { this._showStatuses = val; }\n\n    @computed\n    get isStatusSelectOpen(): boolean { return this._isStatusSelectOpen; }\n    set isStatusSelectOpen(val)\n    {\n        this._isStatusSelectOpen = val;\n\n        if (!this._isStatusSelectOpen) {\n            this.reloadOrchestrations();\n        }\n    }\n\n    @computed\n    get showLastEventColumn(): boolean {\n        // Only showing lastEvent field when being filtered by it (because otherwise it is not populated on the server)\n        return this._filteredColumn === 'lastEvent' && (!!this._oldFilterValue);\n    }\n\n    get backendClient(): IBackendClient { return this._backendClient; }\n\n    get isFunctionGraphAvailable(): boolean { return this._isFunctionGraphAvailable; }\n\n    constructor(private _isFunctionGraphAvailable: boolean,\n        private _backendClient: IBackendClient,\n        private _localStorage: ITypedLocalStorage<OrchestrationsState & ResultsListTabState>,\n        private _startNewInstance: (funcName) => void\n    ) {\n        super();\n        \n        this._tabStates = [\n            new ResultsListTabState(this._backendClient, this._localStorage, () => this.reloadOrchestrations()),\n            new ResultsHistogramTabState(this._backendClient, this),\n            new ResultsGanttDiagramTabState(this._backendClient)\n        ];\n\n        if (!!this._isFunctionGraphAvailable) {\n            this._tabStates.push(new ResultsFunctionGraphTabState(this._backendClient, this._startNewInstance));\n        }\n\n        var momentFrom: moment.Moment;\n        const timeFromString = this._localStorage.getItem('timeFrom');\n        if (!!timeFromString) {\n            momentFrom = moment(timeFromString);\n        } else {\n            // By default setting it to 24 hours ago\n            momentFrom = moment().subtract(1, 'days');\n        }\n\n        this._timeFrom = momentFrom;\n        this._oldTimeFrom = momentFrom;\n       \n        const timeTillString = this._localStorage.getItem('timeTill');\n        if (!!timeTillString) {\n            this._timeTill = moment(timeTillString);\n            this._oldTimeTill = this._timeTill;\n        }\n\n        const timeRangeString = this._localStorage.getItem('timeRange');\n        if (!!timeRangeString) {\n\n            // timeRange and [timeFrom,timeTill] are mutually exclusive.\n            // So when the latter comes from query string, we should not pay attention to the former.\n            const queryString = new QueryString();\n            if (!queryString.values['timeFrom'] && !queryString.values['timeTill']) {   \n                this._timeRange = TimeRangeEnum[timeRangeString];\n            }\n        }\n\n        const filteredColumnString = this._localStorage.getItem('filteredColumn');\n        if (!!filteredColumnString) {\n            this._filteredColumn = filteredColumnString;\n        }\n\n        const filterOperatorString = this._localStorage.getItem('filterOperator');\n        if (!!filterOperatorString) {\n            this._filterOperator = FilterOperatorEnum[filterOperatorString];\n        }\n\n        const filterValueString = this._localStorage.getItem('filterValue');\n        if (!!filterValueString) {\n            this._filterValue = filterValueString;\n            this._oldFilterValue = filterValueString;\n        }\n\n        const showStatusesString = this._localStorage.getItem('showStatuses');\n        if (!!showStatusesString) {\n            this._showStatuses = JSON.parse(showStatusesString);\n        }\n        \n        const autoRefreshString = this._localStorage.getItem('autoRefresh');\n        if (!!autoRefreshString) {\n            this._autoRefresh = Number(autoRefreshString);\n        }\n\n        const tabIndexString = this._localStorage.getItem('tabIndex');\n        if (!!tabIndexString) {\n            const tabIndex = Number(tabIndexString);\n            if (tabIndex >= 0 && tabIndex < this._tabStates.length) {\n                this._tabIndex = tabIndex;\n            }\n        }\n    }\n\n    applyTimeFrom() {\n        if (DateTimeHelpers.isValidMoment(this._timeFrom) && this._oldTimeFrom !== this._timeFrom) {\n            this.reloadOrchestrations();\n        }\n    }\n\n    applyTimeTill() {\n        if (DateTimeHelpers.isValidMoment(this._timeTill) && this._oldTimeTill !== this._timeTill) {\n            this.reloadOrchestrations();\n        }\n    }\n\n    applyFilterValue() {\n        if (this._oldFilterValue !== this._filterValue) {\n            this.reloadOrchestrations();\n        }\n    }\n\n    reloadOrchestrations() {\n\n        // Canceling delayed refresh, if any\n        if (!!this._refreshToken) {\n            clearTimeout(this._refreshToken);\n            this._refreshToken = null;\n        }\n\n        for (const resultState of this._tabStates) {\n            resultState.reset();\n        }\n\n        // If dates are invalid, reverting them to previous valid values\n        if (!DateTimeHelpers.isValidMoment(this._timeFrom)) {\n            this._timeFrom = this._oldTimeFrom;\n        }\n        if (!!this._timeTill && !DateTimeHelpers.isValidMoment(this._timeTill)) {\n            this._timeTill = this._oldTimeTill;\n        }\n\n        // persisting state as a batch\n        this._localStorage.setItems([\n            { fieldName: 'timeFrom', value: !this._timeRange ? this._timeFrom.toISOString(): null },\n            { fieldName: 'timeTill', value: (!!this._timeTill && !this._timeRange) ? this._timeTill.toISOString() : null },\n            { fieldName: 'timeRange', value: !!this._timeRange ? TimeRangeEnum[this._timeRange] : null },\n            { fieldName: 'filteredColumn', value: this._filteredColumn },\n            { fieldName: 'filterOperator', value: FilterOperatorEnum[this._filterOperator] },\n            { fieldName: 'filterValue', value: !!this._filterValue ? this._filterValue : null },\n            { fieldName: 'showStatuses', value: !!this._showStatuses ? JSON.stringify(this._showStatuses) : null },\n        ]);\n\n        this.loadOrchestrations();\n\n        this._oldFilterValue = this._filterValue;\n        this._oldTimeFrom = this._timeFrom;\n        this._oldTimeTill = this._timeTill;\n    }\n\n    cancel() {\n        this._cancelToken.isCancelled = true;\n        this._cancelToken = new CancelToken();\n    }\n\n    loadOrchestrations(isAutoRefresh: boolean = false) {\n\n        const cancelToken = this._cancelToken;\n        if (!!cancelToken.inProgress) {\n            return;            \n        }\n        cancelToken.inProgress = true;\n        \n        let filterClause = `&$filter=createdTime ge '${this.getTimeFrom().toISOString()}' and createdTime le '${this.getTimeTill().toISOString()}'`;\n        \n        if (!!this._showStatuses) {\n\n            filterClause += ` and runtimeStatus in (${this._showStatuses.map(s => `'${s}'`).join(',')})`;\n        }\n        \n        const columnFilter = toOdataFilterQuery(this._filteredColumn, this._filterOperator, this._filterValue);\n        if (!!columnFilter) {\n            \n            filterClause += ' and ' + columnFilter;\n        }\n\n        this.selectedTabState.load(filterClause, cancelToken, isAutoRefresh).then(() => {\n\n            if (!!this._refreshToken) {\n                clearTimeout(this._refreshToken);\n            }\n\n            // Doing auto-refresh\n            if (!!this._autoRefresh) {\n\n                this._refreshToken = setTimeout(() => {\n\n                    this.loadOrchestrations(true);\n\n                }, this._autoRefresh * 1000);\n            }\n\n        }, err => {\n\n            // Cancelling auto-refresh just in case\n            this._autoRefresh = 0;\n\n            if (!cancelToken.isCancelled) {\n                this.showError('Load failed', err);\n            }\n                \n        }).finally(() => {\n            cancelToken.inProgress = false;\n        });\n    }\n\n    @observable\n    private _tabIndex: ResultsTabEnum = ResultsTabEnum.List;\n\n    @observable\n    private _cancelToken: CancelToken = new CancelToken();\n\n    @observable\n    private _autoRefresh: number = 0;\n\n    @observable\n    private _timeFrom: moment.Moment;\n    @observable\n    private _timeTill: moment.Moment;\n    @observable\n    private _timeRange: TimeRangeEnum = TimeRangeEnum.Custom;\n\n    @observable\n    private _filterValue: string = '';\n    @observable\n    private _filterOperator: FilterOperatorEnum = FilterOperatorEnum.Equals;\n    @observable\n    private _filteredColumn: string = '0';\n\n    @observable\n    private _showStatuses: RuntimeStatusOrDurableEntities[] = null;\n\n    @observable\n    private _isStatusSelectOpen: boolean = false;\n\n    private readonly _tabStates: IResultsTabState[];\n\n    private _refreshToken: NodeJS.Timeout;\n\n    private _oldFilterValue: string = '';\n\n    private _oldTimeFrom: moment.Moment;\n    private _oldTimeTill: moment.Moment;\n\n    // turned out computed properties are memoized, so need to implement this as a method (so that current timestamp is properly returned)\n    private getTimeFrom(): moment.Moment {\n        switch (this._timeRange) {\n            case TimeRangeEnum.LastMinute:\n                return moment().subtract(1, 'minutes');\n            case TimeRangeEnum.Last10Minutes:\n                return moment().subtract(10, 'minutes');\n            case TimeRangeEnum.LastHour:\n                return moment().subtract(1, 'hours');\n            case TimeRangeEnum.Last24Hours:\n                return moment().subtract(1, 'days');\n            case TimeRangeEnum.Last7Days:\n                return moment().subtract(7, 'days');\n            case TimeRangeEnum.Last30Days:\n                return moment().subtract(30, 'days');\n            case TimeRangeEnum.Last90Days:\n                return moment().subtract(90, 'days');\n            default:\n                return this._timeFrom;\n        }\n    }\n\n    // turned out computed properties are memoized, so need to implement this as a method (so that current timestamp is properly returned)\n    private getTimeTill(): moment.Moment {\n        return (!!this._timeRange || !this._timeTill) ? moment() : this._timeTill;\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/results-view/ResultsFunctionGraphTabState.ts",
    "content": "import { computed, observable } from 'mobx'\nimport mermaid from 'mermaid';\n\nimport { IBackendClient } from '../../services/IBackendClient';\nimport { DurableOrchestrationStatus } from '../DurableOrchestrationStatus';\nimport { CancelToken } from '../../CancelToken';\nimport { IResultsTabState } from './ResultsListTabState';\nimport { FunctionGraphStateBase } from '../FunctionGraphStateBase';\nimport { buildFunctionDiagramCode } from '../az-func-as-a-graph/buildFunctionDiagramCode';\n\nexport class MetricsItem {\n    completed: number = 0;\n    running: number = 0;\n    failed: number = 0;\n    other: number = 0;\n    duration: number = 0;\n}\n\nexport type MetricsMap = { [funcName: string]: MetricsItem };\n\n// Resulting list of orchestrations represented on a Functions Graph\nexport class ResultsFunctionGraphTabState extends FunctionGraphStateBase implements IResultsTabState {\n\n    @observable\n    menuAnchorElement?: Element;\n\n    @computed\n    get metrics(): MetricsMap { return this._metrics; }\n\n    @computed\n    get diagramSvg(): string { return this._diagramSvg; }\n\n    @computed\n    get diagramCode(): string { return this._diagramCode; }\n\n    @computed\n    get renderFunctions(): boolean { return this._renderFunctions; };\n    set renderFunctions(val: boolean) {\n        this._renderFunctions = val;\n        this.render();\n    };\n\n    @computed\n    get renderProxies(): boolean { return this._renderProxies; };\n    set renderProxies(val: boolean) {\n        this._renderProxies = val;\n        this.render();\n    };\n\n    readonly TotalMetricsName = 'DurableFunctionsMonitor-ResultsFunctionGraphTabState-TotalNumbers';\n\n    constructor(backendClient: IBackendClient, private _startNewInstance: (funcName) => void) {\n        super(backendClient);\n    }\n\n    showPopupMenu(anchorElement: Element, functionName: string) {\n\n        this.menuAnchorElement = anchorElement;\n        this._selectedFunctionName = functionName;\n    }\n\n    gotoOrchestrationCode() {\n        this.menuAnchorElement = undefined;\n\n        if (!!this._selectedFunctionName) {\n            this.gotoFunctionCode(this._selectedFunctionName);\n        }\n    }\n\n    startNewInstance() {\n        this.menuAnchorElement = undefined;\n        \n        if (!!this._selectedFunctionName) {\n            this._startNewInstance(this._selectedFunctionName);\n        }\n    }\n\n    reset() {\n\n        this._diagramCode = '';\n        this._diagramSvg = '';\n        this._traversalResult = null;\n        this._metrics = {};\n        this._numOfInstancesShown = 0;\n    }\n\n    load(filterClause: string, cancelToken: CancelToken, isAutoRefresh: boolean): Promise<void> {\n\n        this.initMermaidWhenNeeded();\n\n        this._numOfInstancesShown = 0;\n\n        const clonedMetrics = !isAutoRefresh ? JSON.parse(JSON.stringify(this._metrics)) : {};\n\n        return this._backendClient.call('GET', '/function-map').then(response => {\n            \n            this._traversalResult = response;\n        \n            return this.render().then(() => {\n\n                return this.loadNextBatch(filterClause, 0, clonedMetrics, isAutoRefresh, cancelToken).then(metrics => {\n\n                    // In autorefresh mode updating this observable property at the end, otherwise updating it on-the-fly\n                    this._metrics = metrics;\n                });\n            })\n        });\n    }\n\n    @observable\n    private _metrics: MetricsMap = {};\n\n    private _numOfInstancesShown: number = 0;\n    private readonly _pageSize = 1000;\n\n    private _selectedFunctionName: string;\n\n    private loadNextBatch(filterClause: string, pageNumber: number, metrics: MetricsMap, isAutoRefresh: boolean, cancelToken: CancelToken): Promise<MetricsMap> {\n\n        const uri = `/orchestrations?$top=${this._pageSize}&$skip=${this._numOfInstancesShown}${filterClause}`;\n\n        return this._backendClient.call('GET', uri).then((instances: DurableOrchestrationStatus[]) => {\n\n            if (cancelToken.isCancelled) {\n                return Promise.resolve(metrics);\n            }\n\n            // updating metrics\n            \n            if (!metrics[this.TotalMetricsName]) {\n                metrics[this.TotalMetricsName] = new MetricsItem();\n            }\n\n            for (var instance of instances) {\n\n                const funcName = DurableOrchestrationStatus.getFunctionName(instance);\n\n                if (!metrics[funcName]) {\n                    metrics[funcName] = new MetricsItem();\n                }\n\n                switch (instance.runtimeStatus) {\n                    case 'Completed':\n                        metrics[funcName].completed++;\n                        metrics[this.TotalMetricsName].completed++;\n                        break;\n                    case 'Running':\n                    case 'Pending':\n                    case 'ContinuedAsNew':\n                        metrics[funcName].running++;\n                        metrics[this.TotalMetricsName].running++;\n                        break;\n                    case 'Failed':\n                        metrics[funcName].failed++;\n                        metrics[this.TotalMetricsName].failed++;\n                        break;\n                    default:\n                        metrics[funcName].other++;\n                        metrics[this.TotalMetricsName].other++;\n                        break;\n                }\n            }\n\n            this._numOfInstancesShown += instances.length;\n\n            // Making metrics look alive, when not in autorefresh mode\n            if (!isAutoRefresh) {\n                this._metrics = metrics;\n            }\n\n            if (instances.length === this._pageSize) {\n                return this.loadNextBatch(filterClause, pageNumber + 1, metrics, isAutoRefresh, cancelToken);\n            }\n\n            return metrics;\n        });\n    }\n\n    private render(): Promise<void> {\n\n        this._diagramCode = '';\n        this._diagramSvg = '';\n\n        return new Promise<void>((resolve, reject) => {\n\n            try {\n                const diagramCode = buildFunctionDiagramCode(this._traversalResult.functions, this._traversalResult.proxies,\n                    {\n                        doNotRenderFunctions: !this._renderFunctions,\n                        doNotRenderProxies: !this._renderProxies\n                    });\n    \n                if (!diagramCode) {\n                    resolve();\n                    return;\n                }\n    \n                this._diagramCode = `graph LR\\n${diagramCode}`;\n    \n                mermaid.render('mermaidSvgId', this._diagramCode, (svg) => {\n    \n                    this._diagramSvg = this.applyIcons(svg);\n\n                    resolve();\n                });\n    \n            } catch (err) {\n                reject(err);\n            }\n        });\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/results-view/ResultsGanttDiagramTabState.ts",
    "content": "import { computed } from 'mobx'\nimport mermaid from 'mermaid';\nimport moment from 'moment';\n\nimport { DurableOrchestrationStatus } from '../DurableOrchestrationStatus';\nimport { IBackendClient } from '../../services/IBackendClient';\nimport { CancelToken } from '../../CancelToken';\nimport { IResultsTabState } from './ResultsListTabState';\nimport { MermaidDiagramStateBase } from '../MermaidDiagramStateBase';\nimport { dfmContextInstance } from '../../DfmContext';\n\n// Resulting list of orchestrations represented as a Gantt chart\nexport class ResultsGanttDiagramTabState extends MermaidDiagramStateBase implements IResultsTabState {\n\n    @computed\n    get rawHtml(): string { return this._diagramSvg; }\n\n    @computed\n    get diagramCode(): string { return this._diagramCode; }\n\n    constructor(private _backendClient: IBackendClient) {\n        super();\n    }\n\n    reset() {\n\n        this._diagramCode = '';\n        this._diagramSvg = '';\n        this._instances = [];\n    }\n\n    load(filterClause: string, cancelToken: CancelToken, isAutoRefresh: boolean): Promise<void> {\n\n        this.initMermaidWhenNeeded();\n\n        return new Promise<void>((resolve, reject) => {\n\n            const uri = `/orchestrations?$top=500&$orderby=createdTime asc${filterClause}`;\n\n            this._backendClient.call('GET', uri).then((instances: DurableOrchestrationStatus[]) => {\n\n                this._instances = instances;\n\n                if (cancelToken.isCancelled) {\n                    resolve();\n                    return;\n                }\n\n                this._diagramCode = 'gantt \\n' +\n                    `title Gantt Chart (${instances.length} instances shown) \\n` +\n                    'dateFormat YYYY-MM-DDTHH:mm:ss \\n' +\n                    this.renderDiagram(instances);\n\n                // Very much unknown, why this line is needed. Without it sometimes the diagrams fail to re-render\n                this._diagramSvg = '';\n\n                try {\n\n                    mermaid.render('mermaidSvgId', this._diagramCode, (svg) => {\n                        this._diagramSvg = svg;\n                        resolve();\n                    });\n\n                } catch (err) {\n                    reject(err);\n                }\n\n            }, reject);\n        });\n    }\n\n    // Opens the selected orchestrationId in a new tab\n    goto(oneBasedInstanceIndex: number) {\n\n        if (!!oneBasedInstanceIndex && oneBasedInstanceIndex <= this._instances.length) {\n\n            this._backendClient.showDetails(this._instances[oneBasedInstanceIndex - 1].instanceId);\n        }\n    }\n\n    private _instances: DurableOrchestrationStatus[] = [];\n\n    private renderDiagram(instances: DurableOrchestrationStatus[]): string {\n\n        var result: string = '';\n\n        var prevSectionName = '';\n        var sectionNr = 0;\n        for (const instance of instances) {\n\n            var nextLine = '';\n\n            // Grouping instances by their type\n            const sectionName = DurableOrchestrationStatus.getFunctionName(instance);\n            if (sectionName !== prevSectionName) {\n                \n                nextLine = `section ${++sectionNr}. ${this.escapeTitle(sectionName)} \\n`;\n                prevSectionName = sectionName;\n            }\n\n            const instanceId = instance.entityType === 'DurableEntity' ? instance.entityId.key : instance.instanceId;\n            const durationInMs = new Date(instance.lastUpdatedTime).getTime() - new Date(instance.createdTime).getTime();\n\n            nextLine += `${this.escapeTitle(instanceId)} ${this.formatDuration(durationInMs)}: active, ${this.formatDateTime(instance.createdTime)}, ${this.formatDurationInSeconds(durationInMs)} \\n`;\n            \n            result += nextLine;\n        }\n\n        return result;\n    }\n\n    private formatDateTime(utcDateTimeString: string): string {\n\n        if (!dfmContextInstance.showTimeAsLocal) {\n            return utcDateTimeString.substr(0, 19);\n        }\n\n        return moment(utcDateTimeString).format('YYYY-MM-DDTHH:mm:ss')\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/results-view/ResultsHistogramTabState.ts",
    "content": "import { observable, computed } from 'mobx'\nimport moment from 'moment';\n\nimport { DurableOrchestrationStatus } from '../DurableOrchestrationStatus';\nimport { IBackendClient } from '../../services/IBackendClient';\nimport { CancelToken } from '../../CancelToken';\nimport { IResultsTabState } from './ResultsListTabState';\nimport { TimeRangeEnum } from './OrchestrationsState';\n\ntype HistogramColumn = { x0: number, x: number, y: number };\ntype TimeInterval = { timeFrom: moment.Moment, timeTill: moment.Moment, timeRange: TimeRangeEnum };\n\n// Resulting list of orchestrations represented as a Gantt chart\nexport class ResultsHistogramTabState implements IResultsTabState {\n\n    @computed\n    get zoomedIn() { return this._zoomedIn; }\n\n    @computed\n    get histograms() { return this._histograms; }\n\n    @computed\n    get numOfInstancesShown() { return this._numOfInstancesShown; }\n\n    get counts() { return this._counts; }\n\n    get timeRangeInMilliseconds(): number {\n        return this._timeRangeInMilliseconds;\n    }\n\n    constructor(private _backendClient: IBackendClient,\n        private _filterState: TimeInterval & { reloadOrchestrations: () => void, cancel: () => void })\n    {\n    }\n\n    reset() {\n    }\n\n    load(filterClause: string, cancelToken: CancelToken, isAutoRefresh: boolean): Promise<void> {\n\n        if (!this._applyingZoom && !this._zoomedIn) {\n\n            this._originalTimeInterval = {\n                timeFrom: this._filterState.timeFrom,\n                timeTill: this._filterState.timeTill,\n                timeRange: this._filterState.timeRange\n            };\n        }\n\n        this._numOfInstancesShown = 0;\n        this._histograms = {};\n        this._counts = {};\n\n        const startTime = this._filterState.timeFrom.valueOf();\n        var bucketLength = Math.ceil((this._filterState.timeTill.valueOf() - startTime) / this._numOfIntervals);\n        if (bucketLength <= 0) {\n            bucketLength = 1;\n        }\n\n        // Need to remember this value, for later time axis rendering\n        this._timeRangeInMilliseconds = this._filterState.timeTill.valueOf() - this._filterState.timeFrom.valueOf();\n\n        return this.loadNextBatch(filterClause, startTime, bucketLength, 0, cancelToken);\n    }\n\n    applyZoom(left: Date, right: Date) {\n\n        this._numOfInstancesShown = 0;\n\n        this._filterState.cancel();\n        \n        // rounding to next second\n        const from = Math.floor(left.getTime() / 1000) * 1000;\n        const till = Math.ceil(right.getTime() / 1000) * 1000;\n\n        this._filterState.timeFrom = moment(from);\n        this._filterState.timeTill = moment(till);\n\n        this._applyingZoom = true;\n        try {\n            this._filterState.reloadOrchestrations();\n        } finally {\n            this._applyingZoom = false;\n        }\n\n        this._zoomedIn = true;\n    }\n\n    resetZoom() {\n\n        if (!this._zoomedIn || !this._originalTimeInterval) {\n            return;\n        }\n\n        this._zoomedIn = false;\n\n        this._filterState.cancel();\n\n        this._filterState.timeFrom = this._originalTimeInterval.timeFrom;\n        this._filterState.timeTill = this._originalTimeInterval.timeTill;\n        this._filterState.timeRange = this._originalTimeInterval.timeRange;\n    }\n\n    @observable\n    private _histograms: { [typeName: string]: HistogramColumn[]; } = {};\n\n    private _counts: { [typeName: string]: number; } = {};\n\n    @observable\n    private _numOfInstancesShown: number = 0;\n\n    @observable\n    private _zoomedIn = false;\n\n    private _originalTimeInterval: TimeInterval = null;\n    private _applyingZoom = false;\n    private _timeRangeInMilliseconds = 0;\n\n    private readonly _numOfIntervals = 200;\n    private readonly _pageSize = 1000;\n\n    private loadNextBatch(filterClause: string, startTime: number, bucketLength: number, pageNumber: number, cancelToken: CancelToken): Promise<void> {\n\n        const uri = `/orchestrations?$top=${this._pageSize}&$skip=${this._numOfInstancesShown}${filterClause}`;\n\n        return this._backendClient.call('GET', uri).then((instances: DurableOrchestrationStatus[]) => {\n\n            if (cancelToken.isCancelled) {\n                return Promise.resolve();\n            }\n\n            for (var instance of instances) {\n\n                const instanceTypeName = DurableOrchestrationStatus.getFunctionName(instance);\n\n                if (!this._histograms[instanceTypeName]) {\n                    \n                    const emptyHistogram = [];\n                    for (var i = 0; i < this._numOfIntervals; i++) {\n                        emptyHistogram[i] = { x0: startTime + i * bucketLength, x: startTime + (i + 1) * bucketLength, y: 0 };\n                    }\n                    this._histograms[instanceTypeName] = emptyHistogram;\n                }\n\n                const instanceStartPos = Math.floor((new Date(instance.createdTime).getTime() - startTime) / bucketLength);\n                if (instanceStartPos < 0 || instanceStartPos >= this._numOfIntervals) {\n                    continue;\n                }\n\n                this._histograms[instanceTypeName][instanceStartPos].y += 1;\n\n                if (!this._counts[instanceTypeName]) {\n                    this._counts[instanceTypeName] = 1;\n                } else {\n                    this._counts[instanceTypeName] += 1;\n                }\n            }\n\n            this._numOfInstancesShown += instances.length;\n\n            if (instances.length === this._pageSize) {\n                \n                return this.loadNextBatch(filterClause, startTime, bucketLength, pageNumber + 1, cancelToken);\n            }\n        });\n    }\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/states/results-view/ResultsListTabState.ts",
    "content": "import { observable, computed } from 'mobx'\n\nimport { DurableOrchestrationStatus } from '../DurableOrchestrationStatus';\nimport { IBackendClient } from '../../services/IBackendClient';\nimport { ITypedLocalStorage } from '../ITypedLocalStorage';\nimport { CancelToken } from '../../CancelToken';\n\n// Represents the state of a tab in the results pane\nexport interface IResultsTabState {\n\n    reset(): void;\n\n    load(filterClause: string, cancelToken: CancelToken, isAutoRefresh: boolean): Promise<void>;\n}\n\n// Resulting list of orchestrations represented as a plain table\nexport class ResultsListTabState implements IResultsTabState {\n\n    @observable\n    longJsonDialogState = {};\n    \n    @observable\n    columnUnderMouse: string;\n\n    @computed\n    get hiddenColumns(): string[] { return this._hiddenColumns; }\n\n    @computed\n    get orchestrations(): DurableOrchestrationStatus[] { return this._orchestrations; }\n\n    @computed\n    get orderByDirection(): ('asc' | 'desc') { return this._orderByDirection; }\n\n    @computed\n    get orderBy(): string { return this._orderBy; }\n    set orderBy(val: string) {\n\n        if (this._orderBy !== val) {\n\n            this._orderBy = val;\n            this._orderByDirection = 'asc';\n\n        } else if (this._orderByDirection === 'desc') {\n\n            this._orderBy = '';\n            this._orderByDirection = 'asc';\n            }\n        else {\n            this._orderByDirection = 'desc';\n        }\n\n        this._refresh();\n    }\n\n    get backendClient(): IBackendClient { return this._backendClient; }\n\n    constructor(private _backendClient: IBackendClient,\n        private _localStorage: ITypedLocalStorage<ResultsListTabState>, private _refresh: () => void) {\n\n        const orderByString = this._localStorage.getItem('orderBy');\n        if (!!orderByString) {\n            this._orderBy = orderByString;\n        }\n\n        const orderByDirectionString = this._localStorage.getItem('orderByDirection');\n        if (!!orderByDirectionString) {\n            this._orderByDirection = orderByDirectionString as 'asc' | 'desc';\n        }\n\n        const hiddenColumnsString = this._localStorage.getItem('hiddenColumns');\n        if (!!hiddenColumnsString) {\n            this._hiddenColumns = hiddenColumnsString.split('|');\n        }\n    }\n\n    hideColumn(name: string) {\n        this._hiddenColumns.push(name);\n        this._localStorage.setItem('hiddenColumns', this._hiddenColumns.join('|'));\n    }\n\n    unhide() {\n        this._hiddenColumns = [];\n        this._localStorage.removeItem('hiddenColumns');\n\n        this._refresh();\n    }\n\n    resetOrderBy() {\n        this._orderBy = '';\n        this._orderByDirection = 'asc';\n        this._refresh();\n    }\n\n    reset() {\n\n        this._orchestrations = [];\n        this._noMorePagesToLoad = false;\n    }\n\n    load(filterClause: string, cancelToken: CancelToken, isAutoRefresh: boolean = false): Promise<void> {\n\n        if (isAutoRefresh) { \n\n            this._noMorePagesToLoad = false;\n\n        } else {\n\n            if (!!this._noMorePagesToLoad) {\n                return Promise.resolve();\n            }\n\n            // persisting state as a batch\n            this._localStorage.setItems([\n                { fieldName: 'orderBy', value: this._orderBy },\n                { fieldName: 'orderByDirection', value: this._orderByDirection },\n            ]);            \n        }\n\n        // In auto-refresh mode only refreshing the first page\n        const skip = isAutoRefresh ? 0 : this._orchestrations.length;\n\n        const orderByClause = !!this._orderBy ? `&$orderby=${this._orderBy} ${this.orderByDirection}` : '';\n        const hiddenColumnsClause = !this._hiddenColumns.length ? '' : `&hidden-columns=${this._hiddenColumns.join('|')}`;\n\n        const uri = `/orchestrations?$top=${this._pageSize}&$skip=${skip}${filterClause}${orderByClause}${hiddenColumnsClause}`;\n\n        return this._backendClient.call('GET', uri).then(response => {\n\n            if (cancelToken.isCancelled) {\n                return;\n            }\n            \n            if (isAutoRefresh) {\n                this._orchestrations = response;\n            } else {\n                this._orchestrations.push(...response);\n            }\n\n            if (!response.length) {\n\n                // Stop the infinite scrolling\n                this._noMorePagesToLoad = true;\n            }\n        });\n    }\n\n    @observable\n    private _orchestrations: DurableOrchestrationStatus[] = [];\n    @observable\n    private _orderByDirection: ('asc' | 'desc') = 'asc';\n    @observable\n    private _orderBy: string = '';\n\n    @observable\n    private _hiddenColumns: string[] = [];\n\n    private _noMorePagesToLoad: boolean = false;\n    private readonly _pageSize = 50;\n}"
  },
  {
    "path": "durablefunctionsmonitor.react/src/theme.ts",
    "content": "import { createMuiTheme } from '@material-ui/core';\n\nimport { RuntimeStatus } from './states/DurableOrchestrationStatus';\nimport { dfmContextInstance } from './DfmContext';\n\nconst colorTheme = !process.env.REACT_APP_COLOR_THEME ? dfmContextInstance.theme : process.env.REACT_APP_COLOR_THEME;\n\nexport const Theme = createMuiTheme({\n    palette: { type: colorTheme === 'dark' ? 'dark' : 'light' }\n});\n\nexport const CustomTabStyle = Theme.palette.type === 'dark' ? {\n    backgroundColor: '#aaa'\n} : {};\n\nexport const PrimaryButtonColor = Theme.palette.type === 'dark' ? 'default' : 'primary';\n\nexport function RuntimeStatusToStyle(status: RuntimeStatus): {} {\n\n    var backgroundColor: string = null;\n\n    switch (status) {\n        case 'Failed':\n            backgroundColor = hexToRGBA(Theme.palette.error.light, 0.2);\n            break;\n        case 'Completed':\n            backgroundColor = hexToRGBA(Theme.palette.success.light, 0.2);\n            break;\n        case 'Running':\n            backgroundColor = hexToRGBA(Theme.palette.warning.light, 0.2);\n            break;\n        case 'Terminated':\n            backgroundColor = hexToRGBA(Theme.palette.background.paper, 0.1);\n            break;\n    }\n\n    return !!backgroundColor ? { backgroundColor } : {};\n}\n\nexport function hexToRGBA(hex: string, alpha: number): string {\n\n    if (hex.length > 4) {\n        return `rgba(${parseInt(hex.slice(1, 3), 16)}, ${parseInt(hex.slice(3, 5), 16)}, ${parseInt(hex.slice(5, 7), 16)}, ${alpha.toFixed(1)})`;\n    } else {\n        return `rgba(${parseInt(hex.slice(1, 2), 16)}, ${parseInt(hex.slice(2, 3), 16)}, ${parseInt(hex.slice(3, 4), 16)}, ${alpha.toFixed(1)})`;\n    }\n}\n\nexport function RuntimeStatusToBadgeStyle(status: RuntimeStatus | 'Duration'): {} {\n\n    var backgroundColor: string = null;\n\n    if (Theme.palette.type === 'dark') {\n        \n        switch (status) {\n            case 'Failed':\n                backgroundColor = 'rgb(103,73,76)';\n                break;\n            case 'Completed':\n                backgroundColor = 'rgb(74,98,80)';\n                break;\n            case 'Running':\n                backgroundColor = 'rgb(105,93,68)';\n                break;\n            case 'Terminated':\n                backgroundColor = 'rgb(66,66,66)';\n                break;\n            case 'Duration':\n                backgroundColor = 'rgb(50,50,50)';\n                break;\n        }\n    } else {\n\n        switch (status) {\n            case 'Failed':\n                backgroundColor = 'rgb(250,227,227)';\n                break;\n            case 'Completed':\n                backgroundColor = 'rgb(230,244,230)';\n                break;\n            case 'Running':\n                backgroundColor = 'rgb(255,241,219)';\n                break;\n            case 'Terminated':\n                backgroundColor = 'rgb(231,231,231)';\n                break;\n            case 'Duration':\n                backgroundColor = 'rgb(255,255,255)';\n                break;\n        }\n    }\n\n    return !!backgroundColor ? { backgroundColor } : {};\n}\n"
  },
  {
    "path": "durablefunctionsmonitor.react/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"baseUrl\": \".\",\n    \"target\": \"es5\",\n    \"lib\": [\n      \"dom\",\n      \"dom.iterable\",\n      \"esnext\"\n    ],\n    \"allowJs\": true,\n    \"skipLibCheck\": true,\n    \"esModuleInterop\": true,\n    \"allowSyntheticDefaultImports\": true,\n    \"strict\": false,\n    \"forceConsistentCasingInFileNames\": true,\n    \"module\": \"esnext\",\n    \"moduleResolution\": \"node\",\n    \"resolveJsonModule\": true,\n    \"isolatedModules\": true,\n    \"noEmit\": true,\n    \"jsx\": \"react\",\n    \"noUnusedLocals\": false,\n    \"experimentalDecorators\": true,\n    \"noFallthroughCasesInSwitch\": true\n  },\n  \"include\": [\n    \"src\"\n  ]\n}\n"
  },
  {
    "path": "durablefunctionsmonitor.react/tslint.json",
    "content": "{\n  \"extends\": [],\n  \"defaultSeverity\": \"warning\",\n  \"linterOptions\": {\n    \"exclude\": [\n      \"config/**/*.js\",\n      \"node_modules/**/*.ts\",\n      \"coverage/lcov-report/*.js\"\n    ]\n  }\n}\n"
  },
  {
    "path": "tests/durablefunctionsmonitor.dotnetbackend.tests/.gitignore",
    "content": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n\n# nuget.exe\nnuget.exe\n\n# Azure Functions localsettings file\nlocal.settings.json\n\n# User-specific files\n*.suo\n*.user\n*.userosscache\n*.sln.docstates\n\n# User-specific files (MonoDevelop/Xamarin Studio)\n*.userprefs\n\n# Build results\n[Dd]ebug/\n[Dd]ebugPublic/\n[Rr]elease/\n[Rr]eleases/\nx64/\nx86/\nbld/\n[Bb]in/\n[Oo]bj/\n[Ll]og/\n\n# Visual Studio 2015 cache/options directory\n.vs/\n# Uncomment if you have tasks that create the project's static files in wwwroot\n#wwwroot/\n\n# MSTest test Results\n[Tt]est[Rr]esult*/\n[Bb]uild[Ll]og.*\n\n# NUNIT\n*.VisualState.xml\nTestResult.xml\n\n# Build Results of an ATL Project\n[Dd]ebugPS/\n[Rr]eleasePS/\ndlldata.c\n\n# DNX\nproject.lock.json\nproject.fragment.lock.json\nartifacts/\n\n*_i.c\n*_p.c\n*_i.h\n*.ilk\n*.meta\n*.obj\n*.pch\n*.pdb\n*.pgc\n*.pgd\n*.rsp\n*.sbr\n*.tlb\n*.tli\n*.tlh\n*.tmp\n*.tmp_proj\n*.log\n*.vspscc\n*.vssscc\n.builds\n*.pidb\n*.svclog\n*.scc\n\n# Chutzpah Test files\n_Chutzpah*\n\n# Visual C++ cache files\nipch/\n*.aps\n*.ncb\n*.opendb\n*.opensdf\n*.sdf\n*.cachefile\n*.VC.db\n*.VC.VC.opendb\n\n# Visual Studio profiler\n*.psess\n*.vsp\n*.vspx\n*.sap\n\n# TFS 2012 Local Workspace\n$tf/\n\n# Guidance Automation Toolkit\n*.gpState\n\n# ReSharper is a .NET coding add-in\n_ReSharper*/\n*.[Rr]e[Ss]harper\n*.DotSettings.user\n\n# JustCode is a .NET coding add-in\n.JustCode\n\n# TeamCity is a build add-in\n_TeamCity*\n\n# DotCover is a Code Coverage Tool\n*.dotCover\n\n# NCrunch\n_NCrunch_*\n.*crunch*.local.xml\nnCrunchTemp_*\n\n# MightyMoose\n*.mm.*\nAutoTest.Net/\n\n# Web workbench (sass)\n.sass-cache/\n\n# Installshield output folder\n[Ee]xpress/\n\n# DocProject is a documentation generator add-in\nDocProject/buildhelp/\nDocProject/Help/*.HxT\nDocProject/Help/*.HxC\nDocProject/Help/*.hhc\nDocProject/Help/*.hhk\nDocProject/Help/*.hhp\nDocProject/Help/Html2\nDocProject/Help/html\n\n# Click-Once directory\npublish/\n\n# Publish Web Output\n*.[Pp]ublish.xml\n*.azurePubxml\n# TODO: Comment the next line if you want to checkin your web deploy settings\n# but database connection strings (with potential passwords) will be unencrypted\n#*.pubxml\n*.publishproj\n\n# Microsoft Azure Web App publish settings. Comment the next line if you want to\n# checkin your Azure Web App publish settings, but sensitive information contained\n# in these scripts will be unencrypted\nPublishScripts/\n\n# NuGet Packages\n*.nupkg\n# The packages folder can be ignored because of Package Restore\n**/packages/*\n# except build/, which is used as an MSBuild target.\n!**/packages/build/\n# Uncomment if necessary however generally it will be regenerated when needed\n#!**/packages/repositories.config\n# NuGet v3's project.json files produces more ignoreable files\n*.nuget.props\n*.nuget.targets\n\n# Microsoft Azure Build Output\ncsx/\n*.build.csdef\n\n# Microsoft Azure Emulator\necf/\nrcf/\n\n# Windows Store app package directories and files\nAppPackages/\nBundleArtifacts/\nPackage.StoreAssociation.xml\n_pkginfo.txt\n\n# Visual Studio cache files\n# files ending in .cache can be ignored\n*.[Cc]ache\n# but keep track of directories ending in .cache\n!*.[Cc]ache/\n\n# Others\nClientBin/\n~$*\n*~\n*.dbmdl\n*.dbproj.schemaview\n*.jfm\n*.pfx\n*.publishsettings\nnode_modules/\norleans.codegen.cs\n\n# Since there are multiple workflows, uncomment next line to ignore bower_components\n# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)\n#bower_components/\n\n# RIA/Silverlight projects\nGenerated_Code/\n\n# Backup & report files from converting an old project file\n# to a newer Visual Studio version. Backup files are not needed,\n# because we have git ;-)\n_UpgradeReport_Files/\nBackup*/\nUpgradeLog*.XML\nUpgradeLog*.htm\n\n# SQL Server files\n*.mdf\n*.ldf\n\n# Business Intelligence projects\n*.rdl.data\n*.bim.layout\n*.bim_*.settings\n\n# Microsoft Fakes\nFakesAssemblies/\n\n# GhostDoc plugin setting file\n*.GhostDoc.xml\n\n# Node.js Tools for Visual Studio\n.ntvs_analysis.dat\n\n# Visual Studio 6 build log\n*.plg\n\n# Visual Studio 6 workspace options file\n*.opt\n\n# Visual Studio LightSwitch build output\n**/*.HTMLClient/GeneratedArtifacts\n**/*.DesktopClient/GeneratedArtifacts\n**/*.DesktopClient/ModelManifest.xml\n**/*.Server/GeneratedArtifacts\n**/*.Server/ModelManifest.xml\n_Pvt_Extensions\n\n# Paket dependency manager\n.paket/paket.exe\npaket-files/\n\n# FAKE - F# Make\n.fake/\n\n# JetBrains Rider\n.idea/\n*.sln.iml\n\n# CodeRush\n.cr/\n\n# Python Tools for Visual Studio (PTVS)\n__pycache__/\n*.pyc"
  },
  {
    "path": "tests/durablefunctionsmonitor.dotnetbackend.tests/.vscode/launch.json",
    "content": "{\n    \"version\": \"0.2.0\",\n    \"configurations\": [\n        {\n            // Use IntelliSense to find out which attributes exist for C# debugging\n            // Use hover for the description of the existing attributes\n            // For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md\n            \"name\": \".NET Core Launch (console)\",\n            \"type\": \"coreclr\",\n            \"request\": \"launch\",\n            \"preLaunchTask\": \"build\",\n            // If you have changed target frameworks, make sure to update the program path.\n            \"program\": \"${workspaceFolder}/bin/Debug/netcoreapp3.1/durablefunctionsmonitor.dotnetbackend.tests.dll\",\n            \"args\": [],\n            \"cwd\": \"${workspaceFolder}\",\n            // For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console\n            \"console\": \"internalConsole\",\n            \"stopAtEntry\": false\n        },\n        {\n            \"name\": \".NET Core Attach\",\n            \"type\": \"coreclr\",\n            \"request\": \"attach\",\n            \"processId\": \"${command:pickProcess}\"\n        }\n    ]\n}"
  },
  {
    "path": "tests/durablefunctionsmonitor.dotnetbackend.tests/.vscode/tasks.json",
    "content": "{\n    \"version\": \"2.0.0\",\n    \"tasks\": [\n        {\n            \"label\": \"build\",\n            \"command\": \"dotnet\",\n            \"type\": \"process\",\n            \"args\": [\n                \"build\",\n                \"${workspaceFolder}/durablefunctionsmonitor.dotnetbackend.tests.csproj\",\n                \"/property:GenerateFullPaths=true\",\n                \"/consoleloggerparameters:NoSummary\"\n            ],\n            \"problemMatcher\": \"$msCompile\"\n        },\n        {\n            \"label\": \"publish\",\n            \"command\": \"dotnet\",\n            \"type\": \"process\",\n            \"args\": [\n                \"publish\",\n                \"${workspaceFolder}/durablefunctionsmonitor.dotnetbackend.tests.csproj\",\n                \"/property:GenerateFullPaths=true\",\n                \"/consoleloggerparameters:NoSummary\"\n            ],\n            \"problemMatcher\": \"$msCompile\"\n        },\n        {\n            \"label\": \"watch\",\n            \"command\": \"dotnet\",\n            \"type\": \"process\",\n            \"args\": [\n                \"watch\",\n                \"run\",\n                \"${workspaceFolder}/durablefunctionsmonitor.dotnetbackend.tests.csproj\",\n                \"/property:GenerateFullPaths=true\",\n                \"/consoleloggerparameters:NoSummary\"\n            ],\n            \"problemMatcher\": \"$msCompile\"\n        }\n    ]\n}"
  },
  {
    "path": "tests/durablefunctionsmonitor.dotnetbackend.tests/AboutTests.cs",
    "content": "using Microsoft.VisualStudio.TestTools.UnitTesting;\nusing Microsoft.Extensions.Logging;\nusing DurableFunctionsMonitor.DotNetBackend;\nusing System.Threading.Tasks;\nusing Moq;\nusing Microsoft.AspNetCore.Mvc;\nusing Microsoft.AspNetCore.Http;\nusing System;\nusing Newtonsoft.Json;\n\nnamespace durablefunctionsmonitor.dotnetbackend.tests\n{\n    [TestClass]\n    public class AboutTests\n    {\n        [TestMethod]\n        public async Task DfmAboutFunctionSucceeds()\n        {\n            // Arrange\n            var request = new DefaultHttpContext().Request;\n            request.Headers[\"x-dfm-nonce\"] = Shared.Nonce;\n\n            var logMoq = new Mock<ILogger>();\n\n            Environment.SetEnvironmentVariable(EnvVariableNames.DFM_NONCE, Shared.Nonce);\n            Environment.SetEnvironmentVariable(EnvVariableNames.AzureWebJobsStorage, \"blah-blah AccountName=Tino; blah-blah\");\n            Environment.SetEnvironmentVariable(EnvVariableNames.DFM_HUB_NAME, \"Hub1,Hub2,Hub3\");\n\n            // Act\n            var result = (ContentResult) await About.DfmAboutFunction(request, \"-\", \"Hub1\", logMoq.Object);\n\n            // Assert\n            dynamic resultJson = JsonConvert.DeserializeObject(result.Content);\n\n            Assert.AreEqual(\"Tino\", resultJson.accountName.ToString());\n            Assert.AreEqual(\"Hub1\", resultJson.hubName.ToString());\n        }\n    }\n}\n"
  },
  {
    "path": "tests/durablefunctionsmonitor.dotnetbackend.tests/AuthTests.cs",
    "content": "using Microsoft.VisualStudio.TestTools.UnitTesting;\nusing Microsoft.Extensions.Logging;\nusing DurableFunctionsMonitor.DotNetBackend;\nusing System.Threading.Tasks;\nusing Moq;\nusing Microsoft.AspNetCore.Mvc;\nusing Microsoft.AspNetCore.Http;\nusing System;\nusing System.Linq;\nusing System.Reflection;\nusing Microsoft.Azure.WebJobs;\nusing System.Collections.Generic;\nusing System.Security.Claims;\nusing Microsoft.Azure.WebJobs.Extensions.DurableTask;\nusing System.IdentityModel.Tokens.Jwt;\nusing Microsoft.IdentityModel.Tokens;\nusing System.Threading;\nusing System.Diagnostics;\nusing System.IO;\nusing System.Net.Http.Headers;\n\nnamespace durablefunctionsmonitor.dotnetbackend.tests\n{\n    [TestClass]\n    public class AuthTests\n    {\n        [TestInitialize]\n        public void TestInit()\n        {\n            Environment.SetEnvironmentVariable(EnvVariableNames.DFM_NONCE, string.Empty);\n        }\n\n        [TestMethod]\n        public async Task ReturnsUnauthorizedResultIfNotAuthenticated()\n        {\n            // Arrange\n            var request = new DefaultHttpContext().Request;\n\n            string xsrfToken = $\"xsrf-token-{DateTime.Now.Ticks}\";\n            request.Headers.Add(\"Cookie\", new CookieHeaderValue(Globals.XsrfTokenCookieAndHeaderName, xsrfToken).ToString());\n            request.Headers.Add(Globals.XsrfTokenCookieAndHeaderName, xsrfToken);\n\n            var durableClientMoq = new Mock<IDurableClient>();\n            var logMoq = new Mock<ILogger>();\n\n            // Getting the list of all functions to be validated\n            var functionsToBeCalled = typeof(DfmEndpoint).Assembly.DefinedTypes\n                .Where(t => t.IsClass)\n                .SelectMany(t => t.GetMethods(BindingFlags.Static | BindingFlags.Public))\n                .Where(m => m.CustomAttributes.Any(a => a.AttributeType == typeof(FunctionNameAttribute)))\n                .Select(m => m.Name)\n                .ToHashSet();\n\n            // Only these two methods should be publicly accessible as of today\n            functionsToBeCalled.Remove(nameof(ServeStatics.DfmServeStaticsFunction));\n            functionsToBeCalled.Remove(nameof(EasyAuthConfig.DfmGetEasyAuthConfigFunction));\n\n            // Collecting the list of functions that were actually called by this test\n            var functionsThatWereCalled = new HashSet<string>();\n\n            logMoq.Setup(log => log.Log(It.IsAny<LogLevel>(), It.IsAny<EventId>(), It.IsAny<It.IsAnyType>(), It.IsAny<Exception>(), It.IsAny<Func<It.IsAnyType, Exception, string>>()))\n                .Callback((LogLevel l, EventId i, object s, Exception ex, object o) =>\n                {\n                    // Ensuring the correct type of exception was raised internally\n                    Assert.IsInstanceOfType(ex, typeof(UnauthorizedAccessException));\n                    Assert.AreEqual(\"No access token provided. Call is rejected.\", ex.Message);\n\n                    // Also extracting the function name, that was called, from current stack trace\n                    foreach(var stackFrame in new StackTrace().GetFrames())\n                    {\n                        var method = stackFrame.GetMethod();\n                        if (method.CustomAttributes.Any(a => a.AttributeType == typeof(FunctionNameAttribute)) )\n                        {\n                            functionsThatWereCalled.Add(method.Name);\n                        }\n                    }\n                });\n\n            Environment.SetEnvironmentVariable(EnvVariableNames.DFM_HUB_NAME, string.Empty);\n\n            // Act\n            var results = new List<IActionResult>()\n            {\n                await About.DfmAboutFunction(request, \"-\", \"TestHub\", logMoq.Object),\n\n                await new CleanEntityStorage(null).DfmCleanEntityStorageFunction(request, durableClientMoq.Object, \"-\", \"TestHub\", logMoq.Object),\n\n                await new DeleteTaskHub(null).DfmDeleteTaskHubFunction(request, durableClientMoq.Object, \"-\", \"TestHub\", logMoq.Object),\n\n                await new IdSuggestions(null).DfmGetIdSuggestionsFunction(request, durableClientMoq.Object, \"-\", \"TestHub\", \"abc\", logMoq.Object),\n\n                await ManageConnection.DfmManageConnectionFunction(request, \"-\", \"TestHub\", new Microsoft.Azure.WebJobs.ExecutionContext(), logMoq.Object),\n\n                await new IdSuggestions(null).DfmGetIdSuggestionsFunction(request, durableClientMoq.Object, \"-\", \"TestHub\", \"abc\", logMoq.Object),\n\n                await new Orchestration(null).DfmGetOrchestrationFunction(request, durableClientMoq.Object, \"-\", \"TestHub\", \"abc\", logMoq.Object),\n\n                await new Orchestration(null).DfmGetOrchestrationHistoryFunction(request, durableClientMoq.Object, \"-\", \"TestHub\", \"abc\", logMoq.Object),\n\n                await new Orchestration(null).DfmStartNewOrchestrationFunction(request, durableClientMoq.Object, \"-\", \"TestHub\", logMoq.Object),\n\n                await new Orchestration(null).DfmPostOrchestrationFunction(request, durableClientMoq.Object, \"-\", \"TestHub\", \"abc\", \"todo\", logMoq.Object),\n\n                await new Orchestration(null).DfmGetOrchestrationTabMarkupFunction(request, durableClientMoq.Object, \"-\", \"TestHub\", \"abc\", \"todo\", logMoq.Object),\n\n                await new Orchestrations(null).DfmGetOrchestrationsFunction(request, durableClientMoq.Object, \"-\", \"TestHub\", logMoq.Object),\n\n                await new PurgeHistory(null).DfmPurgeHistoryFunction(request, durableClientMoq.Object, \"-\", \"TestHub\", logMoq.Object),\n\n                await TaskHubNames.DfmGetTaskHubNamesFunction(request, logMoq.Object),\n\n                await FunctionMap.DfmGetFunctionMap(request, \"-\", \"TestHub\", logMoq.Object),\n            };\n\n            // Assert\n            results.ForEach(r => Assert.IsInstanceOfType(r, typeof(UnauthorizedResult)));\n\n            functionsToBeCalled.ExceptWith(functionsThatWereCalled);\n            Assert.IsTrue(functionsToBeCalled.Count == 0, \"You forgot to test \" + string.Join(\", \", functionsToBeCalled));\n        }\n\n        [TestMethod]\n        public async Task ReturnsUnauthorizedResultIfTaskHubNotAllowed()\n        {\n            // Arrange\n            var request = new DefaultHttpContext().Request;\n\n            var logMoq = new Mock<ILogger>();\n\n            logMoq.Setup(log => log.Log(It.IsAny<LogLevel>(), It.IsAny<EventId>(), It.IsAny<It.IsAnyType>(), It.IsAny<Exception>(), It.IsAny<Func<It.IsAnyType, Exception, string>>()))\n                .Callback((LogLevel l, EventId i, object s, Exception ex, object o) =>\n                {\n                    // Ensuring the correct type of exception was raised internally\n                    Assert.IsInstanceOfType(ex, typeof(UnauthorizedAccessException));\n                    Assert.AreEqual(\"Task Hub 'InvalidHubName' is not allowed.\", ex.Message);\n                });\n\n            Environment.SetEnvironmentVariable(EnvVariableNames.DFM_HUB_NAME, \"Hub1,Hub2,Hub3\");\n\n            // Act\n            var result = await About.DfmAboutFunction(request, \"-\", \"InvalidHubName\", logMoq.Object);\n\n            // Assert\n            Assert.IsInstanceOfType(result, typeof(UnauthorizedResult));\n        }\n\n        [TestMethod]\n        public async Task ReturnsBadRequestResultIfTaskHubNameIsInvalid()\n        {\n            // Arrange\n            var request = new DefaultHttpContext().Request;\n\n            var logMoq = new Mock<ILogger>();\n\n            logMoq.Setup(log => log.Log(It.IsAny<LogLevel>(), It.IsAny<EventId>(), It.IsAny<It.IsAnyType>(), It.IsAny<Exception>(), It.IsAny<Func<It.IsAnyType, Exception, string>>()))\n                .Callback((LogLevel l, EventId i, object s, Exception ex, object o) =>\n                {\n                    // Ensuring the correct type of exception was raised internally\n                    Assert.IsInstanceOfType(ex, typeof(ArgumentException));\n                    Assert.AreEqual(\"Task Hub name is invalid.\", ex.Message);\n                });\n\n            // Act\n            var result = await About.DfmAboutFunction(request, \"-\", \"bad//hub\\\\name\", logMoq.Object);\n\n            // Assert\n            Assert.IsInstanceOfType(result, typeof(BadRequestObjectResult));\n        }\n\n        [TestMethod]\n        public async Task RespectsTaskHubNameFromHostJson()\n        {\n            // Arrange\n\n            var hubName = $\"HubName{DateTime.Now.Ticks}\";\n\n            var request = new DefaultHttpContext().Request;\n\n            var logMoq = new Mock<ILogger>();\n\n            logMoq.Setup(log => log.Log(It.IsAny<LogLevel>(), It.IsAny<EventId>(), It.IsAny<It.IsAnyType>(), It.IsAny<Exception>(), It.IsAny<Func<It.IsAnyType, Exception, string>>()))\n                .Callback((LogLevel l, EventId i, object s, Exception ex, object o) =>\n                {\n                    // Ensuring the correct type of exception was raised internally\n                    Assert.IsInstanceOfType(ex, typeof(UnauthorizedAccessException));\n                    Assert.AreEqual(\"XSRF token is missing.\", ex.Message);\n                });\n\n            Environment.SetEnvironmentVariable(EnvVariableNames.DFM_HUB_NAME, string.Empty);\n\n            await File.WriteAllTextAsync(\"../host.json\", $\"{{\\\"extensions\\\":{{\\\"durableTask\\\": {{\\\"hubName\\\": \\\"{hubName}\\\"}}}}}}\");\n\n            // Act\n            var result = await About.DfmAboutFunction(request, \"-\", hubName, logMoq.Object);\n\n            // Assert\n            File.Delete(\"../host.json\");\n\n            Assert.IsInstanceOfType(result, typeof(UnauthorizedResult));\n        }\n\n        [TestMethod]\n        public async Task RespectsTaskHubNameEnvVariableFromHostJson()\n        {\n            // Arrange\n\n            var hubName = $\"HubName-{DateTime.Now.Ticks}\";\n            var hubNameVariable = $\"HubNameEnvVariable{DateTime.Now.Ticks}\";\n\n            var request = new DefaultHttpContext().Request;\n            request.Headers.Add(\"Authorization\", \"Bearer blah-blah\");\n\n            string xsrfToken = $\"xsrf-token-{DateTime.Now.Ticks}\";\n            request.Headers.Add(\"Cookie\", new CookieHeaderValue(Globals.XsrfTokenCookieAndHeaderName, xsrfToken).ToString());\n            request.Headers.Add(Globals.XsrfTokenCookieAndHeaderName, xsrfToken);\n\n            var logMoq = new Mock<ILogger>();\n\n            logMoq.Setup(log => log.Log(It.IsAny<LogLevel>(), It.IsAny<EventId>(), It.IsAny<It.IsAnyType>(), It.IsAny<Exception>(), It.IsAny<Func<It.IsAnyType, Exception, string>>()))\n                .Callback((LogLevel l, EventId i, object s, Exception ex, object o) =>\n                {\n                    // Ensuring the correct type of exception was raised internally\n                    Assert.IsInstanceOfType(ex, typeof(UnauthorizedAccessException));\n                    Assert.AreEqual(\"Specify the Valid Issuer value via 'WEBSITE_AUTH_OPENID_ISSUER' config setting. Typically it looks like 'https://login.microsoftonline.com/<your-aad-tenant-id>/v2.0'.\", ex.Message);\n                });\n\n            await File.WriteAllTextAsync(\"../host.json\", $\"{{\\\"extensions\\\":{{\\\"durableTask\\\": {{\\\"hubName\\\": \\\"%{hubNameVariable}%\\\"}}}}}}\");\n            Environment.SetEnvironmentVariable(hubNameVariable, hubName);\n\n            Environment.SetEnvironmentVariable(EnvVariableNames.WEBSITE_AUTH_CLIENT_ID, $\"SomeClientId{DateTime.Now}\");\n\n            // Act\n            var result = await About.DfmAboutFunction(request, \"-\", hubName, logMoq.Object);\n\n            // Assert\n            File.Delete(\"../host.json\");\n\n            Assert.IsInstanceOfType(result, typeof(UnauthorizedResult));\n        }\n\n        [TestMethod]\n        public async Task ReturnsUnauthorizedResultIfUserNotWhitelisted()\n        {\n            // Arrange\n            var request = new DefaultHttpContext().Request;\n\n            string xsrfToken = $\"xsrf-token-{DateTime.Now.Ticks}\";\n            request.Headers.Add(\"Cookie\", new CookieHeaderValue(Globals.XsrfTokenCookieAndHeaderName, xsrfToken).ToString());\n            request.Headers.Add(Globals.XsrfTokenCookieAndHeaderName, xsrfToken);\n\n            var logMoq = new Mock<ILogger>();\n\n            string userName = \"tino@contoso.com\";\n\n            logMoq.Setup(log => log.Log(It.IsAny<LogLevel>(), It.IsAny<EventId>(), It.IsAny<It.IsAnyType>(), It.IsAny<Exception>(), It.IsAny<Func<It.IsAnyType, Exception, string>>()))\n                .Callback((LogLevel l, EventId i, object s, Exception ex, object o) =>\n                {\n                    // Ensuring the correct type of exception was raised internally\n                    Assert.IsInstanceOfType(ex, typeof(UnauthorizedAccessException));\n                    Assert.AreEqual($\"User {userName} is not mentioned in {EnvVariableNames.DFM_ALLOWED_USER_NAMES} config setting. Call is rejected\", ex.Message);\n                });\n\n            Environment.SetEnvironmentVariable(EnvVariableNames.DFM_HUB_NAME, string.Empty);\n            Environment.SetEnvironmentVariable(EnvVariableNames.DFM_ALLOWED_USER_NAMES, \"user1@contoso.com,user2@contoso.com\");\n\n            // Need to reset DfmEndpoint.Settings\n            DfmEndpoint.Setup();\n\n            request.HttpContext.User = new ClaimsPrincipal(new ClaimsIdentity[] { new ClaimsIdentity( new Claim[] {\n                new Claim(\"preferred_username\", userName)})\n            });\n\n            // Act\n            var result = await About.DfmAboutFunction(request, \"-\", \"TestHub\", logMoq.Object);\n\n            // Assert\n            Assert.IsInstanceOfType(result, typeof(UnauthorizedResult));\n        }\n\n\n        [TestMethod]\n        public async Task ReturnsUnauthorizedResultIfUserIsNotInRole()\n        {\n            // Arrange\n            var request = new DefaultHttpContext().Request;\n\n            string xsrfToken = $\"xsrf-token-{DateTime.Now.Ticks}\";\n            request.Headers.Add(\"Cookie\", new CookieHeaderValue(Globals.XsrfTokenCookieAndHeaderName, xsrfToken).ToString());\n            request.Headers.Add(Globals.XsrfTokenCookieAndHeaderName, xsrfToken);\n\n            var logMoq = new Mock<ILogger>();\n\n            string userName = \"tino@contoso.com\";\n\n            logMoq.Setup(log => log.Log(It.IsAny<LogLevel>(), It.IsAny<EventId>(), It.IsAny<It.IsAnyType>(), It.IsAny<Exception>(), It.IsAny<Func<It.IsAnyType, Exception, string>>()))\n                .Callback((LogLevel l, EventId i, object s, Exception ex, object o) =>\n                {\n                    // Ensuring the correct type of exception was raised internally\n                    Assert.IsInstanceOfType(ex, typeof(UnauthorizedAccessException));\n                    Assert.AreEqual($\"User {userName} doesn't have any of roles mentioned in {EnvVariableNames.DFM_ALLOWED_APP_ROLES} config setting. Call is rejected\", ex.Message);\n                });\n\n            Environment.SetEnvironmentVariable(EnvVariableNames.DFM_HUB_NAME, string.Empty);\n            Environment.SetEnvironmentVariable(EnvVariableNames.DFM_ALLOWED_USER_NAMES, \"\");\n            Environment.SetEnvironmentVariable(EnvVariableNames.DFM_ALLOWED_APP_ROLES, \"role1,role2\");\n\n            // Need to reset DfmEndpoint.Settings\n            DfmEndpoint.Setup();\n\n            request.HttpContext.User = new ClaimsPrincipal(new ClaimsIdentity[] { new ClaimsIdentity( new Claim[] {\n                new Claim(\"preferred_username\", userName)})\n            });\n\n            // Act\n            var result = await About.DfmAboutFunction(request, \"-\", \"TestHub\", logMoq.Object);\n\n            // Assert\n            Assert.IsInstanceOfType(result, typeof(UnauthorizedResult));\n        }\n\n        // The only way to define a callback for ValidateToken() method\n        delegate void ValidateTokenDelegate(string a, TokenValidationParameters p, out SecurityToken t);\n\n        [TestMethod]\n        public async Task ValidatesTokenWithoutEasyAuthsHelp()\n        {\n            // Arrange\n            var request = new DefaultHttpContext().Request;\n\n            string xsrfToken = $\"xsrf-token-{DateTime.Now.Ticks}\";\n            request.Headers.Add(\"Cookie\", new CookieHeaderValue(Globals.XsrfTokenCookieAndHeaderName, xsrfToken).ToString());\n            request.Headers.Add(Globals.XsrfTokenCookieAndHeaderName, xsrfToken);\n\n            var logMoq = new Mock<ILogger>();\n\n            string userName = \"tino@contoso.com\";\n            string roleName = \"my-app-role\";\n            string audience = \"my-audience\";\n            string issuer = \"my-issuer\";\n            string token = \"blah-blah\";\n\n            var principal = new ClaimsPrincipal(new ClaimsIdentity[] { new ClaimsIdentity( new Claim[] {\n                new Claim(\"preferred_username\", userName),\n                new Claim(\"roles\", roleName)\n            })});\n\n            ICollection<SecurityKey> securityKeys = new SecurityKey[0];\n\n            ValidateTokenDelegate validateTokenDelegate = (string t, TokenValidationParameters p, out SecurityToken st) =>\n            {\n                st = null;\n\n                Assert.AreEqual(token, t);\n                Assert.AreEqual(audience, p.ValidAudiences.Single());\n                Assert.AreEqual(issuer, p.ValidIssuers.Single());\n                Assert.AreEqual(securityKeys, p.IssuerSigningKeys);\n            };\n\n            SecurityToken st = null;\n            var jwtHandlerMoq = new Mock<JwtSecurityTokenHandler>();\n            jwtHandlerMoq.Setup(h => h.ValidateToken(It.IsAny<string>(), It.IsAny<TokenValidationParameters>(), out st))\n                .Callback(validateTokenDelegate)\n                .Returns(principal);\n\n            Auth.MockedJwtSecurityTokenHandler = jwtHandlerMoq.Object;\n            Auth.GetSigningKeysTask = Task.FromResult(securityKeys);\n\n            Environment.SetEnvironmentVariable(EnvVariableNames.DFM_HUB_NAME, string.Empty);\n            Environment.SetEnvironmentVariable(EnvVariableNames.WEBSITE_AUTH_CLIENT_ID, audience);\n            Environment.SetEnvironmentVariable(EnvVariableNames.WEBSITE_AUTH_OPENID_ISSUER, issuer);\n\n            Environment.SetEnvironmentVariable(EnvVariableNames.DFM_ALLOWED_USER_NAMES, \"user1@contoso.com,user2@contoso.com,\" + userName);\n            Environment.SetEnvironmentVariable(EnvVariableNames.DFM_ALLOWED_APP_ROLES, roleName);\n            Environment.SetEnvironmentVariable(EnvVariableNames.AzureWebJobsStorage, token);\n\n            // Need to reset DfmEndpoint.Settings\n            DfmEndpoint.Setup();\n\n            request.Headers.Add(\"Authorization\", \"Bearer \" + token);\n\n            // Act\n            var result = await About.DfmAboutFunction(request, \"-\", \"TestHub\", logMoq.Object);\n\n            // Assert\n            Assert.IsInstanceOfType(result, typeof(ContentResult));\n        }\n\n        [TestMethod]\n        public async Task LoadsListOfTablesFromTableStorage()\n        {\n            // Arrange\n            var request = new DefaultHttpContext().Request;\n\n            string xsrfToken = $\"xsrf-token-{DateTime.Now.Ticks}\";\n            request.Headers.Add(\"Cookie\", new CookieHeaderValue(Globals.XsrfTokenCookieAndHeaderName, xsrfToken).ToString());\n            request.Headers.Add(Globals.XsrfTokenCookieAndHeaderName, xsrfToken);\n\n            var logMoq = new Mock<ILogger>();\n\n            bool tableClientInitialized = false;\n            string hubName = \"InvalidHubName\";\n\n            logMoq.Setup(log => log.Log(It.IsAny<LogLevel>(), It.IsAny<EventId>(), It.IsAny<It.IsAnyType>(), It.IsAny<Exception>(), It.IsAny<Func<It.IsAnyType, Exception, string>>()))\n                .Callback((LogLevel l, EventId i, object s, Exception ex, object o) =>\n                {\n                    // Ensuring the correct type of exception was raised internally\n                    Assert.IsInstanceOfType(ex, typeof(UnauthorizedAccessException));\n\n                    // If TableClient throws, task hub validation should be skipped, and we should get 'No access token provided'.\n                    // Next time, when MockedTableClient is set, we should get 'Task Hub is not allowed'.\n                    // This also validates that queries against table storage are properly retried.\n                    Assert.AreEqual(\n                        tableClientInitialized ? \n                        $\"Task Hub '{hubName}' is not allowed.\" :\n                        \"No access token provided. Call is rejected.\", \n                        ex.Message);\n                });\n\n            Environment.SetEnvironmentVariable(EnvVariableNames.DFM_HUB_NAME, string.Empty);\n\n            var tableClientMoq = new Mock<ITableClient>();\n\n            tableClientMoq.Setup(c => c.ListTableNamesAsync())\n                .Returns(Task.FromResult<IEnumerable<string>>(new string[] { \n                    \"Hub1Instances\",\"Hub1History\",\n                    \"Hub2Instances\",\"Hub2History\" \n                }));\n\n            // Act\n            var result = await About.DfmAboutFunction(request, \"-\", hubName, logMoq.Object);\n\n            TableClient.MockedTableClient = tableClientMoq.Object;\n            tableClientInitialized = true;\n\n            result = await About.DfmAboutFunction(request, \"-\", hubName, logMoq.Object);\n            result = await About.DfmAboutFunction(request, \"-\", hubName, logMoq.Object);\n\n            // Assert\n            Assert.IsInstanceOfType(result, typeof(UnauthorizedResult));\n        }\n\n        [TestMethod]\n        public async Task LoadsListOfTablesFromAlternativeStorage()\n        {\n            // Arrange\n            var request = new DefaultHttpContext().Request;\n\n            string xsrfToken = $\"xsrf-token-{DateTime.Now.Ticks}\";\n            request.Headers.Add(Globals.XsrfTokenCookieAndHeaderName, xsrfToken);\n\n            var logMoq = new Mock<ILogger>();\n\n            string connName = \"MyConnStringName\";\n            string hubName = \"Hub2\";\n\n            Auth.AlternativeConnectionStringNames = new[] { connName };\n\n            logMoq.Setup(log => log.Log(It.IsAny<LogLevel>(), It.IsAny<EventId>(), It.IsAny<It.IsAnyType>(), It.IsAny<Exception>(), It.IsAny<Func<It.IsAnyType, Exception, string>>()))\n                .Callback((LogLevel l, EventId i, object s, Exception ex, object o) =>\n                {\n                    // Ensuring the correct type of exception was raised internally\n                    Assert.IsInstanceOfType(ex, typeof(UnauthorizedAccessException));\n                    Assert.AreEqual(\"XSRF tokens do not match.\", ex.Message);\n                });\n\n            Environment.SetEnvironmentVariable(EnvVariableNames.DFM_HUB_NAME, string.Empty);\n\n            var tableClientMoq = new Mock<ITableClient>();\n\n            tableClientMoq.Setup(c => c.ListTableNamesAsync())\n                .Returns(Task.FromResult<IEnumerable<string>>(new string[] { \n                    \"Hub1Instances\",\"Hub1History\",\n                    \"Hub2Instances\",\"Hub2History\" \n                }));\n\n            TableClient.MockedTableClient = tableClientMoq.Object;\n\n            // Act\n\n            var result = await About.DfmAboutFunction(request, connName, hubName, logMoq.Object);\n\n            // Assert\n            Assert.IsInstanceOfType(result, typeof(UnauthorizedResult));\n        }\n\n        [TestMethod]\n        public void RetriesGettingSigningKeys()\n        {\n            // Arrange\n            var initialFailedTask = Task.FromException<ICollection<SecurityKey>>(new Exception(\"Something failed\"));\n            Auth.GetSigningKeysTask = initialFailedTask;\n\n            // Act\n            var resultTask = Auth.InitGetSigningKeysTask(1, 1);\n            Thread.Sleep(100);\n\n            // Assert\n            Assert.AreNotEqual(initialFailedTask, resultTask);\n            Assert.AreNotEqual(initialFailedTask, Auth.GetSigningKeysTask);\n        }\n\n        [TestMethod]\n        public void RetriesGettingSigningKeysNoMoreThan2Times()\n        {\n            // Arrange\n            var initialFailedTask = Task.FromException<ICollection<SecurityKey>>(new Exception(\"Something failed\"));\n            Auth.GetSigningKeysTask = initialFailedTask;\n\n            // Act\n            var resultTask = Auth.InitGetSigningKeysTask(1, 2);\n            Thread.Sleep(100);\n\n            // Assert\n            Assert.AreNotEqual(initialFailedTask, resultTask);\n            Assert.AreEqual(initialFailedTask, Auth.GetSigningKeysTask);\n        }\n\n        [TestMethod]\n        public void CachesSigningKeysAndAutomaticallyRefreshesTheCache()\n        {\n            // Arrange\n\n            // Just using a shared metadata endpoint, to make the first task succeed\n            Environment.SetEnvironmentVariable(EnvVariableNames.WEBSITE_AUTH_OPENID_ISSUER, \"https://login.microsoftonline.com/common\");\n\n            // Initializing the key retrieval task so, that it resets itself in 1 second\n            var initialTask = Auth.InitGetSigningKeysTask(1);\n            Auth.GetSigningKeysTask = initialTask;\n\n            // Resetting the issuer to an invalid value, to make second task fail\n            Environment.SetEnvironmentVariable(EnvVariableNames.WEBSITE_AUTH_OPENID_ISSUER, \"invalid-issuer\");\n\n            // Act\n            Thread.Sleep(2000);\n            var finalTask = Auth.GetSigningKeysTask;\n\n            // Assert\n            Assert.AreNotEqual(initialTask, finalTask);\n            Assert.IsTrue(initialTask.IsCompletedSuccessfully);\n            Assert.IsTrue(finalTask.IsFaulted);\n        }\n\n        [TestMethod]\n        public void ExtractsAlternativeConnectionStringNamesFromEnvironmentVariables()\n        {\n            // Arrange\n\n            Environment.SetEnvironmentVariable(EnvVariableNames.DFM_ALTERNATIVE_CONNECTION_STRING_PREFIX + \"one\", \"123\");\n            Environment.SetEnvironmentVariable(EnvVariableNames.DFM_ALTERNATIVE_CONNECTION_STRING_PREFIX + \"two\", \"456\");\n            Environment.SetEnvironmentVariable(\"NOT_\" + EnvVariableNames.DFM_ALTERNATIVE_CONNECTION_STRING_PREFIX + \"one\", \"789\");\n\n            // Act\n\n            var connStringNames = Auth.GetAlternativeConnectionStringNames().ToArray();\n\n            // Assert\n            Assert.AreEqual(2, connStringNames.Length);\n            Assert.IsTrue(connStringNames.Contains(\"one\"));\n            Assert.IsTrue(connStringNames.Contains(\"two\"));\n        }\n    }\n}\n"
  },
  {
    "path": "tests/durablefunctionsmonitor.dotnetbackend.tests/EasyAuthConfigTests.cs",
    "content": "using Microsoft.VisualStudio.TestTools.UnitTesting;\nusing Microsoft.Extensions.Logging;\nusing DurableFunctionsMonitor.DotNetBackend;\nusing System.Threading.Tasks;\nusing Moq;\nusing Microsoft.AspNetCore.Mvc;\nusing Microsoft.AspNetCore.Http;\nusing System;\n\nnamespace durablefunctionsmonitor.dotnetbackend.tests\n{\n    [TestClass]\n    public class EasyAuthConfigTests\n    {\n        [TestMethod]\n        public async Task ReturnsUnauthorizedResultIfNonceIsInvalid()\n        {\n            // Arrange\n            var request = new DefaultHttpContext().Request;\n\n            var logMoq = new Mock<ILogger>();\n\n            Environment.SetEnvironmentVariable(EnvVariableNames.DFM_NONCE, $\"my-nonce-{DateTime.Now}\");\n\n            // Act\n            var result = await EasyAuthConfig.DfmGetEasyAuthConfigFunction(request, logMoq.Object);\n\n            // Assert\n            Assert.IsInstanceOfType(result, typeof(UnauthorizedResult));\n        }\n    }\n}\n"
  },
  {
    "path": "tests/durablefunctionsmonitor.dotnetbackend.tests/FilterClauseTests.cs",
    "content": "using Microsoft.VisualStudio.TestTools.UnitTesting;\nusing DurableFunctionsMonitor.DotNetBackend;\nusing System;\nusing System.Linq;\n\nnamespace durablefunctionsmonitor.dotnetbackend.tests\n{\n    [TestClass]\n    public class FilterClauseTests\n    {\n        [TestMethod]\n        public void HandlesEmptyFilter()\n        {\n            // Act\n            var result = new FilterClause(null);\n\n            // Assert\n            Assert.IsNull(result.TimeFrom);\n            Assert.IsNull(result.TimeTill);\n            Assert.IsNull(result.RuntimeStatuses);\n            Assert.IsNull(result.FieldName);\n            Assert.IsNull(result.Predicate);\n        }\n\n        [TestMethod]\n        public void HandlesFullFilter()\n        {\n            // Arrange\n            string filter = $\" createdTime  ge '2018-06-16T15:56:07.000Z' and instanceId ne 'abcd'  and    createdTime le   '2021-11-03T01:02:03.000Z' and runtimeStatus in('Failed')\";\n\n            // Act\n            var result = new FilterClause(filter);\n\n            // Assert\n            Assert.AreEqual(result.TimeFrom.Value.ToUniversalTime(), new DateTime(2018, 6, 16, 15, 56, 07, DateTimeKind.Utc));\n            Assert.AreEqual(result.TimeTill.Value.ToUniversalTime(), new DateTime(2021, 11, 3, 1, 2, 3, DateTimeKind.Utc));\n            Assert.AreEqual(result.FieldName, \"instanceId\");\n            Assert.IsFalse(result.Predicate(\"abcd\"));\n            Assert.AreEqual(result.RuntimeStatuses.Length, 1);\n            Assert.IsTrue(result.RuntimeStatuses.Contains(\"Failed\"));\n        }\n\n        [TestMethod]\n        public void HandlesPartialFilter()\n        {\n            // Arrange\n            string filter = $\"runtimeStatus in ( 'Failed'   ,  'Pending'   ) and createdTime le '2021-11-03T01:02:03.000Z'  \";\n\n            // Act\n            var result = new FilterClause(filter);\n\n            // Assert\n            Assert.IsNull(result.TimeFrom);\n            Assert.AreEqual(result.TimeTill.Value.ToUniversalTime(), new DateTime(2021, 11, 3, 1, 2, 3, DateTimeKind.Utc));\n            Assert.IsNull(result.FieldName);\n            Assert.IsNull(result.Predicate);\n            Assert.AreEqual(result.RuntimeStatuses.Length, 2);\n            Assert.IsTrue(result.RuntimeStatuses.Contains(\"Failed\"));\n            Assert.IsTrue(result.RuntimeStatuses.Contains(\"Pending\"));\n        }\n\n        [TestMethod]\n        public void HandlesContains()\n        {\n            // Act\n            var result = new FilterClause(\" contains  ( input,   'abcd'   )    \");\n\n            // Assert\n            Assert.AreEqual(result.FieldName, \"input\");\n            Assert.IsTrue(result.Predicate(\"12abcd 34\"));\n            Assert.IsFalse(result.Predicate(\"1234\"));\n        }\n\n        [TestMethod]\n        public void HandlesNotContains()\n        {\n            // Act\n            var result = new FilterClause(\"contains(input,'abcd') eq false\");\n\n            // Assert\n            Assert.AreEqual(result.FieldName, \"input\");\n            Assert.IsTrue(result.Predicate(\"12345\"));\n            Assert.IsFalse(result.Predicate(\"123abcd45\"));\n        }\n\n        [TestMethod]\n        public void HandlesStartsWith()\n        {\n            // Act\n            var result = new FilterClause(\"startsWith(input, 'abcd')\");\n\n            // Assert\n            Assert.AreEqual(result.FieldName, \"input\");\n            Assert.IsTrue(result.Predicate(\"abcdef\"));\n            Assert.IsFalse(result.Predicate(\"fedcba\"));\n        }\n\n        [TestMethod]\n        public void HandlesNotStartsWith()\n        {\n            // Act\n            var result = new FilterClause(\"startsWith(input, 'abcd') eq false\");\n\n            // Assert\n            Assert.AreEqual(result.FieldName, \"input\");\n            Assert.IsTrue(result.Predicate(\"234567\"));\n            Assert.IsFalse(result.Predicate(\"abcd\"));\n        }\n\n        [TestMethod]\n        public void HandlesEq()\n        {\n            // Act\n            var result = new FilterClause(\"  input   eq 'abcd'\");\n\n            // Assert\n            Assert.AreEqual(result.FieldName, \"input\");\n            Assert.IsTrue(result.Predicate(\"abcd\"));\n            Assert.IsFalse(result.Predicate(\"1234\"));\n        }\n\n        [TestMethod]\n        public void HandlesNe()\n        {\n            // Act\n            var result = new FilterClause(\"input ne 'abcd'\");\n\n            // Assert\n            Assert.AreEqual(result.FieldName, \"input\");\n            Assert.IsTrue(result.Predicate(\"dcba\"));\n            Assert.IsFalse(result.Predicate(\"abcd\"));\n        }\n\n        [TestMethod]\n        public void HandlesInWithQuotes()\n        {\n            // Act\n            var result = new FilterClause(\"input in (')', 'a)bc', ',', '12,3', '(', '')\");\n\n            // Assert\n            Assert.AreEqual(result.FieldName, \"input\");\n            Assert.IsTrue(result.Predicate(\")\"));\n            Assert.IsTrue(result.Predicate(\"a)bc\"));\n            Assert.IsTrue(result.Predicate(\",\"));\n            Assert.IsTrue(result.Predicate(\"12,3\"));\n            Assert.IsTrue(result.Predicate(\"(\"));\n            Assert.IsTrue(result.Predicate(\"\"));\n            Assert.IsFalse(result.Predicate(\"54321\"));\n        }\n\n        [TestMethod]\n        public void HandlesInWithoutQuotes()\n        {\n            // Act\n            var result = new FilterClause(\"input in (1,2.3,45)\");\n\n            // Assert\n            Assert.AreEqual(result.FieldName, \"input\");\n            Assert.IsTrue(result.Predicate(1.ToString()));\n            Assert.IsTrue(result.Predicate(2.3.ToString()));\n            Assert.IsTrue(result.Predicate(45.ToString()));\n            Assert.IsFalse(result.Predicate(\"54321\"));\n        }\n\n        [TestMethod]\n        public void HandlesNotIn()\n        {\n            // Act\n            var result = new FilterClause(\"input in ( 1 , 2  )  eq   false\");\n\n            // Assert\n            Assert.AreEqual(result.FieldName, \"input\");\n            Assert.IsTrue(result.Predicate(3.ToString()));\n            Assert.IsFalse(result.Predicate(1.ToString()));\n            Assert.IsFalse(result.Predicate(2.ToString()));\n        }\n    }\n}"
  },
  {
    "path": "tests/durablefunctionsmonitor.dotnetbackend.tests/GlobalsTests.cs",
    "content": "using Microsoft.VisualStudio.TestTools.UnitTesting;\nusing Microsoft.Extensions.Logging;\nusing DurableFunctionsMonitor.DotNetBackend;\nusing System.Threading.Tasks;\nusing Moq;\nusing Microsoft.AspNetCore.Mvc;\nusing Microsoft.AspNetCore.Http;\nusing System;\nusing System.Net.Http.Headers;\n\nnamespace durablefunctionsmonitor.dotnetbackend.tests\n{\n    [TestClass]\n    public class GlobalsTest\n    {\n        [TestInitialize]\n        public void TestInit()\n        {\n            Environment.SetEnvironmentVariable(EnvVariableNames.DFM_NONCE, string.Empty);\n            Environment.SetEnvironmentVariable(EnvVariableNames.WEBSITE_AUTH_CLIENT_ID, string.Empty);\n            Environment.SetEnvironmentVariable(EnvVariableNames.WEBSITE_AUTH_OPENID_ISSUER, string.Empty);\n        }\n\n        [TestMethod]\n        public async Task HandleAuthAndErrorsReturnsUnauthorizedResultIfNotAuthenticated()\n        {\n            // Arrange\n\n            var request = new DefaultHttpContext().Request;\n            request.Headers.Add(\"Authorization\", \"Bearer blah-blah-blah\");\n\n            string xsrfToken = $\"xsrf-token-{DateTime.Now.Ticks}\";\n            request.Headers.Add(\"Cookie\", new CookieHeaderValue(Globals.XsrfTokenCookieAndHeaderName, xsrfToken).ToString());\n            request.Headers.Add(Globals.XsrfTokenCookieAndHeaderName, xsrfToken);\n\n            var logMoq = new Mock<ILogger>();\n\n            logMoq.Setup(log => log.Log(It.IsAny<LogLevel>(), It.IsAny<EventId>(), It.IsAny<It.IsAnyType>(), It.IsAny<Exception>(), It.IsAny<Func<It.IsAnyType, Exception, string>>()))\n                .Callback((LogLevel l, EventId i, object s, Exception ex, object o) =>\n                {\n                    // Ensuring the correct type of exception was raised internally\n                    Assert.IsInstanceOfType(ex, typeof(UnauthorizedAccessException));\n                    Assert.AreEqual(\"Specify the Valid Audience value via 'WEBSITE_AUTH_CLIENT_ID' config setting. Typically it is the ClientId of your AAD application.\", ex.Message);\n                });\n\n            // Act\n\n            var res = await Globals.HandleAuthAndErrors(request, null, null, logMoq.Object, async () => {\n                return new OkResult();\n            });\n\n            // Assert\n            Assert.IsInstanceOfType(res, typeof(UnauthorizedResult));\n        }\n\n        class MyTestException : Exception \n        {\n            public MyTestException(string msg) : base(msg) { }\n        }\n\n        [TestMethod]\n        public async Task HandleAuthAndErrorsReturnsBadRequestObjectResultUponFailure()\n        {\n            // Arrange\n\n            var myErrorMessage = \"Test Error Message\";\n\n            var myNonce = Shared.Nonce;\n\n            var request = new DefaultHttpContext().Request;\n            request.Headers.Add(\"x-dfm-nonce\", myNonce);\n\n            Environment.SetEnvironmentVariable(EnvVariableNames.DFM_NONCE, myNonce);\n\n            var logMoq = new Mock<ILogger>();\n\n            logMoq.Setup(log => log.Log(It.IsAny<LogLevel>(), It.IsAny<EventId>(), It.IsAny<It.IsAnyType>(), It.IsAny<Exception>(), It.IsAny<Func<It.IsAnyType, Exception, string>>()))\n                .Callback((LogLevel l, EventId i, object s, Exception ex, object o) =>\n                {\n                    // Ensuring the correct type of exception was raised internally\n                    Assert.IsInstanceOfType(ex, typeof(MyTestException));\n                    Assert.AreEqual(myErrorMessage, ex.Message);\n                });\n\n            // Act\n\n            var res = (BadRequestObjectResult) (await Globals.HandleAuthAndErrors(request, null, null, logMoq.Object, async () => {\n                throw new MyTestException(myErrorMessage);\n            }));\n\n            // Assert\n\n            Assert.AreEqual(myErrorMessage, res.Value);\n        }\n\n        [TestMethod]\n        public void CombineConnNameAndHubNameWorksAsExpected()\n        {\n            // Arrange\n\n            string hubName = $\"hub{DateTime.Now.Ticks}\";\n            string connName = $\"my-conn-string-name{DateTime.Now.Ticks}\";\n\n            // Act\n\n            string s1 = Globals.CombineConnNameAndHubName(null, hubName);\n            string s2 = Globals.CombineConnNameAndHubName(\"\", hubName);\n            string s3 = Globals.CombineConnNameAndHubName(\"-\", hubName);\n            string s4 = Globals.CombineConnNameAndHubName(connName, hubName);\n\n            // Assert\n            Assert.AreEqual(hubName, s1);\n            Assert.AreEqual(hubName, s2);\n            Assert.AreEqual(hubName, s3);\n            Assert.AreEqual(connName + \"-\" + hubName, s4);\n        }\n    }\n}"
  },
  {
    "path": "tests/durablefunctionsmonitor.dotnetbackend.tests/IdSuggestionsTests.cs",
    "content": "using Microsoft.VisualStudio.TestTools.UnitTesting;\nusing Microsoft.Extensions.Logging;\nusing DurableFunctionsMonitor.DotNetBackend;\nusing System.Threading.Tasks;\nusing Moq;\nusing Microsoft.AspNetCore.Mvc;\nusing Microsoft.AspNetCore.Http;\nusing System;\nusing Microsoft.Azure.WebJobs.Extensions.DurableTask;\nusing System.Threading;\nusing Microsoft.Azure.WebJobs.Extensions.DurableTask.ContextImplementations;\nusing Microsoft.Azure.WebJobs.Extensions.DurableTask.Options;\n\nnamespace durablefunctionsmonitor.dotnetbackend.tests\n{\n    [TestClass]\n    public class IdSuggestionsTests\n    {\n        [TestInitialize]\n        public void TestInit()\n        {\n            Environment.SetEnvironmentVariable(EnvVariableNames.DFM_HUB_NAME, string.Empty);\n            TableClient.MockedTableClient = null;\n        }\n\n        [TestMethod]\n        public async Task UsesDefaultDurableClientForDefaultConnection()\n        {\n            // Arrange\n\n            var request = new DefaultHttpContext().Request;\n            request.Headers[\"x-dfm-nonce\"] = Shared.Nonce;\n\n            var durableClientMoq = new Mock<IDurableClient>();\n\n            var queryResult = new OrchestrationStatusQueryResult()\n            {\n                DurableOrchestrationState = new DurableOrchestrationStatus[0]\n            };\n\n            durableClientMoq\n                .Setup(c => c.ListInstancesAsync(It.IsAny<OrchestrationStatusQueryCondition>(), It.IsAny<CancellationToken>()))\n                .Returns(Task.FromResult(queryResult));\n\n            var logMoq = new Mock<ILogger>();\n\n            Environment.SetEnvironmentVariable(EnvVariableNames.DFM_NONCE, Shared.Nonce);\n\n            // Act\n\n            var result = (ContentResult)(await new IdSuggestions(null).DfmGetIdSuggestionsFunction(request, durableClientMoq.Object, \"-\", \"TestHub\", \"abc\", logMoq.Object));\n\n            // Assert\n\n            Assert.AreEqual(\"application/json\", result.ContentType);\n            Assert.AreEqual(\"[]\", result.Content);\n        }\n\n        [TestMethod]\n        public async Task UsesAlternativeDurableClientForAlternativeConnection()\n        {\n            // Arrange\n\n            var request = new DefaultHttpContext().Request;\n            request.Headers[\"x-dfm-nonce\"] = Shared.Nonce;\n\n            var durableClientMoq = new Mock<IDurableClient>();\n\n            var queryResult = new OrchestrationStatusQueryResult()\n            {\n                DurableOrchestrationState = new DurableOrchestrationStatus[0]\n            };\n\n            durableClientMoq\n                .Setup(c => c.ListInstancesAsync(It.IsAny<OrchestrationStatusQueryCondition>(), It.IsAny<CancellationToken>()))\n                .Returns(Task.FromResult(queryResult));\n\n            var durableClientFactoryMoq = new Mock<IDurableClientFactory>();\n\n            durableClientFactoryMoq.Setup(c => c.CreateClient(It.IsAny<DurableClientOptions>())).Returns(durableClientMoq.Object);\n\n\n            var logMoq = new Mock<ILogger>();\n\n            Environment.SetEnvironmentVariable(EnvVariableNames.DFM_NONCE, Shared.Nonce);\n\n            // Act\n\n            var result = (ContentResult)(await new IdSuggestions(durableClientFactoryMoq.Object).DfmGetIdSuggestionsFunction(request, null, \"alternative\", \"TestHub\", \"abc\", logMoq.Object));\n\n            // Assert\n\n            Assert.AreEqual(\"application/json\", result.ContentType);\n            Assert.AreEqual(\"[]\", result.Content);\n        }\n    }\n}"
  },
  {
    "path": "tests/durablefunctionsmonitor.dotnetbackend.tests/ServeStaticsTests.cs",
    "content": "using Microsoft.VisualStudio.TestTools.UnitTesting;\nusing Microsoft.Extensions.Logging;\nusing DurableFunctionsMonitor.DotNetBackend;\nusing System.Threading.Tasks;\nusing Moq;\nusing Microsoft.AspNetCore.Mvc;\nusing Microsoft.AspNetCore.Http;\nusing Microsoft.Azure.WebJobs;\nusing System.IO;\nusing System;\n\nnamespace durablefunctionsmonitor.dotnetbackend.tests\n{\n    [TestClass]\n    public class ServeStaticsTests\n    {\n        [TestInitialize]\n        public void TestInit()\n        {\n            Environment.SetEnvironmentVariable(EnvVariableNames.DFM_NONCE, string.Empty);\n        }\n        \n        [TestMethod]\n        public async Task DfmServeStaticsFunctionReturnsIndexHtml()\n        {\n            // Arrange\n            var request = new DefaultHttpContext().Request;\n\n            var logMoq = new Mock<ILogger>();\n\n            var executionContext = new ExecutionContext\n            {\n                FunctionAppDirectory = Directory.GetCurrentDirectory()\n            };\n\n            // Act\n            var result = (ContentResult) await ServeStatics.DfmServeStaticsFunction(request, null, \"arbitrary\", \"path\", executionContext, logMoq.Object);\n\n            // Assert\n\n            Assert.AreEqual(\"text/html; charset=UTF-8\", result.ContentType);\n            Assert.IsTrue(result.Content.StartsWith(\"<!doctype html>\"));\n        }\n\n        [TestMethod]\n        public async Task DfmServeStaticsFunctionReturnsTestJsFile()\n        {\n            // Arrange\n            var request = new DefaultHttpContext().Request;\n\n            var logMoq = new Mock<ILogger>();\n\n            var executionContext = new ExecutionContext\n            {\n                FunctionAppDirectory = Directory.GetCurrentDirectory()\n            };\n\n            string jsFileName = \"test.js\";\n            string jsCode = \"function abc() {}\";\n\n            File.WriteAllText(Path.Join(executionContext.FunctionAppDirectory, \"DfmStatics\", \"static\", \"js\", jsFileName), jsCode);\n\n            // Act\n            var result = (FileStreamResult) await ServeStatics.DfmServeStaticsFunction(request, \"static\", \"js\", jsFileName, executionContext, logMoq.Object);\n\n            // Assert\n\n            Assert.AreEqual(\"application/javascript; charset=UTF-8\", result.ContentType);\n            Assert.AreEqual(jsCode, new StreamReader(result.FileStream).ReadToEnd());\n        }\n\n        [TestMethod]\n        public async Task DfmServeStaticsFunctionReturns404ForIncorrectPath()\n        {\n            // Arrange\n            var request = new DefaultHttpContext().Request;\n\n            var logMoq = new Mock<ILogger>();\n\n            var executionContext = new ExecutionContext\n            {\n                FunctionAppDirectory = Directory.GetCurrentDirectory()\n            };\n\n            // Act\n            var result = await ServeStatics.DfmServeStaticsFunction(request, \"static\", \"js\", @\"..\\..\\..\\host.json\", executionContext, logMoq.Object);\n\n            // Assert\n            Assert.IsInstanceOfType(result, typeof(NotFoundResult));\n        }\n\n        [TestMethod]\n        public async Task DfmServeStaticsFunctionReturnsUnauthorizedResultIfNonceIsInvalid()\n        {\n            // Arrange\n            var request = new DefaultHttpContext().Request;\n\n            var logMoq = new Mock<ILogger>();\n\n            var executionContext = new ExecutionContext\n            {\n                FunctionAppDirectory = Directory.GetCurrentDirectory()\n            };\n\n            Environment.SetEnvironmentVariable(EnvVariableNames.DFM_NONCE, $\"my-nonce-{DateTime.Now}\");\n\n            // Act\n            var result = await ServeStatics.DfmServeStaticsFunction(request, \"a\", \"b\", \"c\", executionContext, logMoq.Object);\n\n            // Assert\n            Assert.IsInstanceOfType(result, typeof(UnauthorizedResult));\n        }\n    }\n}\n"
  },
  {
    "path": "tests/durablefunctionsmonitor.dotnetbackend.tests/Shared.cs",
    "content": "using System;\n\nnamespace durablefunctionsmonitor.dotnetbackend.tests\n{\n    public static class Shared\n    {\n        public static readonly string Nonce = new Random().Next().ToString();\n    }\n}\n"
  },
  {
    "path": "tests/durablefunctionsmonitor.dotnetbackend.tests/durablefunctionsmonitor.dotnetbackend.tests.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFramework>netcoreapp3.1</TargetFramework>\n\n    <IsPackable>false</IsPackable>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"Microsoft.NET.Test.Sdk\" Version=\"16.5.0\" />\n    <PackageReference Include=\"Moq\" Version=\"4.16.0\" />\n    <PackageReference Include=\"MSTest.TestAdapter\" Version=\"2.1.0\" />\n    <PackageReference Include=\"MSTest.TestFramework\" Version=\"2.1.0\" />\n    <PackageReference Include=\"coverlet.collector\" Version=\"1.2.0\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\..\\durablefunctionsmonitor.dotnetbackend\\durablefunctionsmonitor.dotnetbackend.csproj\" />\n  </ItemGroup>\n\n</Project>\n"
  }
]