Compare commits

..

16 Commits

Author SHA1 Message Date
Benedek Farkas
8f76bbd91d Fixing that upgrading Newtonsoft.Json to 13.x broke the SpecFlow test execution app 2024-12-07 20:14:58 +01:00
Benedek Farkas
cf01021e83 Fixing typo 2024-12-07 20:14:01 +01:00
Benedek Farkas
2d35e087c4 Adding step to run the Setup with SpecFlow 2024-12-07 20:11:47 +01:00
Benedek Farkas
c4c0af7a66 Using Title Casing in the Compile workflow's step names 2024-12-07 20:11:07 +01:00
Benedek Farkas
ebae790f15 #8276: Updating Npgsql to 4.0.17 and fixing setup with PostgreSQL (#8810)
* Updating Npgsql to version 4.0.17 (the latest minor version of the closest major version that isn't vulnerable)

https://github.com/OrchardCMS/Orchard/security/dependabot/54

* Fixing that Projection Migrations created indexes with the same name in different tables, which is not supported by PostgreSQL
2024-12-06 14:14:57 +01:00
Benedek Farkas
79f66cebf6 #8752: Publish/unpublish Menu Items in the Menu editor (#8807)
* Cleaning up Core/Navigation/Controllers/AdminController

* Extending Core/Navigation/Controllers/AdminController to be able to publish/unpublish menuitems

* Redirecting to menu when saving a menu item and using the menu item text in the notification

* Fixing that saving a menu item shouldn't publish it if it's unpublished

* Using the menu item text in the notification when publishing and unpublishing too
2024-12-06 10:09:52 +01:00
Benedek Farkas
0d93cb1d8d #8816: Compilation workflow should test the setup and code generation (#8817)
* Updating Compile workflow with setup and code generation steps

* Updating NHibernate reference and OrchardBasicCorrectness.ruleset path in ModuleTestsCsProj code generation template

* Ignoring CS2008 warning when recompiling with generated modules, because the theme and test projects don't have .cs files

* Generating a test project should also include packages.config

* Fixing the relative path of Orchard.Core and Orchard.Framework in the generated test project

* A bit of code styling in the Compile workflow

* Updating Readme

* Revert "A bit of code styling in the Compile workflow"

This reverts commit 7b01ebbad0.
2024-12-06 09:59:15 +01:00
Benedek Farkas
8425b4ad76 #8811: Update vulnerable NuGet packages and consolidate them (#8812)
* Updating System.IdentityModel.Tokens.Jwt and its dependencies in Orchard.Azure.MediaServices

* Using System.IO.Compression instead of DotNetZip

* Upgrading Newtonsoft.Json from 12.0.3 (vulnerable) to 13.0.3

* Updating ModuleRootWebConfig.txt codegen template according to the new Newtonsoft.Json version
2024-12-06 09:49:45 +01:00
Andrea Piovanelli
81570fab35 Internal page links validation for LinkField (#8805)
Some checks failed
Compile / Compile .NET solution (push) Has been cancelled
Compile / Compile client-side assets (push) Has been cancelled
* Added page internal references management in LinkField valid urls (e.g. field.Value = "#someId")

* Code refactoring to check LinkField value.
2024-10-29 09:14:13 +01:00
Benedek Farkas
0d9fccb624 Fixing WebDownloaderTests 2024-05-03 15:33:07 +02:00
Benedek Farkas
fdbb06ba8d #8640: Fixing consistency between different Enumeration Field flavors' data storage (#8789)
* Reworking EnumerationField's logic to store/retrieve its (selected) values

* Fixing exception when creating new item with CheckboxList flavor, adding more nullchecks and compactness

* Code styling in EnumerationFieldDriver

* Code styling in EnumerationField editor template

* Fixing that EnumerationFieldDriver and the EnumerationField editor template should read SelectedValues instead of Values directly

---------

Co-authored-by: Matteo Piovanelli <MatteoPiovanelli-Laser@users.noreply.github.com>
2024-04-19 11:11:47 +02:00
Benedek Farkas
15cad85d1e #6793: Adding a content-independent culture selector shape for the front-end (#8784)
* Adds a new CultureSelector shape for front-end

* fixed query string culture change

* Moving NameValueCollectionExtensions from Orchard.DynamicForms and Orchard.Localization to Orchard.Framework

* Code styling

* Simplifying UserCultureSelectorController and removing the addition of the culture to the query string

* EOF empty lines and code styling

* Fixing that the main Orchard.Localization should depend on Orchard.Autoroute

* Code styling in LocalizationService

* Updating LocalizationService to not have to use IEnumerable.Single

* Matching culture name matching in LocalizationService culture- and casing-invariant

---------

Co-authored-by: Sergio Navarro <jersio@hotmail.com>
Co-authored-by: psp589 <pablosanchez589@gmail.com>
2024-04-18 23:35:48 +02:00
Benedek Farkas
0b86413e60 6748: Stricter file and folder name validation (#6792)
* Media Library: More strict file and folder name validation, fixes #6748

* Resetting MediaLibraryService changes to 1.10.x

* Code styling in FileSystemStorageProvider

* Adding string file and folder name validation to FileSystemStorageProvider, so that MediaLibrary components don't need to do it separately

* Applying the same file and folder name validation to AzureFileSystem too

* Code styling and fixes in AzureFileSystem, MediaLibrary and IStorageProvider

* Simplifying invalid character detection

* Code styling

* Adding InvalidNameCharacterException to be able to handle invalid characters precisely at various user-facing components

* Updating MediaLibrary not to log an error when a file can't be uploaded due to invalid characters

---------

Co-authored-by: Lombiq <github@lombiq.com>
2024-04-18 21:37:48 +02:00
Benedek Farkas
3a6810ec67 8225: Adding a checkbox to StringFilterForm to control whether an empty value should cause the filter to be skipped (#8781)
* Adding a checkbox to StringFilterForm to control whether an empty value should cause the filter to be skipped

* Removing StringOperator.ContainsAnyIfProvided as its now obsolete due to the IgnoreFilterIfValueIsEmpty checkbox setting

* Code styling in StringFilterForm

* Adding missing T-string

* Adding migration step to upgrade from using the ContainsAnyIfProvided operator in StringFilterForm
2024-04-17 11:52:51 +02:00
Thierry Fleury
04e9c73391 8012: Add Excel Export functionality to DynamicForms (#8016)
* Add Excel Export functionality to DynamicForms.

* Using the net46-targeted DLL of DocumentFormat.OpenXml instead of net40

* Updating DocumentFormat.OpenXml to latest (3.0.2) version

* Code styling

---------

Co-authored-by: Benedek Farkas <benedek.farkas@lombiq.com>
2024-04-16 16:59:14 +02:00
Benedek Farkas
530d2a9221 8773: Recompiling client-side assets on 1.10.x (#8779)
* Updating rebuilt client-side assets that only changed in terms of sourceMappingURL

* Updating rebuilt client-side assets that changed functionally

* Fixing/simplifying Layout editor toolbox stickyness and height restriction to viewport

* Compile workflow: Upgrading actions/checkout and microsoft/setup-msbuild actions to their latest versions

* Compile workflow: Adding steps to validate that the client-side assets are up-to-date

* Compile workflow: Temporarily disabling MSBuild steps

* Moving client-side assets build to a separate job in the compile workflow

* Updating client-side compilation job

* Temporarily disabling the .NET build

* Separating package install from asset rebuild

* Adding debug command

* Fixing working directory

* Debugging

* Attempting to get rid of false positives due to line ending changes

* Removing debug code

* Checking asset validation by modifying Orchard.Resources/Assets/Less/Bootstrap/variables.less, but not its derivatives

* Revert "Checking asset validation by modifying Orchard.Resources/Assets/Less/Bootstrap/variables.less, but not its derivatives"

This reverts commit 3fc9b8362b.

* Revert "Temporarily disabling the .NET build"

This reverts commit 2a8fef7793.

* Fixing error message when client-side assets are not up-to-date
2024-04-16 16:55:04 +02:00
412 changed files with 2387 additions and 2193 deletions

View File

@@ -9,25 +9,88 @@ on:
- 1.10.x
jobs:
compile:
name: Compile
compile-dotnet:
name: Compile .NET solution
defaults:
run:
shell: pwsh
runs-on: windows-latest
steps:
- name: Clone repository
uses: actions/checkout@v3.1.0
- name: Clone Repository
uses: actions/checkout@v4.1.1
- name: Restore NuGet packages
- name: Restore NuGet Packages
run: nuget restore src/Orchard.sln
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.3.1
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v2
- name: Compile
run: msbuild Orchard.proj /m /v:minimal /t:Compile /p:MvcBuildViews=true /p:TreatWarningsAsErrors=true -WarnAsError
run: msbuild Orchard.proj /m /v:minimal /t:Compile /p:TreatWarningsAsErrors=true -WarnAsError /p:MvcBuildViews=true
- name: Test
run: msbuild Orchard.proj /m /v:minimal /t:Test
- name: Test Setup with SpecFlow
run: |
$nunitConsole = (Get-ChildItem -Path 'src/packages' -Recurse -Filter 'nunit-console.exe' | Select-Object -Last 1).FullName
& $nunitConsole 'build/Compile/Orchard.Specs.dll' /xml='build/Orchard.Specs.xml' /run=Orchard.Specs.SetupFeature.RootAndSetupFolderShowsSetupScreenAndFormValuesAreValidated
- name: Run Orchard Setup with Orchard.exe
run: |
$commandFile = 'src/Orchard.Web/bin/setup-commands.txt'
New-Item -Path $commandFile -ItemType File -Force
Set-Content -Path $commandFile -Value 'setup /SiteName:Orchard /AdminUsername:admin /AdminPassword:Password1! /DatabaseProvider:SqlCe /Recipe:Default'
& 'src/Orchard.Web/bin/Orchard.exe' @$commandFile
- name: Run Code Generation
run: |
$commandFile = 'src/Orchard.Web/bin/codegen-commands.txt'
New-Item -Path $commandFile -ItemType File -Force
Set-Content -Path $commandFile -Value @'
feature enable Orchard.CodeGeneration
codegen module Orchard.CodeGeneration.TestModule
codegen theme Orchard.CodeGeneration.TestTheme /CreateProject:true
codegen moduletests Orchard.CodeGeneration.TestModule
'@
& 'src/Orchard.Web/bin/Orchard.exe' @$commandFile
- name: Compile Again with Generated Projects
run: msbuild Orchard.proj /m /v:minimal /t:Compile /p:TreatWarningsAsErrors=true -WarnAsError /NoWarn:CS2008
compile-node:
name: Compile Client-side Assets
defaults:
run:
shell: pwsh
runs-on: windows-latest
steps:
- name: Clone Repository
uses: actions/checkout@v4.1.1
- name: Setup NodeJS
uses: actions/setup-node@v4.0.2
with:
node-version: '7'
- name: Setup NPM Packages
working-directory: ./src
run: |
npm install --loglevel warn
# Install gulp globally to be able to run the rebuild task, using the same version as in the project.
$gulpVersion = (Get-Content Package.json -Raw | ConvertFrom-Json).devDependencies.gulp
Start-Process npm -NoNewWindow -Wait -ArgumentList "install gulp@$gulpVersion -g --loglevel warn"
- name: Rebuild Client-side Assets
working-directory: ./src
run: |
gulp rebuild
git add . # To make line ending changes "disappear".
$gitStatus = (git status --porcelain)
if ($gitStatus)
{
throw ("Client-side assets are not up-to-date. Please run 'gulp rebuild' and commit the changes.`n" +
[System.String]::Join([System.Environment]::NewLine, $gitStatus))
}

View File

@@ -52,12 +52,6 @@ Website: http://dlr.codeplex.com
Copyright: Copyright (c) Microsoft Corporation
License: Apache Software Foundation License 2.0
DotNetZip
-----
Website: http://dotnetzip.codeplex.com/
Copyright:
License: MS-PL
Eric Meyer's Reset CSS
-----
Website: http://meyerweb.com/eric/tools/css/reset/

View File

@@ -1,16 +1,14 @@
# Orchard
Orchard is a free, open source, community-focused Content Management System built on the ASP.NET MVC platform.
Orchard is a free, open source, community-focused Content Management System built on the ASP.NET MVC platform. You are looking at Orchard 1, the older, .NET Framework-based version that has been in development since 2009.
[![Join the chat at https://gitter.im/OrchardCMS/Orchard](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/OrchardCMS/Orchard?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
If you're starting a new project (or maintaining a project built on Orchard 1), you should check out [Orchard Core](https://github.com/OrchardCMS/OrchardCore), the new generation of Orchard built on ASP.NET Core. You can also try it for free on [DotNest.com](https://dotnest.com)!
You can try it for free on [DotNest.com](https://dotnest.com) or on Microsoft Azure by clicking on this button.
[![Deploy to Azure](https://azuredeploy.net/deploybutton.png)](https://portal.azure.com/#create/OutercurveFoundation.OrchardCMS)
Join the community discussion on [Discord](https://orchardcore.net/discord), where we also have a [channel dedicated to Orchard 1](https://discord.com/channels/551136772243980291/551137194689953848).
## About The Orchard Project
#### Please visit our website at https://orchardproject.net for the most current information about this project.
#### Please visit our website at https://orchardcore.net for the most current information about this project.
Orchard is a free, open source, community-focused **Content Management System** built on the ASP.NET MVC platform.
@@ -24,12 +22,12 @@ Our mission is to empower our users and foster a dedicated and diverse community
Orchard is currently in version **[1.10.3](https://github.com/OrchardCMS/Orchard/releases/tag/1.10.3)**: It contains bugfixes and the more impactful changes and new features added in the latest major version (*1.10*).
We invite participation by the developer community in shaping the projects direction, so that we can publicly validate our designs and development approach.
We invite participation by the developer community in shaping the project's direction, so that we can publicly validate our designs and development approach.
All our releases are available on our [Releases](https://github.com/OrchardCMS/Orchard/releases) page, and we encourage interested developers to check out the source code on the Orchard GitHub site and get involved with the project.
* [Download the latest release](https://github.com/OrchardCMS/Orchard/releases)
* [Feature roadmap](https://docs.orchardproject.net/en/latest/Documentation/Feature-roadmap/)
* [Docs and designs/specs](https://docs.orchardproject.net)
* [Feature roadmap](https://docs.orchardcore.net/projects/O1/en/latest/Documentation/Feature-roadmap/)
* [Docs and designs/specs](https://docs.orchardcore.net/projects/O1/en/latest/)
## How To Get Involved
@@ -42,11 +40,7 @@ There are many ways you can contribute to Orchard:
* [Find and file a bug](https://github.com/OrchardCMS/Orchard/issues)
* [Propose a feature idea](https://github.com/OrchardCMS/Orchard/issues/new)
* [Ask and answer questions on Stack Overflow](https://stackoverflow.com/questions/tagged/orchardcms)
* [Participate in our gitter.im chatroom](https://gitter.im/OrchardCMS/Orchard)
* [Submit a pull request](https://docs.orchardproject.net/en/latest/Documentation/Contributing-patches/)
* [Join us on Discord](https://orchardcore.net/discord)
* [Submit a pull request](https://docs.orchardcore.net/projects/O1/en/latest/Documentation/Contributing-patches/)
* [Translate Orchard](https://crowdin.com/project/orchard-cms)
* [Contribute modules and themes to our gallery](https://gallery.orchardproject.net/)
## The Future Of Orchard CMS: Orchard Core
As the underlying frameworks (.NET, ASP.NET and ASP.NET MVC) are constantly evolving, Orchard of course keeps track of the changes and improvements of these: Orchard Core is the next generation of Orchard releases that is based on [ASP.NET Core](https://www.asp.net/core). Just like the current Orchard project, it's fully [open-source and is publicly available on GitHub](https://github.com/OrchardCMS/OrchardCore). Orchard Core (as a framework) is being built from scratch: it's still in development and does not share any of its code base (at least directly) with the current versions (1.x) of Orchard.
* [Contribute modules and themes to our gallery](https://gallery.orchardproject.net)

View File

@@ -16,7 +16,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />

View File

@@ -24,7 +24,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />

View File

@@ -151,7 +151,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4" culture="neutral" />

View File

@@ -24,7 +24,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" />

View File

@@ -1,8 +1,8 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.IO.Compression;
using System.Linq;
using Ionic.Zip;
using NUnit.Framework;
using Orchard.Environment.Configuration;
using Orchard.FileSystems.Media;
@@ -53,10 +53,10 @@ namespace Orchard.Tests.Modules.Media.Services {
[Test]
public void GetMediaFoldersTest() {
StorageProvider.ListFoldersPredicate = path => {
return string.IsNullOrEmpty(path) ? new[] {new StubStorageFolder(FolderName1)}
: string.Equals(path, FolderName1) ? new[] {new StubStorageFolder(FolderName2), new StubStorageFolder(FolderName3)}
return string.IsNullOrEmpty(path) ? new[] { new StubStorageFolder(FolderName1) }
: string.Equals(path, FolderName1) ? new[] { new StubStorageFolder(FolderName2), new StubStorageFolder(FolderName3) }
: new StubStorageFolder[] { };
};
};
IEnumerable<MediaFolder> mediaFolders = MediaService.GetMediaFolders(null);
Assert.That(mediaFolders.Count(), Is.EqualTo(1), "Root path only has 1 sub directory");
@@ -94,7 +94,7 @@ namespace Orchard.Tests.Modules.Media.Services {
Assert.That(StorageProvider.SavedStreams.Contains(StorageProvider.Combine(FolderName1, FinalDottedWebconfigFileName)), Is.False, "no extension files are never allowed");
Assert.That(StorageProvider.SavedStreams.Contains(StorageProvider.Combine(FolderName1, PaddedWebconfigFileName)), Is.False, "no extension files are never allowed");
Assert.That(StorageProvider.SavedStreams.Contains(StorageProvider.Combine(FolderName1, FinalDottedTextFileName)), Is.False, "no extension files are never allowed");
Assert.That(StorageProvider.SavedStreams.Count, Is.EqualTo(3));
}
@@ -160,29 +160,30 @@ namespace Orchard.Tests.Modules.Media.Services {
}
private MemoryStream CreateZipMemoryStream() {
var entries = new List<string> {
TextFileName, WebconfigFileName, DllFileName, ZipFileName, NoExtensionFileName, PaddedWebconfigFileName,
FinalDottedWebconfigFileName, PaddedTextFileName, FinalDottedTextFileName
};
// Setup memory stream with zip archive for more complex scenarios
MemoryStream memoryStream = new MemoryStream();
using (ZipFile zipOut = new ZipFile()) {
zipOut.AddEntry(TextFileName, new byte[] { 0x01 });
zipOut.AddEntry(WebconfigFileName, new byte[] { 0x02 });
zipOut.AddEntry(DllFileName, new byte[] { 0x03 });
zipOut.AddEntry(ZipFileName, new byte[] { 0x04 });
zipOut.AddEntry(NoExtensionFileName, new byte[] { 0x05 });
zipOut.AddEntry(PaddedWebconfigFileName, new byte[] { 0x06 });
zipOut.AddEntry(FinalDottedWebconfigFileName, new byte[] { 0x07 });
zipOut.AddEntry(PaddedTextFileName, new byte[] { 0x08 });
zipOut.AddEntry(FinalDottedTextFileName, new byte[] { 0x09 });
zipOut.Save(memoryStream);
using (var archive = new ZipArchive(memoryStream, ZipArchiveMode.Create, leaveOpen: true)) {
var content = new byte[] { 0x01 };
foreach (var entry in entries) {
var zipEntry = archive.CreateEntry(entry);
using (var zipStream = zipEntry.Open()) {
zipStream.Write(content, 0, 1);
}
++content[0];
}
}
return new MemoryStream(memoryStream.ToArray());
}
private class MediaServiceAccessor : MediaService {
public MediaServiceAccessor(IStorageProvider storageProvider, IOrchardServices orchardServices)
: base (storageProvider, orchardServices) {}
: base(storageProvider, orchardServices) { }
public void UnzipMediaFileArchiveAccessor(string targetFolder, Stream zipStream) {
UnzipMediaFileArchive(targetFolder, zipStream);

View File

@@ -64,9 +64,6 @@
<Reference Include="Castle.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
<HintPath>..\packages\Castle.Core.3.3.1\lib\net45\Castle.Core.dll</HintPath>
</Reference>
<Reference Include="DotNetZip, Version=1.12.0.0, Culture=neutral, PublicKeyToken=6583c7c814667745, processorArchitecture=MSIL">
<HintPath>..\packages\DotNetZip.1.12.0\lib\net20\DotNetZip.dll</HintPath>
</Reference>
<Reference Include="FluentNHibernate, Version=2.0.3.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\FluentNHibernate.2.0.3.0\lib\net40\FluentNHibernate.dll</HintPath>
</Reference>
@@ -107,8 +104,8 @@
<Reference Include="Moq, Version=4.2.1510.2205, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
<HintPath>..\packages\Moq.4.2.1510.2205\lib\net40\Moq.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="NHibernate, Version=4.1.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
<HintPath>..\packages\NHibernate.4.1.2.4000\lib\net40\NHibernate.dll</HintPath>
@@ -134,6 +131,7 @@
<HintPath>..\..\lib\sqlce\System.Data.SqlServerCe.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.IO.Compression" />
<Reference Include="System.Web" />
<Reference Include="System.Web.Abstractions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>

View File

@@ -1,4 +1,5 @@
using System.Net;
using System;
using System.Net;
using NUnit.Framework;
using Orchard.Warmup.Services;
@@ -20,7 +21,7 @@ namespace Orchard.Tests.Modules.Warmup {
[Test]
public void StatusCodeShouldBe404ForUnexistingResources() {
var download = _webDownloader.Download("http://orchardproject.net/yepyep");
var download = _webDownloader.Download("https://orchardcore.net/" + Guid.NewGuid());
Assert.That(download, Is.Not.Null);
Assert.That(download.StatusCode, Is.EqualTo(HttpStatusCode.NotFound));
Assert.That(download.Content, Is.Null);
@@ -28,7 +29,7 @@ namespace Orchard.Tests.Modules.Warmup {
[Test]
public void StatusCodeShouldBe200ForValidRequests() {
var download = _webDownloader.Download("http://orchardproject.net/");
var download = _webDownloader.Download("https://orchardcore.net/");
Assert.That(download, Is.Not.Null);
Assert.That(download.StatusCode, Is.EqualTo(HttpStatusCode.OK));
Assert.That(download.Content, Is.Not.Empty);

View File

@@ -2,7 +2,6 @@
<packages>
<package id="Autofac" version="3.5.2" targetFramework="net48" />
<package id="Castle.Core" version="3.3.1" targetFramework="net48" />
<package id="DotNetZip" version="1.12.0" targetFramework="net48" />
<package id="FluentNHibernate" version="2.0.3.0" targetFramework="net48" />
<package id="Iesi.Collections" version="4.0.1.4000" targetFramework="net48" />
<package id="IronRuby" version="1.1.3" targetFramework="net48" />
@@ -12,7 +11,7 @@
<package id="Microsoft.AspNet.WebPages" version="3.2.7" targetFramework="net48" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net48" />
<package id="Moq" version="4.2.1510.2205" targetFramework="net48" />
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net48" />
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net48" />
<package id="NHibernate" version="4.1.2.4000" targetFramework="net48" />
<package id="NUnit" version="2.5.10.11092" targetFramework="net48" />
<package id="Orchard.FluentPath" version="1.0.0.1" targetFramework="net48" />

View File

@@ -24,7 +24,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" />

View File

@@ -104,8 +104,8 @@
<Reference Include="Moq, Version=4.2.1510.2205, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
<HintPath>..\packages\Moq.4.2.1510.2205\lib\net40\Moq.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="NHibernate, Version=4.1.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
<HintPath>..\packages\NHibernate.4.1.2.4000\lib\net40\NHibernate.dll</HintPath>

View File

@@ -14,7 +14,7 @@
<package id="Microsoft.AspNet.WebPages" version="3.2.7" targetFramework="net48" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net48" />
<package id="Moq" version="4.2.1510.2205" targetFramework="net48" />
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net48" />
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net48" />
<package id="NHibernate" version="4.1.2.4000" targetFramework="net48" />
<package id="NUnit" version="2.5.10.11092" targetFramework="net48" />
<package id="NUnitTestAdapter" version="2.3.0" targetFramework="net48" />

View File

@@ -16,7 +16,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />

View File

@@ -1,74 +1,75 @@
using System.Collections.Generic;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using System.Web.Routing;
using Orchard.ContentManagement;
using Orchard.ContentManagement.Aspects;
using Orchard.ContentManagement.Handlers;
using Orchard.Core.Contents.Settings;
using Orchard.Core.Navigation.Models;
using Orchard.Core.Navigation.Services;
using Orchard.Core.Navigation.ViewModels;
using Orchard.Localization;
using Orchard.Mvc.Extensions;
using Orchard.UI;
using Orchard.UI.Notify;
using Orchard.UI.Navigation;
using Orchard.Utility;
using System;
using Orchard.ContentManagement.Handlers;
using Orchard.Logging;
using Orchard.Exceptions;
using Orchard.ContentManagement.Aspects;
using Orchard.Utility.Extensions;
using Orchard.Mvc.Html;
using Orchard.Core.Contents.Settings;
using Orchard.Data;
using System.Web.Routing;
using Orchard.Exceptions;
using Orchard.Localization;
using Orchard.Logging;
using Orchard.Mvc.Extensions;
using Orchard.Mvc.Html;
using Orchard.Security;
using Orchard.UI;
using Orchard.UI.Navigation;
using Orchard.UI.Notify;
using Orchard.Utility;
using Orchard.Utility.Extensions;
namespace Orchard.Core.Navigation.Controllers {
[ValidateInput(false)]
public class AdminController : Controller, IUpdateModel {
private readonly IContentManager _contentManager;
private readonly ITransactionManager _transactionManager;
private readonly IAuthorizer _authorizer;
private readonly INotifier _notifier;
private readonly IMenuService _menuService;
private readonly INavigationManager _navigationManager;
private readonly IEnumerable<IContentHandler> _handlers;
private readonly IMenuManager _menuManager;
private readonly IContentManager _contentManager;
private readonly ITransactionManager _transactionManager;
public AdminController(
IOrchardServices orchardServices,
IContentManager contentManager,
ITransactionManager transactionManager,
IMenuService menuService,
IMenuManager menuManager,
INavigationManager navigationManager,
IEnumerable<IContentHandler> handlers) {
_contentManager = contentManager;
_transactionManager = transactionManager;
_contentManager = orchardServices.ContentManager;
_transactionManager = orchardServices.TransactionManager;
_authorizer = orchardServices.Authorizer;
_notifier = orchardServices.Notifier;
_menuService = menuService;
_menuManager = menuManager;
_navigationManager = navigationManager;
_handlers = handlers;
Services = orchardServices;
T = NullLocalizer.Instance;
Logger = NullLogger.Instance;
}
public Localizer T { get; set; }
public ILogger Logger { get; set; }
public IOrchardServices Services { get; set; }
public ActionResult Index(NavigationManagementViewModel model, int? menuId) {
var menus = Services.ContentManager.Query("Menu").List().ToList()
var menus = _contentManager.Query("Menu").List().ToList()
.OrderBy(x => x.ContentManager.GetItemMetadata(x).DisplayText);
if (!menus.Any()) {
if (!Services.Authorizer.Authorize(Permissions.ManageMenus, T("Not allowed to manage menus"))) {
if (!_authorizer.Authorize(Permissions.ManageMenus, T("Not allowed to manage menus"))) {
return new HttpUnauthorizedResult();
}
return RedirectToAction("Create", "Admin", new { area = "Contents", id = "Menu", returnUrl = Request.RawUrl });
}
var allowedMenus = menus.Where(menu => Services.Authorizer.Authorize(Permissions.ManageMenus, menu)).ToList();
var allowedMenus = menus.Where(menu => _authorizer.Authorize(Permissions.ManageMenus, menu)).ToList();
if (!allowedMenus.Any()) {
return new HttpUnauthorizedResult();
@@ -87,7 +88,11 @@ namespace Orchard.Core.Navigation.Controllers {
}
if (model.MenuItemEntries == null || !model.MenuItemEntries.Any()) {
model.MenuItemEntries = _menuService.GetMenuParts(currentMenu.Id).Select(CreateMenuItemEntries).OrderBy(menuPartEntry => menuPartEntry.Position, new FlatPositionComparer()).ToList();
model.MenuItemEntries = _menuService
.GetMenuParts(currentMenu.Id)
.Select(CreateMenuItemEntries)
.OrderBy(menuPartEntry => menuPartEntry.Position, new FlatPositionComparer())
.ToList();
}
model.MenuItemDescriptors = _menuManager.GetMenuItemTypes();
@@ -100,7 +105,10 @@ namespace Orchard.Core.Navigation.Controllers {
[HttpPost, ActionName("Index")]
public ActionResult IndexPOST(IList<MenuItemEntry> menuItemEntries, int? menuId) {
if (!Services.Authorizer.Authorize(Permissions.ManageMenus, (menuId.HasValue) ? _menuService.GetMenu(menuId.Value) : null, T("Couldn't manage the main menu")))
if (!_authorizer.Authorize(
Permissions.ManageMenus,
menuId.HasValue ? _menuService.GetMenu(menuId.Value) : null,
T("Couldn't manage the menu")))
return new HttpUnauthorizedResult();
// See https://github.com/OrchardCMS/Orchard/issues/948
@@ -123,25 +131,15 @@ namespace Orchard.Core.Navigation.Controllers {
return RedirectToAction("Index", new { menuId });
}
private MenuItemEntry CreateMenuItemEntries(MenuPart menuPart) {
return new MenuItemEntry {
MenuItemId = menuPart.Id,
IsMenuItem = menuPart.Is<MenuItemPart>(),
Text = menuPart.MenuText,
Position = menuPart.MenuPosition,
Url = menuPart.Is<MenuItemPart>()
? menuPart.As<MenuItemPart>().Url
: _navigationManager.GetUrl(null, Services.ContentManager.GetItemMetadata(menuPart).DisplayRouteValues),
ContentItem = menuPart.ContentItem,
};
}
[HttpPost]
public ActionResult Delete(int id) {
MenuPart menuPart = _menuService.Get(id);
int? menuId = null;
if (!Services.Authorizer.Authorize(Permissions.ManageMenus, (menuPart != null) ? _menuService.GetMenu(menuPart.Menu.Id) : null, T("Couldn't manage the main menu")))
if (!_authorizer.Authorize(
Permissions.ManageMenus,
menuPart == null ? null : _menuService.GetMenu(menuPart.Menu.Id),
T("Couldn't manage the menu")))
return new HttpUnauthorizedResult();
if (menuPart != null) {
@@ -155,7 +153,8 @@ namespace Orchard.Core.Navigation.Controllers {
foreach (var menuItem in menuItems.Concat(new[] { menuPart })) {
// if the menu item is a concrete content item, don't delete it, just unreference the menu
if (!menuPart.ContentItem.TypeDefinition.Settings.ContainsKey("Stereotype") || menuPart.ContentItem.TypeDefinition.Settings["Stereotype"] != "MenuItem") {
if (!menuPart.ContentItem.TypeDefinition.Settings.ContainsKey("Stereotype")
|| menuPart.ContentItem.TypeDefinition.Settings["Stereotype"] != "MenuItem") {
menuPart.Menu = null;
}
else {
@@ -168,26 +167,18 @@ namespace Orchard.Core.Navigation.Controllers {
return RedirectToAction("Index", new { menuId });
}
bool IUpdateModel.TryUpdateModel<TModel>(TModel model, string prefix, string[] includeProperties, string[] excludeProperties) {
return TryUpdateModel(model, prefix, includeProperties, excludeProperties);
}
void IUpdateModel.AddModelError(string key, LocalizedString errorMessage) {
ModelState.AddModelError(key, errorMessage.ToString());
}
public ActionResult CreateMenuItem(string id, int menuId, string returnUrl) {
if (!Services.Authorizer.Authorize(Permissions.ManageMenus, _menuService.GetMenu(menuId), T("Couldn't manage the main menu")))
if (!_authorizer.Authorize(Permissions.ManageMenus, _menuService.GetMenu(menuId), T("Couldn't manage the menu")))
return new HttpUnauthorizedResult();
// create a new temporary menu item
var menuPart = Services.ContentManager.New<MenuPart>(id);
var menuPart = _contentManager.New<MenuPart>(id);
if (menuPart == null)
return HttpNotFound();
// load the menu
var menu = Services.ContentManager.Get(menuId);
var menu = _contentManager.Get(menuId);
if (menu == null)
return HttpNotFound();
@@ -196,7 +187,7 @@ namespace Orchard.Core.Navigation.Controllers {
// filter the content items for this specific menu
menuPart.MenuPosition = Position.GetNext(_navigationManager.BuildMenu(menu));
menuPart.Menu = menu;
var model = Services.ContentManager.BuildEditor(menuPart);
var model = _contentManager.BuildEditor(menuPart);
return View(model);
}
@@ -206,32 +197,32 @@ namespace Orchard.Core.Navigation.Controllers {
}
Logger.Error(T("Creating menu item failed: {0}", exception.Message).Text);
Services.Notifier.Error(T("Creating menu item failed: {0}", exception.Message));
_notifier.Error(T("Creating menu item failed: {0}", exception.Message));
return this.RedirectLocal(returnUrl, () => RedirectToAction("Index"));
}
}
[HttpPost, ActionName("CreateMenuItem")]
public ActionResult CreateMenuItemPost(string id, int menuId, string returnUrl) {
if (!Services.Authorizer.Authorize(Permissions.ManageMenus, _menuService.GetMenu(menuId), T("Couldn't manage the main menu")))
if (!_authorizer.Authorize(Permissions.ManageMenus, _menuService.GetMenu(menuId), T("Couldn't manage the menu")))
return new HttpUnauthorizedResult();
var menuPart = Services.ContentManager.New<MenuPart>(id);
var menuPart = _contentManager.New<MenuPart>(id);
if (menuPart == null)
return HttpNotFound();
// load the menu
var menu = Services.ContentManager.Get(menuId);
var menu = _contentManager.Get(menuId);
if (menu == null)
return HttpNotFound();
menuPart.Menu = menu;
var model = Services.ContentManager.UpdateEditor(menuPart, this);
var model = _contentManager.UpdateEditor(menuPart, this);
menuPart.MenuPosition = Position.GetNext(_navigationManager.BuildMenu(menu));
Services.ContentManager.Create(menuPart);
_contentManager.Create(menuPart);
if (!ModelState.IsValid) {
Services.TransactionManager.Cancel();
_transactionManager.Cancel();
return View(model);
}
Services.Notifier.Information(T("Your {0} has been added.", menuPart.TypeDefinition.DisplayName));
_notifier.Information(T("Your {0} has been added.", menuPart.TypeDefinition.DisplayName));
return this.RedirectLocal(returnUrl, () => RedirectToAction("Index"));
}
@@ -241,7 +232,7 @@ namespace Orchard.Core.Navigation.Controllers {
if (contentItem == null)
return HttpNotFound();
if (!Services.Authorizer.Authorize(Permissions.ManageMenus, contentItem.Content.MenuPart.Menu, T("Couldn't manage the main menu")))
if (!_authorizer.Authorize(Permissions.ManageMenus, contentItem.Content.MenuPart.Menu, T("Couldn't manage the menu")))
return new HttpUnauthorizedResult();
var model = _contentManager.BuildEditor(contentItem);
@@ -252,19 +243,81 @@ namespace Orchard.Core.Navigation.Controllers {
[Mvc.FormValueRequired("submit.Save")]
public ActionResult EditPOST(int id, string returnUrl) {
return EditPOST(id, returnUrl, contentItem => {
if (!contentItem.Has<IPublishingControlAspect>() && !contentItem.TypeDefinition.Settings.GetModel<ContentTypeSettings>().Draftable)
if (!contentItem.Has<IPublishingControlAspect>()
&& !contentItem.TypeDefinition.Settings.GetModel<ContentTypeSettings>().Draftable
&& contentItem.IsPublished())
_contentManager.Publish(contentItem);
});
}
private ActionResult EditPOST(int id, string returnUrl, Action<ContentItem> conditionallyPublish) {
var contentItem = _contentManager.Get(id, VersionOptions.DraftRequired);
if (contentItem == null)
[HttpPost]
// Copy of Contents/AdminController/Publish, but with different permission check and redirect.
public ActionResult Publish(int id) {
var menuPart = _contentManager.GetLatest<MenuPart>(id);
if (menuPart == null)
return HttpNotFound();
if (!Services.Authorizer.Authorize(Permissions.ManageMenus, contentItem.Content.MenuPart.Menu, T("Couldn't manage the main menu")))
if (!_authorizer.Authorize(Permissions.ManageMenus, menuPart.Menu, T("Couldn't manage the menu")))
return new HttpUnauthorizedResult();
_contentManager.Publish(menuPart.ContentItem);
_notifier.Information(
string.IsNullOrWhiteSpace(menuPart.MenuText)
? string.IsNullOrWhiteSpace(menuPart.TypeDefinition.DisplayName)
? T("Your content has been published.")
: T("Your {0} has been published.", menuPart.TypeDefinition.DisplayName)
: T("'{0}' has been published.", menuPart.MenuText));
return RedirectToAction("Index", new { menuId = menuPart.Menu.Id });
}
[HttpPost]
// Copy of Contents/AdminController/Unpublish, but with different permission check and redirect.
public ActionResult Unpublish(int id) {
var menuPart = _contentManager.GetLatest<MenuPart>(id);
if (menuPart == null)
return HttpNotFound();
if (!_authorizer.Authorize(Permissions.ManageMenus, menuPart.Menu, T("Couldn't manage the menu")))
return new HttpUnauthorizedResult();
_contentManager.Unpublish(menuPart.ContentItem);
_notifier.Information(
string.IsNullOrWhiteSpace(menuPart.MenuText)
? string.IsNullOrWhiteSpace(menuPart.TypeDefinition.DisplayName)
? T("Your content has been unpublished.")
: T("Your {0} has been unpublished.", menuPart.TypeDefinition.DisplayName)
: T("'{0}' has been unpublished.", menuPart.MenuText));
return RedirectToAction("Index", new { menuId = menuPart.Menu.Id });
}
private MenuItemEntry CreateMenuItemEntries(MenuPart menuPart) {
return new MenuItemEntry {
MenuItemId = menuPart.Id,
IsMenuItem = menuPart.Is<MenuItemPart>(),
Text = menuPart.MenuText,
Position = menuPart.MenuPosition,
Url = menuPart.Is<MenuItemPart>()
? menuPart.As<MenuItemPart>().Url
: _navigationManager.GetUrl(null, _contentManager.GetItemMetadata(menuPart).DisplayRouteValues),
ContentItem = menuPart.ContentItem,
};
}
private ActionResult EditPOST(int id, string returnUrl, Action<ContentItem> conditionallyPublish) {
var menuPart = _contentManager.GetDraftRequired<MenuPart>(id);
if (menuPart == null)
return HttpNotFound();
if (!_authorizer.Authorize(Permissions.ManageMenus, menuPart.Menu, T("Couldn't manage the menu")))
return new HttpUnauthorizedResult();
var contentItem = menuPart.ContentItem;
string previousRoute = null;
if (contentItem.Has<IAliasAspect>()
&& !string.IsNullOrWhiteSpace(returnUrl)
@@ -289,11 +342,22 @@ namespace Orchard.Core.Navigation.Controllers {
returnUrl = Url.ItemDisplayUrl(contentItem);
}
Services.Notifier.Information(string.IsNullOrWhiteSpace(contentItem.TypeDefinition.DisplayName)
? T("Your content has been saved.")
: T("Your {0} has been saved.", contentItem.TypeDefinition.DisplayName));
_notifier.Information(
string.IsNullOrWhiteSpace(menuPart.MenuText)
? string.IsNullOrWhiteSpace(contentItem.TypeDefinition.DisplayName)
? T("Your content has been saved.")
: T("Your {0} has been saved.", contentItem.TypeDefinition.DisplayName)
: T("'{0}' has been saved.", menuPart.MenuText));
return this.RedirectLocal(returnUrl, () => RedirectToAction("Edit", new RouteValueDictionary { { "Id", contentItem.Id } }));
return RedirectToAction("Index", new { menuId = menuPart.Menu.Id });
}
bool IUpdateModel.TryUpdateModel<TModel>(TModel model, string prefix, string[] includeProperties, string[] excludeProperties) {
return TryUpdateModel(model, prefix, includeProperties, excludeProperties);
}
void IUpdateModel.AddModelError(string key, LocalizedString errorMessage) {
ModelState.AddModelError(key, errorMessage.ToString());
}
}
}

View File

@@ -19,8 +19,8 @@ namespace Orchard.Core.Navigation.Services {
public IEnumerable<MenuPart> GetMenuParts(int menuId) {
return _contentManager
.Query<MenuPart, MenuPartRecord>()
.Where( x => x.MenuId == menuId)
.Query<MenuPart, MenuPartRecord>(VersionOptions.Latest)
.Where(x => x.MenuId == menuId)
.List();
}

View File

@@ -1,4 +1,6 @@
@model NavigationManagementViewModel
@using Orchard.ContentManagement;
@using Orchard.Core.Navigation.ViewModels;
@using Orchard.Utility.Extensions;
@@ -115,8 +117,21 @@
<span class="navigation-position"><input type="text" class="text" name="@Html.NameOf(m => m.MenuItemEntries[i].Position)" value="@menuPartEntry.Position" /></span>
<span class="navigation-actions">
<input type="hidden" name="@Html.NameOf(m => m.MenuItemEntries[i].MenuItemId)" value="@menuPartEntry.MenuItemId" />
@Html.ItemEditLink(T("Edit").Text, menuPartEntry.ContentItem, new { returnUrl = Request.RawUrl })@T(" | ")
@Html.Link(T("Delete").Text, Url.ItemRemoveUrl(menuPartEntry.ContentItem,null), new { itemprop = "RemoveUrl UnsafeUrl" })
@{
var menuItemHasPublished = menuPartEntry.ContentItem.HasPublished();
}
@Html.Link(
menuItemHasPublished ? T("Unpublish").Text : T("Publish").Text,
Url.Action(
menuItemHasPublished ? "Unpublish": "Publish",
"Admin",
new { area = "Navigation", id = menuPartEntry.ContentItem.Id }),
new { itemprop = "UnsafeUrl" })
@T(" | ")
@Html.ItemEditLink(T("Edit").Text, menuPartEntry.ContentItem, new { returnUrl = Request.RawUrl })
@T(" | ")
@Html.Link(T("Delete").Text, Url.ItemRemoveUrl(menuPartEntry.ContentItem, null), new { itemprop = "RemoveUrl UnsafeUrl" })
</span>
</div>

View File

@@ -54,7 +54,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />

View File

@@ -53,7 +53,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />

View File

@@ -54,7 +54,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />

View File

@@ -54,7 +54,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />

View File

@@ -59,8 +59,8 @@
<Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
@@ -250,4 +250,4 @@
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
</Project>
</Project>

View File

@@ -54,7 +54,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />

View File

@@ -5,5 +5,5 @@
<package id="Microsoft.AspNet.WebPages" version="3.2.7" targetFramework="net48" />
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="4.1.0" targetFramework="net48" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net48" />
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net48" />
</packages>
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net48" />
</packages>

View File

@@ -54,7 +54,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />

View File

@@ -61,8 +61,8 @@
<Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="NHibernate, Version=4.1.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\NHibernate.4.1.2.4000\lib\net40\NHibernate.dll</HintPath>

View File

@@ -56,7 +56,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />

View File

@@ -6,7 +6,7 @@
<package id="Microsoft.AspNet.WebPages" version="3.2.7" targetFramework="net48" />
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="4.1.0" targetFramework="net48" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net48" />
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net48" />
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net48" />
<package id="NHibernate" version="4.1.2.4000" targetFramework="net48" />
<package id="XMLDiffPatch" version="1.0.8.28" targetFramework="net48" />
</packages>
</packages>

View File

@@ -53,7 +53,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />

View File

@@ -76,14 +76,14 @@
<Reference Include="Microsoft.Data.Services.Client, Version=5.8.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Microsoft.Data.Services.Client.5.8.4\lib\net40\Microsoft.Data.Services.Client.dll</HintPath>
</Reference>
<Reference Include="Microsoft.IdentityModel.JsonWebTokens, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Microsoft.IdentityModel.JsonWebTokens.5.2.4\lib\net451\Microsoft.IdentityModel.JsonWebTokens.dll</HintPath>
<Reference Include="Microsoft.IdentityModel.JsonWebTokens, Version=5.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Microsoft.IdentityModel.JsonWebTokens.5.7.0\lib\net461\Microsoft.IdentityModel.JsonWebTokens.dll</HintPath>
</Reference>
<Reference Include="Microsoft.IdentityModel.Logging, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Microsoft.IdentityModel.Logging.5.2.4\lib\net451\Microsoft.IdentityModel.Logging.dll</HintPath>
<Reference Include="Microsoft.IdentityModel.Logging, Version=5.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Microsoft.IdentityModel.Logging.5.7.0\lib\net461\Microsoft.IdentityModel.Logging.dll</HintPath>
</Reference>
<Reference Include="Microsoft.IdentityModel.Tokens, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Microsoft.IdentityModel.Tokens.5.2.4\lib\net451\Microsoft.IdentityModel.Tokens.dll</HintPath>
<Reference Include="Microsoft.IdentityModel.Tokens, Version=5.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Microsoft.IdentityModel.Tokens.5.7.0\lib\net461\Microsoft.IdentityModel.Tokens.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Practices.TransientFaultHandling.Core, Version=5.1.1209.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\TransientFaultHandling.Core.5.1.1209.1\lib\NET4\Microsoft.Practices.TransientFaultHandling.Core.dll</HintPath>
@@ -109,8 +109,8 @@
<Reference Include="Microsoft.WindowsAzure.Storage, Version=5.0.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\WindowsAzure.Storage.5.0.2\lib\net40\Microsoft.WindowsAzure.Storage.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="NHibernate, Version=4.1.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\NHibernate.4.1.2.4000\lib\net40\NHibernate.dll</HintPath>
@@ -121,8 +121,8 @@
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.IdentityModel.Tokens.Jwt, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\System.IdentityModel.Tokens.Jwt.5.2.4\lib\net451\System.IdentityModel.Tokens.Jwt.dll</HintPath>
<Reference Include="System.IdentityModel.Tokens.Jwt, Version=5.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\System.IdentityModel.Tokens.Jwt.5.7.0\lib\net461\System.IdentityModel.Tokens.Jwt.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Spatial, Version=5.8.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -27,4 +27,4 @@ var Orchard;
})(Azure = Orchard.Azure || (Orchard.Azure = {}));
})(Orchard || (Orchard = {}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtYWRtaW4tY29tbW9uLmpzIiwiY2xvdWRtZWRpYS1hZG1pbi1jb21tb24udHMiXSwibmFtZXMiOlsiT3JjaGFyZCIsIk9yY2hhcmQuQXp1cmUiLCJPcmNoYXJkLkF6dXJlLk1lZGlhU2VydmljZXMiLCJPcmNoYXJkLkF6dXJlLk1lZGlhU2VydmljZXMuQWRtaW4iLCJPcmNoYXJkLkF6dXJlLk1lZGlhU2VydmljZXMuQWRtaW4uQ29tbW9uIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQUNMQSw0Q0FBNEM7QUFFNUMsSUFBTyxPQUFPLENBU2I7QUFURCxXQUFPLE9BQU87SUFBQ0EsSUFBQUEsS0FBS0EsQ0FTbkJBO0lBVGNBLFdBQUFBLEtBQUtBO1FBQUNDLElBQUFBLGFBQWFBLENBU2pDQTtRQVRvQkEsV0FBQUEsYUFBYUE7WUFBQ0MsSUFBQUEsS0FBS0EsQ0FTdkNBO1lBVGtDQSxXQUFBQSxLQUFLQTtnQkFBQ0MsSUFBQUEsTUFBTUEsQ0FTOUNBO2dCQVR3Q0EsV0FBQUEsTUFBTUEsRUFBQ0EsQ0FBQ0E7b0JBQzdDQyxDQUFDQSxDQUFDQTt3QkFDRUEsQ0FBQ0EsQ0FBQ0EsTUFBTUEsQ0FBQ0EsQ0FBQ0EsRUFBRUEsQ0FBQ0EsT0FBT0EsRUFBRUEscUNBQXFDQSxFQUFFQSxVQUFTQSxDQUFDQTs0QkFDbkUsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzs0QkFFcEMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7Z0NBQ2pCLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQzt3QkFDM0IsQ0FBQyxDQUFDQSxDQUFDQTtvQkFDUEEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7Z0JBQ1BBLENBQUNBLEVBVHdDRCxNQUFNQSxHQUFOQSxZQUFNQSxLQUFOQSxZQUFNQSxRQVM5Q0E7WUFBREEsQ0FBQ0EsRUFUa0NELEtBQUtBLEdBQUxBLG1CQUFLQSxLQUFMQSxtQkFBS0EsUUFTdkNBO1FBQURBLENBQUNBLEVBVG9CRCxhQUFhQSxHQUFiQSxtQkFBYUEsS0FBYkEsbUJBQWFBLFFBU2pDQTtJQUFEQSxDQUFDQSxFQVRjRCxLQUFLQSxHQUFMQSxhQUFLQSxLQUFMQSxhQUFLQSxRQVNuQkE7QUFBREEsQ0FBQ0EsRUFUTSxPQUFPLEtBQVAsT0FBTyxRQVNiIiwiZmlsZSI6ImNsb3VkbWVkaWEtYWRtaW4tY29tbW9uLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiVHlwaW5ncy9qcXVlcnkuZC50c1wiIC8+XG5cbm1vZHVsZSBPcmNoYXJkLkF6dXJlLk1lZGlhU2VydmljZXMuQWRtaW4uQ29tbW9uIHtcbiAgICAkKCgpID0+IHtcbiAgICAgICAgJChcImZvcm1cIikub24oXCJjbGlja1wiLCBcImJ1dHRvbltkYXRhLXByb21wdF0sIGFbZGF0YS1wcm9tcHRdXCIsIGZ1bmN0aW9uKGUpIHtcbiAgICAgICAgICAgIHZhciBwcm9tcHQgPSAkKHRoaXMpLmRhdGEoXCJwcm9tcHRcIik7XG5cbiAgICAgICAgICAgIGlmICghY29uZmlybShwcm9tcHQpKVxuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG59ICJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtYWRtaW4tY29tbW9uLmpzIiwiY2xvdWRtZWRpYS1hZG1pbi1jb21tb24udHMiXSwibmFtZXMiOlsiT3JjaGFyZCIsIk9yY2hhcmQuQXp1cmUiLCJPcmNoYXJkLkF6dXJlLk1lZGlhU2VydmljZXMiLCJPcmNoYXJkLkF6dXJlLk1lZGlhU2VydmljZXMuQWRtaW4iLCJPcmNoYXJkLkF6dXJlLk1lZGlhU2VydmljZXMuQWRtaW4uQ29tbW9uIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQUNMQSw0Q0FBNEM7QUFFNUMsSUFBTyxPQUFPLENBU2I7QUFURCxXQUFPLE9BQU87SUFBQ0EsSUFBQUEsS0FBS0EsQ0FTbkJBO0lBVGNBLFdBQUFBLEtBQUtBO1FBQUNDLElBQUFBLGFBQWFBLENBU2pDQTtRQVRvQkEsV0FBQUEsYUFBYUE7WUFBQ0MsSUFBQUEsS0FBS0EsQ0FTdkNBO1lBVGtDQSxXQUFBQSxLQUFLQTtnQkFBQ0MsSUFBQUEsTUFBTUEsQ0FTOUNBO2dCQVR3Q0EsV0FBQUEsTUFBTUEsRUFBQ0EsQ0FBQ0E7b0JBQzdDQyxDQUFDQSxDQUFDQTt3QkFDRUEsQ0FBQ0EsQ0FBQ0EsTUFBTUEsQ0FBQ0EsQ0FBQ0EsRUFBRUEsQ0FBQ0EsT0FBT0EsRUFBRUEscUNBQXFDQSxFQUFFQSxVQUFTQSxDQUFDQTs0QkFDbkUsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzs0QkFFcEMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7Z0NBQ2pCLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQzt3QkFDM0IsQ0FBQyxDQUFDQSxDQUFDQTtvQkFDUEEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7Z0JBQ1BBLENBQUNBLEVBVHdDRCxNQUFNQSxHQUFOQSxZQUFNQSxLQUFOQSxZQUFNQSxRQVM5Q0E7WUFBREEsQ0FBQ0EsRUFUa0NELEtBQUtBLEdBQUxBLG1CQUFLQSxLQUFMQSxtQkFBS0EsUUFTdkNBO1FBQURBLENBQUNBLEVBVG9CRCxhQUFhQSxHQUFiQSxtQkFBYUEsS0FBYkEsbUJBQWFBLFFBU2pDQTtJQUFEQSxDQUFDQSxFQVRjRCxLQUFLQSxHQUFMQSxhQUFLQSxLQUFMQSxhQUFLQSxRQVNuQkE7QUFBREEsQ0FBQ0EsRUFUTSxPQUFPLEtBQVAsT0FBTyxRQVNiIiwiZmlsZSI6ImNsb3VkbWVkaWEtYWRtaW4tY29tbW9uLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiVHlwaW5ncy9qcXVlcnkuZC50c1wiIC8+XHJcblxyXG5tb2R1bGUgT3JjaGFyZC5BenVyZS5NZWRpYVNlcnZpY2VzLkFkbWluLkNvbW1vbiB7XHJcbiAgICAkKCgpID0+IHtcclxuICAgICAgICAkKFwiZm9ybVwiKS5vbihcImNsaWNrXCIsIFwiYnV0dG9uW2RhdGEtcHJvbXB0XSwgYVtkYXRhLXByb21wdF1cIiwgZnVuY3Rpb24oZSkge1xyXG4gICAgICAgICAgICB2YXIgcHJvbXB0ID0gJCh0aGlzKS5kYXRhKFwicHJvbXB0XCIpO1xyXG5cclxuICAgICAgICAgICAgaWYgKCFjb25maXJtKHByb21wdCkpXHJcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxufSAiXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=

File diff suppressed because one or more lines are too long

View File

@@ -35,4 +35,4 @@ var Orchard;
})(Azure = Orchard.Azure || (Orchard.Azure = {}));
})(Orchard || (Orchard = {}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtYXV0b3JlZnJlc2guanMiLCJjbG91ZG1lZGlhLWF1dG9yZWZyZXNoLnRzIl0sIm5hbWVzIjpbIk9yY2hhcmQiLCJPcmNoYXJkLkF6dXJlIiwiT3JjaGFyZC5BenVyZS5NZWRpYVNlcnZpY2VzIiwiT3JjaGFyZC5BenVyZS5NZWRpYVNlcnZpY2VzLkF1dG9SZWZyZXNoIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQUNMQSw0Q0FBNEM7QUFFNUMsSUFBTyxPQUFPLENBcUJiO0FBckJELFdBQU8sT0FBTztJQUFDQSxJQUFBQSxLQUFLQSxDQXFCbkJBO0lBckJjQSxXQUFBQSxLQUFLQTtRQUFDQyxJQUFBQSxhQUFhQSxDQXFCakNBO1FBckJvQkEsV0FBQUEsYUFBYUE7WUFBQ0MsSUFBQUEsV0FBV0EsQ0FxQjdDQTtZQXJCa0NBLFdBQUFBLFdBQVdBLEVBQUNBLENBQUNBO2dCQUM1Q0MsaUNBQWlDQTtnQkFDakNBLENBQUNBLENBQUNBO29CQUNFQSxDQUFDQSxDQUFDQSxvQkFBb0JBLENBQUNBLENBQUNBLElBQUlBLENBQUNBO3dCQUN6QixJQUFJLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ25CLElBQUksTUFBTSxHQUFHOzRCQUNULElBQUksU0FBUyxHQUFHLElBQUksQ0FBQzs0QkFDckIsSUFBSSxHQUFHLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzs0QkFFeEMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQ0FDSCxHQUFHLEVBQUUsR0FBRztnQ0FDUixLQUFLLEVBQUUsS0FBSzs2QkFDZixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQUEsSUFBSTtnQ0FDUixTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dDQUNyQixVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDOzRCQUM3QixDQUFDLENBQUMsQ0FBQzt3QkFDUCxDQUFDLENBQUM7d0JBRUYsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFDN0IsQ0FBQyxDQUFDQSxDQUFDQTtnQkFDUEEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7WUFDUEEsQ0FBQ0EsRUFyQmtDRCxXQUFXQSxHQUFYQSx5QkFBV0EsS0FBWEEseUJBQVdBLFFBcUI3Q0E7UUFBREEsQ0FBQ0EsRUFyQm9CRCxhQUFhQSxHQUFiQSxtQkFBYUEsS0FBYkEsbUJBQWFBLFFBcUJqQ0E7SUFBREEsQ0FBQ0EsRUFyQmNELEtBQUtBLEdBQUxBLGFBQUtBLEtBQUxBLGFBQUtBLFFBcUJuQkE7QUFBREEsQ0FBQ0EsRUFyQk0sT0FBTyxLQUFQLE9BQU8sUUFxQmIiLCJmaWxlIjoiY2xvdWRtZWRpYS1hdXRvcmVmcmVzaC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIlR5cGluZ3MvanF1ZXJ5LmQudHNcIiAvPlxuXG5tb2R1bGUgT3JjaGFyZC5BenVyZS5NZWRpYVNlcnZpY2VzLkF1dG9SZWZyZXNoIHtcbiAgICAvLyBQZXJpb2RpY2FsbHkgcmVmcmVzaCBlbGVtZW50cy5cbiAgICAkKCgpID0+IHtcbiAgICAgICAgJChcIltkYXRhLXJlZnJlc2gtdXJsXVwiKS5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBzZWxmID0gJCh0aGlzKTtcbiAgICAgICAgICAgIHZhciB1cGRhdGUgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdmFyIGNvbnRhaW5lciA9IHNlbGY7XG4gICAgICAgICAgICAgICAgdmFyIHVybCA9IGNvbnRhaW5lci5kYXRhKFwicmVmcmVzaC11cmxcIik7XG5cbiAgICAgICAgICAgICAgICAkLmFqYXgoe1xuICAgICAgICAgICAgICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgICAgICAgICAgICAgY2FjaGU6IGZhbHNlXG4gICAgICAgICAgICAgICAgfSkudGhlbihodG1sID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyLmh0bWwoaHRtbCk7XG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQodXBkYXRlLCA1MDAwKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHNldFRpbWVvdXQodXBkYXRlLCA1MDAwKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG59Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtYXV0b3JlZnJlc2guanMiLCJjbG91ZG1lZGlhLWF1dG9yZWZyZXNoLnRzIl0sIm5hbWVzIjpbIk9yY2hhcmQiLCJPcmNoYXJkLkF6dXJlIiwiT3JjaGFyZC5BenVyZS5NZWRpYVNlcnZpY2VzIiwiT3JjaGFyZC5BenVyZS5NZWRpYVNlcnZpY2VzLkF1dG9SZWZyZXNoIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQUNMQSw0Q0FBNEM7QUFFNUMsSUFBTyxPQUFPLENBcUJiO0FBckJELFdBQU8sT0FBTztJQUFDQSxJQUFBQSxLQUFLQSxDQXFCbkJBO0lBckJjQSxXQUFBQSxLQUFLQTtRQUFDQyxJQUFBQSxhQUFhQSxDQXFCakNBO1FBckJvQkEsV0FBQUEsYUFBYUE7WUFBQ0MsSUFBQUEsV0FBV0EsQ0FxQjdDQTtZQXJCa0NBLFdBQUFBLFdBQVdBLEVBQUNBLENBQUNBO2dCQUM1Q0MsaUNBQWlDQTtnQkFDakNBLENBQUNBLENBQUNBO29CQUNFQSxDQUFDQSxDQUFDQSxvQkFBb0JBLENBQUNBLENBQUNBLElBQUlBLENBQUNBO3dCQUN6QixJQUFJLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ25CLElBQUksTUFBTSxHQUFHOzRCQUNULElBQUksU0FBUyxHQUFHLElBQUksQ0FBQzs0QkFDckIsSUFBSSxHQUFHLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzs0QkFFeEMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQ0FDSCxHQUFHLEVBQUUsR0FBRztnQ0FDUixLQUFLLEVBQUUsS0FBSzs2QkFDZixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQUEsSUFBSTtnQ0FDUixTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dDQUNyQixVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDOzRCQUM3QixDQUFDLENBQUMsQ0FBQzt3QkFDUCxDQUFDLENBQUM7d0JBRUYsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFDN0IsQ0FBQyxDQUFDQSxDQUFDQTtnQkFDUEEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7WUFDUEEsQ0FBQ0EsRUFyQmtDRCxXQUFXQSxHQUFYQSx5QkFBV0EsS0FBWEEseUJBQVdBLFFBcUI3Q0E7UUFBREEsQ0FBQ0EsRUFyQm9CRCxhQUFhQSxHQUFiQSxtQkFBYUEsS0FBYkEsbUJBQWFBLFFBcUJqQ0E7SUFBREEsQ0FBQ0EsRUFyQmNELEtBQUtBLEdBQUxBLGFBQUtBLEtBQUxBLGFBQUtBLFFBcUJuQkE7QUFBREEsQ0FBQ0EsRUFyQk0sT0FBTyxLQUFQLE9BQU8sUUFxQmIiLCJmaWxlIjoiY2xvdWRtZWRpYS1hdXRvcmVmcmVzaC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIlR5cGluZ3MvanF1ZXJ5LmQudHNcIiAvPlxyXG5cclxubW9kdWxlIE9yY2hhcmQuQXp1cmUuTWVkaWFTZXJ2aWNlcy5BdXRvUmVmcmVzaCB7XHJcbiAgICAvLyBQZXJpb2RpY2FsbHkgcmVmcmVzaCBlbGVtZW50cy5cclxuICAgICQoKCkgPT4ge1xyXG4gICAgICAgICQoXCJbZGF0YS1yZWZyZXNoLXVybF1cIikuZWFjaChmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHZhciBzZWxmID0gJCh0aGlzKTtcclxuICAgICAgICAgICAgdmFyIHVwZGF0ZSA9ICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHZhciBjb250YWluZXIgPSBzZWxmO1xyXG4gICAgICAgICAgICAgICAgdmFyIHVybCA9IGNvbnRhaW5lci5kYXRhKFwicmVmcmVzaC11cmxcIik7XHJcblxyXG4gICAgICAgICAgICAgICAgJC5hamF4KHtcclxuICAgICAgICAgICAgICAgICAgICB1cmw6IHVybCxcclxuICAgICAgICAgICAgICAgICAgICBjYWNoZTogZmFsc2VcclxuICAgICAgICAgICAgICAgIH0pLnRoZW4oaHRtbCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyLmh0bWwoaHRtbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCh1cGRhdGUsIDUwMDApO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KHVwZGF0ZSwgNTAwMCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxufSJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==

View File

@@ -45,4 +45,4 @@ var Orchard;
})(Azure = Orchard.Azure || (Orchard.Azure = {}));
})(Orchard || (Orchard = {}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtZWRpdC1hc3NldC12aWRlby5qcyIsImNsb3VkbWVkaWEtZWRpdC1hc3NldC12aWRlby50cyJdLCJuYW1lcyI6WyJPcmNoYXJkIiwiT3JjaGFyZC5BenVyZSIsIk9yY2hhcmQuQXp1cmUuTWVkaWFTZXJ2aWNlcyIsIk9yY2hhcmQuQXp1cmUuTWVkaWFTZXJ2aWNlcy5Bc3NldEVkaXQiLCJPcmNoYXJkLkF6dXJlLk1lZGlhU2VydmljZXMuQXNzZXRFZGl0LlZpZGVvIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQUNMQSw0Q0FBNEM7QUFDNUMsOENBQThDO0FBRTlDLElBQU8sT0FBTyxDQTZCYjtBQTdCRCxXQUFPLE9BQU87SUFBQ0EsSUFBQUEsS0FBS0EsQ0E2Qm5CQTtJQTdCY0EsV0FBQUEsS0FBS0E7UUFBQ0MsSUFBQUEsYUFBYUEsQ0E2QmpDQTtRQTdCb0JBLFdBQUFBLGFBQWFBO1lBQUNDLElBQUFBLFNBQVNBLENBNkIzQ0E7WUE3QmtDQSxXQUFBQSxTQUFTQTtnQkFBQ0MsSUFBQUEsS0FBS0EsQ0E2QmpEQTtnQkE3QjRDQSxXQUFBQSxLQUFLQSxFQUFDQSxDQUFDQTtvQkFDaERDLENBQUNBLENBQUNBO3dCQUNFLElBQUksUUFBUSxHQUFRLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO3dCQUUvQyxRQUFRLENBQUMsTUFBTSxDQUFDOzRCQUNaLE1BQU0sRUFBRTtnQ0FDSixXQUFXLEVBQUUsQ0FBQztnQ0FDZCxnQkFBZ0IsRUFBRSxJQUFJO2dDQUN0QixRQUFRLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFOzZCQUNoQzs0QkFDRCxTQUFTLEVBQUUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDO3lCQUNuQyxDQUFDLENBQUM7d0JBRUgsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsVUFBUyxDQUFDOzRCQUNuQyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO3dCQUNoQyxDQUFDLENBQUMsQ0FBQzt3QkFFSCxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUM7NEJBQ3RDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7d0JBQ2pDLENBQUMsQ0FBQyxDQUFDO3dCQUVILCtDQUErQzt3QkFDL0Msd0RBQXdEO3dCQUN4RCxzQ0FBc0M7d0JBQ3RDLHVCQUF1Qjt3QkFDdkIscUNBQXFDO3dCQUNyQyxPQUFPO3dCQUNQLEtBQUs7b0JBQ1QsQ0FBQyxDQUFDQSxDQUFDQTtnQkFDUEEsQ0FBQ0EsRUE3QjRDRCxLQUFLQSxHQUFMQSxlQUFLQSxLQUFMQSxlQUFLQSxRQTZCakRBO1lBQURBLENBQUNBLEVBN0JrQ0QsU0FBU0EsR0FBVEEsdUJBQVNBLEtBQVRBLHVCQUFTQSxRQTZCM0NBO1FBQURBLENBQUNBLEVBN0JvQkQsYUFBYUEsR0FBYkEsbUJBQWFBLEtBQWJBLG1CQUFhQSxRQTZCakNBO0lBQURBLENBQUNBLEVBN0JjRCxLQUFLQSxHQUFMQSxhQUFLQSxLQUFMQSxhQUFLQSxRQTZCbkJBO0FBQURBLENBQUNBLEVBN0JNLE9BQU8sS0FBUCxPQUFPLFFBNkJiIiwiZmlsZSI6ImNsb3VkbWVkaWEtZWRpdC1hc3NldC12aWRlby5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIlR5cGluZ3MvanF1ZXJ5LmQudHNcIiAvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cIlR5cGluZ3MvanF1ZXJ5dWkuZC50c1wiIC8+XG5cbm1vZHVsZSBPcmNoYXJkLkF6dXJlLk1lZGlhU2VydmljZXMuQXNzZXRFZGl0LlZpZGVvIHtcbiAgICAkKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIHRyZWVWaWV3OiBhbnkgPSAkKFwiI2Fzc2V0LWZpbGVzLXRyZWV2aWV3XCIpO1xuXG4gICAgICAgIHRyZWVWaWV3LmpzdHJlZSh7XG4gICAgICAgICAgICBcImNvcmVcIjoge1xuICAgICAgICAgICAgICAgIFwiYW5pbWF0aW9uXCI6IDAsXG4gICAgICAgICAgICAgICAgXCJjaGVja19jYWxsYmFja1wiOiB0cnVlLFxuICAgICAgICAgICAgICAgIFwidGhlbWVzXCI6IHsgXCJzdHJpcGVzXCI6IHRydWUgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcInBsdWdpbnNcIjogW1wic3RhdGVcIiwgXCJ3aG9sZXJvd1wiXVxuICAgICAgICB9KTtcblxuICAgICAgICAkKFwiLmV4cGFuZC1hbGxcIikub24oXCJjbGlja1wiLCBmdW5jdGlvbihlKSB7XG4gICAgICAgICAgICB0cmVlVmlldy5qc3RyZWUoJ29wZW5fYWxsJyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgICQoXCIuY29sbGFwc2UtYWxsXCIpLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgIHRyZWVWaWV3LmpzdHJlZSgnY2xvc2VfYWxsJyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFRPRE86IE1ha2UgbGlua3Mgd29yayAoUHJpdmF0ZS9QdWJsaWMgVVJMUykuXG4gICAgICAgIC8vdHJlZVZpZXcub24oXCJzZWxlY3Rfbm9kZS5qc3RyZWVcIiwgZnVuY3Rpb24gKGUsIGRhdGEpIHtcbiAgICAgICAgLy8gICAgdmFyIHVybCA9IGRhdGEubm9kZS5hX2F0dHIuaHJlZjtcbiAgICAgICAgLy8gICAgaWYgKHVybCAhPSBcIiNcIikge1xuICAgICAgICAvLyAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB1cmw7XG4gICAgICAgIC8vICAgIH1cbiAgICAgICAgLy99KTtcbiAgICB9KTtcbn0iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtZWRpdC1hc3NldC12aWRlby5qcyIsImNsb3VkbWVkaWEtZWRpdC1hc3NldC12aWRlby50cyJdLCJuYW1lcyI6WyJPcmNoYXJkIiwiT3JjaGFyZC5BenVyZSIsIk9yY2hhcmQuQXp1cmUuTWVkaWFTZXJ2aWNlcyIsIk9yY2hhcmQuQXp1cmUuTWVkaWFTZXJ2aWNlcy5Bc3NldEVkaXQiLCJPcmNoYXJkLkF6dXJlLk1lZGlhU2VydmljZXMuQXNzZXRFZGl0LlZpZGVvIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQUNMQSw0Q0FBNEM7QUFDNUMsOENBQThDO0FBRTlDLElBQU8sT0FBTyxDQTZCYjtBQTdCRCxXQUFPLE9BQU87SUFBQ0EsSUFBQUEsS0FBS0EsQ0E2Qm5CQTtJQTdCY0EsV0FBQUEsS0FBS0E7UUFBQ0MsSUFBQUEsYUFBYUEsQ0E2QmpDQTtRQTdCb0JBLFdBQUFBLGFBQWFBO1lBQUNDLElBQUFBLFNBQVNBLENBNkIzQ0E7WUE3QmtDQSxXQUFBQSxTQUFTQTtnQkFBQ0MsSUFBQUEsS0FBS0EsQ0E2QmpEQTtnQkE3QjRDQSxXQUFBQSxLQUFLQSxFQUFDQSxDQUFDQTtvQkFDaERDLENBQUNBLENBQUNBO3dCQUNFLElBQUksUUFBUSxHQUFRLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO3dCQUUvQyxRQUFRLENBQUMsTUFBTSxDQUFDOzRCQUNaLE1BQU0sRUFBRTtnQ0FDSixXQUFXLEVBQUUsQ0FBQztnQ0FDZCxnQkFBZ0IsRUFBRSxJQUFJO2dDQUN0QixRQUFRLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFOzZCQUNoQzs0QkFDRCxTQUFTLEVBQUUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDO3lCQUNuQyxDQUFDLENBQUM7d0JBRUgsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsVUFBUyxDQUFDOzRCQUNuQyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO3dCQUNoQyxDQUFDLENBQUMsQ0FBQzt3QkFFSCxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUM7NEJBQ3RDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7d0JBQ2pDLENBQUMsQ0FBQyxDQUFDO3dCQUVILCtDQUErQzt3QkFDL0Msd0RBQXdEO3dCQUN4RCxzQ0FBc0M7d0JBQ3RDLHVCQUF1Qjt3QkFDdkIscUNBQXFDO3dCQUNyQyxPQUFPO3dCQUNQLEtBQUs7b0JBQ1QsQ0FBQyxDQUFDQSxDQUFDQTtnQkFDUEEsQ0FBQ0EsRUE3QjRDRCxLQUFLQSxHQUFMQSxlQUFLQSxLQUFMQSxlQUFLQSxRQTZCakRBO1lBQURBLENBQUNBLEVBN0JrQ0QsU0FBU0EsR0FBVEEsdUJBQVNBLEtBQVRBLHVCQUFTQSxRQTZCM0NBO1FBQURBLENBQUNBLEVBN0JvQkQsYUFBYUEsR0FBYkEsbUJBQWFBLEtBQWJBLG1CQUFhQSxRQTZCakNBO0lBQURBLENBQUNBLEVBN0JjRCxLQUFLQSxHQUFMQSxhQUFLQSxLQUFMQSxhQUFLQSxRQTZCbkJBO0FBQURBLENBQUNBLEVBN0JNLE9BQU8sS0FBUCxPQUFPLFFBNkJiIiwiZmlsZSI6ImNsb3VkbWVkaWEtZWRpdC1hc3NldC12aWRlby5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIlR5cGluZ3MvanF1ZXJ5LmQudHNcIiAvPlxyXG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiVHlwaW5ncy9qcXVlcnl1aS5kLnRzXCIgLz5cclxuXHJcbm1vZHVsZSBPcmNoYXJkLkF6dXJlLk1lZGlhU2VydmljZXMuQXNzZXRFZGl0LlZpZGVvIHtcclxuICAgICQoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHZhciB0cmVlVmlldzogYW55ID0gJChcIiNhc3NldC1maWxlcy10cmVldmlld1wiKTtcclxuXHJcbiAgICAgICAgdHJlZVZpZXcuanN0cmVlKHtcclxuICAgICAgICAgICAgXCJjb3JlXCI6IHtcclxuICAgICAgICAgICAgICAgIFwiYW5pbWF0aW9uXCI6IDAsXHJcbiAgICAgICAgICAgICAgICBcImNoZWNrX2NhbGxiYWNrXCI6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBcInRoZW1lc1wiOiB7IFwic3RyaXBlc1wiOiB0cnVlIH0sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIFwicGx1Z2luc1wiOiBbXCJzdGF0ZVwiLCBcIndob2xlcm93XCJdXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICQoXCIuZXhwYW5kLWFsbFwiKS5vbihcImNsaWNrXCIsIGZ1bmN0aW9uKGUpIHtcclxuICAgICAgICAgICAgdHJlZVZpZXcuanN0cmVlKCdvcGVuX2FsbCcpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAkKFwiLmNvbGxhcHNlLWFsbFwiKS5vbihcImNsaWNrXCIsIGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgICAgIHRyZWVWaWV3LmpzdHJlZSgnY2xvc2VfYWxsJyk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8vIFRPRE86IE1ha2UgbGlua3Mgd29yayAoUHJpdmF0ZS9QdWJsaWMgVVJMUykuXHJcbiAgICAgICAgLy90cmVlVmlldy5vbihcInNlbGVjdF9ub2RlLmpzdHJlZVwiLCBmdW5jdGlvbiAoZSwgZGF0YSkge1xyXG4gICAgICAgIC8vICAgIHZhciB1cmwgPSBkYXRhLm5vZGUuYV9hdHRyLmhyZWY7XHJcbiAgICAgICAgLy8gICAgaWYgKHVybCAhPSBcIiNcIikge1xyXG4gICAgICAgIC8vICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHVybDtcclxuICAgICAgICAvLyAgICB9XHJcbiAgICAgICAgLy99KTtcclxuICAgIH0pO1xyXG59Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9

View File

@@ -28,4 +28,4 @@ var Orchard;
})(Azure = Orchard.Azure || (Orchard.Azure = {}));
})(Orchard || (Orchard = {}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtZWRpdC1hc3NldC5qcyIsImNsb3VkbWVkaWEtZWRpdC1hc3NldC50cyJdLCJuYW1lcyI6WyJPcmNoYXJkIiwiT3JjaGFyZC5BenVyZSIsIk9yY2hhcmQuQXp1cmUuTWVkaWFTZXJ2aWNlcyIsIk9yY2hhcmQuQXp1cmUuTWVkaWFTZXJ2aWNlcy5Bc3NldEVkaXQiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxBQ0xBLDRDQUE0QztBQUM1Qyw4Q0FBOEM7QUFFOUMsSUFBTyxPQUFPLENBV2I7QUFYRCxXQUFPLE9BQU87SUFBQ0EsSUFBQUEsS0FBS0EsQ0FXbkJBO0lBWGNBLFdBQUFBLEtBQUtBO1FBQUNDLElBQUFBLGFBQWFBLENBV2pDQTtRQVhvQkEsV0FBQUEsYUFBYUE7WUFBQ0MsSUFBQUEsU0FBU0EsQ0FXM0NBO1lBWGtDQSxXQUFBQSxTQUFTQSxFQUFDQSxDQUFDQTtnQkFDMUNDLENBQUNBLENBQUNBO29CQUNFLElBQUksWUFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztvQkFDMUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQzt3QkFDWixRQUFRLEVBQUU7NEJBQ04sRUFBRSxDQUFDLENBQUMsWUFBWSxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUM7Z0NBQ3JDLFlBQVksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQzt3QkFDdEYsQ0FBQzt3QkFDRCxNQUFNLEVBQUUsWUFBWSxJQUFJLFlBQVksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLElBQUk7cUJBQ2pHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDZCxDQUFDLENBQUNBLENBQUNBO1lBQ1BBLENBQUNBLEVBWGtDRCxTQUFTQSxHQUFUQSx1QkFBU0EsS0FBVEEsdUJBQVNBLFFBVzNDQTtRQUFEQSxDQUFDQSxFQVhvQkQsYUFBYUEsR0FBYkEsbUJBQWFBLEtBQWJBLG1CQUFhQSxRQVdqQ0E7SUFBREEsQ0FBQ0EsRUFYY0QsS0FBS0EsR0FBTEEsYUFBS0EsS0FBTEEsYUFBS0EsUUFXbkJBO0FBQURBLENBQUNBLEVBWE0sT0FBTyxLQUFQLE9BQU8sUUFXYiIsImZpbGUiOiJjbG91ZG1lZGlhLWVkaXQtYXNzZXQuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJUeXBpbmdzL2pxdWVyeS5kLnRzXCIgLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJUeXBpbmdzL2pxdWVyeXVpLmQudHNcIiAvPlxuXG5tb2R1bGUgT3JjaGFyZC5BenVyZS5NZWRpYVNlcnZpY2VzLkFzc2V0RWRpdCB7XG4gICAgJChmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIGxvY2FsU3RvcmFnZSA9IHdpbmRvd1tcImxvY2FsU3RvcmFnZVwiXTtcbiAgICAgICAgJChcIiN0YWJzXCIpLnRhYnMoe1xuICAgICAgICAgICAgYWN0aXZhdGU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICBpZiAobG9jYWxTdG9yYWdlICYmIGxvY2FsU3RvcmFnZS5zZXRJdGVtKVxuICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcInNlbGVjdGVkQXNzZXRUYWJcIiwgJChcIiN0YWJzXCIpLnRhYnMoXCJvcHRpb25cIiwgXCJhY3RpdmVcIikpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGFjdGl2ZTogbG9jYWxTdG9yYWdlICYmIGxvY2FsU3RvcmFnZS5nZXRJdGVtID8gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJzZWxlY3RlZEFzc2V0VGFiXCIpIDogbnVsbFxuICAgICAgICB9KS5zaG93KCk7IFxuICAgIH0pO1xufSJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtZWRpdC1hc3NldC5qcyIsImNsb3VkbWVkaWEtZWRpdC1hc3NldC50cyJdLCJuYW1lcyI6WyJPcmNoYXJkIiwiT3JjaGFyZC5BenVyZSIsIk9yY2hhcmQuQXp1cmUuTWVkaWFTZXJ2aWNlcyIsIk9yY2hhcmQuQXp1cmUuTWVkaWFTZXJ2aWNlcy5Bc3NldEVkaXQiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxBQ0xBLDRDQUE0QztBQUM1Qyw4Q0FBOEM7QUFFOUMsSUFBTyxPQUFPLENBV2I7QUFYRCxXQUFPLE9BQU87SUFBQ0EsSUFBQUEsS0FBS0EsQ0FXbkJBO0lBWGNBLFdBQUFBLEtBQUtBO1FBQUNDLElBQUFBLGFBQWFBLENBV2pDQTtRQVhvQkEsV0FBQUEsYUFBYUE7WUFBQ0MsSUFBQUEsU0FBU0EsQ0FXM0NBO1lBWGtDQSxXQUFBQSxTQUFTQSxFQUFDQSxDQUFDQTtnQkFDMUNDLENBQUNBLENBQUNBO29CQUNFLElBQUksWUFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztvQkFDMUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQzt3QkFDWixRQUFRLEVBQUU7NEJBQ04sRUFBRSxDQUFDLENBQUMsWUFBWSxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUM7Z0NBQ3JDLFlBQVksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQzt3QkFDdEYsQ0FBQzt3QkFDRCxNQUFNLEVBQUUsWUFBWSxJQUFJLFlBQVksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLElBQUk7cUJBQ2pHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDZCxDQUFDLENBQUNBLENBQUNBO1lBQ1BBLENBQUNBLEVBWGtDRCxTQUFTQSxHQUFUQSx1QkFBU0EsS0FBVEEsdUJBQVNBLFFBVzNDQTtRQUFEQSxDQUFDQSxFQVhvQkQsYUFBYUEsR0FBYkEsbUJBQWFBLEtBQWJBLG1CQUFhQSxRQVdqQ0E7SUFBREEsQ0FBQ0EsRUFYY0QsS0FBS0EsR0FBTEEsYUFBS0EsS0FBTEEsYUFBS0EsUUFXbkJBO0FBQURBLENBQUNBLEVBWE0sT0FBTyxLQUFQLE9BQU8sUUFXYiIsImZpbGUiOiJjbG91ZG1lZGlhLWVkaXQtYXNzZXQuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJUeXBpbmdzL2pxdWVyeS5kLnRzXCIgLz5cclxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cIlR5cGluZ3MvanF1ZXJ5dWkuZC50c1wiIC8+XHJcblxyXG5tb2R1bGUgT3JjaGFyZC5BenVyZS5NZWRpYVNlcnZpY2VzLkFzc2V0RWRpdCB7XHJcbiAgICAkKGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHZhciBsb2NhbFN0b3JhZ2UgPSB3aW5kb3dbXCJsb2NhbFN0b3JhZ2VcIl07XHJcbiAgICAgICAgJChcIiN0YWJzXCIpLnRhYnMoe1xyXG4gICAgICAgICAgICBhY3RpdmF0ZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKGxvY2FsU3RvcmFnZSAmJiBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSlcclxuICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcInNlbGVjdGVkQXNzZXRUYWJcIiwgJChcIiN0YWJzXCIpLnRhYnMoXCJvcHRpb25cIiwgXCJhY3RpdmVcIikpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBhY3RpdmU6IGxvY2FsU3RvcmFnZSAmJiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSA/IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwic2VsZWN0ZWRBc3NldFRhYlwiKSA6IG51bGxcclxuICAgICAgICB9KS5zaG93KCk7IFxyXG4gICAgfSk7XHJcbn0iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=

View File

@@ -39,4 +39,4 @@ var Orchard;
})(Azure = Orchard.Azure || (Orchard.Azure = {}));
})(Orchard || (Orchard = {}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtZWRpdC1jbG91ZHZpZGVvcGFydC5qcyIsImNsb3VkbWVkaWEtZWRpdC1jbG91ZHZpZGVvcGFydC50cyJdLCJuYW1lcyI6WyJPcmNoYXJkIiwiT3JjaGFyZC5BenVyZSIsIk9yY2hhcmQuQXp1cmUuTWVkaWFTZXJ2aWNlcyIsIk9yY2hhcmQuQXp1cmUuTWVkaWFTZXJ2aWNlcy5DbG91ZFZpZGVvRWRpdCIsIk9yY2hhcmQuQXp1cmUuTWVkaWFTZXJ2aWNlcy5DbG91ZFZpZGVvRWRpdC5oYXNDb3JzU3VwcG9ydCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEFDTEEsNENBQTRDO0FBQzVDLDhDQUE4QztBQUU5QyxJQUFPLE9BQU8sQ0F3QmI7QUF4QkQsV0FBTyxPQUFPO0lBQUNBLElBQUFBLEtBQUtBLENBd0JuQkE7SUF4QmNBLFdBQUFBLEtBQUtBO1FBQUNDLElBQUFBLGFBQWFBLENBd0JqQ0E7UUF4Qm9CQSxXQUFBQSxhQUFhQTtZQUFDQyxJQUFBQSxjQUFjQSxDQXdCaERBO1lBeEJrQ0EsV0FBQUEsY0FBY0EsRUFBQ0EsQ0FBQ0E7Z0JBQy9DQztvQkFDSUMsTUFBTUEsQ0FBQ0EsaUJBQWlCQSxJQUFJQSxJQUFJQSxjQUFjQSxFQUFFQSxDQUFDQTtnQkFDckRBLENBQUNBO2dCQUVERCxDQUFDQSxDQUFDQTtvQkFDRSxJQUFJLGFBQWEsR0FBRyxjQUFjLEVBQUUsQ0FBQztvQkFFckMsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQzt3QkFDaEIscUNBQXNCLEVBQUUsQ0FBQztvQkFDN0IsQ0FBQztvQkFBQyxJQUFJLENBQUMsQ0FBQzt3QkFDSixzQ0FBdUIsRUFBRSxDQUFDO29CQUM5QixDQUFDO29CQUVELElBQUksWUFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztvQkFDMUMsSUFBSSxVQUFVLEdBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO29CQUNuRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDO3dCQUNaLFFBQVEsRUFBRTs0QkFDTixFQUFFLENBQUMsQ0FBQyxZQUFZLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQztnQ0FDckMsWUFBWSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO3dCQUMzRixDQUFDO3dCQUNELE1BQU0sRUFBRSxDQUFDLFVBQVUsSUFBSSxZQUFZLElBQUksWUFBWSxDQUFDLE9BQU8sR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLEdBQUcsSUFBSTtxQkFDckgsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNkLENBQUMsQ0FBQ0EsQ0FBQ0E7WUFDUEEsQ0FBQ0EsRUF4QmtDRCxjQUFjQSxHQUFkQSw0QkFBY0EsS0FBZEEsNEJBQWNBLFFBd0JoREE7UUFBREEsQ0FBQ0EsRUF4Qm9CRCxhQUFhQSxHQUFiQSxtQkFBYUEsS0FBYkEsbUJBQWFBLFFBd0JqQ0E7SUFBREEsQ0FBQ0EsRUF4QmNELEtBQUtBLEdBQUxBLGFBQUtBLEtBQUxBLGFBQUtBLFFBd0JuQkE7QUFBREEsQ0FBQ0EsRUF4Qk0sT0FBTyxLQUFQLE9BQU8sUUF3QmIiLCJmaWxlIjoiY2xvdWRtZWRpYS1lZGl0LWNsb3VkdmlkZW9wYXJ0LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiVHlwaW5ncy9qcXVlcnkuZC50c1wiIC8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiVHlwaW5ncy9qcXVlcnl1aS5kLnRzXCIgLz5cblxubW9kdWxlIE9yY2hhcmQuQXp1cmUuTWVkaWFTZXJ2aWNlcy5DbG91ZFZpZGVvRWRpdCB7XG4gICAgZnVuY3Rpb24gaGFzQ29yc1N1cHBvcnQoKSB7XG4gICAgICAgIHJldHVybiAnd2l0aENyZWRlbnRpYWxzJyBpbiBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcbiAgICB9XG5cbiAgICAkKGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgY29yc1N1cHBvcnRlZCA9IGhhc0NvcnNTdXBwb3J0KCk7XG5cbiAgICAgICAgaWYgKGNvcnNTdXBwb3J0ZWQpIHtcbiAgICAgICAgICAgIGluaXRpYWxpemVVcGxvYWREaXJlY3QoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGluaXRpYWxpemVVcGxvYWRQcm94aWVkKCk7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgbG9jYWxTdG9yYWdlID0gd2luZG93W1wibG9jYWxTdG9yYWdlXCJdO1xuICAgICAgICB2YXIgaXNDcmVhdGluZzogYm9vbGVhbiA9ICQoXCIjdGFic1wiKS5kYXRhKFwiY2xvdWR2aWRlby1pc2NyZWF0aW5nXCIpO1xuICAgICAgICAkKFwiI3RhYnNcIikudGFicyh7XG4gICAgICAgICAgICBhY3RpdmF0ZTogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIGlmIChsb2NhbFN0b3JhZ2UgJiYgbG9jYWxTdG9yYWdlLnNldEl0ZW0pXG4gICAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwic2VsZWN0ZWRDbG91ZFZpZGVvVGFiXCIsICQoXCIjdGFic1wiKS50YWJzKFwib3B0aW9uXCIsIFwiYWN0aXZlXCIpKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBhY3RpdmU6ICFpc0NyZWF0aW5nICYmIGxvY2FsU3RvcmFnZSAmJiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSA/IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwic2VsZWN0ZWRDbG91ZFZpZGVvVGFiXCIpIDogbnVsbFxuICAgICAgICB9KS5zaG93KCk7XG4gICAgfSk7XG59Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtZWRpdC1jbG91ZHZpZGVvcGFydC5qcyIsImNsb3VkbWVkaWEtZWRpdC1jbG91ZHZpZGVvcGFydC50cyJdLCJuYW1lcyI6WyJPcmNoYXJkIiwiT3JjaGFyZC5BenVyZSIsIk9yY2hhcmQuQXp1cmUuTWVkaWFTZXJ2aWNlcyIsIk9yY2hhcmQuQXp1cmUuTWVkaWFTZXJ2aWNlcy5DbG91ZFZpZGVvRWRpdCIsIk9yY2hhcmQuQXp1cmUuTWVkaWFTZXJ2aWNlcy5DbG91ZFZpZGVvRWRpdC5oYXNDb3JzU3VwcG9ydCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEFDTEEsNENBQTRDO0FBQzVDLDhDQUE4QztBQUU5QyxJQUFPLE9BQU8sQ0F3QmI7QUF4QkQsV0FBTyxPQUFPO0lBQUNBLElBQUFBLEtBQUtBLENBd0JuQkE7SUF4QmNBLFdBQUFBLEtBQUtBO1FBQUNDLElBQUFBLGFBQWFBLENBd0JqQ0E7UUF4Qm9CQSxXQUFBQSxhQUFhQTtZQUFDQyxJQUFBQSxjQUFjQSxDQXdCaERBO1lBeEJrQ0EsV0FBQUEsY0FBY0EsRUFBQ0EsQ0FBQ0E7Z0JBQy9DQztvQkFDSUMsTUFBTUEsQ0FBQ0EsaUJBQWlCQSxJQUFJQSxJQUFJQSxjQUFjQSxFQUFFQSxDQUFDQTtnQkFDckRBLENBQUNBO2dCQUVERCxDQUFDQSxDQUFDQTtvQkFDRSxJQUFJLGFBQWEsR0FBRyxjQUFjLEVBQUUsQ0FBQztvQkFFckMsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQzt3QkFDaEIscUNBQXNCLEVBQUUsQ0FBQztvQkFDN0IsQ0FBQztvQkFBQyxJQUFJLENBQUMsQ0FBQzt3QkFDSixzQ0FBdUIsRUFBRSxDQUFDO29CQUM5QixDQUFDO29CQUVELElBQUksWUFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztvQkFDMUMsSUFBSSxVQUFVLEdBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO29CQUNuRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDO3dCQUNaLFFBQVEsRUFBRTs0QkFDTixFQUFFLENBQUMsQ0FBQyxZQUFZLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQztnQ0FDckMsWUFBWSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO3dCQUMzRixDQUFDO3dCQUNELE1BQU0sRUFBRSxDQUFDLFVBQVUsSUFBSSxZQUFZLElBQUksWUFBWSxDQUFDLE9BQU8sR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLEdBQUcsSUFBSTtxQkFDckgsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNkLENBQUMsQ0FBQ0EsQ0FBQ0E7WUFDUEEsQ0FBQ0EsRUF4QmtDRCxjQUFjQSxHQUFkQSw0QkFBY0EsS0FBZEEsNEJBQWNBLFFBd0JoREE7UUFBREEsQ0FBQ0EsRUF4Qm9CRCxhQUFhQSxHQUFiQSxtQkFBYUEsS0FBYkEsbUJBQWFBLFFBd0JqQ0E7SUFBREEsQ0FBQ0EsRUF4QmNELEtBQUtBLEdBQUxBLGFBQUtBLEtBQUxBLGFBQUtBLFFBd0JuQkE7QUFBREEsQ0FBQ0EsRUF4Qk0sT0FBTyxLQUFQLE9BQU8sUUF3QmIiLCJmaWxlIjoiY2xvdWRtZWRpYS1lZGl0LWNsb3VkdmlkZW9wYXJ0LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiVHlwaW5ncy9qcXVlcnkuZC50c1wiIC8+XHJcbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJUeXBpbmdzL2pxdWVyeXVpLmQudHNcIiAvPlxyXG5cclxubW9kdWxlIE9yY2hhcmQuQXp1cmUuTWVkaWFTZXJ2aWNlcy5DbG91ZFZpZGVvRWRpdCB7XHJcbiAgICBmdW5jdGlvbiBoYXNDb3JzU3VwcG9ydCgpIHtcclxuICAgICAgICByZXR1cm4gJ3dpdGhDcmVkZW50aWFscycgaW4gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgJChmdW5jdGlvbigpIHtcclxuICAgICAgICB2YXIgY29yc1N1cHBvcnRlZCA9IGhhc0NvcnNTdXBwb3J0KCk7XHJcblxyXG4gICAgICAgIGlmIChjb3JzU3VwcG9ydGVkKSB7XHJcbiAgICAgICAgICAgIGluaXRpYWxpemVVcGxvYWREaXJlY3QoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpbml0aWFsaXplVXBsb2FkUHJveGllZCgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdmFyIGxvY2FsU3RvcmFnZSA9IHdpbmRvd1tcImxvY2FsU3RvcmFnZVwiXTtcclxuICAgICAgICB2YXIgaXNDcmVhdGluZzogYm9vbGVhbiA9ICQoXCIjdGFic1wiKS5kYXRhKFwiY2xvdWR2aWRlby1pc2NyZWF0aW5nXCIpO1xyXG4gICAgICAgICQoXCIjdGFic1wiKS50YWJzKHtcclxuICAgICAgICAgICAgYWN0aXZhdGU6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgIGlmIChsb2NhbFN0b3JhZ2UgJiYgbG9jYWxTdG9yYWdlLnNldEl0ZW0pXHJcbiAgICAgICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJzZWxlY3RlZENsb3VkVmlkZW9UYWJcIiwgJChcIiN0YWJzXCIpLnRhYnMoXCJvcHRpb25cIiwgXCJhY3RpdmVcIikpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBhY3RpdmU6ICFpc0NyZWF0aW5nICYmIGxvY2FsU3RvcmFnZSAmJiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSA/IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwic2VsZWN0ZWRDbG91ZFZpZGVvVGFiXCIpIDogbnVsbFxyXG4gICAgICAgIH0pLnNob3coKTtcclxuICAgIH0pO1xyXG59Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9

View File

@@ -26,4 +26,4 @@ var Orchard;
})(Azure = Orchard.Azure || (Orchard.Azure = {}));
})(Orchard || (Orchard = {}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtdmlkZW9wbGF5ZXItZGF0YS5qcyIsImNsb3VkbWVkaWEtdmlkZW9wbGF5ZXItZGF0YS50cyJdLCJuYW1lcyI6WyJPcmNoYXJkIiwiT3JjaGFyZC5BenVyZSIsIk9yY2hhcmQuQXp1cmUuTWVkaWFTZXJ2aWNlcyIsIk9yY2hhcmQuQXp1cmUuTWVkaWFTZXJ2aWNlcy5WaWRlb1BsYXllciIsIk9yY2hhcmQuQXp1cmUuTWVkaWFTZXJ2aWNlcy5WaWRlb1BsYXllci5EYXRhIiwiT3JjaGFyZC5BenVyZS5NZWRpYVNlcnZpY2VzLlZpZGVvUGxheWVyLkRhdGEuQXNzZXRUeXBlIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQUNMQSxJQUFPLE9BQU8sQ0FrRmI7QUFsRkQsV0FBTyxPQUFPO0lBQUNBLElBQUFBLEtBQUtBLENBa0ZuQkE7SUFsRmNBLFdBQUFBLEtBQUtBO1FBQUNDLElBQUFBLGFBQWFBLENBa0ZqQ0E7UUFsRm9CQSxXQUFBQSxhQUFhQTtZQUFDQyxJQUFBQSxXQUFXQSxDQWtGN0NBO1lBbEZrQ0EsV0FBQUEsV0FBV0E7Z0JBQUNDLElBQUFBLElBQUlBLENBa0ZsREE7Z0JBbEY4Q0EsV0FBQUEsSUFBSUEsRUFBQ0EsQ0FBQ0E7b0JBb0JqREMsV0FBWUEsU0FBU0E7d0JBQ2pCQyxxREFBVUEsQ0FBQUE7d0JBQ1ZBLG1FQUFpQkEsQ0FBQUE7d0JBQ2pCQSw2REFBY0EsQ0FBQUE7d0JBQ2RBLDJEQUFhQSxDQUFBQTtvQkFDakJBLENBQUNBLEVBTFdELGNBQVNBLEtBQVRBLGNBQVNBLFFBS3BCQTtvQkFMREEsSUFBWUEsU0FBU0EsR0FBVEEsY0FLWEEsQ0FBQUE7Z0JBeURMQSxDQUFDQSxFQWxGOENELElBQUlBLEdBQUpBLGdCQUFJQSxLQUFKQSxnQkFBSUEsUUFrRmxEQTtZQUFEQSxDQUFDQSxFQWxGa0NELFdBQVdBLEdBQVhBLHlCQUFXQSxLQUFYQSx5QkFBV0EsUUFrRjdDQTtRQUFEQSxDQUFDQSxFQWxGb0JELGFBQWFBLEdBQWJBLG1CQUFhQSxLQUFiQSxtQkFBYUEsUUFrRmpDQTtJQUFEQSxDQUFDQSxFQWxGY0QsS0FBS0EsR0FBTEEsYUFBS0EsS0FBTEEsYUFBS0EsUUFrRm5CQTtBQUFEQSxDQUFDQSxFQWxGTSxPQUFPLEtBQVAsT0FBTyxRQWtGYiIsImZpbGUiOiJjbG91ZG1lZGlhLXZpZGVvcGxheWVyLWRhdGEuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsIm1vZHVsZSBPcmNoYXJkLkF6dXJlLk1lZGlhU2VydmljZXMuVmlkZW9QbGF5ZXIuRGF0YSB7XG5cbiAgICBpbXBvcnQgRHVyYXRpb24gPSBtb21lbnQuRHVyYXRpb247XG5cbiAgICBleHBvcnQgaW50ZXJmYWNlIElBc3NldERhdGEge1xuICAgICAgICBWaWRlb0Fzc2V0czogSVZpZGVvQXNzZXRbXTtcbiAgICAgICAgRHluYW1pY1ZpZGVvQXNzZXRzOiBJRHluYW1pY1ZpZGVvQXNzZXRbXTtcbiAgICAgICAgVGh1bWJuYWlsQXNzZXRzOiBJVGh1bWJuYWlsQXNzZXRbXTtcbiAgICAgICAgU3VidGl0bGVBc3NldHM6IElTdWJ0aXRsZUFzc2V0W107XG4gICAgfVxuXG4gICAgZXhwb3J0IGludGVyZmFjZSBJQXNzZXQge1xuICAgICAgICBUeXBlOiBBc3NldFR5cGU7XG4gICAgICAgIElkOiBudW1iZXI7XG4gICAgICAgIE5hbWU6IHN0cmluZztcbiAgICAgICAgTWltZVR5cGU6IHN0cmluZztcbiAgICAgICAgTWFpbkZpbGVVcmw6IHN0cmluZztcbiAgICAgICAgTWVkaWFRdWVyeTogc3RyaW5nO1xuICAgIH1cblxuICAgIGV4cG9ydCBlbnVtIEFzc2V0VHlwZSB7XG4gICAgICAgIFZpZGVvQXNzZXQsXG4gICAgICAgIER5bmFtaWNWaWRlb0Fzc2V0LFxuICAgICAgICBUaHVtYm5haWxBc3NldCxcbiAgICAgICAgU3VidGl0bGVBc3NldFxuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgSVZpZGVvQXNzZXQgZXh0ZW5kcyBJQXNzZXQge1xuICAgICAgICBFbmNvZGluZ1ByZXNldDogc3RyaW5nO1xuICAgICAgICBFbmNvZGVyTWV0YWRhdGE6IElFbmNvZGVyTWV0YWRhdGE7XG4gICAgfVxuXG4gICAgZXhwb3J0IGludGVyZmFjZSBJRHluYW1pY1ZpZGVvQXNzZXQgZXh0ZW5kcyBJVmlkZW9Bc3NldCB7XG4gICAgICAgIFNtb290aFN0cmVhbWluZ1VybDogc3RyaW5nO1xuICAgICAgICBIbHNVcmw6IHN0cmluZztcbiAgICAgICAgTXBlZ0Rhc2hVcmw6IHN0cmluZztcbiAgICB9XG5cbiAgICBleHBvcnQgaW50ZXJmYWNlIElUaHVtYm5haWxBc3NldCBleHRlbmRzIElBc3NldCB7XG4gICAgfVxuXG4gICAgZXhwb3J0IGludGVyZmFjZSBJU3VidGl0bGVBc3NldCBleHRlbmRzIElBc3NldCB7XG4gICAgICAgIExhbmd1YWdlOiBzdHJpbmc7XG4gICAgfVxuXG4gICAgZXhwb3J0IGludGVyZmFjZSBJRW5jb2Rlck1ldGFkYXRhIHtcbiAgICAgICAgQXNzZXRGaWxlczogSUFzc2V0RmlsZVtdO1xuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgSUFzc2V0RmlsZSB7XG4gICAgICAgIE5hbWU6IHN0cmluZztcbiAgICAgICAgU2l6ZTogbnVtYmVyO1xuICAgICAgICBEdXJhdGlvbjogRHVyYXRpb247XG4gICAgICAgIEF1ZGlvVHJhY2tzOiBJQXVkaW9UcmFja1tdO1xuICAgICAgICBWaWRlb1RyYWNrczogSVZpZGVvVHJhY2tbXTtcbiAgICAgICAgU291cmNlczogc3RyaW5nW107XG4gICAgICAgIEJpdHJhdGU6IG51bWJlcjtcbiAgICAgICAgTWltZVR5cGU6IHN0cmluZztcbiAgICB9XG5cbiAgICBleHBvcnQgaW50ZXJmYWNlIElBdWRpb1RyYWNrIHtcbiAgICAgICAgSW5kZXg6IG51bWJlcjtcbiAgICAgICAgQml0cmF0ZTogbnVtYmVyO1xuICAgICAgICBTYW1wbGluZ1JhdGU6IG51bWJlcjtcbiAgICAgICAgQml0c1BlclNhbXBsZTogbnVtYmVyO1xuICAgICAgICBDaGFubmVsczogbnVtYmVyO1xuICAgICAgICBDb2RlYzogc3RyaW5nO1xuICAgICAgICBFbmNvZGVyVmVyc2lvbjogc3RyaW5nO1xuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgSVZpZGVvVHJhY2sge1xuICAgICAgICBJbmRleDogbnVtYmVyO1xuICAgICAgICBCaXRyYXRlOiBudW1iZXI7XG4gICAgICAgIFRhcmdldEJpdHJhdGU6IG51bWJlcjtcbiAgICAgICAgRnJhbWVyYXRlOiBudW1iZXI7XG4gICAgICAgIFRhcmdldEZyYW1lcmF0ZTogbnVtYmVyO1xuICAgICAgICBGb3VyQ2M6IHN0cmluZztcbiAgICAgICAgV2lkdGg6IG51bWJlcjtcbiAgICAgICAgSGVpZ2h0OiBudW1iZXI7XG4gICAgICAgIERpc3BsYXlSYXRpb1g6IG51bWJlcjtcbiAgICAgICAgRGlzcGxheVJhdGlvWTogbnVtYmVyO1xuICAgIH1cbn0gIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtdmlkZW9wbGF5ZXItZGF0YS5qcyIsImNsb3VkbWVkaWEtdmlkZW9wbGF5ZXItZGF0YS50cyJdLCJuYW1lcyI6WyJPcmNoYXJkIiwiT3JjaGFyZC5BenVyZSIsIk9yY2hhcmQuQXp1cmUuTWVkaWFTZXJ2aWNlcyIsIk9yY2hhcmQuQXp1cmUuTWVkaWFTZXJ2aWNlcy5WaWRlb1BsYXllciIsIk9yY2hhcmQuQXp1cmUuTWVkaWFTZXJ2aWNlcy5WaWRlb1BsYXllci5EYXRhIiwiT3JjaGFyZC5BenVyZS5NZWRpYVNlcnZpY2VzLlZpZGVvUGxheWVyLkRhdGEuQXNzZXRUeXBlIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQUNMQSxJQUFPLE9BQU8sQ0FrRmI7QUFsRkQsV0FBTyxPQUFPO0lBQUNBLElBQUFBLEtBQUtBLENBa0ZuQkE7SUFsRmNBLFdBQUFBLEtBQUtBO1FBQUNDLElBQUFBLGFBQWFBLENBa0ZqQ0E7UUFsRm9CQSxXQUFBQSxhQUFhQTtZQUFDQyxJQUFBQSxXQUFXQSxDQWtGN0NBO1lBbEZrQ0EsV0FBQUEsV0FBV0E7Z0JBQUNDLElBQUFBLElBQUlBLENBa0ZsREE7Z0JBbEY4Q0EsV0FBQUEsSUFBSUEsRUFBQ0EsQ0FBQ0E7b0JBb0JqREMsV0FBWUEsU0FBU0E7d0JBQ2pCQyxxREFBVUEsQ0FBQUE7d0JBQ1ZBLG1FQUFpQkEsQ0FBQUE7d0JBQ2pCQSw2REFBY0EsQ0FBQUE7d0JBQ2RBLDJEQUFhQSxDQUFBQTtvQkFDakJBLENBQUNBLEVBTFdELGNBQVNBLEtBQVRBLGNBQVNBLFFBS3BCQTtvQkFMREEsSUFBWUEsU0FBU0EsR0FBVEEsY0FLWEEsQ0FBQUE7Z0JBeURMQSxDQUFDQSxFQWxGOENELElBQUlBLEdBQUpBLGdCQUFJQSxLQUFKQSxnQkFBSUEsUUFrRmxEQTtZQUFEQSxDQUFDQSxFQWxGa0NELFdBQVdBLEdBQVhBLHlCQUFXQSxLQUFYQSx5QkFBV0EsUUFrRjdDQTtRQUFEQSxDQUFDQSxFQWxGb0JELGFBQWFBLEdBQWJBLG1CQUFhQSxLQUFiQSxtQkFBYUEsUUFrRmpDQTtJQUFEQSxDQUFDQSxFQWxGY0QsS0FBS0EsR0FBTEEsYUFBS0EsS0FBTEEsYUFBS0EsUUFrRm5CQTtBQUFEQSxDQUFDQSxFQWxGTSxPQUFPLEtBQVAsT0FBTyxRQWtGYiIsImZpbGUiOiJjbG91ZG1lZGlhLXZpZGVvcGxheWVyLWRhdGEuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsIm1vZHVsZSBPcmNoYXJkLkF6dXJlLk1lZGlhU2VydmljZXMuVmlkZW9QbGF5ZXIuRGF0YSB7XHJcblxyXG4gICAgaW1wb3J0IER1cmF0aW9uID0gbW9tZW50LkR1cmF0aW9uO1xyXG5cclxuICAgIGV4cG9ydCBpbnRlcmZhY2UgSUFzc2V0RGF0YSB7XHJcbiAgICAgICAgVmlkZW9Bc3NldHM6IElWaWRlb0Fzc2V0W107XHJcbiAgICAgICAgRHluYW1pY1ZpZGVvQXNzZXRzOiBJRHluYW1pY1ZpZGVvQXNzZXRbXTtcclxuICAgICAgICBUaHVtYm5haWxBc3NldHM6IElUaHVtYm5haWxBc3NldFtdO1xyXG4gICAgICAgIFN1YnRpdGxlQXNzZXRzOiBJU3VidGl0bGVBc3NldFtdO1xyXG4gICAgfVxyXG5cclxuICAgIGV4cG9ydCBpbnRlcmZhY2UgSUFzc2V0IHtcclxuICAgICAgICBUeXBlOiBBc3NldFR5cGU7XHJcbiAgICAgICAgSWQ6IG51bWJlcjtcclxuICAgICAgICBOYW1lOiBzdHJpbmc7XHJcbiAgICAgICAgTWltZVR5cGU6IHN0cmluZztcclxuICAgICAgICBNYWluRmlsZVVybDogc3RyaW5nO1xyXG4gICAgICAgIE1lZGlhUXVlcnk6IHN0cmluZztcclxuICAgIH1cclxuXHJcbiAgICBleHBvcnQgZW51bSBBc3NldFR5cGUge1xyXG4gICAgICAgIFZpZGVvQXNzZXQsXHJcbiAgICAgICAgRHluYW1pY1ZpZGVvQXNzZXQsXHJcbiAgICAgICAgVGh1bWJuYWlsQXNzZXQsXHJcbiAgICAgICAgU3VidGl0bGVBc3NldFxyXG4gICAgfVxyXG5cclxuICAgIGV4cG9ydCBpbnRlcmZhY2UgSVZpZGVvQXNzZXQgZXh0ZW5kcyBJQXNzZXQge1xyXG4gICAgICAgIEVuY29kaW5nUHJlc2V0OiBzdHJpbmc7XHJcbiAgICAgICAgRW5jb2Rlck1ldGFkYXRhOiBJRW5jb2Rlck1ldGFkYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIGV4cG9ydCBpbnRlcmZhY2UgSUR5bmFtaWNWaWRlb0Fzc2V0IGV4dGVuZHMgSVZpZGVvQXNzZXQge1xyXG4gICAgICAgIFNtb290aFN0cmVhbWluZ1VybDogc3RyaW5nO1xyXG4gICAgICAgIEhsc1VybDogc3RyaW5nO1xyXG4gICAgICAgIE1wZWdEYXNoVXJsOiBzdHJpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGludGVyZmFjZSBJVGh1bWJuYWlsQXNzZXQgZXh0ZW5kcyBJQXNzZXQge1xyXG4gICAgfVxyXG5cclxuICAgIGV4cG9ydCBpbnRlcmZhY2UgSVN1YnRpdGxlQXNzZXQgZXh0ZW5kcyBJQXNzZXQge1xyXG4gICAgICAgIExhbmd1YWdlOiBzdHJpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGludGVyZmFjZSBJRW5jb2Rlck1ldGFkYXRhIHtcclxuICAgICAgICBBc3NldEZpbGVzOiBJQXNzZXRGaWxlW107XHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGludGVyZmFjZSBJQXNzZXRGaWxlIHtcclxuICAgICAgICBOYW1lOiBzdHJpbmc7XHJcbiAgICAgICAgU2l6ZTogbnVtYmVyO1xyXG4gICAgICAgIER1cmF0aW9uOiBEdXJhdGlvbjtcclxuICAgICAgICBBdWRpb1RyYWNrczogSUF1ZGlvVHJhY2tbXTtcclxuICAgICAgICBWaWRlb1RyYWNrczogSVZpZGVvVHJhY2tbXTtcclxuICAgICAgICBTb3VyY2VzOiBzdHJpbmdbXTtcclxuICAgICAgICBCaXRyYXRlOiBudW1iZXI7XHJcbiAgICAgICAgTWltZVR5cGU6IHN0cmluZztcclxuICAgIH1cclxuXHJcbiAgICBleHBvcnQgaW50ZXJmYWNlIElBdWRpb1RyYWNrIHtcclxuICAgICAgICBJbmRleDogbnVtYmVyO1xyXG4gICAgICAgIEJpdHJhdGU6IG51bWJlcjtcclxuICAgICAgICBTYW1wbGluZ1JhdGU6IG51bWJlcjtcclxuICAgICAgICBCaXRzUGVyU2FtcGxlOiBudW1iZXI7XHJcbiAgICAgICAgQ2hhbm5lbHM6IG51bWJlcjtcclxuICAgICAgICBDb2RlYzogc3RyaW5nO1xyXG4gICAgICAgIEVuY29kZXJWZXJzaW9uOiBzdHJpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGludGVyZmFjZSBJVmlkZW9UcmFjayB7XHJcbiAgICAgICAgSW5kZXg6IG51bWJlcjtcclxuICAgICAgICBCaXRyYXRlOiBudW1iZXI7XHJcbiAgICAgICAgVGFyZ2V0Qml0cmF0ZTogbnVtYmVyO1xyXG4gICAgICAgIEZyYW1lcmF0ZTogbnVtYmVyO1xyXG4gICAgICAgIFRhcmdldEZyYW1lcmF0ZTogbnVtYmVyO1xyXG4gICAgICAgIEZvdXJDYzogc3RyaW5nO1xyXG4gICAgICAgIFdpZHRoOiBudW1iZXI7XHJcbiAgICAgICAgSGVpZ2h0OiBudW1iZXI7XHJcbiAgICAgICAgRGlzcGxheVJhdGlvWDogbnVtYmVyO1xyXG4gICAgICAgIERpc3BsYXlSYXRpb1k6IG51bWJlcjtcclxuICAgIH1cclxufSAiXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=

View File

@@ -46,4 +46,4 @@ section.commands {
background-position: -195px -66px;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtYWRtaW4tYXNzZXQuY3NzIiwiY2xvdWRtZWRpYS1hZG1pbi1hc3NldC5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxBQ0xBO0VBQ0ksa0JBQUE7Q0RDSDtBQ0VEOztFQUVRLGlCQUFBO0NEQVA7QUNGRDtFQUtRLGtCQUFBO0VBQ0EsZUFBQTtDREFQO0FDS0c7O0VBQ0ksWUFBQTtDREZQO0FDTUQ7RUFDSSxnQkFBQTtDREpIO0FDT0Q7RUFDSSxrREFBQTtDRExIO0FDT0c7RUFDSSxpQ0FBQTtDRExQO0FDUUc7RUFDSSxpQ0FBQTtDRE5QO0FDU0c7RUFDSSxrQ0FBQTtDRFBQO0FDVUc7RUFDSSxrQ0FBQTtDRFJQO0FDV0c7RUFDSSxrQ0FBQTtDRFRQO0FDWUc7RUFDSSxrQ0FBQTtDRFZQO0FDYUc7RUFDSSxrQ0FBQTtDRFhQIiwiZmlsZSI6ImNsb3VkbWVkaWEtYWRtaW4tYXNzZXQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmFzc2V0LWZpbGUge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbmxlZ2VuZCBhLFxubGVnZW5kIHNwYW4ge1xuICBmb250LXNpemU6IDAuN2VtO1xufVxubGVnZW5kIHNwYW4ubGVnZW5kIHtcbiAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxudGFibGUuaXRlbXMuYXNzZXQtdHJhY2tzLFxudGFibGUuaXRlbXMgLmFzc2V0LWxvY2F0b3JzIHtcbiAgd2lkdGg6IGF1dG87XG59XG5zZWN0aW9uLmNvbW1hbmRzIHtcbiAgbWFyZ2luLXRvcDogMWVtO1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtYW5jaG9yID4gLmpzdHJlZS10aGVtZWljb24tY3VzdG9tIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiSW1hZ2VzL0Fzc2V0VHJlZVZpZXcucG5nXCIpO1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtYW5jaG9yID4gLmpzdHJlZS10aGVtZWljb24tY3VzdG9tLmFzc2V0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI2M3B4IC0zcHg7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1hbmNob3IgPiAuanN0cmVlLXRoZW1laWNvbi1jdXN0b20udHJhY2tzIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI2M3B4IC0zcHg7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1hbmNob3IgPiAuanN0cmVlLXRoZW1laWNvbi1jdXN0b20ucHJvcGVydHkge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTMwcHggLTY2cHg7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1hbmNob3IgPiAuanN0cmVlLXRoZW1laWNvbi1jdXN0b20ubWltZXR5cGUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI2cHggLTY2cHg7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1hbmNob3IgPiAuanN0cmVlLXRoZW1laWNvbi1jdXN0b20uZHVyYXRpb24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjU5cHggLTY2cHg7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1hbmNob3IgPiAuanN0cmVlLXRoZW1laWNvbi1jdXN0b20udmlkZW90cmFjayB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjRweCAtNjZweDtcbn1cbi5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLWFuY2hvciA+IC5qc3RyZWUtdGhlbWVpY29uLWN1c3RvbS5hdWRpb3RyYWNrIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5NXB4IC02NnB4O1xufVxuIiwiLmFzc2V0LWZpbGUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5sZWdlbmQge1xuICAgIGEsIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDAuN2VtO1xuICAgIH1cbiAgICBzcGFuLmxlZ2VuZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgICAgICBmb250LXNpemU6ICAxZW07XG4gICAgfVxufVxuXG50YWJsZS5pdGVtcyB7XG4gICAgJi5hc3NldC10cmFja3MsIC5hc3NldC1sb2NhdG9ycyB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbn1cblxuc2VjdGlvbi5jb21tYW5kcyB7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xufVxuXG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1hbmNob3IgPiAuanN0cmVlLXRoZW1laWNvbi1jdXN0b20ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4vSW1hZ2VzL0Fzc2V0VHJlZVZpZXcucG5nXCIpO1xuXG4gICAgJi5hc3NldCB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNjNweCAtM3B4O1xuICAgIH1cblxuICAgICYudHJhY2tzIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI2M3B4IC0zcHg7XG4gICAgfVxuICAgIFxuICAgICYucHJvcGVydHkge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTMwcHggLTY2cHg7XG4gICAgfVxuXG4gICAgJi5taW1ldHlwZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjZweCAtNjZweDtcbiAgICB9XG5cbiAgICAmLmR1cmF0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI1OXB4IC02NnB4O1xuICAgIH1cblxuICAgICYudmlkZW90cmFjayB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjRweCAtNjZweDtcbiAgICB9XG5cbiAgICAmLmF1ZGlvdHJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTk1cHggLTY2cHg7XG4gICAgfVxufSJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtYWRtaW4tYXNzZXQuY3NzIiwiY2xvdWRtZWRpYS1hZG1pbi1hc3NldC5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxBQ0xBO0VBQ0ksa0JBQUE7Q0RDSDtBQ0VEOztFQUVRLGlCQUFBO0NEQVA7QUNGRDtFQUtRLGtCQUFBO0VBQ0EsZUFBQTtDREFQO0FDS0c7O0VBQ0ksWUFBQTtDREZQO0FDTUQ7RUFDSSxnQkFBQTtDREpIO0FDT0Q7RUFDSSxrREFBQTtDRExIO0FDT0c7RUFDSSxpQ0FBQTtDRExQO0FDUUc7RUFDSSxpQ0FBQTtDRE5QO0FDU0c7RUFDSSxrQ0FBQTtDRFBQO0FDVUc7RUFDSSxrQ0FBQTtDRFJQO0FDV0c7RUFDSSxrQ0FBQTtDRFRQO0FDWUc7RUFDSSxrQ0FBQTtDRFZQO0FDYUc7RUFDSSxrQ0FBQTtDRFhQIiwiZmlsZSI6ImNsb3VkbWVkaWEtYWRtaW4tYXNzZXQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmFzc2V0LWZpbGUge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbmxlZ2VuZCBhLFxubGVnZW5kIHNwYW4ge1xuICBmb250LXNpemU6IDAuN2VtO1xufVxubGVnZW5kIHNwYW4ubGVnZW5kIHtcbiAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxudGFibGUuaXRlbXMuYXNzZXQtdHJhY2tzLFxudGFibGUuaXRlbXMgLmFzc2V0LWxvY2F0b3JzIHtcbiAgd2lkdGg6IGF1dG87XG59XG5zZWN0aW9uLmNvbW1hbmRzIHtcbiAgbWFyZ2luLXRvcDogMWVtO1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtYW5jaG9yID4gLmpzdHJlZS10aGVtZWljb24tY3VzdG9tIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiSW1hZ2VzL0Fzc2V0VHJlZVZpZXcucG5nXCIpO1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtYW5jaG9yID4gLmpzdHJlZS10aGVtZWljb24tY3VzdG9tLmFzc2V0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI2M3B4IC0zcHg7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1hbmNob3IgPiAuanN0cmVlLXRoZW1laWNvbi1jdXN0b20udHJhY2tzIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI2M3B4IC0zcHg7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1hbmNob3IgPiAuanN0cmVlLXRoZW1laWNvbi1jdXN0b20ucHJvcGVydHkge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTMwcHggLTY2cHg7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1hbmNob3IgPiAuanN0cmVlLXRoZW1laWNvbi1jdXN0b20ubWltZXR5cGUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI2cHggLTY2cHg7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1hbmNob3IgPiAuanN0cmVlLXRoZW1laWNvbi1jdXN0b20uZHVyYXRpb24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjU5cHggLTY2cHg7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1hbmNob3IgPiAuanN0cmVlLXRoZW1laWNvbi1jdXN0b20udmlkZW90cmFjayB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjRweCAtNjZweDtcbn1cbi5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLWFuY2hvciA+IC5qc3RyZWUtdGhlbWVpY29uLWN1c3RvbS5hdWRpb3RyYWNrIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5NXB4IC02NnB4O1xufVxuIiwiLmFzc2V0LWZpbGUge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbmxlZ2VuZCB7XHJcbiAgICBhLCBzcGFuIHtcclxuICAgICAgICBmb250LXNpemU6IDAuN2VtO1xyXG4gICAgfVxyXG4gICAgc3Bhbi5sZWdlbmQge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogIDFlbTtcclxuICAgIH1cclxufVxyXG5cclxudGFibGUuaXRlbXMge1xyXG4gICAgJi5hc3NldC10cmFja3MsIC5hc3NldC1sb2NhdG9ycyB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcbnNlY3Rpb24uY29tbWFuZHMge1xyXG4gICAgbWFyZ2luLXRvcDogMWVtO1xyXG59XHJcblxyXG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1hbmNob3IgPiAuanN0cmVlLXRoZW1laWNvbi1jdXN0b20ge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi9JbWFnZXMvQXNzZXRUcmVlVmlldy5wbmdcIik7XHJcblxyXG4gICAgJi5hc3NldCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI2M3B4IC0zcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJi50cmFja3Mge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNjNweCAtM3B4O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmLnByb3BlcnR5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTMwcHggLTY2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJi5taW1ldHlwZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNnB4IC02NnB4O1xyXG4gICAgfVxyXG5cclxuICAgICYuZHVyYXRpb24ge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNTlweCAtNjZweDtcclxuICAgIH1cclxuXHJcbiAgICAmLnZpZGVvdHJhY2sge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjRweCAtNjZweDtcclxuICAgIH1cclxuXHJcbiAgICAmLmF1ZGlvdHJhY2sge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xOTVweCAtNjZweDtcclxuICAgIH1cclxufSJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */

View File

@@ -14,4 +14,4 @@
font-size: 1.4em;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtYWRtaW4tc2VsZWN0dGFzay5jc3MiLCJjbG91ZG1lZGlhLWFkbWluLXNlbGVjdHRhc2subGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQUNMQTtFQUVRLGFBQUE7RUFDQSxnQkFBQTtFQUNBLDBCQUFBO0VBQ0EsMEJBQUE7RUFDQSxhQUFBO0NEQVA7QUNORDtFQVNZLGlCQUFBO0NEQVgiLCJmaWxlIjoiY2xvdWRtZWRpYS1hZG1pbi1zZWxlY3R0YXNrLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiN0YXNrLWxpc3QgLnRhc2stbGlzdC1pdGVtIHtcbiAgd2lkdGg6IDQwMHB4O1xuICBtYXJnaW46IDEuNWVtIDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNGU1ZTY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2Y0ZjU7XG4gIHBhZGRpbmc6IDFlbTtcbn1cbiN0YXNrLWxpc3QgLnRhc2stbGlzdC1pdGVtIGEge1xuICBmb250LXNpemU6IDEuNGVtO1xufVxuIiwiI3Rhc2stbGlzdCB7XG4gICAgLnRhc2stbGlzdC1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgICBtYXJnaW46IDEuNWVtIDA7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNGU1ZTY7ICBcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjRmNTtcbiAgICAgICAgcGFkZGluZzogMWVtO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICAgICAgfVxuICAgIH1cbn0iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtYWRtaW4tc2VsZWN0dGFzay5jc3MiLCJjbG91ZG1lZGlhLWFkbWluLXNlbGVjdHRhc2subGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQUNMQTtFQUVRLGFBQUE7RUFDQSxnQkFBQTtFQUNBLDBCQUFBO0VBQ0EsMEJBQUE7RUFDQSxhQUFBO0NEQVA7QUNORDtFQVNZLGlCQUFBO0NEQVgiLCJmaWxlIjoiY2xvdWRtZWRpYS1hZG1pbi1zZWxlY3R0YXNrLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiN0YXNrLWxpc3QgLnRhc2stbGlzdC1pdGVtIHtcbiAgd2lkdGg6IDQwMHB4O1xuICBtYXJnaW46IDEuNWVtIDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNGU1ZTY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2Y0ZjU7XG4gIHBhZGRpbmc6IDFlbTtcbn1cbiN0YXNrLWxpc3QgLnRhc2stbGlzdC1pdGVtIGEge1xuICBmb250LXNpemU6IDEuNGVtO1xufVxuIiwiI3Rhc2stbGlzdCB7XHJcbiAgICAudGFzay1saXN0LWl0ZW0ge1xyXG4gICAgICAgIHdpZHRoOiA0MDBweDtcclxuICAgICAgICBtYXJnaW46IDEuNWVtIDA7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTVlNjsgIFxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2Y0ZjU7XHJcbiAgICAgICAgcGFkZGluZzogMWVtO1xyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */

View File

@@ -33,4 +33,4 @@ h2 {
text-align: center;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtYWRtaW4tc2V0dGluZ3MuY3NzIiwiY2xvdWRtZWRpYS1hZG1pbi1zZXR0aW5ncy5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxBQ0xBO0VBQ0MsMkJBQUE7Q0RDQTtBQ0VEOztFQUNDLGdCQUFBO0NEQ0E7QUNFRDtFQUNDLFlBQUE7Q0RBQTtBQ0REOzs7O0VBR0UsbUJBQUE7Q0RJRDtBQ1BEO0VBTUUsYUFBQTtDRElEO0FDQUQ7RUFDQyxZQUFBO0VERUM7O0lBRUU7Q0FDSDtBQ05EOztFQUdFLG1CQUFBO0NET0QiLCJmaWxlIjoiY2xvdWRtZWRpYS1hZG1pbi1zZXR0aW5ncy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJoMiB7XG4gIG1hcmdpbi10b3A6IDFlbSAhaW1wb3J0YW50O1xufVxuI3Rlc3QtYnV0dG9uLFxuI3NhdmUtYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMWVtO1xufVxuI3ByZXNldHMtdGFibGUge1xuICB3aWR0aDogYXV0bztcbn1cbiNwcmVzZXRzLXRhYmxlIHRoOm50aC1jaGlsZCgxKSxcbiNwcmVzZXRzLXRhYmxlIHRoOm50aC1jaGlsZCg0KSxcbiNwcmVzZXRzLXRhYmxlIHRkOm50aC1jaGlsZCgxKSxcbiNwcmVzZXRzLXRhYmxlIHRkOm50aC1jaGlsZCg0KSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNwcmVzZXRzLXRhYmxlIHRkOm50aC1jaGlsZCgyKSB7XG4gIHdpZHRoOiA0MDBweDtcbn1cbiNsYW5ndWFnZXMtdGFibGUge1xuICB3aWR0aDogYXV0bztcbiAgLyp0ZDpudGgtY2hpbGQoMikge1xuXHRcdHdpZHRoOiA0MDBweDtcblx0fSovXG59XG4jbGFuZ3VhZ2VzLXRhYmxlIHRoOm50aC1jaGlsZCgyKSxcbiNsYW5ndWFnZXMtdGFibGUgdGQ6bnRoLWNoaWxkKDIpIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiaDIge1xuXHRtYXJnaW4tdG9wOiAxZW0gIWltcG9ydGFudDtcbn1cblxuI3Rlc3QtYnV0dG9uLCAjc2F2ZS1idXR0b24ge1xuXHRtYXJnaW4tdG9wOiAxZW07XG59XG5cbiNwcmVzZXRzLXRhYmxlIHtcblx0d2lkdGg6IGF1dG87XG5cdHRoOm50aC1jaGlsZCgxKSwgdGg6bnRoLWNoaWxkKDQpLCB0ZDpudGgtY2hpbGQoMSksIHRkOm50aC1jaGlsZCg0KSB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cdHRkOm50aC1jaGlsZCgyKSB7XG5cdFx0d2lkdGg6IDQwMHB4OyBcblx0fVxufVxuXG4jbGFuZ3VhZ2VzLXRhYmxlIHtcblx0d2lkdGg6IGF1dG87XG5cdHRoOm50aC1jaGlsZCgyKSwgdGQ6bnRoLWNoaWxkKDIpIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblx0Lyp0ZDpudGgtY2hpbGQoMikge1xuXHRcdHdpZHRoOiA0MDBweDtcblx0fSovXG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtYWRtaW4tc2V0dGluZ3MuY3NzIiwiY2xvdWRtZWRpYS1hZG1pbi1zZXR0aW5ncy5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxBQ0xBO0VBQ0MsMkJBQUE7Q0RDQTtBQ0VEOztFQUNDLGdCQUFBO0NEQ0E7QUNFRDtFQUNDLFlBQUE7Q0RBQTtBQ0REOzs7O0VBR0UsbUJBQUE7Q0RJRDtBQ1BEO0VBTUUsYUFBQTtDRElEO0FDQUQ7RUFDQyxZQUFBO0VERUM7O0lBRUU7Q0FDSDtBQ05EOztFQUdFLG1CQUFBO0NET0QiLCJmaWxlIjoiY2xvdWRtZWRpYS1hZG1pbi1zZXR0aW5ncy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJoMiB7XG4gIG1hcmdpbi10b3A6IDFlbSAhaW1wb3J0YW50O1xufVxuI3Rlc3QtYnV0dG9uLFxuI3NhdmUtYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMWVtO1xufVxuI3ByZXNldHMtdGFibGUge1xuICB3aWR0aDogYXV0bztcbn1cbiNwcmVzZXRzLXRhYmxlIHRoOm50aC1jaGlsZCgxKSxcbiNwcmVzZXRzLXRhYmxlIHRoOm50aC1jaGlsZCg0KSxcbiNwcmVzZXRzLXRhYmxlIHRkOm50aC1jaGlsZCgxKSxcbiNwcmVzZXRzLXRhYmxlIHRkOm50aC1jaGlsZCg0KSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNwcmVzZXRzLXRhYmxlIHRkOm50aC1jaGlsZCgyKSB7XG4gIHdpZHRoOiA0MDBweDtcbn1cbiNsYW5ndWFnZXMtdGFibGUge1xuICB3aWR0aDogYXV0bztcbiAgLyp0ZDpudGgtY2hpbGQoMikge1xuXHRcdHdpZHRoOiA0MDBweDtcblx0fSovXG59XG4jbGFuZ3VhZ2VzLXRhYmxlIHRoOm50aC1jaGlsZCgyKSxcbiNsYW5ndWFnZXMtdGFibGUgdGQ6bnRoLWNoaWxkKDIpIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiaDIge1xyXG5cdG1hcmdpbi10b3A6IDFlbSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jdGVzdC1idXR0b24sICNzYXZlLWJ1dHRvbiB7XHJcblx0bWFyZ2luLXRvcDogMWVtO1xyXG59XHJcblxyXG4jcHJlc2V0cy10YWJsZSB7XHJcblx0d2lkdGg6IGF1dG87XHJcblx0dGg6bnRoLWNoaWxkKDEpLCB0aDpudGgtY2hpbGQoNCksIHRkOm50aC1jaGlsZCgxKSwgdGQ6bnRoLWNoaWxkKDQpIHtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR9XHJcblx0dGQ6bnRoLWNoaWxkKDIpIHtcclxuXHRcdHdpZHRoOiA0MDBweDsgXHJcblx0fVxyXG59XHJcblxyXG4jbGFuZ3VhZ2VzLXRhYmxlIHtcclxuXHR3aWR0aDogYXV0bztcclxuXHR0aDpudGgtY2hpbGQoMiksIHRkOm50aC1jaGlsZCgyKSB7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0fVxyXG5cdC8qdGQ6bnRoLWNoaWxkKDIpIHtcclxuXHRcdHdpZHRoOiA0MDBweDtcclxuXHR9Ki9cclxufVxyXG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */

View File

@@ -32,4 +32,4 @@
margin-top: 2px;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtZWRpdC1hc3NldHMuY3NzIiwiY2xvdWRtZWRpYS1lZGl0LWFzc2V0cy5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxBQ0xBO0VBQ0ksdUJBQUE7Q0RDSDtBQ0ZEOztFQUtZLGlCQUFBO0NEQ1g7QUNDZTs7RUFDSSxtQkFBQTtDREVuQjtBQ0NXOztFQUNJLG9CQUFBO0NERWY7QUNIVzs7RUFHUSxpQkFBQTtDREluQjtBQ1BXOztFQU1ZLFVBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7Q0RLdkI7QUN4QkQ7RUEyQlEsZ0JBQUE7Q0RBUCIsImZpbGUiOiJjbG91ZG1lZGlhLWVkaXQtYXNzZXRzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNhc3NldHMtdGFibGUge1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xufVxuI2Fzc2V0cy10YWJsZSB0Ym9keSB0cixcbiNhc3NldHMtdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuI2Fzc2V0cy10YWJsZSB0Ym9keSB0ciB0ZDpsYXN0LWNoaWxkLFxuI2Fzc2V0cy10YWJsZSB0Ym9keSB0cjpob3ZlciB0ZDpsYXN0LWNoaWxkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuI2Fzc2V0cy10YWJsZSB0Ym9keSB0ci5oZWFkaW5nLFxuI2Fzc2V0cy10YWJsZSB0Ym9keSB0cjpob3Zlci5oZWFkaW5nIHtcbiAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcbn1cbiNhc3NldHMtdGFibGUgdGJvZHkgdHIuaGVhZGluZyB0ZCxcbiNhc3NldHMtdGFibGUgdGJvZHkgdHI6aG92ZXIuaGVhZGluZyB0ZCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4jYXNzZXRzLXRhYmxlIHRib2R5IHRyLmhlYWRpbmcgdGQgaDMsXG4jYXNzZXRzLXRhYmxlIHRib2R5IHRyOmhvdmVyLmhlYWRpbmcgdGQgaDMge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDFlbTtcbn1cbiNhc3NldHMtdGFibGUgLnByb2dyZXNzLWJhciB7XG4gIG1hcmdpbi10b3A6IDJweDtcbn1cbiIsIiNhc3NldHMtdGFibGUge1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG5cbiAgICB0Ym9keSB7XG4gICAgICAgIHRyLCB0cjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmhlYWRpbmcge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gICAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgIH1cbn0iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtZWRpdC1hc3NldHMuY3NzIiwiY2xvdWRtZWRpYS1lZGl0LWFzc2V0cy5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxBQ0xBO0VBQ0ksdUJBQUE7Q0RDSDtBQ0ZEOztFQUtZLGlCQUFBO0NEQ1g7QUNDZTs7RUFDSSxtQkFBQTtDREVuQjtBQ0NXOztFQUNJLG9CQUFBO0NERWY7QUNIVzs7RUFHUSxpQkFBQTtDREluQjtBQ1BXOztFQU1ZLFVBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7Q0RLdkI7QUN4QkQ7RUEyQlEsZ0JBQUE7Q0RBUCIsImZpbGUiOiJjbG91ZG1lZGlhLWVkaXQtYXNzZXRzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNhc3NldHMtdGFibGUge1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xufVxuI2Fzc2V0cy10YWJsZSB0Ym9keSB0cixcbiNhc3NldHMtdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuI2Fzc2V0cy10YWJsZSB0Ym9keSB0ciB0ZDpsYXN0LWNoaWxkLFxuI2Fzc2V0cy10YWJsZSB0Ym9keSB0cjpob3ZlciB0ZDpsYXN0LWNoaWxkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuI2Fzc2V0cy10YWJsZSB0Ym9keSB0ci5oZWFkaW5nLFxuI2Fzc2V0cy10YWJsZSB0Ym9keSB0cjpob3Zlci5oZWFkaW5nIHtcbiAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcbn1cbiNhc3NldHMtdGFibGUgdGJvZHkgdHIuaGVhZGluZyB0ZCxcbiNhc3NldHMtdGFibGUgdGJvZHkgdHI6aG92ZXIuaGVhZGluZyB0ZCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4jYXNzZXRzLXRhYmxlIHRib2R5IHRyLmhlYWRpbmcgdGQgaDMsXG4jYXNzZXRzLXRhYmxlIHRib2R5IHRyOmhvdmVyLmhlYWRpbmcgdGQgaDMge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDFlbTtcbn1cbiNhc3NldHMtdGFibGUgLnByb2dyZXNzLWJhciB7XG4gIG1hcmdpbi10b3A6IDJweDtcbn1cbiIsIiNhc3NldHMtdGFibGUge1xyXG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuXHJcbiAgICB0Ym9keSB7XHJcbiAgICAgICAgdHIsIHRyOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5oZWFkaW5nIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XHJcbiAgICAgICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDFlbTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnByb2dyZXNzLWJhciB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xyXG4gICAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */

View File

@@ -13,4 +13,4 @@
margin-top: 2px;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtZWRpdC1qb2JzLmNzcyIsImNsb3VkbWVkaWEtZWRpdC1qb2JzLmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEFDTEE7RUFDSSx1QkFBQTtDRENIO0FDRkQ7RUFJUSxtQkFBQTtDRENQO0FDTEQ7RUFRUSxnQkFBQTtDREFQIiwiZmlsZSI6ImNsb3VkbWVkaWEtZWRpdC1qb2JzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNqb2JzLXRhYmxlIHtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbn1cbiNqb2JzLXRhYmxlIHRib2R5IHRyIHRkOmxhc3QtY2hpbGQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jam9icy10YWJsZSAucHJvZ3Jlc3MtYmFyIHtcbiAgbWFyZ2luLXRvcDogMnB4O1xufVxuIiwiI2pvYnMtdGFibGUge1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG5cbiAgICB0Ym9keSB0ciB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5wcm9ncmVzcy1iYXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtZWRpdC1qb2JzLmNzcyIsImNsb3VkbWVkaWEtZWRpdC1qb2JzLmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEFDTEE7RUFDSSx1QkFBQTtDRENIO0FDRkQ7RUFJUSxtQkFBQTtDRENQO0FDTEQ7RUFRUSxnQkFBQTtDREFQIiwiZmlsZSI6ImNsb3VkbWVkaWEtZWRpdC1qb2JzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNqb2JzLXRhYmxlIHtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbn1cbiNqb2JzLXRhYmxlIHRib2R5IHRyIHRkOmxhc3QtY2hpbGQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jam9icy10YWJsZSAucHJvZ3Jlc3MtYmFyIHtcbiAgbWFyZ2luLXRvcDogMnB4O1xufVxuIiwiI2pvYnMtdGFibGUge1xyXG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuXHJcbiAgICB0Ym9keSB0ciB0ZDpsYXN0LWNoaWxkIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLnByb2dyZXNzLWJhciB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xyXG4gICAgfVxyXG59XHJcbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */

View File

@@ -14,4 +14,4 @@
width: 0;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtcHJvZ3Jlc3MuY3NzIiwiY2xvdWRtZWRpYS1wcm9ncmVzcy5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxBQ0hBO0VBQ0ksYUFBQTtFQUNBLFlBQUE7RUFDQSwwQkFBQTtDRERIO0FDSUQ7RUFDSSxZQUFBO0VBQ0EsMEJBQUE7RUFDQSxTQUFBO0NERkgiLCJmaWxlIjoiY2xvdWRtZWRpYS1wcm9ncmVzcy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIucHJvZ3Jlc3MtYmFyIHtcbiAgd2lkdGg6IDE4MHB4O1xuICBoZWlnaHQ6IDFlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjZTdjNztcbn1cbi5wcm9ncmVzcyB7XG4gIGhlaWdodDogMWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODA5ZjQzO1xuICB3aWR0aDogMDtcbn1cbiIsIkBvcmNoYXJkLWdyZWVuOiAjODA5ZjQzO1xuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgICB3aWR0aDogMTgwcHg7XG4gICAgaGVpZ2h0OiAxZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihAb3JjaGFyZC1ncmVlbiwgNDAlKTtcbn1cblxuLnByb2dyZXNzIHtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAb3JjaGFyZC1ncmVlbjtcbiAgICB3aWR0aDogMDtcbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtcHJvZ3Jlc3MuY3NzIiwiY2xvdWRtZWRpYS1wcm9ncmVzcy5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxBQ0hBO0VBQ0ksYUFBQTtFQUNBLFlBQUE7RUFDQSwwQkFBQTtDRERIO0FDSUQ7RUFDSSxZQUFBO0VBQ0EsMEJBQUE7RUFDQSxTQUFBO0NERkgiLCJmaWxlIjoiY2xvdWRtZWRpYS1wcm9ncmVzcy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIucHJvZ3Jlc3MtYmFyIHtcbiAgd2lkdGg6IDE4MHB4O1xuICBoZWlnaHQ6IDFlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjZTdjNztcbn1cbi5wcm9ncmVzcyB7XG4gIGhlaWdodDogMWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODA5ZjQzO1xuICB3aWR0aDogMDtcbn1cbiIsIkBvcmNoYXJkLWdyZWVuOiAjODA5ZjQzO1xyXG5cclxuLnByb2dyZXNzLWJhciB7XHJcbiAgICB3aWR0aDogMTgwcHg7XHJcbiAgICBoZWlnaHQ6IDFlbTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oQG9yY2hhcmQtZ3JlZW4sIDQwJSk7XHJcbn1cclxuXHJcbi5wcm9ncmVzcyB7XHJcbiAgICBoZWlnaHQ6IDFlbTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IEBvcmNoYXJkLWdyZWVuO1xyXG4gICAgd2lkdGg6IDA7XHJcbn1cclxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */

View File

@@ -29,4 +29,4 @@
border-radius: 0;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtdGFicy5jc3MiLCJjbG91ZG1lZGlhLXRhYnMubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQUNMQTtFQUNJLGNBQUE7RUFDQSxVQUFBO0VBQ0EsaUJBQUE7RUFDQSxXQUFBO0VBQ0EscUJBQUE7RUFDQSxtQkFBQTtDRENIO0FDUEQ7RUFTUSxpQkFBQTtFQUNBLGNBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUNBLFdBQUE7Q0RDUDtBQ2ZEO0VBaUJZLGtCQUFBO0VBQ0EsaUJBQUE7Q0RDWDtBQ25CRDtFQXVCUSwwQkFBQTtFQUNBLGNBQUE7RUFDQSxpQkFBQTtDRERQIiwiZmlsZSI6ImNsb3VkbWVkaWEtdGFicy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjdGFicyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cbiN0YWJzIHVsIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItbGVmdDogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcGFkZGluZzogMDtcbn1cbiN0YWJzIHVsIGxpIHtcbiAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4jdGFicyAudWktdGFicy1wYW5lbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWFhYWE7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4iLCIjdGFicyB7IC8vIFNob3VsZCBiZSAudGFicy1jb250YWluZXIgYnV0IHRoYXQgZG9lcyBub3QgZ2FpbiBlbm91Z2ggc3BlY2lmaWNpdHkgdG8gbmVzdGVkIHJ1bGVzIHRvIG92ZXJyaWRlIEpRdWVyeVVJIHN0eWxpbmcuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcblxuICAgIHVsIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudWktdGFicy1wYW5lbCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWFhYWE7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxufSJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtdGFicy5jc3MiLCJjbG91ZG1lZGlhLXRhYnMubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQUNMQTtFQUNJLGNBQUE7RUFDQSxVQUFBO0VBQ0EsaUJBQUE7RUFDQSxXQUFBO0VBQ0EscUJBQUE7RUFDQSxtQkFBQTtDRENIO0FDUEQ7RUFTUSxpQkFBQTtFQUNBLGNBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUNBLFdBQUE7Q0RDUDtBQ2ZEO0VBaUJZLGtCQUFBO0VBQ0EsaUJBQUE7Q0RDWDtBQ25CRDtFQXVCUSwwQkFBQTtFQUNBLGNBQUE7RUFDQSxpQkFBQTtDRERQIiwiZmlsZSI6ImNsb3VkbWVkaWEtdGFicy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjdGFicyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cbiN0YWJzIHVsIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItbGVmdDogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcGFkZGluZzogMDtcbn1cbiN0YWJzIHVsIGxpIHtcbiAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4jdGFicyAudWktdGFicy1wYW5lbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWFhYWE7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4iLCIjdGFicyB7IC8vIFNob3VsZCBiZSAudGFicy1jb250YWluZXIgYnV0IHRoYXQgZG9lcyBub3QgZ2FpbiBlbm91Z2ggc3BlY2lmaWNpdHkgdG8gbmVzdGVkIHJ1bGVzIHRvIG92ZXJyaWRlIEpRdWVyeVVJIHN0eWxpbmcuXHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuXHJcbiAgICB1bCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgICAgICBib3JkZXItbGVmdDogMDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC51aS10YWJzLXBhbmVsIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhYWFhO1xyXG4gICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIH1cclxufSJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */

View File

@@ -21,4 +21,4 @@
margin-bottom: 1em;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtdmlkZW9wbGF5ZXIuY3NzIiwiY2xvdWRtZWRpYS12aWRlb3BsYXllci5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxBQ0xBO0VBSUksdUJBQUE7RUFDQSx3QkFBQTtFQUNBLGFBQUE7Q0RDSDtBQ1BEO0VBU1EsV0FBQTtFQUNBLDJDQUFBO0VBQ0EsbUJBQUE7RUFDQSw0Q0FBQTtFQUNBLGFBQUE7RUFDQSxhQUFBO0NEQ1A7QUNmRDtFQWtCUSxlQUFBO0VBQ0EsbUJBQUE7Q0RBUCIsImZpbGUiOiJjbG91ZG1lZGlhLXZpZGVvcGxheWVyLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jbG91ZHZpZGVvLXBsYXllci1hbHQtd3JhcHBlciB7XG4gIC1tb3otYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgLW8tYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgcGFkZGluZzogMWVtO1xufVxuLmNsb3VkdmlkZW8tcGxheWVyLWFsdC13cmFwcGVyIC5jbG91ZHZpZGVvLXBsYXllci1hbHQtaW5uZXIge1xuICB3aWR0aDogNjAlO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgcGFkZGluZzogMWVtO1xuICBjb2xvcjogYmxhY2s7XG59XG4uY2xvdWR2aWRlby1wbGF5ZXItYWx0LXdyYXBwZXIgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG4iLCIuY2xvdWR2aWRlby1wbGF5ZXItYWx0LXdyYXBwZXIge1xuICAgIC1tb3otYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAtby1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgIHBhZGRpbmc6IDFlbTtcblxuICAgIC5jbG91ZHZpZGVvLXBsYXllci1hbHQtaW5uZXIge1xuICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBmYWRlb3V0KHdoaXRlLCA0MCUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGZhZGVvdXQod2hpdGUsIDE1JSk7XG4gICAgICAgIHBhZGRpbmc6IDFlbTtcbiAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtdmlkZW9wbGF5ZXIuY3NzIiwiY2xvdWRtZWRpYS12aWRlb3BsYXllci5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxBQ0xBO0VBSUksdUJBQUE7RUFDQSx3QkFBQTtFQUNBLGFBQUE7Q0RDSDtBQ1BEO0VBU1EsV0FBQTtFQUNBLDJDQUFBO0VBQ0EsbUJBQUE7RUFDQSw0Q0FBQTtFQUNBLGFBQUE7RUFDQSxhQUFBO0NEQ1A7QUNmRDtFQWtCUSxlQUFBO0VBQ0EsbUJBQUE7Q0RBUCIsImZpbGUiOiJjbG91ZG1lZGlhLXZpZGVvcGxheWVyLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jbG91ZHZpZGVvLXBsYXllci1hbHQtd3JhcHBlciB7XG4gIC1tb3otYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgLW8tYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgcGFkZGluZzogMWVtO1xufVxuLmNsb3VkdmlkZW8tcGxheWVyLWFsdC13cmFwcGVyIC5jbG91ZHZpZGVvLXBsYXllci1hbHQtaW5uZXIge1xuICB3aWR0aDogNjAlO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgcGFkZGluZzogMWVtO1xuICBjb2xvcjogYmxhY2s7XG59XG4uY2xvdWR2aWRlby1wbGF5ZXItYWx0LXdyYXBwZXIgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG4iLCIuY2xvdWR2aWRlby1wbGF5ZXItYWx0LXdyYXBwZXIge1xyXG4gICAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgLW8tYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcclxuICAgIHBhZGRpbmc6IDFlbTtcclxuXHJcbiAgICAuY2xvdWR2aWRlby1wbGF5ZXItYWx0LWlubmVyIHtcclxuICAgICAgICB3aWR0aDogNjAlO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGZhZGVvdXQod2hpdGUsIDQwJSk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGZhZGVvdXQod2hpdGUsIDE1JSk7XHJcbiAgICAgICAgcGFkZGluZzogMWVtO1xyXG4gICAgICAgIGNvbG9yOiBibGFjaztcclxuICAgIH1cclxuXHJcbiAgICBzcGFuIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XHJcbiAgICB9XHJcbn1cclxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */

View File

@@ -19,4 +19,4 @@
padding-right: 5px;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUuY2xvdWRtZWRpYS1tZWRpYXByb3ZpZGVycy5jc3MiLCJtZW51LmNsb3VkbWVkaWEtbWVkaWFwcm92aWRlcnMubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQUNMQTtFQUNJLG9CQUFBO0VBQ0EsOEJBQUE7Q0RDSDtBQ0NHO0VBQ0kseUJBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0Esc0JBQUE7RUFDQSx5QkFBQTtFQUNBLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7Q0RDUCIsImZpbGUiOiJtZW51LmNsb3VkbWVkaWEtbWVkaWFwcm92aWRlcnMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm5hdmljb24td2luZG93cy1henVyZS1tZWRpYSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHBhZGRpbmctcmlnaHQ6IDZweCAhaW1wb3J0YW50O1xufVxuLm5hdmljb24td2luZG93cy1henVyZS1tZWRpYTpiZWZvcmUge1xuICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIGNvbnRlbnQ6ICdcXGYwYzInO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiBibGFjaztcbiAgcGFkZGluZy1yaWdodDogNXB4O1xufVxuIiwiLm5hdmljb24td2luZG93cy1henVyZS1tZWRpYSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHggIWltcG9ydGFudDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgICBjb250ZW50OiAnXFxmMGMyJztcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICB9XG59Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUuY2xvdWRtZWRpYS1tZWRpYXByb3ZpZGVycy5jc3MiLCJtZW51LmNsb3VkbWVkaWEtbWVkaWFwcm92aWRlcnMubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQUNMQTtFQUNJLG9CQUFBO0VBQ0EsOEJBQUE7Q0RDSDtBQ0NHO0VBQ0kseUJBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0Esc0JBQUE7RUFDQSx5QkFBQTtFQUNBLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7Q0RDUCIsImZpbGUiOiJtZW51LmNsb3VkbWVkaWEtbWVkaWFwcm92aWRlcnMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm5hdmljb24td2luZG93cy1henVyZS1tZWRpYSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHBhZGRpbmctcmlnaHQ6IDZweCAhaW1wb3J0YW50O1xufVxuLm5hdmljb24td2luZG93cy1henVyZS1tZWRpYTpiZWZvcmUge1xuICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIGNvbnRlbnQ6ICdcXGYwYzInO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiBibGFjaztcbiAgcGFkZGluZy1yaWdodDogNXB4O1xufVxuIiwiLm5hdmljb24td2luZG93cy1henVyZS1tZWRpYSB7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgcGFkZGluZy1yaWdodDogNnB4ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xyXG4gICAgICAgIGNvbnRlbnQ6ICdcXGYwYzInO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBjb2xvcjogYmxhY2s7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xyXG4gICAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */

View File

@@ -51,7 +51,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Data.OData" publicKeyToken="31bf3856ad364e35" culture="neutral" />

View File

@@ -11,15 +11,15 @@
<package id="Microsoft.Data.Edm" version="5.8.4" targetFramework="net48" />
<package id="Microsoft.Data.OData" version="5.8.4" targetFramework="net48" />
<package id="Microsoft.Data.Services.Client" version="5.8.4" targetFramework="net48" />
<package id="Microsoft.IdentityModel.JsonWebTokens" version="5.2.4" targetFramework="net48" />
<package id="Microsoft.IdentityModel.Logging" version="5.2.4" targetFramework="net48" />
<package id="Microsoft.IdentityModel.Tokens" version="5.2.4" targetFramework="net48" />
<package id="Microsoft.IdentityModel.JsonWebTokens" version="5.7.0" targetFramework="net48" />
<package id="Microsoft.IdentityModel.Logging" version="5.7.0" targetFramework="net48" />
<package id="Microsoft.IdentityModel.Tokens" version="5.7.0" targetFramework="net48" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net48" />
<package id="Microsoft.WindowsAzure.ConfigurationManager" version="3.1.0" targetFramework="net48" />
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net48" />
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net48" />
<package id="NHibernate" version="4.1.2.4000" targetFramework="net48" />
<package id="Orchard.WindowsAzure.Diagnostics" version="2.7.0.0" targetFramework="net48" />
<package id="System.IdentityModel.Tokens.Jwt" version="5.2.4" targetFramework="net48" />
<package id="System.IdentityModel.Tokens.Jwt" version="5.7.0" targetFramework="net48" />
<package id="System.Spatial" version="5.8.4" targetFramework="net48" />
<package id="TransientFaultHandling.Core" version="5.1.1209.1" targetFramework="net48" />
<package id="windowsazure.mediaservices" version="3.4.0.0" targetFramework="net48" />

View File

@@ -100,8 +100,8 @@
<Reference Include="Microsoft.WindowsFabric.Data.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Microsoft.WindowsAzure.Caching.2.4.0.0\lib\net40-full\Microsoft.WindowsFabric.Data.Common.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="NHibernate, Version=4.1.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\NHibernate.4.1.2.4000\lib\net40\NHibernate.dll</HintPath>
@@ -218,4 +218,4 @@
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
</Project>
</Project>

View File

@@ -89,6 +89,8 @@ namespace Orchard.Azure.Services.FileSystems {
return newPath;
}
private static string GetFolderName(string path) => path.Substring(path.LastIndexOf('/') + 1);
public string Combine(string path1, string path2) {
if (path1 == null) {
throw new ArgumentNullException("path1");
@@ -141,10 +143,10 @@ namespace Orchard.Azure.Services.FileSystems {
}
return BlobClient.ListBlobs(prefix)
.OfType<CloudBlockBlob>()
.Where(blobItem => !blobItem.Uri.AbsoluteUri.EndsWith(FolderEntry))
.Select(blobItem => new AzureBlobFileStorage(blobItem, _absoluteRoot))
.ToArray();
.OfType<CloudBlockBlob>()
.Where(blobItem => !blobItem.Uri.AbsoluteUri.EndsWith(FolderEntry))
.Select(blobItem => new AzureBlobFileStorage(blobItem, _absoluteRoot))
.ToArray();
}
public IEnumerable<IStorageFolder> ListFolders(string path) {
@@ -194,6 +196,11 @@ namespace Orchard.Azure.Services.FileSystems {
public void CreateFolder(string path) {
path = ConvertToRelativeUriPath(path);
if (FileSystemStorageProvider.FolderNameContainsInvalidCharacters(GetFolderName(path))) {
throw new InvalidNameCharacterException("The directory name contains invalid character(s)");
}
Container.EnsureDirectoryDoesNotExist(String.Concat(_root, path));
// Creating a virtually hidden file to make the directory an existing concept
@@ -225,6 +232,10 @@ namespace Orchard.Azure.Services.FileSystems {
path = ConvertToRelativeUriPath(path);
newPath = ConvertToRelativeUriPath(newPath);
if (FileSystemStorageProvider.FolderNameContainsInvalidCharacters(GetFolderName(newPath))) {
throw new InvalidNameCharacterException("The new directory name contains invalid character(s)");
}
if (!path.EndsWith("/"))
path += "/";
@@ -260,6 +271,10 @@ namespace Orchard.Azure.Services.FileSystems {
path = ConvertToRelativeUriPath(path);
newPath = ConvertToRelativeUriPath(newPath);
if (FileSystemStorageProvider.FileNameContainsInvalidCharacters(Path.GetFileName(newPath))) {
throw new InvalidNameCharacterException("The new file name contains invalid character(s)");
}
Container.EnsureBlobExists(String.Concat(_root, path));
Container.EnsureBlobDoesNotExist(String.Concat(_root, newPath));
@@ -284,6 +299,10 @@ namespace Orchard.Azure.Services.FileSystems {
public IStorageFile CreateFile(string path) {
path = ConvertToRelativeUriPath(path);
if (FileSystemStorageProvider.FileNameContainsInvalidCharacters(Path.GetFileName(path))) {
throw new InvalidNameCharacterException("The file name contains invalid character(s)");
}
if (Container.BlobExists(String.Concat(_root, path))) {
throw new ArgumentException("File " + path + " already exists");
}
@@ -371,10 +390,7 @@ namespace Orchard.Azure.Services.FileSystems {
_rootPath = rootPath;
}
public string GetName() {
var path = GetPath();
return path.Substring(path.LastIndexOf('/') + 1);
}
public string GetName() => GetFolderName(GetPath());
public string GetPath() {
return _blob.Uri.ToString().Substring(_rootPath.Length).Trim('/');
@@ -399,11 +415,12 @@ namespace Orchard.Azure.Services.FileSystems {
long size = 0;
foreach (var blobItem in directoryBlob.ListBlobs()) {
if (blobItem is CloudBlockBlob)
size += ((CloudBlockBlob)blobItem).Properties.Length;
if (blobItem is CloudBlobDirectory)
size += GetDirectorySize((CloudBlobDirectory)blobItem);
if (blobItem is CloudBlockBlob blob) {
size += blob.Properties.Length;
}
else if (blobItem is CloudBlobDirectory directory) {
size += GetDirectorySize(directory);
}
}
return size;

View File

@@ -63,7 +63,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral" />

View File

@@ -12,9 +12,9 @@
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net48" />
<package id="Microsoft.WindowsAzure.Caching" version="2.4.0.0" targetFramework="net48" />
<package id="Microsoft.WindowsAzure.ConfigurationManager" version="3.1.0" targetFramework="net48" />
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net48" />
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net48" />
<package id="NHibernate" version="4.1.2.4000" targetFramework="net48" />
<package id="Orchard.WindowsAzure.ServiceRuntime" version="2.7.0.0" targetFramework="net48" />
<package id="System.Spatial" version="5.8.4" targetFramework="net48" />
<package id="WindowsAzure.Storage" version="5.0.2" targetFramework="net48" />
</packages>
</packages>

View File

@@ -54,7 +54,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />

View File

@@ -49,7 +49,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />

View File

@@ -47,7 +47,7 @@
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30AD4FE6B2A6AEED" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0"/>
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="NHibernate" publicKeyToken="AA95F207798DFDB4" culture="neutral"/>

View File

@@ -21,7 +21,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>..\..\..\OrchardBasicCorrectness.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSet>..\..\..\..\OrchardBasicCorrectness.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
@@ -35,16 +35,16 @@
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="Autofac">
<Reference Include="Autofac, Version=3.5.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
<HintPath>..\..\..\..\packages\Autofac.3.5.2\lib\net40\Autofac.dll</HintPath>
</Reference>
<Reference Include="Moq, Version=4.2.1510.2205, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
<HintPath>..\..\..\..\packages\Moq.4.2.1510.2205\lib\net40\Moq.dll</HintPath>
</Reference>
<Reference Include="NHibernate">
<HintPath>..\..\..\..\packages\NHibernate.4.0.1.4000\lib\net40\NHibernate.dll</HintPath>
<Reference Include="NHibernate, Version=4.1.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
<HintPath>..\..\..\..\packages\NHibernate.4.1.2.4000\lib\net40\NHibernate.dll</HintPath>
</Reference>
<Reference Include="nunit.framework">
<Reference Include="nunit.framework, Version=2.5.10.11092, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
<HintPath>..\..\..\..\packages\NUnit.2.5.10.11092\lib\nunit.framework.dll</HintPath>
</Reference>
<Reference Include="System" />

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Autofac" version="3.5.2" targetFramework="net48" />
<package id="Moq" version="4.2.1510.2205" targetFramework="net48" />
<package id="NHibernate" version="4.1.2.4000" targetFramework="net48" />
<package id="NUnit" version="2.5.10.11092" targetFramework="net48" />
</packages>

View File

@@ -161,6 +161,8 @@ namespace Orchard.CodeGeneration.Commands {
templateText = templateText.Replace("$$ModuleTypeLibGuid$$", Guid.NewGuid().ToString());
File.WriteAllText(propertiesPath + "\\AssemblyInfo.cs", templateText);
content.Add(propertiesPath + "\\AssemblyInfo.cs");
File.WriteAllText(testsPath + "packages.config", File.ReadAllText(_codeGenTemplatePath + "ModuleTestsPackagesConfig.txt"));
content.Add(testsPath + "packages.config");
var itemGroup = CreateProjectItemGroup(testsPath, content, folders);
@@ -168,7 +170,7 @@ namespace Orchard.CodeGeneration.Commands {
csprojText = csprojText.Replace("$$ProjectName$$", projectName);
csprojText = csprojText.Replace("$$TestsProjectGuid$$", projectGuid);
csprojText = csprojText.Replace("$$FileIncludes$$", itemGroup ?? "");
csprojText = csprojText.Replace("$$OrchardReferences$$", GetOrchardReferences());
csprojText = csprojText.Replace("$$OrchardReferences$$", GetOrchardReferences(modulesFolderRelativeDepth: 3));
File.WriteAllText(testsPath + projectName + ".csproj", csprojText);
@@ -327,15 +329,17 @@ namespace Orchard.CodeGeneration.Commands {
return text;
}
private static string GetOrchardReferences() {
private static string GetOrchardReferences(int modulesFolderRelativeDepth = 2) {
var frameworkRelativeDepth = string.Join("\\", Enumerable.Repeat("..", modulesFolderRelativeDepth + 1));
var coreRelativeDepth = string.Join("\\", Enumerable.Repeat("..", modulesFolderRelativeDepth));
return IsSourceEnlistment() ?
@"<ProjectReference Include=""..\..\..\Orchard\Orchard.Framework.csproj"">
<Project>{2D1D92BB-4555-4CBE-8D0E-63563D6CE4C6}</Project>
$@"<ProjectReference Include=""{frameworkRelativeDepth}\Orchard\Orchard.Framework.csproj"">
<Project>{{2D1D92BB-4555-4CBE-8D0E-63563D6CE4C6}}</Project>
<Name>Orchard.Framework</Name>
<Private>$(MvcBuildViews)</Private>
</ProjectReference>
<ProjectReference Include=""..\..\Core\Orchard.Core.csproj"">
<Project>{9916839C-39FC-4CEB-A5AF-89CA7E87119F}</Project>
<ProjectReference Include=""{coreRelativeDepth}\Core\Orchard.Core.csproj"">
<Project>{{9916839C-39FC-4CEB-A5AF-89CA7E87119F}}</Project>
<Name>Orchard.Core</Name>
<Private>$(MvcBuildViews)</Private>
</ProjectReference>" :

View File

@@ -88,6 +88,7 @@
<Compile Include="Services\CodeGenerationCommandInterpreter.cs" />
</ItemGroup>
<ItemGroup>
<Content Include="CodeGenerationTemplates\ModuleTestsPackagesConfig.txt" />
<Content Include="CodeGenerationTemplates\ModuleStylesMinCss.txt" />
<Content Include="CodeGenerationTemplates\ModuleStylesCss.txt" />
<Content Include="CodeGenerationTemplates\ModuleStylesLess.txt" />
@@ -158,4 +159,4 @@
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
</Project>
</Project>

View File

@@ -49,7 +49,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />

View File

@@ -54,7 +54,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />

View File

@@ -52,7 +52,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />

View File

@@ -54,7 +54,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />

View File

@@ -54,7 +54,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />

View File

@@ -54,7 +54,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />

View File

@@ -54,7 +54,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />

View File

@@ -55,7 +55,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />

View File

@@ -55,7 +55,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />

View File

@@ -74,5 +74,11 @@ namespace Orchard.DynamicForms.Controllers {
return Redirect(Request.UrlReferrer.ToString());
}
public ActionResult Export(string id) =>
File(
_formService.ExportSubmissions(id),
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"Export.xlsx");
}
}

View File

@@ -1,12 +0,0 @@
using System;
using System.Collections.Specialized;
using System.Linq;
using System.Web;
namespace Orchard.DynamicForms.Helpers {
public static class NameValueCollectionExtensions {
public static string ToQueryString(this NameValueCollection nameValues) {
return String.Join("&", (from string name in nameValues select String.Concat(name, "=", HttpUtility.UrlEncode(nameValues[name]))).ToArray());
}
}
}

View File

@@ -52,6 +52,12 @@
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="DocumentFormat.OpenXml, Version=3.0.2.0, Culture=neutral, PublicKeyToken=8fb06cb64d019a17, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\DocumentFormat.OpenXml.3.0.2\lib\net46\DocumentFormat.OpenXml.dll</HintPath>
</Reference>
<Reference Include="DocumentFormat.OpenXml.Framework, Version=3.0.2.0, Culture=neutral, PublicKeyToken=8fb06cb64d019a17, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\DocumentFormat.OpenXml.Framework.3.0.2\lib\net46\DocumentFormat.OpenXml.Framework.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.4.1.0\lib\net472\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll</HintPath>
</Reference>
@@ -59,8 +65,8 @@
<Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
@@ -68,6 +74,7 @@
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Web.ApplicationServices" />
<Reference Include="System.Web.DynamicData" />
<Reference Include="System.Web.Entity" />
@@ -96,6 +103,7 @@
<Reference Include="System.Xml" />
<Reference Include="System.Configuration" />
<Reference Include="System.Xml.Linq" />
<Reference Include="WindowsBase" />
</ItemGroup>
<ItemGroup>
<Content Include="Assets\CSS\DynamicForms-Admin.css" />
@@ -332,7 +340,6 @@
<Compile Include="Migrations.cs" />
<Compile Include="Handlers\ReadFormValuesHandler.cs" />
<Compile Include="Services\FormElementEventHandlerBase.cs" />
<Compile Include="Helpers\NameValueCollectionExtensions.cs" />
<Compile Include="Models\Submission.cs" />
<Compile Include="Permissions.cs" />
<Compile Include="Services\FormService.cs" />
@@ -597,4 +604,4 @@
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
</Project>
</Project>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -2,9 +2,13 @@
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Data;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Spreadsheet;
using Orchard.Collections;
using Orchard.ContentManagement;
using Orchard.ContentManagement.MetaData;
@@ -21,6 +25,7 @@ using Orchard.Layouts.Models;
using Orchard.Layouts.Services;
using Orchard.Localization.Services;
using Orchard.Services;
using Orchard.Utility.Extensions;
namespace Orchard.DynamicForms.Services {
public class FormService : IFormService {
@@ -38,16 +43,16 @@ namespace Orchard.DynamicForms.Services {
private readonly ICultureAccessor _cultureAccessor;
public FormService(
ILayoutSerializer serializer,
IClock clock,
IRepository<Submission> submissionRepository,
IFormElementEventHandler elementHandlers,
IContentDefinitionManager contentDefinitionManager,
IBindingManager bindingManager,
IDynamicFormEventHandler formEventHandler,
ILayoutSerializer serializer,
IClock clock,
IRepository<Submission> submissionRepository,
IFormElementEventHandler elementHandlers,
IContentDefinitionManager contentDefinitionManager,
IBindingManager bindingManager,
IDynamicFormEventHandler formEventHandler,
Lazy<IEnumerable<IElementValidator>> validators,
IDateLocalizationServices dateLocalizationServices,
IOrchardServices services,
IDateLocalizationServices dateLocalizationServices,
IOrchardServices services,
ICultureAccessor cultureAccessor) {
_serializer = serializer;
@@ -152,6 +157,90 @@ namespace Orchard.DynamicForms.Services {
};
}
public Stream ExportSubmissions(string formName = null) {
var stream = new MemoryStream();
string GetColumnId(int columnNumber) {
string result = "";
do {
result = ((char)((columnNumber - 1) % 26 + (int)'A')).ToString() + result;
columnNumber = (columnNumber - 1) / 26;
} while (columnNumber != 0);
return result;
}
// Create a spreadsheet document.
var spreadsheetDocument = SpreadsheetDocument.Create(stream, SpreadsheetDocumentType.Workbook);
// Add a WorkbookPart to the document.
var workbookpart = spreadsheetDocument.AddWorkbookPart();
workbookpart.Workbook = new Workbook();
// Add a WorksheetPart to the WorkbookPart.
var worksheetPart = workbookpart.AddNewPart<WorksheetPart>();
var sheetData = new SheetData();
worksheetPart.Worksheet = new Worksheet(sheetData);
// Add Sheets to the Workbook.
var sheets = spreadsheetDocument.WorkbookPart.Workbook.AppendChild(new Sheets());
// Fetch submissions
var query = _submissionRepository.Table;
if (!String.IsNullOrWhiteSpace(formName)) {
query = query.Where(x => x.FormName == formName);
}
var submissions = new Orderable<Submission>(query).Desc(x => x.CreatedUtc).Queryable.ToArray();
foreach (var formGroup in submissions.GroupBy(s => s.FormName)) {
// Append a new worksheet and associate it with the workbook.
var sheet = new Sheet() {
Id = spreadsheetDocument.WorkbookPart.GetIdOfPart(worksheetPart),
SheetId = 1,
Name = formGroup.Key
};
sheets.Append(sheet);
var data = GenerateDataTable(formGroup);
uint rowIndex = 1;
var headerRow = new Row { RowIndex = rowIndex };
sheetData.Append(headerRow);
for (int i = 0; i < data.Columns.Count; i++) {
var title = data.Columns[i].ToString().CamelFriendly();
headerRow.Append(new Cell {
CellReference = GetColumnId(i + 1) + rowIndex,
InlineString = new InlineString { Text = new Text(title) },
DataType = new EnumValue<CellValues>(CellValues.InlineString),
});
}
foreach (DataRow dataRow in data.Rows) {
rowIndex++;
var row = new Row { RowIndex = rowIndex };
sheetData.Append(row);
for (int i = 0; i < data.Columns.Count; i++) {
var value = dataRow[data.Columns[i]];
row.Append(new Cell {
CellReference = GetColumnId(i + 1) + rowIndex,
InlineString = new InlineString { Text = new Text(value.ToString()) },
DataType = new EnumValue<CellValues>(CellValues.InlineString),
});
}
}
}
workbookpart.Workbook.Save();
// Close the document.
spreadsheetDocument.Dispose();
stream.Seek(0, SeekOrigin.Begin);
return stream;
}
public void DeleteSubmission(Submission submission) {
_submissionRepository.Delete(submission);
}
@@ -191,10 +280,10 @@ namespace Orchard.DynamicForms.Services {
// Collect any remaining form values not handled by any specific element.
var requestForm = _services.WorkContext.HttpContext.Request.Form;
var blackList = new[] {"__RequestVerificationToken", "formName", "contentId"};
foreach (var key in
from string key in requestForm
where !String.IsNullOrWhiteSpace(key) && !blackList.Contains(key) && values[key] == null
var blackList = new[] { "__RequestVerificationToken", "formName", "contentId" };
foreach (var key in
from string key in requestForm
where !String.IsNullOrWhiteSpace(key) && !blackList.Contains(key) && values[key] == null
select key) {
values.Add(key, requestForm[key]);
@@ -204,13 +293,14 @@ namespace Orchard.DynamicForms.Services {
}
public DataTable GenerateDataTable(IEnumerable<Submission> submissions) {
var records = submissions.Select(x => Tuple.Create(x, x.ToNameValues())).ToArray();
var records = submissions.Select(x => System.Tuple.Create(x, x.ToNameValues())).ToArray();
var columnNames = new HashSet<string>();
var dataTable = new DataTable();
foreach (var key in
from record in records
from string key in record.Item2 where !columnNames.Contains(key)
foreach (var key in
from record in records
from string key in record.Item2
where !columnNames.Contains(key)
where !String.IsNullOrWhiteSpace(key)
select key) {
columnNames.Add(key);
@@ -282,7 +372,7 @@ namespace Orchard.DynamicForms.Services {
if (form.Publication == "Publish" || !contentTypeSettings.Draftable) {
_contentManager.Publish(contentItem);
}
return contentItem;
}
@@ -307,8 +397,8 @@ namespace Orchard.DynamicForms.Services {
}
private static void InvokePartBindings(
ContentItem contentItem,
IEnumerable<ContentPartBindingDescriptor> lookup,
ContentItem contentItem,
IEnumerable<ContentPartBindingDescriptor> lookup,
PartBindingSettings partBindingSettings,
string value) {
@@ -348,7 +438,7 @@ namespace Orchard.DynamicForms.Services {
if (field == null)
return;
var fieldBindingDescriptorsQuery =
var fieldBindingDescriptorsQuery =
from partBindingDescriptor in lookup
where partBindingDescriptor.Part.PartDefinition.Name == partBindingSettings.Name
from fieldBindingDescriptor in partBindingDescriptor.FieldBindings
@@ -377,4 +467,4 @@ namespace Orchard.DynamicForms.Services {
return validatorElementType == elementType || validatorElementType.IsAssignableFrom(elementType);
}
}
}
}

View File

@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Data;
using System.IO;
using System.Web.Mvc;
using Orchard.Collections;
using Orchard.ContentManagement;
@@ -20,6 +21,7 @@ namespace Orchard.DynamicForms.Services {
Submission CreateSubmission(Submission submission);
Submission GetSubmission(int id);
IPageOfItems<Submission> GetSubmissions(string formName = null, int? skip = null, int? take = null);
Stream ExportSubmissions(string formName = null);
void DeleteSubmission(Submission submission);
int DeleteSubmissions(IEnumerable<int> submissionIds);
void ReadElementValues(FormElement element, ReadElementValuesContext context);

View File

@@ -14,4 +14,4 @@
.layout-editor .layout-content > .layout-element-wrapper .layout-content-markup > .form-field-element.form-field-element-enumeration ol {
list-style: none;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkR5bmFtaWNGb3Jtcy1BZG1pbi5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEFBTEE7Ozs7O0lBS0ksWUFBWTtDQUNmOztBQUVEO0lBQ0ksaUJBQWlCO0NBQ3BCIiwiZmlsZSI6IkR5bmFtaWNGb3Jtcy1BZG1pbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwID4gLmZvcm0tZmllbGQtZWxlbWVudCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgPiAuZm9ybS1maWVsZC1lbGVtZW50IGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgPiAuZm9ybS1maWVsZC1lbGVtZW50IGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgPiAuZm9ybS1maWVsZC1lbGVtZW50IGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwID4gLmZvcm0tZmllbGQtZWxlbWVudCB0ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgPiAuZm9ybS1maWVsZC1lbGVtZW50LmZvcm0tZmllbGQtZWxlbWVudC1lbnVtZXJhdGlvbiBvbCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn0iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkR5bmFtaWNGb3Jtcy1BZG1pbi5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEFBTEE7Ozs7O0lBS0ksWUFBWTtDQUNmOztBQUVEO0lBQ0ksaUJBQWlCO0NBQ3BCIiwiZmlsZSI6IkR5bmFtaWNGb3Jtcy1BZG1pbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwID4gLmZvcm0tZmllbGQtZWxlbWVudCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCA+IC5mb3JtLWZpZWxkLWVsZW1lbnQgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxyXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwID4gLmZvcm0tZmllbGQtZWxlbWVudCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXHJcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgPiAuZm9ybS1maWVsZC1lbGVtZW50IGlucHV0W3R5cGU9XCJ0ZWxcIl0sXHJcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgPiAuZm9ybS1maWVsZC1lbGVtZW50IHRleHRhcmVhIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwID4gLmZvcm0tZmllbGQtZWxlbWVudC5mb3JtLWZpZWxkLWVsZW1lbnQtZW51bWVyYXRpb24gb2wge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxufSJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */

View File

@@ -28,4 +28,4 @@
.form-field-element {
margin: 0.8em 0 0 0;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkR5bmFtaWNGb3Jtcy5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEFBTEE7Z0VBQ2dFO0FBQ2hFOzs7SUFHSSxXQUFXO0lBQ1gsbUJBQW1CO0lBQ25CLHFCQUFxQjtDQUN4Qjs7QUFFRDtnRUFDZ0U7QUFDaEU7S0FDSyx5QkFBeUI7Q0FDN0I7O0FBRUQ7S0FDSyxlQUFlO0NBQ25COztBQUVEO2dFQUNnRTtBQUNoRTtJQUNJLG9CQUFvQjtDQUN2QiIsImZpbGUiOiJEeW5hbWljRm9ybXMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogRm9ybXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5keW5hbWljLWZvcm0gaW5wdXRbdHlwZT0ndGV4dCddLFxuLmR5bmFtaWMtZm9ybSBpbnB1dC50ZXh0LFxuLmR5bmFtaWMtZm9ybSB0ZXh0YXJlYS50ZXh0IHtcbiAgICB3aWR0aDogOTklO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjhlbTtcbn1cblxuLyogVmFsaWRhdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmlucHV0LXZhbGlkYXRpb24tZXJyb3IsIGlucHV0LnRleHQuaW5wdXQtdmFsaWRhdGlvbi1lcnJvciB7XG4gICAgIGJvcmRlcjoxcHggc29saWQgIzk5MDgwODtcbn1cblxuLmZpZWxkLXZhbGlkYXRpb24tZXJyb3Ige1xuICAgICBjb2xvcjogIzk5MDgwODtcbn1cblxuLyogRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5mb3JtLWZpZWxkLWVsZW1lbnQge1xuICAgIG1hcmdpbjogMC44ZW0gMCAwIDA7XG59Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkR5bmFtaWNGb3Jtcy5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEFBTEE7Z0VBQ2dFO0FBQ2hFOzs7SUFHSSxXQUFXO0lBQ1gsbUJBQW1CO0lBQ25CLHFCQUFxQjtDQUN4Qjs7QUFFRDtnRUFDZ0U7QUFDaEU7S0FDSyx5QkFBeUI7Q0FDN0I7O0FBRUQ7S0FDSyxlQUFlO0NBQ25COztBQUVEO2dFQUNnRTtBQUNoRTtJQUNJLG9CQUFvQjtDQUN2QiIsImZpbGUiOiJEeW5hbWljRm9ybXMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogRm9ybXNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uZHluYW1pYy1mb3JtIGlucHV0W3R5cGU9J3RleHQnXSxcclxuLmR5bmFtaWMtZm9ybSBpbnB1dC50ZXh0LFxyXG4uZHluYW1pYy1mb3JtIHRleHRhcmVhLnRleHQge1xyXG4gICAgd2lkdGg6IDk5JTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDAuOGVtO1xyXG59XHJcblxyXG4vKiBWYWxpZGF0aW9uXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmlucHV0LXZhbGlkYXRpb24tZXJyb3IsIGlucHV0LnRleHQuaW5wdXQtdmFsaWRhdGlvbi1lcnJvciB7XHJcbiAgICAgYm9yZGVyOjFweCBzb2xpZCAjOTkwODA4O1xyXG59XHJcblxyXG4uZmllbGQtdmFsaWRhdGlvbi1lcnJvciB7XHJcbiAgICAgY29sb3I6ICM5OTA4MDg7XHJcbn1cclxuXHJcbi8qIEVsZW1lbnRzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmZvcm0tZmllbGQtZWxlbWVudCB7XHJcbiAgICBtYXJnaW46IDAuOGVtIDAgMCAwO1xyXG59Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */

View File

@@ -13,6 +13,9 @@
dataColumns.Add(Model.Submissions.Columns[i]);
}
}
<div class="manage">
@Html.ActionLink(T("Export").Text, "Export", "SubmissionAdmin", new { id = Model.FormName, area = "Orchard.DynamicForms" }, new { @class = "button primaryAction" })
</div>
@using (Html.BeginFormAntiForgeryPost()) {
<fieldset class="bulk-actions">
<label for="publishActions">@T("Actions:")</label>

View File

@@ -57,7 +57,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />

View File

@@ -1,9 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="DocumentFormat.OpenXml" version="3.0.2" targetFramework="net48" />
<package id="DocumentFormat.OpenXml.Framework" version="3.0.2" targetFramework="net48" />
<package id="Microsoft.AspNet.Mvc" version="5.2.7" targetFramework="net48" />
<package id="Microsoft.AspNet.Razor" version="3.2.7" targetFramework="net48" />
<package id="Microsoft.AspNet.WebPages" version="3.2.7" targetFramework="net48" />
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="4.1.0" targetFramework="net48" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net48" />
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net48" />
</packages>
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net48" />
</packages>

View File

@@ -68,8 +68,8 @@
<Reference Include="MimeKit, Version=3.1.0.0, Culture=neutral, PublicKeyToken=bede1c8a46c66814, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\MimeKit.3.1.1\lib\net48\MimeKit.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">

View File

@@ -55,7 +55,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />

View File

@@ -7,7 +7,7 @@
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="4.1.0" targetFramework="net48" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net48" />
<package id="MimeKit" version="3.1.1" targetFramework="net48" />
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net48" />
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net48" />
<package id="Portable.BouncyCastle" version="1.9.0" targetFramework="net48" />
<package id="System.Buffers" version="4.5.1" targetFramework="net48" />
</packages>

View File

@@ -4,46 +4,41 @@ using Orchard.ContentManagement.Handlers;
using Orchard.Fields.Fields;
using Orchard.Fields.Settings;
using Orchard.Localization;
using System;
using System.Collections.Generic;
using System.Linq;
namespace Orchard.Fields.Drivers {
public class EnumerationFieldDriver : ContentFieldDriver<EnumerationField> {
public IOrchardServices Services { get; set; }
private const string TemplateName = "Fields/Enumeration.Edit";
public EnumerationFieldDriver(IOrchardServices services) {
Services = services;
T = NullLocalizer.Instance;
}
public Localizer T { get; set; }
private static string GetPrefix(ContentField field, ContentPart part) {
return part.PartDefinition.Name + "." + field.Name;
}
private static string GetPrefix(ContentField field, ContentPart part) =>
part.PartDefinition.Name + "." + field.Name;
private static string GetDifferentiator(EnumerationField field, ContentPart part) {
return field.Name;
}
private static string GetDifferentiator(EnumerationField field) => field.Name;
protected override DriverResult Display(ContentPart part, EnumerationField field, string displayType, dynamic shapeHelper) {
return ContentShape("Fields_Enumeration", GetDifferentiator(field, part),
() => shapeHelper.Fields_Enumeration());
return ContentShape("Fields_Enumeration", GetDifferentiator(field), () => shapeHelper.Fields_Enumeration());
}
protected override DriverResult Editor(ContentPart part, EnumerationField field, dynamic shapeHelper) {
return ContentShape("Fields_Enumeration_Edit", GetDifferentiator(field, part),
() => {
if (part.IsNew() && String.IsNullOrEmpty(field.Value)) {
var settings = field.PartFieldDefinition.Settings.GetModel<EnumerationFieldSettings>();
if (!String.IsNullOrWhiteSpace(settings.DefaultValue)) {
field.Value = settings.DefaultValue;
}
return ContentShape("Fields_Enumeration_Edit", GetDifferentiator(field), () => {
if (part.IsNew() && string.IsNullOrEmpty(field.Value)) {
var settings = field.PartFieldDefinition.Settings.GetModel<EnumerationFieldSettings>();
if (!string.IsNullOrWhiteSpace(settings.DefaultValue)) {
field.SelectedValues = new string[] { settings.DefaultValue };
}
return shapeHelper.EditorTemplate(TemplateName: TemplateName, Model: field, Prefix: GetPrefix(field, part));
});
}
return shapeHelper.EditorTemplate(TemplateName: TemplateName, Model: field, Prefix: GetPrefix(field, part));
});
}
protected override DriverResult Editor(ContentPart part, EnumerationField field, IUpdateModel updater, dynamic shapeHelper) {

Some files were not shown because too many files have changed in this diff Show More