diff --git a/BootstrapBlazor.sln b/BootstrapBlazor.sln index e11a70b3625530f617368fb168b9bed85f87e1b4..72c272ef9b1b481e0cf9311f0712ba001d761729 100644 --- a/BootstrapBlazor.sln +++ b/BootstrapBlazor.sln @@ -120,6 +120,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BootstrapBlazor.AzureSpeech EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BootstrapBlazor.BaiduSpeech", "src\Extensions\Components\BootstrapBlazor.BaiduSpeech\BootstrapBlazor.BaiduSpeech.csproj", "{4ED606D8-D252-4573-8F0F-B69502ADB7ED}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BootstrapBlazor.CherryMarkdown", "src\Extensions\Components\BootstrapBlazor.CherryMarkdown\BootstrapBlazor.CherryMarkdown.csproj", "{018091B3-1E3A-41F3-87B2-5F285C2C3B73}" +EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BootstrapBlazor.SummerNote", "src\Extensions\Components\BootstrapBlazor.SummerNote\BootstrapBlazor.SummerNote.csproj", "{2FFC1564-EF75-454B-9D8E-A437A1737CEC}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UnitTestEditor", "test\UnitTestEditor\UnitTestEditor.csproj", "{9552B649-17E2-4BCA-8774-664C83A960CB}" @@ -200,6 +202,10 @@ Global {4ED606D8-D252-4573-8F0F-B69502ADB7ED}.Debug|Any CPU.Build.0 = Debug|Any CPU {4ED606D8-D252-4573-8F0F-B69502ADB7ED}.Release|Any CPU.ActiveCfg = Release|Any CPU {4ED606D8-D252-4573-8F0F-B69502ADB7ED}.Release|Any CPU.Build.0 = Release|Any CPU + {018091B3-1E3A-41F3-87B2-5F285C2C3B73}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {018091B3-1E3A-41F3-87B2-5F285C2C3B73}.Debug|Any CPU.Build.0 = Debug|Any CPU + {018091B3-1E3A-41F3-87B2-5F285C2C3B73}.Release|Any CPU.ActiveCfg = Release|Any CPU + {018091B3-1E3A-41F3-87B2-5F285C2C3B73}.Release|Any CPU.Build.0 = Release|Any CPU {2FFC1564-EF75-454B-9D8E-A437A1737CEC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {2FFC1564-EF75-454B-9D8E-A437A1737CEC}.Debug|Any CPU.Build.0 = Debug|Any CPU {2FFC1564-EF75-454B-9D8E-A437A1737CEC}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -244,6 +250,7 @@ Global {C28717F8-9D2B-4296-9CC4-94882338F370} = {CD062AB6-244D-402A-8F33-C37DAC5856CC} {42108A8A-C773-4F35-A870-3673BDD383E4} = {CD062AB6-244D-402A-8F33-C37DAC5856CC} {4ED606D8-D252-4573-8F0F-B69502ADB7ED} = {CD062AB6-244D-402A-8F33-C37DAC5856CC} + {018091B3-1E3A-41F3-87B2-5F285C2C3B73} = {CD062AB6-244D-402A-8F33-C37DAC5856CC} {2FFC1564-EF75-454B-9D8E-A437A1737CEC} = {CD062AB6-244D-402A-8F33-C37DAC5856CC} {9552B649-17E2-4BCA-8774-664C83A960CB} = {7C1D79F1-87BC-42C1-BD5A-CDE4044AC1BD} {6312863E-771D-4EFE-9B9D-071A01222E7A} = {CD062AB6-244D-402A-8F33-C37DAC5856CC} diff --git a/src/BootstrapBlazor.Shared/BootstrapBlazor.Shared.csproj b/src/BootstrapBlazor.Shared/BootstrapBlazor.Shared.csproj index 46e4d8a0330d8a5ead3ed0cee98738004494682b..5506184da8a77bde35eace4377718402d54ffad7 100644 --- a/src/BootstrapBlazor.Shared/BootstrapBlazor.Shared.csproj +++ b/src/BootstrapBlazor.Shared/BootstrapBlazor.Shared.csproj @@ -20,6 +20,7 @@ + diff --git a/src/BootstrapBlazor.Shared/Locales/en.json b/src/BootstrapBlazor.Shared/Locales/en.json index b75b91599fda085d4abcb47304673e30a7858b16..83ba5f6e4e574c10419bc2aab5c58f77e8988380 100644 --- a/src/BootstrapBlazor.Shared/Locales/en.json +++ b/src/BootstrapBlazor.Shared/Locales/en.json @@ -2735,6 +2735,7 @@ "InputNumber": "InputNumber", "Ip": "IpAddress", "Markdown": "Markdown", + "CherryMarkdown": "Cherry-Markdown", "MultiSelect": "MultiSelect", "Radio": "Radio", "Rate": "Rate", diff --git a/src/BootstrapBlazor.Shared/Locales/zh.json b/src/BootstrapBlazor.Shared/Locales/zh.json index 7f2223c6857e0395b429405ff9169c19f38b2396..36bb9175a0d740d1bf110ad93780226a2362a76a 100644 --- a/src/BootstrapBlazor.Shared/Locales/zh.json +++ b/src/BootstrapBlazor.Shared/Locales/zh.json @@ -2744,6 +2744,7 @@ "InputGroup": "输入组 InputGroup", "Ip": "IP 地址 IpAddress", "Markdown": "富文本框 Markdown", + "CherryMarkdown": "腾讯文本框 Markdown", "MultiSelect": "多项选择器 MultiSelect", "Radio": "单选框 Radio", "Rate": "评分 Rate", diff --git a/src/BootstrapBlazor.Shared/Samples/CherryMarkdowns.razor b/src/BootstrapBlazor.Shared/Samples/CherryMarkdowns.razor new file mode 100644 index 0000000000000000000000000000000000000000..72408ee03190e095b880d1d6e98ba37db6ace789 --- /dev/null +++ b/src/BootstrapBlazor.Shared/Samples/CherryMarkdowns.razor @@ -0,0 +1,39 @@ +@page "/cherry-markdowns" + +

CherryMarkdown 腾讯富文本框

+ +

基于 CherryMarkdown 的富文本框组件

+ + + +
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/src/BootstrapBlazor.Shared/Samples/CherryMarkdowns.razor.cs b/src/BootstrapBlazor.Shared/Samples/CherryMarkdowns.razor.cs new file mode 100644 index 0000000000000000000000000000000000000000..7b4d089356bc6776bf7627a0fec4eeb6efbc1e6d --- /dev/null +++ b/src/BootstrapBlazor.Shared/Samples/CherryMarkdowns.razor.cs @@ -0,0 +1,96 @@ +// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +// Website: https://www.blazor.zone or https://argozhang.github.io/ + +using BootstrapBlazor.Components; +using BootstrapBlazor.Shared.Common; +using Microsoft.AspNetCore.Components; +using Microsoft.Extensions.Options; + +namespace BootstrapBlazor.Shared.Samples; + +/// +/// +/// +public partial class CherryMarkdowns +{ + private string? MarkdownString { get; set; } + + private string? HtmlString { get; set; } + + [NotNull] + private CherryMarkdown? MarkdownElement { get; set; } + + private EditorSettings EditorSettings { get; set; } = new EditorSettings() { DefaultModel = "editOnly" }; + + private ToolbarSettings ToolbarSettings { get; set; } = + new ToolbarSettings() { Toolbar = new List { "italic", new { insert = new List() { "image" } } }, Bubble = new List() { "bold" }, Float = new List() { "h1" } }; + + [Inject] + [NotNull] + private IOptionsMonitor? SiteOptions { get; set; } + + /// + /// OnInitialized + /// + protected override void OnInitialized() + { + base.OnInitialized(); + MarkdownString = "# test"; + } + + private async Task OnFileUpload(CherryMarkdownUploadFile arg) + { + var url = Path.Combine("images", "uploader", + $"{Path.GetFileNameWithoutExtension(arg.FileName)}-{DateTimeOffset.Now:yyyyMMddHHmmss}{Path.GetExtension(arg.FileName)}"); + var fileName = Path.Combine(SiteOptions.CurrentValue.WebRootPath, url); + var ret = await arg.SaveToFile(fileName); + return ret ? url : ""; + } + + private IEnumerable GetAttributes() => new AttributeItem[] + { + new AttributeItem(){ + Name = "EditorSettings", + Description = "编辑器设置", + Type = "EditorSettings", + ValueList = " — ", + DefaultValue = " — " + }, + new AttributeItem(){ + Name = "ToolbarSettings", + Description = "工具栏设置", + Type = "ToolbarSettings", + ValueList = " — ", + DefaultValue = " — " + }, + new AttributeItem(){ + Name = "Value", + Description = "组件值", + Type = "string", + ValueList = " — ", + DefaultValue = " — " + }, + new AttributeItem(){ + Name = "Html", + Description = "组件 Html 代码", + Type = "string", + ValueList = " — ", + DefaultValue = " — " + }, + new AttributeItem(){ + Name = "OnFileUpload", + Description = "文件上传回调方法", + Type = "Func>", + ValueList = " — ", + DefaultValue = " — " + }, + new AttributeItem(){ + Name = "IsViewer", + Description = "组件是否为浏览器模式", + Type = "bool", + ValueList = "true/false", + DefaultValue = "false" + } + }; +} diff --git a/src/BootstrapBlazor.Shared/Shared/NavMenu.razor.cs b/src/BootstrapBlazor.Shared/Shared/NavMenu.razor.cs index a0d52f91ac9ac020f71efa387edae2281b293176..68336f6b6373d061502d729d937e172bc189ff35 100644 --- a/src/BootstrapBlazor.Shared/Shared/NavMenu.razor.cs +++ b/src/BootstrapBlazor.Shared/Shared/NavMenu.razor.cs @@ -346,6 +346,12 @@ public sealed partial class NavMenu Url = "markdowns" }, new() + { + IsNew = true, + Text = Localizer["CherryMarkdown"], + Url = "cherry-markdowns" + }, + new() { Text = Localizer["MultiSelect"], Url = "multiselects" diff --git a/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/BootstrapBlazor.CherryMarkdown.csproj b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/BootstrapBlazor.CherryMarkdown.csproj new file mode 100644 index 0000000000000000000000000000000000000000..5bf605caa2f62fb47d1319a7438a404cea1eb441 --- /dev/null +++ b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/BootstrapBlazor.CherryMarkdown.csproj @@ -0,0 +1,20 @@ + + + + + + 6.0.1 + + + + + + + + + + + + + + diff --git a/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/Components/CherryMarkdown/CherryMarkdown.js b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/Components/CherryMarkdown/CherryMarkdown.js new file mode 100644 index 0000000000000000000000000000000000000000..4e2c9960689977b24fae57d18b02754ea1a27c92 --- /dev/null +++ b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/Components/CherryMarkdown/CherryMarkdown.js @@ -0,0 +1,79 @@ +export function bb_cherry_markdown(el, value, method, obj) { + BootstrapBlazorModules.addLink('_content/BootstrapBlazor.CherryMarkdown/css/bootstrap.blazor.cherrymarkdown.min.css'); + var $el = $(el); + if (method === "init") { + if (value.toolbars.toolbar === null) { + delete value.toolbars.toolbar; + } + if (value.toolbars.bubble === null) { + delete value.toolbars.bubble; + } + if (value.toolbars.float === null) { + delete value.toolbars.float; + } + var handler = window.setInterval(function () { + + if ($el.is(':visible')) { + window.clearInterval(handler); + var editor = new Cherry({ + el: el, + value: value.value, + fileUpload(file, callback) { + var id = $.getUID('md'); + if (window.cherryMarkdownUploadFiles === undefined) { + window.cherryMarkdownUploadFiles = {}; + } + window.cherryMarkdownUploadFiles[id] = file; + obj.invokeMethodAsync('Upload', id, { + fileName: file.name, + fileSize: file.size, + contentType: file.type, + lastModified: new Date(file.lastModified).toISOString(), + }).then(data => { + if (data !== "") { + callback(data); + } + }) + }, + editor: value.editor, + toolbars: value.toolbars, + callback: { + afterChange: function (markdown, html) { + obj.invokeMethodAsync('Update', [markdown, html]); + } + } + }); + $.data(el, 'bb_cherry_md_editor', editor); + } + }, 100); + } else if (method === 'setMarkdown') { + var editor = $.data(el, 'bb_cherry_md_editor'); + editor.setMarkdown(value, true); + } +} + +export function bb_cherry_markdown_file(id) { + var file = window.cherryMarkdownUploadFiles[id]; + delete window.cherryMarkdownUploadFiles[id]; + return file +} + +export function bb_cherry_markdown_method(el, method, parameter, obj) { + var md = $.data(el, 'bb_cherry_md_editor'); + if (md) { + if (method.indexOf('.') < 0) { + md[method](...parameter) + } else { + var methods = method.split('.'); + var m = md[methods[0]]; + for (let i = 1; i < methods.length; i++) { + m = m[methods[i]] + } + m(...parameter); + } + var val = md.getMarkdown(); + var html = md.getHtml(); + obj.invokeMethodAsync('Update', [val, html]); + } +} + diff --git a/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/Components/CherryMarkdown/CherryMarkdown.min.js b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/Components/CherryMarkdown/CherryMarkdown.min.js new file mode 100644 index 0000000000000000000000000000000000000000..ee59d768901e92efc3695144728ad42bbf31134e --- /dev/null +++ b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/Components/CherryMarkdown/CherryMarkdown.min.js @@ -0,0 +1 @@ +export function bb_cherry_markdown(n,t,i,r){var u,f,e;BootstrapBlazorModules.addLink("_content/BootstrapBlazor.CherryMarkdown/css/bootstrap.blazor.cherrymarkdown.min.css");u=$(n);i==="init"?(t.toolbars.toolbar===null&&delete t.toolbars.toolbar,t.toolbars.bubble===null&&delete t.toolbars.bubble,t.toolbars.float===null&&delete t.toolbars.float,f=window.setInterval(function(){if(u.is(":visible")){window.clearInterval(f);var i=new Cherry({el:n,value:t.value,fileUpload(n,t){var i=$.getUID("md");window.cherryMarkdownUploadFiles===undefined&&(window.cherryMarkdownUploadFiles={});window.cherryMarkdownUploadFiles[i]=n;r.invokeMethodAsync("Upload",i,{fileName:n.name,fileSize:n.size,contentType:n.type,lastModified:new Date(n.lastModified).toISOString()}).then(n=>{n!==""&&t(n)})},editor:t.editor,toolbars:t.toolbars,callback:{afterChange:function(n,t){r.invokeMethodAsync("Update",[n,t])}}});$.data(n,"bb_cherry_md_editor",i)}},100)):i==="setMarkdown"&&(e=$.data(n,"bb_cherry_md_editor"),e.setMarkdown(t,!0))}export function bb_cherry_markdown_file(n){var t=window.cherryMarkdownUploadFiles[n];return delete window.cherryMarkdownUploadFiles[n],t}export function bb_cherry_markdown_method(n,t,i,r){var u=$.data(n,"bb_cherry_md_editor"),f,e,o,s;if(u){if(t.indexOf(".")<0)u[t](...i);else{f=t.split(".");e=u[f[0]];for(let n=1;n + + diff --git a/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/Components/CherryMarkdown/CherryMarkdown.razor.cs b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/Components/CherryMarkdown/CherryMarkdown.razor.cs new file mode 100644 index 0000000000000000000000000000000000000000..75940a68db11b5db138b722203f9121ee9d1929d --- /dev/null +++ b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/Components/CherryMarkdown/CherryMarkdown.razor.cs @@ -0,0 +1,212 @@ +// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +// Website: https://www.blazor.zone or https://argozhang.github.io/ + +using Microsoft.AspNetCore.Components; +using Microsoft.AspNetCore.Components.Forms; +using Microsoft.JSInterop; + +namespace BootstrapBlazor.Components; + +/// +/// +/// +public partial class CherryMarkdown : IAsyncDisposable +{ + private readonly CherryMarkdownOption _option = new(); + + /// + /// 获得/设置 编辑器设置 + /// + [Parameter] + public EditorSettings? EditorSettings { get; set; } + + /// + /// 获得/设置 工具栏设置 + /// + [Parameter] + public ToolbarSettings? ToolbarSettings { get; set; } + + private string? _value; + /// + /// 获得/设置 组件值 + /// + [Parameter] + public string? Value + { + get => _value; + set + { + if (_value != value) + { + _value = value; + IsRender = true; + } + } + } + + /// + /// 获得/设置 组件值回调 + /// + [Parameter] + public EventCallback ValueChanged { get; set; } + + /// + /// 获得/设置 组件 Html 代码 + /// + [Parameter] + public string? Html { get; set; } + + /// + /// 获得/设置 组件 Html 代码回调 + /// + [Parameter] + public EventCallback HtmlChanged { get; set; } + + /// + /// 获得/设置 Markdown组件内上传文件时回调此方法 + /// + [Parameter] + public Func>? OnFileUpload { get; set; } + + /// + /// 获取/设置 组件是否为浏览器模式 + /// + [Parameter] + public bool? IsViewer { get; set; } + + /// + /// 获得/设置 DOM 元素实例 + /// + private ElementReference MarkdownElement { get; set; } + + private bool IsRender { get; set; } + + [NotNull] + private JSModule? Module { get; set; } + + /// + /// OnInitialized 方法 + /// + protected override void OnInitialized() + { + base.OnInitialized(); + _option.Value = _value; + _option.Editor = EditorSettings ?? new EditorSettings(); + _option.Toolbars = ToolbarSettings ?? new ToolbarSettings(); + if (IsViewer == true) + { + _option.Editor.DefaultModel = "previewOnly"; + _option.Toolbars.Toolbar = false; + } + } + + /// + /// OnAfterRenderAsync 方法 + /// + /// + /// + protected override async Task OnAfterRenderAsync(bool firstRender) + { + await base.OnAfterRenderAsync(firstRender); + if (firstRender) + { + IsRender = false; + Module = await JSRuntime.LoadModule("./_content/BootstrapBlazor.CherryMarkdown/js/bootstrap.blazor.cherrymarkdown.min.js", this, false); + await Module.InvokeVoidAsync("bb_cherry_markdown", MarkdownElement, _option, "init"); + } + + if (IsRender) + { + await Module.InvokeVoidAsync("bb_cherry_markdown", MarkdownElement, Value ?? "", "setMarkdown"); + } + } + + /// + /// 文件上传回调 + /// + /// + /// + [JSInvokable] + public async Task Upload(string id, CherryMarkdownUploadFile uploadFile) + { +#if NET6_0_OR_GREATER + var stream = await Module.InvokeAsync("bb_cherry_markdown_file", id); + using var data = await stream.OpenReadStreamAsync(); + uploadFile.UploadStream = data; + var ret = ""; + if (OnFileUpload != null) + { + ret = await OnFileUpload.Invoke(uploadFile); + } + return ret; +#else + await Task.Yield(); + throw new NotSupportedException(); +#endif + } + + /// + /// 更新组件值方法 + /// + /// + /// + [JSInvokable] + public async Task Update(string[] vals) + { + if (vals.Length == 2) + { + var hasChanged = !EqualityComparer.Default.Equals(vals[0], Value); + if (hasChanged) + { + _value = vals[0]; + if (ValueChanged.HasDelegate) + { + await ValueChanged.InvokeAsync(Value); + } + } + + hasChanged = !EqualityComparer.Default.Equals(vals[1], Html); + if (hasChanged) + { + Html = vals[1]; + if (HtmlChanged.HasDelegate) + { + await HtmlChanged.InvokeAsync(Html); + } + } + } + } + + /// + /// 执行方法 + /// + /// + /// + /// + public ValueTask DoMethodAsync(string method, params object[] parameters) => Module.InvokeVoidAsync("bb_cherry_markdown_method", MarkdownElement, method, parameters); + + /// + /// Dispose 方法 + /// + /// + protected virtual async ValueTask DisposeAsync(bool disposing) + { + if (disposing) + { + if (Module != null) + { + await Module.DisposeAsync(); + } + } + } + + /// + /// Dispose 方法 + /// + public async ValueTask DisposeAsync() + { + await DisposeAsync(true); + GC.SuppressFinalize(this); + } +} diff --git a/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/Components/CherryMarkdown/CherryMarkdownOption.cs b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/Components/CherryMarkdown/CherryMarkdownOption.cs new file mode 100644 index 0000000000000000000000000000000000000000..e0a819a94614ea951b9833068008cdc8c55dc573 --- /dev/null +++ b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/Components/CherryMarkdown/CherryMarkdownOption.cs @@ -0,0 +1,26 @@ +// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +// Website: https://www.blazor.zone or https://argozhang.github.io/ + +namespace BootstrapBlazor.Components; + +/// +/// 配置信息 +/// +internal class CherryMarkdownOption +{ + /// + /// 初始值 + /// + public string? Value { get; set; } + + /// + /// 编辑器选项 + /// + public EditorSettings? Editor { get; set; } + + /// + /// 工具栏选项 + /// + public ToolbarSettings? Toolbars { get; set; } +} diff --git a/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/Components/CherryMarkdown/CherryMarkdownUploadFile.cs b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/Components/CherryMarkdown/CherryMarkdownUploadFile.cs new file mode 100644 index 0000000000000000000000000000000000000000..35f34f4f7179c66254cf186559c0345201cf7db6 --- /dev/null +++ b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/Components/CherryMarkdown/CherryMarkdownUploadFile.cs @@ -0,0 +1,108 @@ +// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +// Website: https://www.blazor.zone or https://argozhang.github.io/ + +namespace BootstrapBlazor.Components; + +/// +/// 文件信息 +/// +public class CherryMarkdownUploadFile +{ + /// + /// 文件名 + /// + public string? FileName { get; set; } + + /// + /// 文件大小 + /// + public long FileSize { get; set; } + + /// + /// 最后修改日期 + /// + public string? LastModified { get; set; } + + /// + /// 文件类型 + /// + public string? ContentType { get; set; } + + /// + /// 上传的文件流 + /// + public Stream? UploadStream { get; set; } + + /// + /// 返回码,0为成功,非0失败 + /// + public int Code { get; set; } + + /// + /// 错误信息 + /// + public string? Error { get; set; } + + /// + /// 保存到文件 + /// + /// + /// + /// + public async Task SaveToFile(string fileName, CancellationToken token = default) + { + var ret = false; + if (UploadStream != null) + { + // 文件保护,如果文件存在则先删除 + if (System.IO.File.Exists(fileName)) + { + try + { + System.IO.File.Delete(fileName); + } + catch (Exception ex) + { + Code = 1002; + Error = ex.Message; + } + } + + var folder = Path.GetDirectoryName(fileName); + if (!string.IsNullOrEmpty(folder) && !Directory.Exists(folder)) + { + Directory.CreateDirectory(folder); + } + + if (Code == 0) + { + using var uploadFile = File.OpenWrite(fileName); + + try + { + // 打开文件流 + var stream = UploadStream; + + var buffer = new byte[4 * 1096]; + int bytesRead = 0; + + // 开始读取文件 + while ((bytesRead = await stream.ReadAsync(buffer, token)) > 0) + { + await uploadFile.WriteAsync(buffer.AsMemory(0, bytesRead), token); + + } + ret = true; + } + catch (Exception ex) + { + Code = 1003; + Error = ex.Message; + } + } + } + return ret; + } + +} diff --git a/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/Components/CherryMarkdown/EditorSettings.cs b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/Components/CherryMarkdown/EditorSettings.cs new file mode 100644 index 0000000000000000000000000000000000000000..aa7a3c05541b67c3002a6a0dc38a058967f6e67f --- /dev/null +++ b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/Components/CherryMarkdown/EditorSettings.cs @@ -0,0 +1,34 @@ +// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +// Website: https://www.blazor.zone or https://argozhang.github.io/ + +namespace BootstrapBlazor.Components; + +/// +/// 编辑器设置 +/// +public class EditorSettings +{ + /// + /// CodeMirror主题,默认为 default + /// + public string Theme { get; set; } = "default"; + + /// + /// 编辑器高度,默认为100% + /// + public string Height { get; set; } = "100%"; + + /// + /// 编辑器显示模式 + /// edit&preview: 双栏编辑预览模式,默认值 + /// editOnly: 只显示编辑器 + /// previewOnly: 预览模式 + /// + public string DefaultModel { get; set; } = "edit&preview"; + + /// + /// 粘贴Html时自动转换为Markdown格式 + /// + public bool ConvertWhenPaste { get; set; } = true; +} diff --git a/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/Components/CherryMarkdown/ToolbarSettings.cs b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/Components/CherryMarkdown/ToolbarSettings.cs new file mode 100644 index 0000000000000000000000000000000000000000..73724e721c3367688869dea9e18a59cb9c5b6182 --- /dev/null +++ b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/Components/CherryMarkdown/ToolbarSettings.cs @@ -0,0 +1,31 @@ +// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +// Website: https://www.blazor.zone or https://argozhang.github.io/ + +namespace BootstrapBlazor.Components; + +/// +/// 状态栏设置 +/// +public class ToolbarSettings +{ + /// + /// 主题,light 、dark(默认值) + /// + public string Theme { get; set; } = "dark"; + + /// + /// 自定义工具栏按钮,null则为默认工具栏,false则不显示工具栏 + /// + public object? Toolbar { get; set; } + + /// + /// 选中后的悬浮菜单,null为默认悬浮菜单,false则不显示悬浮菜单 + /// + public object? Bubble { get; set; } + + /// + /// 新行的悬浮菜单,null为默认悬浮菜单,false则不显示悬浮菜单 + /// + public object? Float { get; set; } +} diff --git a/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/bundleconfig.json b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/bundleconfig.json new file mode 100644 index 0000000000000000000000000000000000000000..83d51b6551a3603f77e191c309025bd44d227da9 --- /dev/null +++ b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/bundleconfig.json @@ -0,0 +1,31 @@ +[ + { + "outputFileName": "wwwroot/css/bootstrap.blazor.cherrymarkdown.min.css", + "inputFiles": [ + "wwwroot/css/cherry-markdown.min.css", + "Components/**/*.css" + ] + }, + { + "outputFileName": "Components/CherryMarkdown/CherryMarkdown.min.js", + "inputFiles": [ + "Components/CherryMarkdown/CherryMarkdown.js" + ], + "minify": { + "enabled": true, + "renameLocals": true + } + }, + { + "outputFileName": "wwwroot/js/bootstrap.blazor.cherrymarkdown.min.js", + "inputFiles": [ + "wwwroot/js/cherry-markdown.min.js", + "Components/**/*.min.js" + ], + "minify": { + "enabled": false, + "renameLocals": true + }, + "sourceMap": false + } +] diff --git a/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/logo.png b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a30290780f1d7fbb242279e1ed64a94be6341d16 Binary files /dev/null and b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/logo.png differ diff --git a/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/wwwroot/css/bootstrap.blazor.cherrymarkdown.min.css b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/wwwroot/css/bootstrap.blazor.cherrymarkdown.min.css new file mode 100644 index 0000000000000000000000000000000000000000..9a60d0dc54d12b71e0624e7cc9dee7864286a0c7 --- /dev/null +++ b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/wwwroot/css/bootstrap.blazor.cherrymarkdown.min.css @@ -0,0 +1 @@ +.cherry *{padding:0;margin:0}.cherry *::-webkit-scrollbar{height:7px;width:7px;background:transparent}.cherry *::-webkit-scrollbar:hover{background:rgba(128,128,128,.1)}.cherry *::-webkit-scrollbar-thumb{background:#d3d7da;-webkit-border-radius:6px}.cherry *::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.6)}.cherry *::-webkit-scrollbar-corner{background:transparent}@font-face{font-family:"ch-icon";src:url("fonts/ch-icon.eot?");src:url("fonts/ch-icon.eot?#iefix") format("eot"),url("fonts/ch-icon.woff2") format("woff2"),url("fonts/ch-icon.woff") format("woff"),url("fonts/ch-icon.ttf") format("truetype"),url("fonts/ch-icon.svg#ch-icon") format("svg");font-weight:normal;font-style:normal}.ch-icon:before{display:inline-block;font-family:"ch-icon";font-style:normal;font-weight:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ch-icon-list:before{content:""}.ch-icon-check:before{content:""}.ch-icon-square:before{content:""}.ch-icon-bold:before{content:""}.ch-icon-code:before{content:""}.ch-icon-color:before{content:""}.ch-icon-header:before{content:""}.ch-icon-image:before{content:""}.ch-icon-italic:before{content:""}.ch-icon-link:before{content:""}.ch-icon-ol:before{content:""}.ch-icon-size:before{content:""}.ch-icon-strike:before{content:""}.ch-icon-table:before{content:""}.ch-icon-ul:before{content:""}.ch-icon-underline:before{content:""}.ch-icon-word:before{content:""}.ch-icon-blockquote:before{content:""}.ch-icon-font:before{content:""}.ch-icon-insertClass:before{content:""}.ch-icon-insertFlow:before{content:""}.ch-icon-insertFormula:before{content:""}.ch-icon-insertGantt:before{content:""}.ch-icon-insertGraph:before{content:""}.ch-icon-insertPie:before{content:""}.ch-icon-insertSeq:before{content:""}.ch-icon-insertState:before{content:""}.ch-icon-line:before{content:""}.ch-icon-preview:before{content:""}.ch-icon-previewClose:before{content:""}.ch-icon-toc:before{content:""}.ch-icon-sub:before{content:""}.ch-icon-sup:before{content:""}.ch-icon-h1:before{content:""}.ch-icon-h2:before{content:""}.ch-icon-h3:before{content:""}.ch-icon-h4:before{content:""}.ch-icon-h5:before{content:""}.ch-icon-h6:before{content:""}.ch-icon-video:before{content:""}.ch-icon-insert:before{content:""}.ch-icon-little_table:before{content:""}.ch-icon-pdf:before{content:""}.ch-icon-checklist:before{content:""}.ch-icon-close:before{content:""}.ch-icon-fullscreen:before{content:""}.ch-icon-minscreen:before{content:""}.ch-icon-insertChart:before{content:""}.ch-icon-question:before{content:""}.ch-icon-settings:before{content:""}.ch-icon-ok:before{content:""}.ch-icon-br:before{content:""}.ch-icon-normal:before{content:""}.ch-icon-undo:before{content:""}.ch-icon-redo:before{content:""}.ch-icon-copy:before{content:""}.ch-icon-phone:before{content:""}.cherry-markdown{word-break:break-all}.cherry-markdown h1,.cherry-markdown h2,.cherry-markdown h3,.cherry-markdown h4,.cherry-markdown h5,.cherry-markdown h6,.cherry-markdown .h1,.cherry-markdown .h2,.cherry-markdown .h3,.cherry-markdown .h4,.cherry-markdown .h5,.cherry-markdown .h6{font-family:inherit;font-weight:700;line-height:1.1;color:inherit}.cherry-markdown h1 small,.cherry-markdown h2 small,.cherry-markdown h3 small,.cherry-markdown h4 small,.cherry-markdown h5 small,.cherry-markdown h6 small,.cherry-markdown .h1 small,.cherry-markdown .h2 small,.cherry-markdown .h3 small,.cherry-markdown .h4 small,.cherry-markdown .h5 small,.cherry-markdown .h6 small,.cherry-markdown h1 .small,.cherry-markdown h2 .small,.cherry-markdown h3 .small,.cherry-markdown h4 .small,.cherry-markdown h5 .small,.cherry-markdown h6 .small,.cherry-markdown .h1 .small,.cherry-markdown .h2 .small,.cherry-markdown .h3 .small,.cherry-markdown .h4 .small,.cherry-markdown .h5 .small,.cherry-markdown .h6 .small{font-weight:normal;line-height:1;color:#999}.cherry-markdown h1,.cherry-markdown h2,.cherry-markdown h3{margin-top:30px;margin-bottom:16px}.cherry-markdown h1 small,.cherry-markdown h2 small,.cherry-markdown h3 small,.cherry-markdown h1 .small,.cherry-markdown h2 .small,.cherry-markdown h3 .small{font-size:65%}.cherry-markdown h4,.cherry-markdown h5,.cherry-markdown h6{margin-top:12px;margin-bottom:12px}.cherry-markdown h4 small,.cherry-markdown h5 small,.cherry-markdown h6 small,.cherry-markdown h4 .small,.cherry-markdown h5 .small,.cherry-markdown h6 .small{font-size:75%}.cherry-markdown h1,.cherry-markdown .h1{font-size:2em}.cherry-markdown h2,.cherry-markdown .h2{font-size:1.5em}.cherry-markdown h3,.cherry-markdown .h3{font-size:1.25em}.cherry-markdown h4,.cherry-markdown .h4{font-size:1em}.cherry-markdown h5,.cherry-markdown .h5{font-size:.875em}.cherry-markdown h6,.cherry-markdown .h6{font-size:.85em}.cherry-markdown b,.cherry-markdown strong{font-weight:bold}.cherry-markdown ul,.cherry-markdown ol{padding-left:24px;margin-bottom:16px}.cherry-markdown ul ul,.cherry-markdown ul ol,.cherry-markdown ol ul,.cherry-markdown ol ol{margin-bottom:0}.cherry-markdown ul li,.cherry-markdown ol li{list-style:inherit}.cherry-markdown ul li p,.cherry-markdown ol li p{margin:0}.cherry-markdown div ul,.cherry-markdown div ol{margin-bottom:0}.cherry-markdown hr{height:0;border:0;border-top:1px solid #dfe6ee;margin:16px 0;box-sizing:content-box;overflow:visible}.cherry-markdown table{border-collapse:collapse}.cherry-markdown table th,.cherry-markdown table td{border:1px solid #dfe6ee;padding:.2em .4em;min-width:100px}.cherry-markdown table th{background-color:#eee}.cherry-markdown a{color:#3582fb}.cherry-markdown a:hover{color:#056bad}.cherry-markdown em{font-style:italic}.cherry-markdown sup{vertical-align:super}.cherry-markdown sub{vertical-align:sub}.cherry-markdown figure{overflow-x:auto}.cherry-markdown blockquote{color:#6d6e6f;padding:10px 15px;border-left:10px solid #d6dbdf;background:rgba(102,128,153,.05)}.cherry-markdown p,.cherry-markdown pre,.cherry-markdown blockquote,.cherry-markdown table{margin:0 0 16px}.cherry-markdown pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f6f8fa;border-radius:6px}.cherry-markdown .prettyprint{min-width:500px;display:inline-block;background:#00212b;font-family:Menlo,"Bitstream Vera Sans Mono","DejaVu Sans Mono",Monaco,Consolas,monospace;border:0 !important}.cherry-markdown .pln{color:#dfe6ee}.cherry-markdown .str{color:#ffaf21}.cherry-markdown .kwd{color:#f85353}.cherry-markdown ol.linenums{margin-top:0;margin-bottom:0;color:#969896}.cherry-markdown li.L0,.cherry-markdown li.L1,.cherry-markdown li.L2,.cherry-markdown li.L3,.cherry-markdown li.L4,.cherry-markdown li.L5,.cherry-markdown li.L6,.cherry-markdown li.L7,.cherry-markdown li.L8,.cherry-markdown li.L9{padding-left:1em;background-color:#00212b;list-style-type:decimal}@media screen{.cherry-markdown .cherry-markdown .com{color:#969896}.cherry-markdown .cherry-markdown .typ{color:#81a2be}.cherry-markdown .cherry-markdown .lit{color:#de935f}.cherry-markdown .cherry-markdown .pun{color:#c5c8c6}.cherry-markdown .cherry-markdown .opn{color:#c5c8c6}.cherry-markdown .cherry-markdown .clo{color:#c5c8c6}.cherry-markdown .cherry-markdown .tag{color:#c66}.cherry-markdown .cherry-markdown .atn{color:#de935f}.cherry-markdown .cherry-markdown .atv{color:#8abeb7}.cherry-markdown .cherry-markdown .dec{color:#de935f}.cherry-markdown .cherry-markdown .var{color:#c66}.cherry-markdown .cherry-markdown .fun{color:#81a2be}}.cherry-markdown div[data-type='codeBlock']{display:inline-block;width:100%;box-sizing:border-box;border-radius:2px;margin-bottom:16px;font-size:14px;overflow-x:auto}.cherry-markdown div[data-type='codeBlock']>pre{margin:0}.cherry-markdown div[data-type='codeBlock']>pre code[class*="language-"]{counter-reset:line}.cherry-markdown div[data-type='codeBlock']>pre code[class*="language-"].wrap{white-space:pre-wrap}.cherry-markdown div[data-type='codeBlock']>pre code[class*="language-"] .code-line{display:inline-block;position:relative;padding-left:3em;height:1.3em;line-height:2em}.cherry-markdown div[data-type='codeBlock']>pre code[class*="language-"] .code-line:before{counter-increment:line;content:counter(line);margin-right:1em;position:absolute;left:0}.cherry-markdown div[data-type='codeBlock']>pre code[class*="language-"] .code-line:last-child{margin-bottom:0}.cherry-markdown :not(pre)>code{padding:.1em;border-radius:.3em;white-space:normal;color:#f85353;background-color:#e5e5e5}[data-inline-code-theme='black'] .cherry-markdown :not(pre)>code{color:#3f4a56;background-color:#e5e5e5}.cherry-markdown a.anchor:before{content:'§';text-decoration:none;width:15px;font-size:.5em;vertical-align:middle;display:inline-block;text-align:center;margin-left:-15px}.cherry-markdown .toc{margin-bottom:16px}.cherry-markdown .toc .toc-title{font-size:24px;margin-bottom:5px}.cherry-markdown .toc .toc-li{border-bottom:1px ridge #dfe6ee;list-style:none}.cherry-markdown .toc .toc-li a{text-decoration:none;color:#3f4a56}.cherry-markdown .toc .toc-li a:hover{color:#056bad}.cherry-markdown .check-list-item{list-style:none}.cherry-markdown .check-list-item .ch-icon{margin:0 6px 0 -20px}.cherry-markdown .footnote:not(a){padding-top:20px;border-top:1px solid #dfe6ee;margin-top:50px}.cherry-markdown .footnote:not(a) .footnote-title{font-size:20px;margin-top:-38px;background-color:#f8fafb;width:60px;margin-bottom:16px}.cherry-markdown .footnote:not(a) .one-footnote{color:#6d6e6f;margin-bottom:16px;border-bottom:1px dotted #dfe6ee}.cherry-markdown .cherry-table-container{max-width:100%;overflow-x:auto}.cherry-markdown .cherry-table-container .cherry-table th,.cherry-markdown .cherry-table-container .cherry-table td{border:1px solid #dfe6ee;padding:.2em .4em;min-width:100px}.cherry-markdown .cherry-table-container .cherry-table th{white-space:nowrap}.cherry-markdown mjx-assistive-mml{position:absolute;top:0;left:0;clip:rect(1px,1px,1px,1px);padding:1px 0 0 0;border:0}.cherry-markdown.head-num{counter-reset:level1}.cherry-markdown.head-num h1 .anchor:before,.cherry-markdown.head-num h2 .anchor:before,.cherry-markdown.head-num h3 .anchor:before,.cherry-markdown.head-num h4 .anchor:before,.cherry-markdown.head-num h5 .anchor:before,.cherry-markdown.head-num h6 .anchor:before{width:auto;font-size:inherit;vertical-align:inherit;padding-right:10px}.cherry-markdown.head-num h1{counter-reset:level2}.cherry-markdown.head-num h2{counter-reset:level3}.cherry-markdown.head-num h3{counter-reset:level4}.cherry-markdown.head-num h4{counter-reset:level5}.cherry-markdown.head-num h5{counter-reset:level6}.cherry-markdown.head-num h1 .anchor:before{counter-increment:level1;content:counter(level1) ". "}.cherry-markdown.head-num h2 .anchor:before{counter-increment:level2;content:counter(level1) "." counter(level2) " "}.cherry-markdown.head-num h3 .anchor:before{counter-increment:level3;content:counter(level1) "." counter(level2) "." counter(level3) " "}.cherry-markdown.head-num h4 .anchor:before{counter-increment:level4;content:counter(level1) "." counter(level2) "." counter(level3) "." counter(level4) " "}.cherry-markdown.head-num h5 .anchor:before{counter-increment:level5;content:counter(level1) "." counter(level2) "." counter(level3) "." counter(level4) "." counter(level5) " "}.cherry-markdown.head-num h6 .anchor:before{counter-increment:level6;content:counter(level1) "." counter(level2) "." counter(level3) "." counter(level4) "." counter(level5) "." counter(level6) " "}div[data-type='codeBlock'] code[class*="language-"],div[data-type='codeBlock'] pre[class*="language-"]{color:#ccc;background:none;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}div[data-type='codeBlock'] pre[class*="language-"]{padding:1em;margin:.5em 0;overflow:auto}div[data-type='codeBlock'] :not(pre)>code[class*="language-"],div[data-type='codeBlock'] pre[class*="language-"]{background:#2d2d2d}div[data-type='codeBlock'] :not(pre)>code[class*="language-"]{padding:.1em;border-radius:.3em;white-space:normal}div[data-type='codeBlock'] .token.comment,div[data-type='codeBlock'] .token.block-comment,div[data-type='codeBlock'] .token.prolog,div[data-type='codeBlock'] .token.doctype,div[data-type='codeBlock'] .token.cdata{color:#999}div[data-type='codeBlock'] .token.punctuation{color:#ccc}div[data-type='codeBlock'] .token.tag,div[data-type='codeBlock'] .token.attr-name,div[data-type='codeBlock'] .token.namespace,div[data-type='codeBlock'] .token.deleted{color:#e2777a}div[data-type='codeBlock'] .token.function-name{color:#6196cc}div[data-type='codeBlock'] .token.boolean,div[data-type='codeBlock'] .token.number,div[data-type='codeBlock'] .token.function{color:#f08d49}div[data-type='codeBlock'] .token.property,div[data-type='codeBlock'] .token.class-name,div[data-type='codeBlock'] .token.constant,div[data-type='codeBlock'] .token.symbol{color:#f8c555}div[data-type='codeBlock'] .token.selector,div[data-type='codeBlock'] .token.important,div[data-type='codeBlock'] .token.atrule,div[data-type='codeBlock'] .token.keyword,div[data-type='codeBlock'] .token.builtin{color:#cc99cd}div[data-type='codeBlock'] .token.string,div[data-type='codeBlock'] .token.char,div[data-type='codeBlock'] .token.attr-value,div[data-type='codeBlock'] .token.regex,div[data-type='codeBlock'] .token.variable{color:#7ec699}div[data-type='codeBlock'] .token.operator,div[data-type='codeBlock'] .token.entity,div[data-type='codeBlock'] .token.url{color:#67cdcc}div[data-type='codeBlock'] .token.important,div[data-type='codeBlock'] .token.bold{font-weight:bold}div[data-type='codeBlock'] .token.italic{font-style:italic}div[data-type='codeBlock'] .token.entity{cursor:help}div[data-type='codeBlock'] .token.inserted{color:#008000}[data-code-block-theme='default'] div[data-type='codeBlock'] code[class*="language-"],[data-code-block-theme='default'] div[data-type='codeBlock'] pre[class*="language-"]{color:#000;background:none;text-shadow:0 1px white;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}[data-code-block-theme='default'] div[data-type='codeBlock'] pre[class*="language-"]::-moz-selection,[data-code-block-theme='default'] div[data-type='codeBlock'] pre[class*="language-"] ::-moz-selection,[data-code-block-theme='default'] div[data-type='codeBlock'] code[class*="language-"]::-moz-selection,[data-code-block-theme='default'] div[data-type='codeBlock'] code[class*="language-"] ::-moz-selection{text-shadow:none;background:#b3d4fc}[data-code-block-theme='default'] div[data-type='codeBlock'] pre[class*="language-"]::selection,[data-code-block-theme='default'] div[data-type='codeBlock'] pre[class*="language-"] ::selection,[data-code-block-theme='default'] div[data-type='codeBlock'] code[class*="language-"]::selection,[data-code-block-theme='default'] div[data-type='codeBlock'] code[class*="language-"] ::selection{text-shadow:none;background:#b3d4fc}@media print{[data-code-block-theme='default'] div[data-type='codeBlock'] code[class*="language-"],[data-code-block-theme='default'] div[data-type='codeBlock'] pre[class*="language-"]{text-shadow:none}}[data-code-block-theme='default'] div[data-type='codeBlock'] pre[class*="language-"]{padding:1em;margin:.5em 0;overflow:auto}[data-code-block-theme='default'] div[data-type='codeBlock'] :not(pre)>code[class*="language-"],[data-code-block-theme='default'] div[data-type='codeBlock'] pre[class*="language-"]{background:#f5f2f0}[data-code-block-theme='default'] div[data-type='codeBlock'] :not(pre)>code[class*="language-"]{padding:.1em;border-radius:.3em;white-space:normal}[data-code-block-theme='default'] div[data-type='codeBlock'] .token.comment,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.prolog,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.doctype,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.cdata{color:#708090}[data-code-block-theme='default'] div[data-type='codeBlock'] .token.punctuation{color:#999}[data-code-block-theme='default'] div[data-type='codeBlock'] .token.namespace{opacity:.7}[data-code-block-theme='default'] div[data-type='codeBlock'] .token.property,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.tag,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.boolean,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.number,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.constant,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.symbol,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.deleted{color:#905}[data-code-block-theme='default'] div[data-type='codeBlock'] .token.selector,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.attr-name,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.string,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.char,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.builtin,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.inserted{color:#690}[data-code-block-theme='default'] div[data-type='codeBlock'] .token.operator,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.entity,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.url,[data-code-block-theme='default'] div[data-type='codeBlock'] .language-css .token.string,[data-code-block-theme='default'] div[data-type='codeBlock'] .style .token.string{color:#9a6e3a;background:rgba(255,255,255,.5)}[data-code-block-theme='default'] div[data-type='codeBlock'] .token.atrule,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.attr-value,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.keyword{color:#07a}[data-code-block-theme='default'] div[data-type='codeBlock'] .token.function,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.class-name{color:#dd4a68}[data-code-block-theme='default'] div[data-type='codeBlock'] .token.regex,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.important,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.variable{color:#e90}[data-code-block-theme='default'] div[data-type='codeBlock'] .token.important,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.bold{font-weight:bold}[data-code-block-theme='default'] div[data-type='codeBlock'] .token.italic{font-style:italic}[data-code-block-theme='default'] div[data-type='codeBlock'] .token.entity{cursor:help}[data-code-block-theme='dark'] div[data-type='codeBlock'] code[class*="language-"],[data-code-block-theme='dark'] div[data-type='codeBlock'] pre[class*="language-"]{color:#fff;background:none;text-shadow:0 -.1em .2em black;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}@media print{[data-code-block-theme='dark'] div[data-type='codeBlock'] code[class*="language-"],[data-code-block-theme='dark'] div[data-type='codeBlock'] pre[class*="language-"]{text-shadow:none}}[data-code-block-theme='dark'] div[data-type='codeBlock'] pre[class*="language-"],[data-code-block-theme='dark'] div[data-type='codeBlock'] :not(pre)>code[class*="language-"]{background:#4d4033}[data-code-block-theme='dark'] div[data-type='codeBlock'] pre[class*="language-"]{padding:1em;margin:.5em 0;overflow:auto;border:.3em solid #7a6652;border-radius:.5em;box-shadow:1px 1px .5em black inset}[data-code-block-theme='dark'] div[data-type='codeBlock'] :not(pre)>code[class*="language-"]{padding:.15em .2em .05em;border-radius:.3em;border:.13em solid #7a6652;box-shadow:1px 1px .3em -.1em black inset;white-space:normal}[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.comment,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.prolog,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.doctype,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.cdata{color:#998066}[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.punctuation{opacity:.7}[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.namespace{opacity:.7}[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.property,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.tag,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.boolean,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.number,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.constant,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.symbol{color:#d1949e}[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.selector,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.attr-name,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.string,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.char,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.builtin,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.inserted{color:#bde052}[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.operator,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.entity,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.url,[data-code-block-theme='dark'] div[data-type='codeBlock'] .language-css .token.string,[data-code-block-theme='dark'] div[data-type='codeBlock'] .style .token.string,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.variable{color:#f5b83d}[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.atrule,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.attr-value,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.keyword{color:#d1949e}[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.regex,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.important{color:#e90}[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.important,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.bold{font-weight:bold}[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.italic{font-style:italic}[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.entity{cursor:help}[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.deleted{color:#f00}[data-code-block-theme='funky'] div[data-type='codeBlock'] code[class*="language-"],[data-code-block-theme='funky'] div[data-type='codeBlock'] pre[class*="language-"]{font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}[data-code-block-theme='funky'] div[data-type='codeBlock'] pre[class*="language-"]{padding:.4em .8em;margin:.5em 0;overflow:auto;background:url('data:image/svg+xml;charset=utf-8,%0D%0A%0D%0A%0D%0A<%2Fsvg>');background-size:1em 1em}[data-code-block-theme='funky'] div[data-type='codeBlock'] code[class*="language-"]{background:#000;color:#fff;box-shadow:-.3em 0 0 .3em black,.3em 0 0 .3em black}[data-code-block-theme='funky'] div[data-type='codeBlock'] :not(pre)>code[class*="language-"]{padding:.2em;border-radius:.3em;box-shadow:none;white-space:normal}[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.comment,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.prolog,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.doctype,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.cdata{color:#aaa}[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.punctuation{color:#999}[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.namespace{opacity:.7}[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.property,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.tag,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.boolean,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.number,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.constant,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.symbol{color:#0cf}[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.selector,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.attr-name,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.string,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.char,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.builtin{color:#ff0}[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.operator,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.entity,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.url,[data-code-block-theme='funky'] div[data-type='codeBlock'] .language-css .token.string,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.variable,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.inserted{color:#9acd32}[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.atrule,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.attr-value,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.keyword{color:#ff1493}[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.regex,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.important{color:#ffa500}[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.important,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.bold{font-weight:bold}[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.italic{font-style:italic}[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.entity{cursor:help}[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.deleted{color:#f00}[data-code-block-theme='funky'] div[data-type='codeBlock'] pre.diff-highlight.diff-highlight>code .token.deleted:not(.prefix),[data-code-block-theme='funky'] div[data-type='codeBlock'] pre>code.diff-highlight.diff-highlight .token.deleted:not(.prefix){background-color:rgba(255,0,0,.3);display:inline}[data-code-block-theme='funky'] div[data-type='codeBlock'] pre.diff-highlight.diff-highlight>code .token.inserted:not(.prefix),[data-code-block-theme='funky'] div[data-type='codeBlock'] pre>code.diff-highlight.diff-highlight .token.inserted:not(.prefix){background-color:rgba(0,255,128,.3);display:inline}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] code[class*="language-"],[data-code-block-theme='okaidia'] div[data-type='codeBlock'] pre[class*="language-"]{color:#f8f8f2;background:none;text-shadow:0 1px rgba(0,0,0,.3);font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] pre[class*="language-"]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] :not(pre)>code[class*="language-"],[data-code-block-theme='okaidia'] div[data-type='codeBlock'] pre[class*="language-"]{background:#272822}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] :not(pre)>code[class*="language-"]{padding:.1em;border-radius:.3em;white-space:normal}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.comment,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.prolog,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.doctype,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.cdata{color:#8292a2}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.punctuation{color:#f8f8f2}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.namespace{opacity:.7}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.property,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.tag,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.constant,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.symbol,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.deleted{color:#f92672}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.boolean,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.number{color:#ae81ff}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.selector,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.attr-name,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.string,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.char,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.builtin,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.inserted{color:#a6e22e}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.operator,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.entity,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.url,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .language-css .token.string,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .style .token.string,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.variable{color:#f8f8f2}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.atrule,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.attr-value,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.function,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.class-name{color:#e6db74}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.keyword{color:#66d9ef}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.regex,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.important{color:#fd971f}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.important,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.bold{font-weight:bold}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.italic{font-style:italic}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.entity{cursor:help}[data-code-block-theme='twilight'] div[data-type='codeBlock'] code[class*="language-"],[data-code-block-theme='twilight'] div[data-type='codeBlock'] pre[class*="language-"]{color:#fff;background:none;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;text-shadow:0 -.1em .2em black;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}[data-code-block-theme='twilight'] div[data-type='codeBlock'] pre[class*="language-"],[data-code-block-theme='twilight'] div[data-type='codeBlock'] :not(pre)>code[class*="language-"]{background:#141414}[data-code-block-theme='twilight'] div[data-type='codeBlock'] pre[class*="language-"]{border-radius:.5em;border:.3em solid #545454;box-shadow:1px 1px .5em black inset;margin:.5em 0;overflow:auto;padding:1em}[data-code-block-theme='twilight'] div[data-type='codeBlock'] pre[class*="language-"]::-moz-selection{background:#27292a}[data-code-block-theme='twilight'] div[data-type='codeBlock'] pre[class*="language-"]::selection{background:#27292a}[data-code-block-theme='twilight'] div[data-type='codeBlock'] pre[class*="language-"]::-moz-selection,[data-code-block-theme='twilight'] div[data-type='codeBlock'] pre[class*="language-"] ::-moz-selection,[data-code-block-theme='twilight'] div[data-type='codeBlock'] code[class*="language-"]::-moz-selection,[data-code-block-theme='twilight'] div[data-type='codeBlock'] code[class*="language-"] ::-moz-selection{text-shadow:none;background:rgba(237,237,237,.15)}[data-code-block-theme='twilight'] div[data-type='codeBlock'] pre[class*="language-"]::selection,[data-code-block-theme='twilight'] div[data-type='codeBlock'] pre[class*="language-"] ::selection,[data-code-block-theme='twilight'] div[data-type='codeBlock'] code[class*="language-"]::selection,[data-code-block-theme='twilight'] div[data-type='codeBlock'] code[class*="language-"] ::selection{text-shadow:none;background:rgba(237,237,237,.15)}[data-code-block-theme='twilight'] div[data-type='codeBlock'] :not(pre)>code[class*="language-"]{border-radius:.3em;border:.13em solid #545454;box-shadow:1px 1px .3em -.1em black inset;padding:.15em .2em .05em;white-space:normal}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.comment,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.prolog,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.doctype,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.cdata{color:#787878}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.punctuation{opacity:.7}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.namespace{opacity:.7}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.tag,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.boolean,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.number,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.deleted{color:#cf694a}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.keyword,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.property,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.selector,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.constant,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.symbol,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.builtin{color:#f9ee9a}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.attr-name,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.attr-value,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.string,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.char,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.operator,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.entity,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.url,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .language-css .token.string,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .style .token.string,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.variable,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.inserted{color:#919e6b}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.atrule{color:#7386a5}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.regex,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.important{color:#e9c163}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.important,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.bold{font-weight:bold}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.italic{font-style:italic}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.entity{cursor:help}[data-code-block-theme='twilight'] div[data-type='codeBlock'] pre[data-line]{padding:1em 0 1em 3em;position:relative}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .language-markup .token.tag,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .language-markup .token.attr-name,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .language-markup .token.punctuation{color:#ad895c}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token{position:relative;z-index:1}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .line-highlight{background:rgba(84,84,84,.25);background:linear-gradient(to right,rgba(84,84,84,.1) 70%,rgba(84,84,84,0));border-bottom:1px dashed #545454;border-top:1px dashed #545454;left:0;line-height:inherit;margin-top:.75em;padding:inherit 0;pointer-events:none;position:absolute;right:0;white-space:pre;z-index:0}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .line-highlight:before,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .line-highlight[data-end]:after{background-color:#8794a6;border-radius:999px;box-shadow:0 1px white;color:#f5f2f0;content:attr(data-start);font:bold 65%/1.5 sans-serif;left:.6em;min-width:1em;padding:0 .5em;position:absolute;text-align:center;text-shadow:none;top:.4em;vertical-align:.3em}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .line-highlight[data-end]:after{bottom:.4em;content:attr(data-end);top:auto}[data-code-block-theme='coy'] div[data-type='codeBlock'] code[class*="language-"],[data-code-block-theme='coy'] div[data-type='codeBlock'] pre[class*="language-"]{color:#000;background:none;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}[data-code-block-theme='coy'] div[data-type='codeBlock'] pre[class*="language-"]{position:relative;margin:.5em 0;overflow-y:hidden;padding:0}[data-code-block-theme='coy'] div[data-type='codeBlock'] pre[class*="language-"]>code{position:relative;border-left:10px solid #358ccb;box-shadow:-1px 0 0 0 #358ccb,0 0 0 1px #dfdfdf;background-color:#fdfdfd;background-image:linear-gradient(transparent 50%,rgba(69,142,209,.04) 50%);background-size:3em 3em;background-origin:content-box;background-attachment:local}[data-code-block-theme='coy'] div[data-type='codeBlock'] code[class*="language-"]{max-height:inherit;height:inherit;padding:0 1em;display:block}[data-code-block-theme='coy'] div[data-type='codeBlock'] :not(pre)>code[class*="language-"],[data-code-block-theme='coy'] div[data-type='codeBlock'] pre[class*="language-"]{background-color:#fdfdfd;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:1em}[data-code-block-theme='coy'] div[data-type='codeBlock'] :not(pre)>code[class*="language-"]{position:relative;padding:.2em;border-radius:.3em;color:#c92c2c;border:1px solid rgba(0,0,0,.1);display:inline;white-space:normal}[data-code-block-theme='coy'] div[data-type='codeBlock'] pre[class*="language-"]:before,[data-code-block-theme='coy'] div[data-type='codeBlock'] pre[class*="language-"]:after{content:'';z-index:-2;display:block;position:absolute;bottom:.75em;left:.18em;width:40%;height:20%;max-height:13em;box-shadow:0 13px 8px #979797;-webkit-transform:rotate(-2deg);-moz-transform:rotate(-2deg);-ms-transform:rotate(-2deg);-o-transform:rotate(-2deg);transform:rotate(-2deg)}[data-code-block-theme='coy'] div[data-type='codeBlock'] pre[class*="language-"]:after{right:.75em;left:auto;-webkit-transform:rotate(2deg);-moz-transform:rotate(2deg);-ms-transform:rotate(2deg);-o-transform:rotate(2deg);transform:rotate(2deg)}[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.comment,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.block-comment,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.prolog,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.doctype,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.cdata{color:#7d8b99}[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.punctuation{color:#5f6364}[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.property,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.tag,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.boolean,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.number,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.function-name,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.constant,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.symbol,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.deleted{color:#c92c2c}[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.selector,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.attr-name,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.string,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.char,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.function,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.builtin,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.inserted{color:#2f9c0a}[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.operator,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.entity,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.url,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.variable{color:#a67f59;background:rgba(255,255,255,.5)}[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.atrule,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.attr-value,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.keyword,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.class-name{color:#1990b8}[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.regex,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.important{color:#e90}[data-code-block-theme='coy'] div[data-type='codeBlock'] .language-css .token.string,[data-code-block-theme='coy'] div[data-type='codeBlock'] .style .token.string{color:#a67f59;background:rgba(255,255,255,.5)}[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.important{font-weight:normal}[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.bold{font-weight:bold}[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.italic{font-style:italic}[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.entity{cursor:help}[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.namespace{opacity:.7}@media screen and (max-width:767px){[data-code-block-theme='coy'] div[data-type='codeBlock'] pre[class*="language-"]:before,[data-code-block-theme='coy'] div[data-type='codeBlock'] pre[class*="language-"]:after{bottom:14px;box-shadow:none}}[data-code-block-theme='coy'] div[data-type='codeBlock'] pre[class*="language-"].line-numbers.line-numbers{padding-left:0}[data-code-block-theme='coy'] div[data-type='codeBlock'] pre[class*="language-"].line-numbers.line-numbers code{padding-left:3.8em}[data-code-block-theme='coy'] div[data-type='codeBlock'] pre[class*="language-"].line-numbers.line-numbers .line-numbers-rows{left:0}[data-code-block-theme='coy'] div[data-type='codeBlock'] pre[class*="language-"][data-line]{padding-top:0;padding-bottom:0;padding-left:0}[data-code-block-theme='coy'] div[data-type='codeBlock'] pre[data-line] code{position:relative;padding-left:4em}[data-code-block-theme='coy'] div[data-type='codeBlock'] pre .line-highlight{margin-top:0}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] code[class*="language-"],[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] pre[class*="language-"]{color:#657b83;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] pre[class*="language-"]::-moz-selection,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] pre[class*="language-"] ::-moz-selection,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] code[class*="language-"]::-moz-selection,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] code[class*="language-"] ::-moz-selection{background:#073642}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] pre[class*="language-"]::selection,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] pre[class*="language-"] ::selection,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] code[class*="language-"]::selection,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] code[class*="language-"] ::selection{background:#073642}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] pre[class*="language-"]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] :not(pre)>code[class*="language-"],[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] pre[class*="language-"]{background-color:#fdf6e3}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] :not(pre)>code[class*="language-"]{padding:.1em;border-radius:.3em}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.comment,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.prolog,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.doctype,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.cdata{color:#93a1a1}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.punctuation{color:#586e75}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.namespace{opacity:.7}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.property,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.tag,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.boolean,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.number,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.constant,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.symbol,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.deleted{color:#268bd2}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.selector,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.attr-name,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.string,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.char,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.builtin,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.url,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.inserted{color:#2aa198}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.entity{color:#657b83;background:#eee8d5}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.atrule,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.attr-value,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.keyword{color:#859900}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.function,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.class-name{color:#b58900}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.regex,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.important,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.variable{color:#cb4b16}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.important,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.bold{font-weight:bold}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.italic{font-style:italic}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.entity{cursor:help}.cherry .doing-resize-img{-moz-user-select:none;-webkit-user-select:none;user-select:none}.cherry .cherry-previewer img{transition:all .1s}.cherry .cherry-previewer-img-size-hander{position:absolute;box-shadow:0 1px 4px 0 rgba(20,81,154,.5);border:1px solid #3582fb;box-sizing:content-box;pointer-events:none}.cherry .cherry-previewer-img-size-hander .cherry-previewer-img-size-hander__points{position:absolute;height:10px;width:10px;margin-top:-7px;margin-left:-7px;border-radius:9px;background:#3582fb;border:2px solid #fff;box-sizing:content-box;box-shadow:0 2px 2px 0 rgba(20,81,154,.5);pointer-events:all}.cherry .cherry-previewer-img-size-hander .cherry-previewer-img-size-hander__background{background-repeat:no-repeat;background-size:100% 100%;opacity:.5;width:100%;height:100%}.cherry .cherry-previewer-img-size-hander .cherry-previewer-img-size-hander__points-leftTop{cursor:nw-resize}.cherry .cherry-previewer-img-size-hander .cherry-previewer-img-size-hander__points-rightTop{cursor:sw-resize}.cherry .cherry-previewer-img-size-hander .cherry-previewer-img-size-hander__points-leftBottom{cursor:sw-resize}.cherry .cherry-previewer-img-size-hander .cherry-previewer-img-size-hander__points-rightBottom{cursor:nw-resize}.cherry .cherry-previewer-img-size-hander .cherry-previewer-img-size-hander__points-middleTop{cursor:n-resize}.cherry .cherry-previewer-img-size-hander .cherry-previewer-img-size-hander__points-middleBottom{cursor:n-resize}.cherry .cherry-previewer-img-size-hander .cherry-previewer-img-size-hander__points-leftMiddle{cursor:e-resize}.cherry .cherry-previewer-img-size-hander .cherry-previewer-img-size-hander__points-rightMiddle{cursor:e-resize}.cherry .cherry-previewer-table-content-hander .cherry-previewer-table-content-hander__input{position:absolute}.cherry .cherry-previewer-table-content-hander .cherry-previewer-table-content-hander__input textarea{width:100%;height:100%;border:0;box-sizing:border-box;resize:none;outline:1px solid #3582fb;word-break:break-all}@media print{img,figure,pre,table{page-break-inside:avoid}.cherry-previewer{width:100% !important;max-height:none;border-left:none !important}.cherry-toolbar,.cherry-sidebar,.cherry-editor,.cherry-drag{display:none !important}}.cherry{display:flex;flex-flow:row wrap;align-items:stretch;align-content:flex-start;height:100%;min-height:100px;position:relative}.cherry .cherry-editor,.cherry .cherry-previewer{max-height:calc(100% - 48px);min-height:calc(100% - 48px)}.cherry .CodeMirror{height:100%}.cherry.cherry--no-toolbar .cherry-toolbar,.cherry.cherry--no-toolbar .cherry-sidebar{height:0;display:none}.cherry.cherry--no-toolbar .cherry-editor,.cherry.cherry--no-toolbar .cherry-previewer{max-height:100%;min-height:100%}.cherry{font-family:"Helvetica Neue",Arial,"Hiragino Sans GB","STHeiti","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-size:16px;line-height:27px;color:#3f4a56;background:#f8fafb;box-shadow:0 0 10px rgba(128,145,165,.2)}.cherry .ch-icon{vertical-align:middle}.cherry .clearfix{zoom:1}.cherry .clearfix:after{content:'.';display:block;height:0;clear:both;visibility:hidden;overflow:hidden;font-size:0}.cherry.fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000}.cherry .no-select{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cherry .cherry-insert-table-menu{display:block;position:absolute;top:40px;left:40px;border-collapse:separate;box-shadow:0 0 10px rgba(128,145,165,.2);padding:4px;border-radius:3px;width:auto;height:auto}.cherry .cherry-insert-table-menu-item{padding:7px;border:1px solid #dfe6ee}.cherry .cherry-insert-table-menu-item.active{background-color:#ebf3ff}.cherry[data-toolbar-theme='dark'] .cherry-insert-table-menu-item{border-color:rgba(255,255,255,.2)}.cherry[data-toolbar-theme='dark'] .cherry-insert-table-menu-item.active{background-color:#d7e6fe}.cherry-dropdown{position:absolute;width:130px;min-height:40px;background:#fff;box-shadow:0 5px 15px -5px rgba(0,0,0,.5);margin-left:-60px;z-index:1000}.cherry-dropdown-item{width:100%;padding:0 15px;text-align:left;display:inline-block;height:36px;line-height:36px;font-size:14px;font-style:normal;cursor:pointer;box-sizing:border-box}.cherry-dropdown-item:hover{background:#ebf3ff;color:#5d9bfc}.cherry-dropdown-item .ch-icon{margin-right:10px}[data-toolbar-theme='dark'] .cherry-dropdown{background:#20304b}[data-toolbar-theme='dark'] .cherry-dropdown .cherry-dropdown-item{background:rgba(0,0,0,0);color:#d7e6fe}[data-toolbar-theme='dark'] .cherry-dropdown .cherry-dropdown-item:hover{background:rgba(255,255,255,.1);color:#fff}.cherry-toolbar{position:relative;display:flex;align-items:center;padding:0 20px;height:48px;font-size:14px;line-height:2.8;flex-basis:100%;box-sizing:border-box;z-index:1;user-select:none;box-shadow:0 0 10px rgba(128,145,165,.2);background:#fff;overflow:hidden}[data-toolbar-theme='dark'] .cherry-toolbar{background:#20304b;box-shadow:0 0 10px rgba(128,145,165,.2)}[data-toolbar-theme='dark'] .cherry-toolbar .cherry-toolbar-button{color:#d7e6fe;background:rgba(0,0,0,0)}[data-toolbar-theme='dark'] .cherry-toolbar .cherry-toolbar-button:hover{color:#fff;background:rgba(255,255,255,.1)}.cherry-toolbar.preview-only .cherry-toolbar-button{display:none}.cherry-toolbar.preview-only .cherry-toolbar-switchPreview{display:inline}.cherry-toolbar-button{float:left;padding:0 12px;margin:4px 0;height:38px;color:#3f4a56;background:transparent;border:1px solid transparent;-webkit-transition:background-color ease-in-out .15s,color ease-in-out .15s,border-color ease-in-out .15s;transition:background-color ease-in-out .15s,color ease-in-out .15s,border-color ease-in-out .15s;cursor:pointer;font-style:normal}.cherry-toolbar-button:hover{color:#5d9bfc;background:#ebf3ff}.cherry-toolbar-button.cherry-toolbar-split{font-size:0;height:50%;padding:0;margin-left:4px;margin-right:4px;border:none;border-left:1px solid #dfe6ee;pointer-events:none;overflow:hidden;opacity:.5}.cherry-toolbar-button.disabled{color:#ccc}.cherry-sidebar{min-height:200px;width:40px;position:absolute;top:48px;right:7px;z-index:999}.cherry-sidebar .cherry-toolbar-button{height:30px;padding:3px 12px 0 12px}.cherry-sidebar .cherry-toolbar-button:hover{background:transparent}.cherry-sidebar .cherry-toolbar-button .icon-loading.loading{display:inline-block;width:8px;height:8px}.cherry-sidebar .cherry-toolbar-button .icon-loading.loading:after{content:" ";display:block;width:8px;height:8px;margin-left:2px;margin-top:-2px;border-radius:50%;border:2px solid #000;border-color:#000 transparent #000 transparent;animation:loading 1.2s linear infinite}@keyframes loading{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.cherry-bubble{position:absolute;top:100px;left:200px;background-color:#fff;box-shadow:0 2px 15px -5px rgba(0,0,0,.5);height:35px;min-width:50px;border-radius:3px;border:1px solid #dfe6ee;z-index:999;display:none}.cherry-bubble .cherry-bubble-top,.cherry-bubble .cherry-bubble-bottom{width:0;height:0;border-left:8px solid rgba(0,0,0,0);border-right:8px solid rgba(0,0,0,0);position:relative;left:50%;margin-left:-8px}.cherry-bubble .cherry-bubble-top{border-bottom:8px solid #fff;top:-8px}.cherry-bubble .cherry-bubble-bottom{border-top:8px solid #fff;bottom:-35px}.cherry-bubble .cherry-toolbar-button{line-height:35px;height:100%;overflow:hidden;vertical-align:middle;display:inline-block;padding:0 15px;margin-top:-1px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cherry-bubble .cherry-toolbar-button:hover{border-color:#dfe6ee;background-color:rgba(89,128,166,.05)}.cherry-bubble .cherry-toolbar-button.cherry-toolbar-split{border-left:1px solid #ddd;width:0;padding:0;overflow:hidden}[data-toolbar-theme='dark'] .cherry-bubble{border-color:#20304b;background:#20304b}[data-toolbar-theme='dark'] .cherry-bubble .cherry-toolbar-button{color:#d7e6fe;background:rgba(0,0,0,0)}[data-toolbar-theme='dark'] .cherry-bubble .cherry-toolbar-button:hover{color:#fff;background:rgba(255,255,255,.1)}[data-toolbar-theme='dark'] .cherry-bubble .cherry-bubble-top{border-bottom:8px solid #20304b}[data-toolbar-theme='dark'] .cherry-bubble .cherry-bubble-bottom{border-top:8px solid #20304b}[data-toolbar-theme='dark'] .cherry-bubble .cherry-toolbar-button:hover{border-color:#20304b}.cherry-floatmenu{z-index:100;display:none;position:absolute;left:30px;margin-left:60px;height:27px;line-height:27px;border-radius:3px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cherry-floatmenu .cherry-toolbar-button{float:left;padding:0 9px;margin:0;height:27px;line-height:27px;font-size:14px;color:#3f4a56;overflow:hidden;vertical-align:middle;text-align:center;border:0;cursor:pointer;font-style:normal}.cherry-floatmenu .cherry-toolbar-button.cherry-toolbar-split{border-left:1px solid #dfe6ee;width:0;padding:0;overflow:hidden;height:25px}.cherry-floatmenu .cherry-toolbar-button .ch-icon{color:#aaa;font-size:12px}.cherry-floatmenu .cherry-toolbar-button:hover{background:rgba(0,0,0,.05)}.cherry-floatmenu .cherry-toolbar-button:hover .ch-icon{color:#3f4a56}.cherry-editor{position:relative;padding-top:5px;padding-right:5px;width:50%;box-sizing:border-box;overflow:hidden}.cherry-editor.cherry-editor--full{width:100%;padding-right:0}.cherry-editor.cherry-editor--hidden{display:none}.cherry-editor .CodeMirror{font-family:"Helvetica Neue",Arial,"Hiragino Sans GB","STHeiti","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;background:#f8fafb;color:#3f4a56}.cherry-editor .CodeMirror textarea{font-size:27px}.cherry-editor .CodeMirror-lines{padding:15px 34px}.cherry-editor .cm-s-default .cm-header{color:#3f4a56}.cherry-editor .cm-s-default .cm-string{color:#3f4a56}.cherry-editor .cm-s-default .cm-comment{color:#3582fb;font-family:"Menlo","Liberation Mono","Consolas","DejaVu Sans Mono","Ubuntu Mono","Courier New","andale mono","lucida console",monospace;font-size:.9em}.cherry-editor .cm-s-default .cm-whitespace,.cherry-editor .cm-tab{font-family:"Menlo","Liberation Mono","Consolas","DejaVu Sans Mono","Ubuntu Mono","Courier New","andale mono","lucida console",monospace;font-size:.9em}.cherry-editor .cm-s-default .cm-quote{color:#3582fb}.cherry-editor .cm-s-default .cm-link{color:#3582fb}.cherry-editor .cm-s-default .cm-url{background:#d7e6fe;font-family:"Menlo","Liberation Mono","Consolas","DejaVu Sans Mono","Ubuntu Mono","Courier New","andale mono","lucida console",monospace;font-size:.9em}.cherry-editor .cm-s-default .cm-variable-2{color:#3f4a56}.cherry-editor .cm-s-default .cm-variable-3{color:#3f4a56}.cherry-editor .cm-s-default .cm-keyword{color:#3f4a56}.cherry-drag{width:15px;cursor:ew-resize;position:absolute;z-index:1000;background:transparent}.cherry-drag.cherry-drag--show{width:5px;display:block;background:#dfe6ee}.cherry-drag.cherry-drag--hidden{display:none}.cherry-editor-mask{z-index:999;position:absolute;display:none;background:rgba(0,0,0,.2)}.cherry-editor-mask.cherry-editor-mask--show{display:block}.cherry-previewer-mask{z-index:999;position:absolute;display:none;background:rgba(0,0,0,.4)}.cherry-previewer-mask.cherry-previewer-mask--show{display:block}.cherry-previewer{padding:20px 34px;border-left:2px solid #ebedee;width:50%;box-sizing:border-box;background-color:#f8fafb;min-height:auto;overflow-y:auto}.cherry-previewer .cherry-mobile-previewer-content{width:375px;height:100%;margin:0 auto;padding:25px 30px;overflow-y:scroll;box-shadow:0 0 60px rgba(0,0,0,.1);box-sizing:border-box}.cherry-previewer.cherry-previewer--hidden{width:0;display:none}.cherry-previewer.cherry-previewer--full{width:100%}.cherry-previewer .cherry-list__upper-roman{list-style:upper-roman}.cherry-previewer .cherry-list__lower-greek{list-style:lower-greek}.cherry-previewer .cherry-list__cjk-ideographic{list-style:cjk-ideographic}.cherry-previewer .cherry-list__circle{list-style:circle}.cherry-previewer .cherry-list__square{list-style:square}.cherry-color-wrap{display:none;position:fixed;width:auto;padding:5px 10px;z-index:1000;background:#fff;box-shadow:0 0 10px rgba(128,145,165,.2)}.cherry-color-wrap h3{font-size:12px;margin:0}.cherry-color-wrap .cherry-color-text{float:left;width:128px;margin:0 8px 0 5px}.cherry-color-wrap .cherry-color-bg{float:left;width:128px;margin-right:5px}.cherry-color-wrap .cherry-color-item{float:left;width:14px;height:14px;border:1px solid #fff;cursor:pointer}.cherry-color-wrap .cherry-color-item:hover{border:1px solid #000}.cherry-switch-paste{margin-left:-112px;left:50%;box-sizing:content-box}.cherry-switch-paste .switch-btn--bg{transition:all .3s;position:absolute;width:50%;height:100%;box-sizing:border-box;z-index:-1;left:-1px;opacity:.3;background-color:#5d9bfc}.cherry-switch-paste .cherry-toolbar-button{width:80px;text-align:center}.cherry-switch-paste .cherry-toolbar-button:hover{border-color:transparent}.cherry-switch-paste[data-type='text'] .cherry-text-btn{color:#3f4a56}.cherry-switch-paste[data-type='text'] .cherry-md-btn{color:#5d9bfc}.cherry-switch-paste[data-type='md'] .cherry-md-btn{color:#3f4a56}.cherry-switch-paste[data-type='md'] .cherry-text-btn{color:#5d9bfc}.cherry-switch-paste[data-type='md'] .switch-btn--bg{left:50%}[data-toolbar-theme='dark'] .cherry-switch-paste .switch-btn--bg{background-color:#fff}[data-toolbar-theme='dark'] .cherry-switch-paste[data-type='text'] .cherry-text-btn{color:#d7e6fe}[data-toolbar-theme='dark'] .cherry-switch-paste[data-type='text'] .cherry-md-btn{color:#fff}[data-toolbar-theme='dark'] .cherry-switch-paste[data-type='md'] .cherry-md-btn{color:#d7e6fe}[data-toolbar-theme='dark'] .cherry-switch-paste[data-type='md'] .cherry-text-btn{color:#fff}[data-toolbar-theme='dark'] .cherry-switch-paste[data-type='md'] .switch-btn--bg{left:50%}.Cherry-Math svg{max-width:100%}.cherry-suggester-panel{display:none;position:absolute;left:0;top:0;background:#fff;border:1px solid #ccc;border-radius:2px;max-height:200px;box-shadow:0 2px 8px 1px #0003}.cherry-suggester-panel .cherry-suggester-panel__item{border:none;white-space:nowrap;min-width:50px;padding:5px 13px;color:#333;display:block;cursor:pointer}.cherry-suggester-panel .cherry-suggester-panel__item.cherry-suggester-panel__item--selected{background-color:#f2f2f5;text-decoration:none;color:#eb7350}.cherry-suggestion{background-color:#ebf3ff;color:#3582fb;padding:1px 4px;border-radius:3px;cursor:pointer}.CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid #c0c0c0}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0 !important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor-mark{background-color:rgba(20,255,20,.5);-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite}.cm-animate-fat-cursor{width:auto;border:0;-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite;background-color:#7e7}@-moz-keyframes blink{0%{}50%{background-color:transparent}100%{}}@-webkit-keyframes blink{0%{}50%{background-color:transparent}100%{}}@keyframes blink{0%{}50%{background-color:transparent}100%{}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:bold}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3,.cm-s-default .cm-type{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta{color:#555}.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error{color:#f00}.cm-invalidchar{color:#f00}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll !important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:none;position:relative}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-vscrollbar,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{position:absolute;z-index:6;display:none;outline:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:none !important;border:none !important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-scroll,.CodeMirror-sizer,.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:''}span.CodeMirror-selectedtext{background:none} \ No newline at end of file diff --git a/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/wwwroot/css/cherry-markdown.min.css b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/wwwroot/css/cherry-markdown.min.css new file mode 100644 index 0000000000000000000000000000000000000000..95d1782ee4f00e34763797e8f2f488c641a70937 --- /dev/null +++ b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/wwwroot/css/cherry-markdown.min.css @@ -0,0 +1 @@ +.cherry *{padding:0;margin:0}.cherry *::-webkit-scrollbar{height:7px;width:7px;background:transparent}.cherry *::-webkit-scrollbar:hover{background:rgba(128,128,128,0.1)}.cherry *::-webkit-scrollbar-thumb{background:#d3d7da;-webkit-border-radius:6px}.cherry *::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,0.6)}.cherry *::-webkit-scrollbar-corner{background:transparent}@font-face{font-family:"ch-icon";src:url("./fonts/ch-icon.eot");src:url("./fonts/ch-icon.eot?#iefix") format("eot"),url("./fonts/ch-icon.woff2") format("woff2"),url("./fonts/ch-icon.woff") format("woff"),url("./fonts/ch-icon.ttf") format("truetype"),url("./fonts/ch-icon.svg#ch-icon") format("svg");font-weight:normal;font-style:normal}.ch-icon:before{display:inline-block;font-family:"ch-icon";font-style:normal;font-weight:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ch-icon-list:before{content:"\EA03"}.ch-icon-check:before{content:"\EA04"}.ch-icon-square:before{content:"\EA09"}.ch-icon-bold:before{content:"\EA0A"}.ch-icon-code:before{content:"\EA0B"}.ch-icon-color:before{content:"\EA0C"}.ch-icon-header:before{content:"\EA0D"}.ch-icon-image:before{content:"\EA0E"}.ch-icon-italic:before{content:"\EA0F"}.ch-icon-link:before{content:"\EA10"}.ch-icon-ol:before{content:"\EA11"}.ch-icon-size:before{content:"\EA12"}.ch-icon-strike:before{content:"\EA13"}.ch-icon-table:before{content:"\EA14"}.ch-icon-ul:before{content:"\EA15"}.ch-icon-underline:before{content:"\EA16"}.ch-icon-word:before{content:"\EA17"}.ch-icon-blockquote:before{content:"\EA18"}.ch-icon-font:before{content:"\EA19"}.ch-icon-insertClass:before{content:"\EA1F"}.ch-icon-insertFlow:before{content:"\EA20"}.ch-icon-insertFormula:before{content:"\EA21"}.ch-icon-insertGantt:before{content:"\EA22"}.ch-icon-insertGraph:before{content:"\EA23"}.ch-icon-insertPie:before{content:"\EA24"}.ch-icon-insertSeq:before{content:"\EA25"}.ch-icon-insertState:before{content:"\EA26"}.ch-icon-line:before{content:"\EA27"}.ch-icon-preview:before{content:"\EA28"}.ch-icon-previewClose:before{content:"\EA29"}.ch-icon-toc:before{content:"\EA2A"}.ch-icon-sub:before{content:"\EA2D"}.ch-icon-sup:before{content:"\EA2E"}.ch-icon-h1:before{content:"\EA2F"}.ch-icon-h2:before{content:"\EA30"}.ch-icon-h3:before{content:"\EA31"}.ch-icon-h4:before{content:"\EA32"}.ch-icon-h5:before{content:"\EA33"}.ch-icon-h6:before{content:"\EA34"}.ch-icon-video:before{content:"\EA35"}.ch-icon-insert:before{content:"\EA36"}.ch-icon-little_table:before{content:"\EA37"}.ch-icon-pdf:before{content:"\EA38"}.ch-icon-checklist:before{content:"\EA39"}.ch-icon-close:before{content:"\EA40"}.ch-icon-fullscreen:before{content:"\EA41"}.ch-icon-minscreen:before{content:"\EA42"}.ch-icon-insertChart:before{content:"\EA43"}.ch-icon-question:before{content:"\EA44"}.ch-icon-settings:before{content:"\EA45"}.ch-icon-ok:before{content:"\EA46"}.ch-icon-br:before{content:"\EA47"}.ch-icon-normal:before{content:"\EA48"}.ch-icon-undo:before{content:"\EA49"}.ch-icon-redo:before{content:"\EA50"}.ch-icon-copy:before{content:"\EA51"}.ch-icon-phone:before{content:"\EA52"}.cherry-markdown{word-break:break-all}.cherry-markdown h1,.cherry-markdown h2,.cherry-markdown h3,.cherry-markdown h4,.cherry-markdown h5,.cherry-markdown h6,.cherry-markdown .h1,.cherry-markdown .h2,.cherry-markdown .h3,.cherry-markdown .h4,.cherry-markdown .h5,.cherry-markdown .h6{font-family:inherit;font-weight:700;line-height:1.1;color:inherit}.cherry-markdown h1 small,.cherry-markdown h2 small,.cherry-markdown h3 small,.cherry-markdown h4 small,.cherry-markdown h5 small,.cherry-markdown h6 small,.cherry-markdown .h1 small,.cherry-markdown .h2 small,.cherry-markdown .h3 small,.cherry-markdown .h4 small,.cherry-markdown .h5 small,.cherry-markdown .h6 small,.cherry-markdown h1 .small,.cherry-markdown h2 .small,.cherry-markdown h3 .small,.cherry-markdown h4 .small,.cherry-markdown h5 .small,.cherry-markdown h6 .small,.cherry-markdown .h1 .small,.cherry-markdown .h2 .small,.cherry-markdown .h3 .small,.cherry-markdown .h4 .small,.cherry-markdown .h5 .small,.cherry-markdown .h6 .small{font-weight:normal;line-height:1;color:#999}.cherry-markdown h1,.cherry-markdown h2,.cherry-markdown h3{margin-top:30px;margin-bottom:16px}.cherry-markdown h1 small,.cherry-markdown h2 small,.cherry-markdown h3 small,.cherry-markdown h1 .small,.cherry-markdown h2 .small,.cherry-markdown h3 .small{font-size:65%}.cherry-markdown h4,.cherry-markdown h5,.cherry-markdown h6{margin-top:12px;margin-bottom:12px}.cherry-markdown h4 small,.cherry-markdown h5 small,.cherry-markdown h6 small,.cherry-markdown h4 .small,.cherry-markdown h5 .small,.cherry-markdown h6 .small{font-size:75%}.cherry-markdown h1,.cherry-markdown .h1{font-size:2em}.cherry-markdown h2,.cherry-markdown .h2{font-size:1.5em}.cherry-markdown h3,.cherry-markdown .h3{font-size:1.25em}.cherry-markdown h4,.cherry-markdown .h4{font-size:1em}.cherry-markdown h5,.cherry-markdown .h5{font-size:.875em}.cherry-markdown h6,.cherry-markdown .h6{font-size:.85em}.cherry-markdown b,.cherry-markdown strong{font-weight:bold}.cherry-markdown ul,.cherry-markdown ol{padding-left:24px;margin-bottom:16px}.cherry-markdown ul ul,.cherry-markdown ul ol,.cherry-markdown ol ul,.cherry-markdown ol ol{margin-bottom:0}.cherry-markdown ul li,.cherry-markdown ol li{list-style:inherit}.cherry-markdown ul li p,.cherry-markdown ol li p{margin:0}.cherry-markdown div ul,.cherry-markdown div ol{margin-bottom:0}.cherry-markdown hr{height:0;border:0;border-top:1px solid #dfe6ee;margin:16px 0;box-sizing:content-box;overflow:visible}.cherry-markdown table{border-collapse:collapse}.cherry-markdown table th,.cherry-markdown table td{border:1px solid #dfe6ee;padding:0.2em 0.4em;min-width:100px}.cherry-markdown table th{background-color:#eee}.cherry-markdown a{color:#3582fb}.cherry-markdown a:hover{color:#056bad}.cherry-markdown em{font-style:italic}.cherry-markdown sup{vertical-align:super}.cherry-markdown sub{vertical-align:sub}.cherry-markdown figure{overflow-x:auto}.cherry-markdown blockquote{color:#6d6e6f;padding:10px 15px;border-left:10px solid #D6DBDF;background:rgba(102,128,153,0.05)}.cherry-markdown p,.cherry-markdown pre,.cherry-markdown blockquote,.cherry-markdown table{margin:0 0 16px}.cherry-markdown pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f6f8fa;border-radius:6px}.cherry-markdown .prettyprint{min-width:500px;display:inline-block;background:#00212b;font-family:Menlo, "Bitstream Vera Sans Mono", "DejaVu Sans Mono", Monaco, Consolas, monospace;border:0 !important}.cherry-markdown .pln{color:#dfe6ee}.cherry-markdown .str{color:#ffaf21}.cherry-markdown .kwd{color:#f85353}.cherry-markdown ol.linenums{margin-top:0;margin-bottom:0;color:#969896}.cherry-markdown li.L0,.cherry-markdown li.L1,.cherry-markdown li.L2,.cherry-markdown li.L3,.cherry-markdown li.L4,.cherry-markdown li.L5,.cherry-markdown li.L6,.cherry-markdown li.L7,.cherry-markdown li.L8,.cherry-markdown li.L9{padding-left:1em;background-color:#00212b;list-style-type:decimal}@media screen{.cherry-markdown .cherry-markdown .com{color:#969896}.cherry-markdown .cherry-markdown .typ{color:#81a2be}.cherry-markdown .cherry-markdown .lit{color:#de935f}.cherry-markdown .cherry-markdown .pun{color:#c5c8c6}.cherry-markdown .cherry-markdown .opn{color:#c5c8c6}.cherry-markdown .cherry-markdown .clo{color:#c5c8c6}.cherry-markdown .cherry-markdown .tag{color:#cc6666}.cherry-markdown .cherry-markdown .atn{color:#de935f}.cherry-markdown .cherry-markdown .atv{color:#8abeb7}.cherry-markdown .cherry-markdown .dec{color:#de935f}.cherry-markdown .cherry-markdown .var{color:#cc6666}.cherry-markdown .cherry-markdown .fun{color:#81a2be}}.cherry-markdown div[data-type='codeBlock']{display:inline-block;width:100%;box-sizing:border-box;border-radius:2px;margin-bottom:16px;font-size:14px;overflow-x:auto}.cherry-markdown div[data-type='codeBlock']>pre{margin:0}.cherry-markdown div[data-type='codeBlock']>pre code[class*="language-"]{counter-reset:line}.cherry-markdown div[data-type='codeBlock']>pre code[class*="language-"].wrap{white-space:pre-wrap}.cherry-markdown div[data-type='codeBlock']>pre code[class*="language-"] .code-line{display:inline-block;position:relative;padding-left:3em;height:1.3em;line-height:2em}.cherry-markdown div[data-type='codeBlock']>pre code[class*="language-"] .code-line:before{counter-increment:line;content:counter(line);margin-right:1em;position:absolute;left:0}.cherry-markdown div[data-type='codeBlock']>pre code[class*="language-"] .code-line:last-child{margin-bottom:0}.cherry-markdown :not(pre)>code{padding:.1em;border-radius:.3em;white-space:normal;color:#f85353;background-color:#e5e5e5}[data-inline-code-theme='black'] .cherry-markdown :not(pre)>code{color:#3f4a56;background-color:#e5e5e5}.cherry-markdown a.anchor:before{content:'\a7';text-decoration:none;width:15px;font-size:0.5em;vertical-align:middle;display:inline-block;text-align:center;margin-left:-15px}.cherry-markdown .toc{margin-bottom:16px}.cherry-markdown .toc .toc-title{font-size:24px;margin-bottom:5px}.cherry-markdown .toc .toc-li{border-bottom:1px ridge #dfe6ee;list-style:none}.cherry-markdown .toc .toc-li a{text-decoration:none;color:#3f4a56}.cherry-markdown .toc .toc-li a:hover{color:#056bad}.cherry-markdown .check-list-item{list-style:none}.cherry-markdown .check-list-item .ch-icon{margin:0 6px 0 -20px}.cherry-markdown .footnote:not(a){padding-top:20px;border-top:1px solid #dfe6ee;margin-top:50px}.cherry-markdown .footnote:not(a) .footnote-title{font-size:20px;margin-top:-38px;background-color:#f8fafb;width:60px;margin-bottom:16px}.cherry-markdown .footnote:not(a) .one-footnote{color:#6d6e6f;margin-bottom:16px;border-bottom:1px dotted #dfe6ee}.cherry-markdown .cherry-table-container{max-width:100%;overflow-x:auto}.cherry-markdown .cherry-table-container .cherry-table th,.cherry-markdown .cherry-table-container .cherry-table td{border:1px solid #dfe6ee;padding:0.2em 0.4em;min-width:100px}.cherry-markdown .cherry-table-container .cherry-table th{white-space:nowrap}.cherry-markdown mjx-assistive-mml{position:absolute;top:0;left:0;clip:rect(1px, 1px, 1px, 1px);padding:1px 0 0 0;border:0}.cherry-markdown.head-num{counter-reset:level1}.cherry-markdown.head-num h1 .anchor:before,.cherry-markdown.head-num h2 .anchor:before,.cherry-markdown.head-num h3 .anchor:before,.cherry-markdown.head-num h4 .anchor:before,.cherry-markdown.head-num h5 .anchor:before,.cherry-markdown.head-num h6 .anchor:before{width:auto;font-size:inherit;vertical-align:inherit;padding-right:10px}.cherry-markdown.head-num h1{counter-reset:level2}.cherry-markdown.head-num h2{counter-reset:level3}.cherry-markdown.head-num h3{counter-reset:level4}.cherry-markdown.head-num h4{counter-reset:level5}.cherry-markdown.head-num h5{counter-reset:level6}.cherry-markdown.head-num h1 .anchor:before{counter-increment:level1;content:counter(level1) ". "}.cherry-markdown.head-num h2 .anchor:before{counter-increment:level2;content:counter(level1) "." counter(level2) " "}.cherry-markdown.head-num h3 .anchor:before{counter-increment:level3;content:counter(level1) "." counter(level2) "." counter(level3) " "}.cherry-markdown.head-num h4 .anchor:before{counter-increment:level4;content:counter(level1) "." counter(level2) "." counter(level3) "." counter(level4) " "}.cherry-markdown.head-num h5 .anchor:before{counter-increment:level5;content:counter(level1) "." counter(level2) "." counter(level3) "." counter(level4) "." counter(level5) " "}.cherry-markdown.head-num h6 .anchor:before{counter-increment:level6;content:counter(level1) "." counter(level2) "." counter(level3) "." counter(level4) "." counter(level5) "." counter(level6) " "}div[data-type='codeBlock'] code[class*="language-"],div[data-type='codeBlock'] pre[class*="language-"]{color:#ccc;background:none;font-family:Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}div[data-type='codeBlock'] pre[class*="language-"]{padding:1em;margin:.5em 0;overflow:auto}div[data-type='codeBlock'] :not(pre)>code[class*="language-"],div[data-type='codeBlock'] pre[class*="language-"]{background:#2d2d2d}div[data-type='codeBlock'] :not(pre)>code[class*="language-"]{padding:.1em;border-radius:.3em;white-space:normal}div[data-type='codeBlock'] .token.comment,div[data-type='codeBlock'] .token.block-comment,div[data-type='codeBlock'] .token.prolog,div[data-type='codeBlock'] .token.doctype,div[data-type='codeBlock'] .token.cdata{color:#999}div[data-type='codeBlock'] .token.punctuation{color:#ccc}div[data-type='codeBlock'] .token.tag,div[data-type='codeBlock'] .token.attr-name,div[data-type='codeBlock'] .token.namespace,div[data-type='codeBlock'] .token.deleted{color:#e2777a}div[data-type='codeBlock'] .token.function-name{color:#6196cc}div[data-type='codeBlock'] .token.boolean,div[data-type='codeBlock'] .token.number,div[data-type='codeBlock'] .token.function{color:#f08d49}div[data-type='codeBlock'] .token.property,div[data-type='codeBlock'] .token.class-name,div[data-type='codeBlock'] .token.constant,div[data-type='codeBlock'] .token.symbol{color:#f8c555}div[data-type='codeBlock'] .token.selector,div[data-type='codeBlock'] .token.important,div[data-type='codeBlock'] .token.atrule,div[data-type='codeBlock'] .token.keyword,div[data-type='codeBlock'] .token.builtin{color:#cc99cd}div[data-type='codeBlock'] .token.string,div[data-type='codeBlock'] .token.char,div[data-type='codeBlock'] .token.attr-value,div[data-type='codeBlock'] .token.regex,div[data-type='codeBlock'] .token.variable{color:#7ec699}div[data-type='codeBlock'] .token.operator,div[data-type='codeBlock'] .token.entity,div[data-type='codeBlock'] .token.url{color:#67cdcc}div[data-type='codeBlock'] .token.important,div[data-type='codeBlock'] .token.bold{font-weight:bold}div[data-type='codeBlock'] .token.italic{font-style:italic}div[data-type='codeBlock'] .token.entity{cursor:help}div[data-type='codeBlock'] .token.inserted{color:green}[data-code-block-theme='default'] div[data-type='codeBlock'] code[class*="language-"],[data-code-block-theme='default'] div[data-type='codeBlock'] pre[class*="language-"]{color:black;background:none;text-shadow:0 1px white;font-family:Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}[data-code-block-theme='default'] div[data-type='codeBlock'] pre[class*="language-"]::-moz-selection,[data-code-block-theme='default'] div[data-type='codeBlock'] pre[class*="language-"] ::-moz-selection,[data-code-block-theme='default'] div[data-type='codeBlock'] code[class*="language-"]::-moz-selection,[data-code-block-theme='default'] div[data-type='codeBlock'] code[class*="language-"] ::-moz-selection{text-shadow:none;background:#b3d4fc}[data-code-block-theme='default'] div[data-type='codeBlock'] pre[class*="language-"]::selection,[data-code-block-theme='default'] div[data-type='codeBlock'] pre[class*="language-"] ::selection,[data-code-block-theme='default'] div[data-type='codeBlock'] code[class*="language-"]::selection,[data-code-block-theme='default'] div[data-type='codeBlock'] code[class*="language-"] ::selection{text-shadow:none;background:#b3d4fc}@media print{[data-code-block-theme='default'] div[data-type='codeBlock'] code[class*="language-"],[data-code-block-theme='default'] div[data-type='codeBlock'] pre[class*="language-"]{text-shadow:none}}[data-code-block-theme='default'] div[data-type='codeBlock'] pre[class*="language-"]{padding:1em;margin:.5em 0;overflow:auto}[data-code-block-theme='default'] div[data-type='codeBlock'] :not(pre)>code[class*="language-"],[data-code-block-theme='default'] div[data-type='codeBlock'] pre[class*="language-"]{background:#f5f2f0}[data-code-block-theme='default'] div[data-type='codeBlock'] :not(pre)>code[class*="language-"]{padding:.1em;border-radius:.3em;white-space:normal}[data-code-block-theme='default'] div[data-type='codeBlock'] .token.comment,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.prolog,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.doctype,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.cdata{color:slategray}[data-code-block-theme='default'] div[data-type='codeBlock'] .token.punctuation{color:#999}[data-code-block-theme='default'] div[data-type='codeBlock'] .token.namespace{opacity:.7}[data-code-block-theme='default'] div[data-type='codeBlock'] .token.property,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.tag,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.boolean,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.number,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.constant,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.symbol,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.deleted{color:#905}[data-code-block-theme='default'] div[data-type='codeBlock'] .token.selector,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.attr-name,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.string,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.char,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.builtin,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.inserted{color:#690}[data-code-block-theme='default'] div[data-type='codeBlock'] .token.operator,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.entity,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.url,[data-code-block-theme='default'] div[data-type='codeBlock'] .language-css .token.string,[data-code-block-theme='default'] div[data-type='codeBlock'] .style .token.string{color:#9a6e3a;background:rgba(255,255,255,0.5)}[data-code-block-theme='default'] div[data-type='codeBlock'] .token.atrule,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.attr-value,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.keyword{color:#07a}[data-code-block-theme='default'] div[data-type='codeBlock'] .token.function,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.class-name{color:#DD4A68}[data-code-block-theme='default'] div[data-type='codeBlock'] .token.regex,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.important,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.variable{color:#e90}[data-code-block-theme='default'] div[data-type='codeBlock'] .token.important,[data-code-block-theme='default'] div[data-type='codeBlock'] .token.bold{font-weight:bold}[data-code-block-theme='default'] div[data-type='codeBlock'] .token.italic{font-style:italic}[data-code-block-theme='default'] div[data-type='codeBlock'] .token.entity{cursor:help}[data-code-block-theme='dark'] div[data-type='codeBlock'] code[class*="language-"],[data-code-block-theme='dark'] div[data-type='codeBlock'] pre[class*="language-"]{color:white;background:none;text-shadow:0 -.1em .2em black;font-family:Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}@media print{[data-code-block-theme='dark'] div[data-type='codeBlock'] code[class*="language-"],[data-code-block-theme='dark'] div[data-type='codeBlock'] pre[class*="language-"]{text-shadow:none}}[data-code-block-theme='dark'] div[data-type='codeBlock'] pre[class*="language-"],[data-code-block-theme='dark'] div[data-type='codeBlock'] :not(pre)>code[class*="language-"]{background:#4d4033}[data-code-block-theme='dark'] div[data-type='codeBlock'] pre[class*="language-"]{padding:1em;margin:.5em 0;overflow:auto;border:0.3em solid #7a6652;border-radius:.5em;box-shadow:1px 1px .5em black inset}[data-code-block-theme='dark'] div[data-type='codeBlock'] :not(pre)>code[class*="language-"]{padding:.15em .2em .05em;border-radius:.3em;border:0.13em solid #7a6652;box-shadow:1px 1px .3em -.1em black inset;white-space:normal}[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.comment,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.prolog,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.doctype,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.cdata{color:#998066}[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.punctuation{opacity:.7}[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.namespace{opacity:.7}[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.property,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.tag,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.boolean,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.number,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.constant,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.symbol{color:#d1949e}[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.selector,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.attr-name,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.string,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.char,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.builtin,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.inserted{color:#bde052}[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.operator,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.entity,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.url,[data-code-block-theme='dark'] div[data-type='codeBlock'] .language-css .token.string,[data-code-block-theme='dark'] div[data-type='codeBlock'] .style .token.string,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.variable{color:#f5b83d}[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.atrule,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.attr-value,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.keyword{color:#d1949e}[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.regex,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.important{color:#e90}[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.important,[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.bold{font-weight:bold}[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.italic{font-style:italic}[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.entity{cursor:help}[data-code-block-theme='dark'] div[data-type='codeBlock'] .token.deleted{color:red}[data-code-block-theme='funky'] div[data-type='codeBlock'] code[class*="language-"],[data-code-block-theme='funky'] div[data-type='codeBlock'] pre[class*="language-"]{font-family:Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}[data-code-block-theme='funky'] div[data-type='codeBlock'] pre[class*="language-"]{padding:.4em .8em;margin:.5em 0;overflow:auto;background:url('data:image/svg+xml;charset=utf-8,%0D%0A%0D%0A%0D%0A<%2Fsvg>');background-size:1em 1em}[data-code-block-theme='funky'] div[data-type='codeBlock'] code[class*="language-"]{background:black;color:white;box-shadow:-.3em 0 0 .3em black, .3em 0 0 .3em black}[data-code-block-theme='funky'] div[data-type='codeBlock'] :not(pre)>code[class*="language-"]{padding:.2em;border-radius:.3em;box-shadow:none;white-space:normal}[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.comment,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.prolog,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.doctype,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.cdata{color:#aaa}[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.punctuation{color:#999}[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.namespace{opacity:.7}[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.property,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.tag,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.boolean,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.number,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.constant,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.symbol{color:#0cf}[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.selector,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.attr-name,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.string,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.char,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.builtin{color:yellow}[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.operator,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.entity,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.url,[data-code-block-theme='funky'] div[data-type='codeBlock'] .language-css .token.string,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.variable,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.inserted{color:yellowgreen}[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.atrule,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.attr-value,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.keyword{color:deeppink}[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.regex,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.important{color:orange}[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.important,[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.bold{font-weight:bold}[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.italic{font-style:italic}[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.entity{cursor:help}[data-code-block-theme='funky'] div[data-type='codeBlock'] .token.deleted{color:red}[data-code-block-theme='funky'] div[data-type='codeBlock'] pre.diff-highlight.diff-highlight>code .token.deleted:not(.prefix),[data-code-block-theme='funky'] div[data-type='codeBlock'] pre>code.diff-highlight.diff-highlight .token.deleted:not(.prefix){background-color:rgba(255,0,0,0.3);display:inline}[data-code-block-theme='funky'] div[data-type='codeBlock'] pre.diff-highlight.diff-highlight>code .token.inserted:not(.prefix),[data-code-block-theme='funky'] div[data-type='codeBlock'] pre>code.diff-highlight.diff-highlight .token.inserted:not(.prefix){background-color:rgba(0,255,128,0.3);display:inline}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] code[class*="language-"],[data-code-block-theme='okaidia'] div[data-type='codeBlock'] pre[class*="language-"]{color:#f8f8f2;background:none;text-shadow:0 1px rgba(0,0,0,0.3);font-family:Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] pre[class*="language-"]{padding:1em;margin:.5em 0;overflow:auto;border-radius:0.3em}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] :not(pre)>code[class*="language-"],[data-code-block-theme='okaidia'] div[data-type='codeBlock'] pre[class*="language-"]{background:#272822}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] :not(pre)>code[class*="language-"]{padding:.1em;border-radius:.3em;white-space:normal}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.comment,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.prolog,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.doctype,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.cdata{color:#8292a2}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.punctuation{color:#f8f8f2}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.namespace{opacity:.7}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.property,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.tag,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.constant,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.symbol,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.deleted{color:#f92672}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.boolean,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.number{color:#ae81ff}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.selector,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.attr-name,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.string,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.char,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.builtin,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.inserted{color:#a6e22e}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.operator,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.entity,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.url,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .language-css .token.string,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .style .token.string,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.variable{color:#f8f8f2}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.atrule,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.attr-value,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.function,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.class-name{color:#e6db74}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.keyword{color:#66d9ef}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.regex,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.important{color:#fd971f}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.important,[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.bold{font-weight:bold}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.italic{font-style:italic}[data-code-block-theme='okaidia'] div[data-type='codeBlock'] .token.entity{cursor:help}[data-code-block-theme='twilight'] div[data-type='codeBlock'] code[class*="language-"],[data-code-block-theme='twilight'] div[data-type='codeBlock'] pre[class*="language-"]{color:white;background:none;font-family:Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;font-size:1em;text-align:left;text-shadow:0 -.1em .2em black;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}[data-code-block-theme='twilight'] div[data-type='codeBlock'] pre[class*="language-"],[data-code-block-theme='twilight'] div[data-type='codeBlock'] :not(pre)>code[class*="language-"]{background:#141414}[data-code-block-theme='twilight'] div[data-type='codeBlock'] pre[class*="language-"]{border-radius:.5em;border:0.3em solid #545454;box-shadow:1px 1px .5em black inset;margin:.5em 0;overflow:auto;padding:1em}[data-code-block-theme='twilight'] div[data-type='codeBlock'] pre[class*="language-"]::-moz-selection{background:#27292a}[data-code-block-theme='twilight'] div[data-type='codeBlock'] pre[class*="language-"]::selection{background:#27292a}[data-code-block-theme='twilight'] div[data-type='codeBlock'] pre[class*="language-"]::-moz-selection,[data-code-block-theme='twilight'] div[data-type='codeBlock'] pre[class*="language-"] ::-moz-selection,[data-code-block-theme='twilight'] div[data-type='codeBlock'] code[class*="language-"]::-moz-selection,[data-code-block-theme='twilight'] div[data-type='codeBlock'] code[class*="language-"] ::-moz-selection{text-shadow:none;background:rgba(237,237,237,0.15)}[data-code-block-theme='twilight'] div[data-type='codeBlock'] pre[class*="language-"]::selection,[data-code-block-theme='twilight'] div[data-type='codeBlock'] pre[class*="language-"] ::selection,[data-code-block-theme='twilight'] div[data-type='codeBlock'] code[class*="language-"]::selection,[data-code-block-theme='twilight'] div[data-type='codeBlock'] code[class*="language-"] ::selection{text-shadow:none;background:rgba(237,237,237,0.15)}[data-code-block-theme='twilight'] div[data-type='codeBlock'] :not(pre)>code[class*="language-"]{border-radius:.3em;border:0.13em solid #545454;box-shadow:1px 1px .3em -.1em black inset;padding:.15em .2em .05em;white-space:normal}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.comment,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.prolog,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.doctype,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.cdata{color:#787878}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.punctuation{opacity:.7}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.namespace{opacity:.7}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.tag,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.boolean,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.number,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.deleted{color:#cf694a}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.keyword,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.property,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.selector,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.constant,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.symbol,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.builtin{color:#f9ee9a}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.attr-name,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.attr-value,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.string,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.char,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.operator,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.entity,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.url,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .language-css .token.string,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .style .token.string,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.variable,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.inserted{color:#919e6b}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.atrule{color:#7386a5}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.regex,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.important{color:#e9c163}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.important,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.bold{font-weight:bold}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.italic{font-style:italic}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token.entity{cursor:help}[data-code-block-theme='twilight'] div[data-type='codeBlock'] pre[data-line]{padding:1em 0 1em 3em;position:relative}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .language-markup .token.tag,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .language-markup .token.attr-name,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .language-markup .token.punctuation{color:#ad895c}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .token{position:relative;z-index:1}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .line-highlight{background:rgba(84,84,84,0.25);background:linear-gradient(to right, rgba(84,84,84,0.1) 70%, rgba(84,84,84,0));border-bottom:1px dashed #545454;border-top:1px dashed #545454;left:0;line-height:inherit;margin-top:0.75em;padding:inherit 0;pointer-events:none;position:absolute;right:0;white-space:pre;z-index:0}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .line-highlight:before,[data-code-block-theme='twilight'] div[data-type='codeBlock'] .line-highlight[data-end]:after{background-color:#8794a6;border-radius:999px;box-shadow:0 1px white;color:#f5f2f0;content:attr(data-start);font:bold 65%/1.5 sans-serif;left:.6em;min-width:1em;padding:0 .5em;position:absolute;text-align:center;text-shadow:none;top:.4em;vertical-align:.3em}[data-code-block-theme='twilight'] div[data-type='codeBlock'] .line-highlight[data-end]:after{bottom:.4em;content:attr(data-end);top:auto}[data-code-block-theme='coy'] div[data-type='codeBlock'] code[class*="language-"],[data-code-block-theme='coy'] div[data-type='codeBlock'] pre[class*="language-"]{color:black;background:none;font-family:Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}[data-code-block-theme='coy'] div[data-type='codeBlock'] pre[class*="language-"]{position:relative;margin:.5em 0;overflow-y:hidden;padding:0}[data-code-block-theme='coy'] div[data-type='codeBlock'] pre[class*="language-"]>code{position:relative;border-left:10px solid #358ccb;box-shadow:-1px 0px 0px 0px #358ccb, 0px 0px 0px 1px #dfdfdf;background-color:#fdfdfd;background-image:linear-gradient(transparent 50%, rgba(69,142,209,0.04) 50%);background-size:3em 3em;background-origin:content-box;background-attachment:local}[data-code-block-theme='coy'] div[data-type='codeBlock'] code[class*="language-"]{max-height:inherit;height:inherit;padding:0 1em;display:block}[data-code-block-theme='coy'] div[data-type='codeBlock'] :not(pre)>code[class*="language-"],[data-code-block-theme='coy'] div[data-type='codeBlock'] pre[class*="language-"]{background-color:#fdfdfd;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:1em}[data-code-block-theme='coy'] div[data-type='codeBlock'] :not(pre)>code[class*="language-"]{position:relative;padding:.2em;border-radius:0.3em;color:#c92c2c;border:1px solid rgba(0,0,0,0.1);display:inline;white-space:normal}[data-code-block-theme='coy'] div[data-type='codeBlock'] pre[class*="language-"]:before,[data-code-block-theme='coy'] div[data-type='codeBlock'] pre[class*="language-"]:after{content:'';z-index:-2;display:block;position:absolute;bottom:0.75em;left:0.18em;width:40%;height:20%;max-height:13em;box-shadow:0px 13px 8px #979797;-webkit-transform:rotate(-2deg);-moz-transform:rotate(-2deg);-ms-transform:rotate(-2deg);-o-transform:rotate(-2deg);transform:rotate(-2deg)}[data-code-block-theme='coy'] div[data-type='codeBlock'] pre[class*="language-"]:after{right:0.75em;left:auto;-webkit-transform:rotate(2deg);-moz-transform:rotate(2deg);-ms-transform:rotate(2deg);-o-transform:rotate(2deg);transform:rotate(2deg)}[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.comment,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.block-comment,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.prolog,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.doctype,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.cdata{color:#7D8B99}[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.punctuation{color:#5F6364}[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.property,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.tag,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.boolean,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.number,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.function-name,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.constant,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.symbol,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.deleted{color:#c92c2c}[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.selector,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.attr-name,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.string,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.char,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.function,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.builtin,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.inserted{color:#2f9c0a}[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.operator,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.entity,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.url,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.variable{color:#a67f59;background:rgba(255,255,255,0.5)}[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.atrule,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.attr-value,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.keyword,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.class-name{color:#1990b8}[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.regex,[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.important{color:#e90}[data-code-block-theme='coy'] div[data-type='codeBlock'] .language-css .token.string,[data-code-block-theme='coy'] div[data-type='codeBlock'] .style .token.string{color:#a67f59;background:rgba(255,255,255,0.5)}[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.important{font-weight:normal}[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.bold{font-weight:bold}[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.italic{font-style:italic}[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.entity{cursor:help}[data-code-block-theme='coy'] div[data-type='codeBlock'] .token.namespace{opacity:.7}@media screen and (max-width: 767px){[data-code-block-theme='coy'] div[data-type='codeBlock'] pre[class*="language-"]:before,[data-code-block-theme='coy'] div[data-type='codeBlock'] pre[class*="language-"]:after{bottom:14px;box-shadow:none}}[data-code-block-theme='coy'] div[data-type='codeBlock'] pre[class*="language-"].line-numbers.line-numbers{padding-left:0}[data-code-block-theme='coy'] div[data-type='codeBlock'] pre[class*="language-"].line-numbers.line-numbers code{padding-left:3.8em}[data-code-block-theme='coy'] div[data-type='codeBlock'] pre[class*="language-"].line-numbers.line-numbers .line-numbers-rows{left:0}[data-code-block-theme='coy'] div[data-type='codeBlock'] pre[class*="language-"][data-line]{padding-top:0;padding-bottom:0;padding-left:0}[data-code-block-theme='coy'] div[data-type='codeBlock'] pre[data-line] code{position:relative;padding-left:4em}[data-code-block-theme='coy'] div[data-type='codeBlock'] pre .line-highlight{margin-top:0}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] code[class*="language-"],[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] pre[class*="language-"]{color:#657b83;font-family:Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] pre[class*="language-"]::-moz-selection,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] pre[class*="language-"] ::-moz-selection,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] code[class*="language-"]::-moz-selection,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] code[class*="language-"] ::-moz-selection{background:#073642}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] pre[class*="language-"]::selection,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] pre[class*="language-"] ::selection,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] code[class*="language-"]::selection,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] code[class*="language-"] ::selection{background:#073642}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] pre[class*="language-"]{padding:1em;margin:.5em 0;overflow:auto;border-radius:0.3em}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] :not(pre)>code[class*="language-"],[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] pre[class*="language-"]{background-color:#fdf6e3}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] :not(pre)>code[class*="language-"]{padding:.1em;border-radius:.3em}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.comment,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.prolog,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.doctype,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.cdata{color:#93a1a1}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.punctuation{color:#586e75}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.namespace{opacity:.7}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.property,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.tag,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.boolean,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.number,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.constant,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.symbol,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.deleted{color:#268bd2}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.selector,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.attr-name,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.string,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.char,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.builtin,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.url,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.inserted{color:#2aa198}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.entity{color:#657b83;background:#eee8d5}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.atrule,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.attr-value,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.keyword{color:#859900}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.function,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.class-name{color:#b58900}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.regex,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.important,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.variable{color:#cb4b16}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.important,[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.bold{font-weight:bold}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.italic{font-style:italic}[data-code-block-theme='solarized-light'] div[data-type='codeBlock'] .token.entity{cursor:help}.cherry .doing-resize-img{-moz-user-select:none;-webkit-user-select:none;user-select:none}.cherry .cherry-previewer img{transition:all 0.1s}.cherry .cherry-previewer-img-size-hander{position:absolute;box-shadow:0 1px 4px 0 rgba(20,81,154,0.5);border:1px solid #3582fb;box-sizing:content-box;pointer-events:none}.cherry .cherry-previewer-img-size-hander .cherry-previewer-img-size-hander__points{position:absolute;height:10px;width:10px;margin-top:-7px;margin-left:-7px;border-radius:9px;background:#3582fb;border:2px solid #fff;box-sizing:content-box;box-shadow:0px 2px 2px 0px rgba(20,81,154,0.5);pointer-events:all}.cherry .cherry-previewer-img-size-hander .cherry-previewer-img-size-hander__background{background-repeat:no-repeat;background-size:100% 100%;opacity:0.5;width:100%;height:100%}.cherry .cherry-previewer-img-size-hander .cherry-previewer-img-size-hander__points-leftTop{cursor:nw-resize}.cherry .cherry-previewer-img-size-hander .cherry-previewer-img-size-hander__points-rightTop{cursor:sw-resize}.cherry .cherry-previewer-img-size-hander .cherry-previewer-img-size-hander__points-leftBottom{cursor:sw-resize}.cherry .cherry-previewer-img-size-hander .cherry-previewer-img-size-hander__points-rightBottom{cursor:nw-resize}.cherry .cherry-previewer-img-size-hander .cherry-previewer-img-size-hander__points-middleTop{cursor:n-resize}.cherry .cherry-previewer-img-size-hander .cherry-previewer-img-size-hander__points-middleBottom{cursor:n-resize}.cherry .cherry-previewer-img-size-hander .cherry-previewer-img-size-hander__points-leftMiddle{cursor:e-resize}.cherry .cherry-previewer-img-size-hander .cherry-previewer-img-size-hander__points-rightMiddle{cursor:e-resize}.cherry .cherry-previewer-table-content-hander .cherry-previewer-table-content-hander__input{position:absolute}.cherry .cherry-previewer-table-content-hander .cherry-previewer-table-content-hander__input textarea{width:100%;height:100%;border:0;box-sizing:border-box;resize:none;outline:1px solid #3582fb;word-break:break-all}@media print{img,figure,pre,table{page-break-inside:avoid}.cherry-previewer{width:100% !important;max-height:none;border-left:none !important}.cherry-toolbar,.cherry-sidebar,.cherry-editor,.cherry-drag{display:none !important}}.cherry{display:flex;flex-flow:row wrap;align-items:stretch;align-content:flex-start;height:100%;min-height:100px;position:relative}.cherry .cherry-editor,.cherry .cherry-previewer{max-height:calc(100% - 48px);min-height:calc(100% - 48px)}.cherry .CodeMirror{height:100%}.cherry.cherry--no-toolbar .cherry-toolbar,.cherry.cherry--no-toolbar .cherry-sidebar{height:0;display:none}.cherry.cherry--no-toolbar .cherry-editor,.cherry.cherry--no-toolbar .cherry-previewer{max-height:100%;min-height:100%}.cherry{font-family:"Helvetica Neue",Arial,"Hiragino Sans GB","STHeiti","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-size:16px;line-height:27px;color:#3f4a56;background:#f8fafb;box-shadow:0 0 10px rgba(128,145,165,0.2)}.cherry .ch-icon{vertical-align:middle}.cherry .clearfix{zoom:1}.cherry .clearfix:after{content:'.';display:block;height:0;clear:both;visibility:hidden;overflow:hidden;font-size:0}.cherry.fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000}.cherry .no-select{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cherry .cherry-insert-table-menu{display:block;position:absolute;top:40px;left:40px;border-collapse:separate;box-shadow:0 0 10px rgba(128,145,165,0.2);padding:4px;border-radius:3px;width:auto;height:auto}.cherry .cherry-insert-table-menu-item{padding:7px;border:1px solid #dfe6ee}.cherry .cherry-insert-table-menu-item.active{background-color:#ebf3ff}.cherry[data-toolbar-theme='dark'] .cherry-insert-table-menu-item{border-color:rgba(255,255,255,0.2)}.cherry[data-toolbar-theme='dark'] .cherry-insert-table-menu-item.active{background-color:#d7e6fe}.cherry-dropdown{position:absolute;width:130px;min-height:40px;background:#fff;box-shadow:0 5px 15px -5px rgba(0,0,0,0.5);margin-left:-60px;z-index:1000}.cherry-dropdown-item{width:100%;padding:0 15px;text-align:left;display:inline-block;height:36px;line-height:36px;font-size:14px;font-style:normal;cursor:pointer;box-sizing:border-box}.cherry-dropdown-item:hover{background:#ebf3ff;color:#5d9bfc}.cherry-dropdown-item .ch-icon{margin-right:10px}[data-toolbar-theme='dark'] .cherry-dropdown{background:#20304b}[data-toolbar-theme='dark'] .cherry-dropdown .cherry-dropdown-item{background:rgba(0,0,0,0);color:#d7e6fe}[data-toolbar-theme='dark'] .cherry-dropdown .cherry-dropdown-item:hover{background:rgba(255,255,255,0.1);color:#fff}.cherry-toolbar{position:relative;display:flex;align-items:center;padding:0 20px;height:48px;font-size:14px;line-height:2.8;flex-basis:100%;box-sizing:border-box;z-index:1;user-select:none;box-shadow:0 0 10px rgba(128,145,165,0.2);background:#fff;overflow:hidden}[data-toolbar-theme='dark'] .cherry-toolbar{background:#20304b;box-shadow:0 0 10px rgba(128,145,165,0.2)}[data-toolbar-theme='dark'] .cherry-toolbar .cherry-toolbar-button{color:#d7e6fe;background:rgba(0,0,0,0)}[data-toolbar-theme='dark'] .cherry-toolbar .cherry-toolbar-button:hover{color:#fff;background:rgba(255,255,255,0.1)}.cherry-toolbar.preview-only .cherry-toolbar-button{display:none}.cherry-toolbar.preview-only .cherry-toolbar-switchPreview{display:inline}.cherry-toolbar-button{float:left;padding:0 12px;margin:4px 0;height:38px;color:#3f4a56;background:transparent;border:1px solid transparent;-webkit-transition:background-color ease-in-out 0.15s, color ease-in-out 0.15s, border-color ease-in-out 0.15s;transition:background-color ease-in-out 0.15s, color ease-in-out 0.15s, border-color ease-in-out 0.15s;cursor:pointer;font-style:normal}.cherry-toolbar-button:hover{color:#5d9bfc;background:#ebf3ff}.cherry-toolbar-button.cherry-toolbar-split{font-size:0;height:50%;padding:0;margin-left:4px;margin-right:4px;border:none;border-left:1px solid #dfe6ee;pointer-events:none;overflow:hidden;opacity:0.5}.cherry-toolbar-button.disabled{color:#ccc}.cherry-sidebar{min-height:200px;width:40px;position:absolute;top:48px;right:7px;z-index:999}.cherry-sidebar .cherry-toolbar-button{height:30px;padding:3px 12px 0 12px}.cherry-sidebar .cherry-toolbar-button:hover{background:transparent}.cherry-sidebar .cherry-toolbar-button .icon-loading.loading{display:inline-block;width:8px;height:8px}.cherry-sidebar .cherry-toolbar-button .icon-loading.loading:after{content:" ";display:block;width:8px;height:8px;margin-left:2px;margin-top:-2px;border-radius:50%;border:2px solid #000;border-color:#000 transparent #000 transparent;animation:loading 1.2s linear infinite}@keyframes loading{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.cherry-bubble{position:absolute;top:100px;left:200px;background-color:#fff;box-shadow:0 2px 15px -5px rgba(0,0,0,0.5);height:35px;min-width:50px;border-radius:3px;border:1px solid #dfe6ee;z-index:999;display:none}.cherry-bubble .cherry-bubble-top,.cherry-bubble .cherry-bubble-bottom{width:0;height:0;border-left:8px solid rgba(0,0,0,0);border-right:8px solid rgba(0,0,0,0);position:relative;left:50%;margin-left:-8px}.cherry-bubble .cherry-bubble-top{border-bottom:8px solid #fff;top:-8px}.cherry-bubble .cherry-bubble-bottom{border-top:8px solid #fff;bottom:-35px}.cherry-bubble .cherry-toolbar-button{line-height:35px;height:100%;overflow:hidden;vertical-align:middle;display:inline-block;padding:0 15px;margin-top:-1px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cherry-bubble .cherry-toolbar-button:hover{border-color:#dfe6ee;background-color:rgba(89,128,166,0.05)}.cherry-bubble .cherry-toolbar-button.cherry-toolbar-split{border-left:1px solid #ddd;width:0;padding:0;overflow:hidden}[data-toolbar-theme='dark'] .cherry-bubble{border-color:#20304b;background:#20304b}[data-toolbar-theme='dark'] .cherry-bubble .cherry-toolbar-button{color:#d7e6fe;background:rgba(0,0,0,0)}[data-toolbar-theme='dark'] .cherry-bubble .cherry-toolbar-button:hover{color:#fff;background:rgba(255,255,255,0.1)}[data-toolbar-theme='dark'] .cherry-bubble .cherry-bubble-top{border-bottom:8px solid #20304b}[data-toolbar-theme='dark'] .cherry-bubble .cherry-bubble-bottom{border-top:8px solid #20304b}[data-toolbar-theme='dark'] .cherry-bubble .cherry-toolbar-button:hover{border-color:#20304b}.cherry-floatmenu{z-index:100;display:none;position:absolute;left:30px;margin-left:60px;height:27px;line-height:27px;border-radius:3px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cherry-floatmenu .cherry-toolbar-button{float:left;padding:0 9px;margin:0;height:27px;line-height:27px;font-size:14px;color:#3f4a56;overflow:hidden;vertical-align:middle;text-align:center;border:0;cursor:pointer;font-style:normal}.cherry-floatmenu .cherry-toolbar-button.cherry-toolbar-split{border-left:1px solid #dfe6ee;width:0;padding:0;overflow:hidden;height:25px}.cherry-floatmenu .cherry-toolbar-button .ch-icon{color:#aaa;font-size:12px}.cherry-floatmenu .cherry-toolbar-button:hover{background:rgba(0,0,0,0.05)}.cherry-floatmenu .cherry-toolbar-button:hover .ch-icon{color:#3f4a56}.cherry-editor{position:relative;padding-top:5px;padding-right:5px;width:50%;box-sizing:border-box;overflow:hidden}.cherry-editor.cherry-editor--full{width:100%;padding-right:0}.cherry-editor.cherry-editor--hidden{display:none}.cherry-editor .CodeMirror{font-family:"Helvetica Neue",Arial,"Hiragino Sans GB","STHeiti","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;background:#f8fafb;color:#3f4a56}.cherry-editor .CodeMirror textarea{font-size:27px}.cherry-editor .CodeMirror-lines{padding:15px 34px}.cherry-editor .cm-s-default .cm-header{color:#3f4a56}.cherry-editor .cm-s-default .cm-string{color:#3f4a56}.cherry-editor .cm-s-default .cm-comment{color:#3582fb;font-family:"Menlo","Liberation Mono","Consolas","DejaVu Sans Mono","Ubuntu Mono","Courier New","andale mono","lucida console",monospace;font-size:0.9em}.cherry-editor .cm-s-default .cm-whitespace,.cherry-editor .cm-tab{font-family:"Menlo","Liberation Mono","Consolas","DejaVu Sans Mono","Ubuntu Mono","Courier New","andale mono","lucida console",monospace;font-size:0.9em}.cherry-editor .cm-s-default .cm-quote{color:#3582fb}.cherry-editor .cm-s-default .cm-link{color:#3582fb}.cherry-editor .cm-s-default .cm-url{background:#d7e6fe;font-family:"Menlo","Liberation Mono","Consolas","DejaVu Sans Mono","Ubuntu Mono","Courier New","andale mono","lucida console",monospace;font-size:0.9em}.cherry-editor .cm-s-default .cm-variable-2{color:#3f4a56}.cherry-editor .cm-s-default .cm-variable-3{color:#3f4a56}.cherry-editor .cm-s-default .cm-keyword{color:#3f4a56}.cherry-drag{width:15px;cursor:ew-resize;position:absolute;z-index:1000;background:transparent}.cherry-drag.cherry-drag--show{width:5px;display:block;background:#dfe6ee}.cherry-drag.cherry-drag--hidden{display:none}.cherry-editor-mask{z-index:999;position:absolute;display:none;background:rgba(0,0,0,0.2)}.cherry-editor-mask.cherry-editor-mask--show{display:block}.cherry-previewer-mask{z-index:999;position:absolute;display:none;background:rgba(0,0,0,0.4)}.cherry-previewer-mask.cherry-previewer-mask--show{display:block}.cherry-previewer{padding:20px 34px;border-left:2px solid #ebedee;width:50%;box-sizing:border-box;background-color:#f8fafb;min-height:auto;overflow-y:auto}.cherry-previewer .cherry-mobile-previewer-content{width:375px;height:100%;margin:0 auto;padding:25px 30px;overflow-y:scroll;box-shadow:0 0 60px rgba(0,0,0,0.1);box-sizing:border-box}.cherry-previewer.cherry-previewer--hidden{width:0;display:none}.cherry-previewer.cherry-previewer--full{width:100%}.cherry-previewer .cherry-list__upper-roman{list-style:upper-roman}.cherry-previewer .cherry-list__lower-greek{list-style:lower-greek}.cherry-previewer .cherry-list__cjk-ideographic{list-style:cjk-ideographic}.cherry-previewer .cherry-list__circle{list-style:circle}.cherry-previewer .cherry-list__square{list-style:square}.cherry-color-wrap{display:none;position:fixed;width:auto;padding:5px 10px;z-index:1000;background:#fff;box-shadow:0 0 10px rgba(128,145,165,0.2)}.cherry-color-wrap h3{font-size:12px;margin:0px}.cherry-color-wrap .cherry-color-text{float:left;width:128px;margin:0 8px 0 5px}.cherry-color-wrap .cherry-color-bg{float:left;width:128px;margin-right:5px}.cherry-color-wrap .cherry-color-item{float:left;width:14px;height:14px;border:1px solid #fff;cursor:pointer}.cherry-color-wrap .cherry-color-item:hover{border:1px solid #000}.cherry-switch-paste{margin-left:-112px;left:50%;box-sizing:content-box}.cherry-switch-paste .switch-btn--bg{transition:all 0.3s;position:absolute;width:50%;height:100%;box-sizing:border-box;z-index:-1;left:-1px;opacity:0.3;background-color:#5d9bfc}.cherry-switch-paste .cherry-toolbar-button{width:80px;text-align:center}.cherry-switch-paste .cherry-toolbar-button:hover{border-color:transparent}.cherry-switch-paste[data-type='text'] .cherry-text-btn{color:#3f4a56}.cherry-switch-paste[data-type='text'] .cherry-md-btn{color:#5d9bfc}.cherry-switch-paste[data-type='md'] .cherry-md-btn{color:#3f4a56}.cherry-switch-paste[data-type='md'] .cherry-text-btn{color:#5d9bfc}.cherry-switch-paste[data-type='md'] .switch-btn--bg{left:50%}[data-toolbar-theme='dark'] .cherry-switch-paste .switch-btn--bg{background-color:#fff}[data-toolbar-theme='dark'] .cherry-switch-paste[data-type='text'] .cherry-text-btn{color:#d7e6fe}[data-toolbar-theme='dark'] .cherry-switch-paste[data-type='text'] .cherry-md-btn{color:#fff}[data-toolbar-theme='dark'] .cherry-switch-paste[data-type='md'] .cherry-md-btn{color:#d7e6fe}[data-toolbar-theme='dark'] .cherry-switch-paste[data-type='md'] .cherry-text-btn{color:#fff}[data-toolbar-theme='dark'] .cherry-switch-paste[data-type='md'] .switch-btn--bg{left:50%}.Cherry-Math svg{max-width:100%}.cherry-suggester-panel{display:none;position:absolute;left:0;top:0;background:#fff;border:1px solid #ccc;border-radius:2px;max-height:200px;box-shadow:0 2px 8px 1px #00000033}.cherry-suggester-panel .cherry-suggester-panel__item{border:none;white-space:nowrap;min-width:50px;padding:5px 13px;color:#333;display:block;cursor:pointer}.cherry-suggester-panel .cherry-suggester-panel__item.cherry-suggester-panel__item--selected{background-color:#f2f2f5;text-decoration:none;color:#eb7350}.cherry-suggestion{background-color:#ebf3ff;color:#3582fb;padding:1px 4px;border-radius:3px;cursor:pointer}.CodeMirror{font-family:monospace;height:300px;color:black;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{background-color:white}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:black}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid black;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0 !important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor-mark{background-color:rgba(20,255,20,0.5);-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite}.cm-animate-fat-cursor{width:auto;border:0;-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite;background-color:#7e7}@-moz-keyframes blink{0%{}50%{background-color:transparent}100%{}}@-webkit-keyframes blink{0%{}50%{background-color:transparent}100%{}}@keyframes blink{0%{}50%{background-color:transparent}100%{}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:blue}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:bold}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3,.cm-s-default .cm-type{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta{color:#555}.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error{color:#f00}.cm-invalidchar{color:#f00}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,0.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:white}.CodeMirror-scroll{overflow:scroll !important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:none;position:relative}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-vscrollbar,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{position:absolute;z-index:6;display:none;outline:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:none !important;border:none !important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:0.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-scroll,.CodeMirror-sizer,.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:rgba(255,255,0,0.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:''}span.CodeMirror-selectedtext{background:none} diff --git a/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/wwwroot/css/fonts/ch-icon.eot b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/wwwroot/css/fonts/ch-icon.eot new file mode 100644 index 0000000000000000000000000000000000000000..1a3153c458d082d479213440c07b1e07c9b8bb08 Binary files /dev/null and b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/wwwroot/css/fonts/ch-icon.eot differ diff --git a/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/wwwroot/css/fonts/ch-icon.svg b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/wwwroot/css/fonts/ch-icon.svg new file mode 100644 index 0000000000000000000000000000000000000000..db65518718c1b0916c5800e644db398e299586a8 --- /dev/null +++ b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/wwwroot/css/fonts/ch-icon.svg @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/wwwroot/css/fonts/ch-icon.ttf b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/wwwroot/css/fonts/ch-icon.ttf new file mode 100644 index 0000000000000000000000000000000000000000..41f754ff1d6062d9db1f339f2e911e25d0bbeec5 Binary files /dev/null and b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/wwwroot/css/fonts/ch-icon.ttf differ diff --git a/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/wwwroot/css/fonts/ch-icon.woff b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/wwwroot/css/fonts/ch-icon.woff new file mode 100644 index 0000000000000000000000000000000000000000..16e73966c4e4f267aa8bc3e1ff326fca7e7e02a6 Binary files /dev/null and b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/wwwroot/css/fonts/ch-icon.woff differ diff --git a/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/wwwroot/css/fonts/ch-icon.woff2 b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/wwwroot/css/fonts/ch-icon.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..bfcd1e07a29a980887d3881e243122d9da03ac81 Binary files /dev/null and b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/wwwroot/css/fonts/ch-icon.woff2 differ diff --git a/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/wwwroot/js/bootstrap.blazor.cherrymarkdown.min.js b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/wwwroot/js/bootstrap.blazor.cherrymarkdown.min.js new file mode 100644 index 0000000000000000000000000000000000000000..c0ed6f1c193f1275f68a52d68783e313b4fc3b18 --- /dev/null +++ b/src/Extensions/Components/BootstrapBlazor.CherryMarkdown/wwwroot/js/bootstrap.blazor.cherrymarkdown.min.js @@ -0,0 +1,2 @@ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t=t||self).Cherry={})}(this,(function(t){"use strict";var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function n(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function r(t,e){return t(e={exports:{}},e.exports),e.exports}function i(t){return t&&t.default||t}var o,a,s=function(t){return t&&t.Math==Math&&t},c=s("object"==typeof globalThis&&globalThis)||s("object"==typeof window&&window)||s("object"==typeof self&&self)||s("object"==typeof e&&e)||function(){return this}()||Function("return this")(),l=function(t){try{return!!t()}catch(t){return!0}},u=!l((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")})),A=Function.prototype,h=A.apply,f=A.call,d="object"==typeof Reflect&&Reflect.apply||(u?f.bind(h):function(){return f.apply(h,arguments)}),p=Function.prototype,g=p.bind,m=p.call,y=u&&g.bind(m,m),v=u?function(t){return t&&y(t)}:function(t){return t&&function(){return m.apply(t,arguments)}},b=function(t){return"function"==typeof t},w=!l((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),_=Function.prototype.call,x=u?_.bind(_):function(){return _.apply(_,arguments)},E={}.propertyIsEnumerable,C=Object.getOwnPropertyDescriptor,T={f:C&&!E.call({1:2},1)?function(t){var e=C(this,t);return!!e&&e.enumerable}:E},B=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},k=v({}.toString),S=v("".slice),M=function(t){return S(k(t),8,-1)},F=c.Object,N=v("".split),O=l((function(){return!F("z").propertyIsEnumerable(0)}))?function(t){return"String"==M(t)?N(t,""):F(t)}:F,L=c.TypeError,I=function(t){if(null==t)throw L("Can't call method on "+t);return t},D=function(t){return O(I(t))},U=function(t){return"object"==typeof t?null!==t:b(t)},R={},P=function(t){return b(t)?t:void 0},Q=function(t,e){return arguments.length<2?P(R[t])||P(c[t]):R[t]&&R[t][e]||c[t]&&c[t][e]},H=v({}.isPrototypeOf),j=Q("navigator","userAgent")||"",K=c.process,G=c.Deno,$=K&&K.versions||G&&G.version,z=$&&$.v8;z&&(a=(o=z.split("."))[0]>0&&o[0]<4?1:+(o[0]+o[1])),!a&&j&&(!(o=j.match(/Edge\/(\d+)/))||o[1]>=74)&&(o=j.match(/Chrome\/(\d+)/))&&(a=+o[1]);var q=a,Y=!!Object.getOwnPropertySymbols&&!l((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&q&&q<41})),V=Y&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,W=c.Object,X=V?function(t){return"symbol"==typeof t}:function(t){var e=Q("Symbol");return b(e)&&H(e.prototype,W(t))},J=c.String,Z=function(t){try{return J(t)}catch(t){return"Object"}},tt=c.TypeError,et=function(t){if(b(t))return t;throw tt(Z(t)+" is not a function")},nt=function(t,e){var n=t[e];return null==n?void 0:et(n)},rt=c.TypeError,it=Object.defineProperty,ot=c["__core-js_shared__"]||function(t,e){try{it(c,t,{value:e,configurable:!0,writable:!0})}catch(n){c[t]=e}return e}("__core-js_shared__",{}),at=r((function(t){(t.exports=function(t,e){return ot[t]||(ot[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.21.1",mode:"pure",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.21.1/LICENSE",source:"https://github.com/zloirock/core-js"})})),st=c.Object,ct=function(t){return st(I(t))},lt=v({}.hasOwnProperty),ut=Object.hasOwn||function(t,e){return lt(ct(t),e)},At=0,ht=Math.random(),ft=v(1..toString),dt=function(t){return"Symbol("+(void 0===t?"":t)+")_"+ft(++At+ht,36)},pt=at("wks"),gt=c.Symbol,mt=gt&>.for,yt=V?gt:gt&>.withoutSetter||dt,vt=function(t){if(!ut(pt,t)||!Y&&"string"!=typeof pt[t]){var e="Symbol."+t;Y&&ut(gt,t)?pt[t]=gt[t]:pt[t]=V&&mt?mt(e):yt(e)}return pt[t]},bt=c.TypeError,wt=vt("toPrimitive"),_t=function(t,e){if(!U(t)||X(t))return t;var n,r=nt(t,wt);if(r){if(void 0===e&&(e="default"),n=x(r,t,e),!U(n)||X(n))return n;throw bt("Can't convert object to primitive value")}return void 0===e&&(e="number"),function(t,e){var n,r;if("string"===e&&b(n=t.toString)&&!U(r=x(n,t)))return r;if(b(n=t.valueOf)&&!U(r=x(n,t)))return r;if("string"!==e&&b(n=t.toString)&&!U(r=x(n,t)))return r;throw rt("Can't convert object to primitive value")}(t,e)},xt=function(t){var e=_t(t,"string");return X(e)?e:e+""},Et=c.document,Ct=U(Et)&&U(Et.createElement),Tt=function(t){return Ct?Et.createElement(t):{}},Bt=!w&&!l((function(){return 7!=Object.defineProperty(Tt("div"),"a",{get:function(){return 7}}).a})),kt=Object.getOwnPropertyDescriptor,St={f:w?kt:function(t,e){if(t=D(t),e=xt(e),Bt)try{return kt(t,e)}catch(t){}if(ut(t,e))return B(!x(T.f,t,e),t[e])}},Mt=/#|\.prototype\./,Ft=function(t,e){var n=Ot[Nt(t)];return n==It||n!=Lt&&(b(e)?l(e):!!e)},Nt=Ft.normalize=function(t){return String(t).replace(Mt,".").toLowerCase()},Ot=Ft.data={},Lt=Ft.NATIVE="N",It=Ft.POLYFILL="P",Dt=Ft,Ut=v(v.bind),Rt=function(t,e){return et(t),void 0===e?t:u?Ut(t,e):function(){return t.apply(e,arguments)}},Pt=w&&l((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),Qt=c.String,Ht=c.TypeError,jt=function(t){if(U(t))return t;throw Ht(Qt(t)+" is not an object")},Kt=c.TypeError,Gt=Object.defineProperty,$t=Object.getOwnPropertyDescriptor,zt={f:w?Pt?function(t,e,n){if(jt(t),e=xt(e),jt(n),"function"==typeof t&&"prototype"===e&&"value"in n&&"writable"in n&&!n.writable){var r=$t(t,e);r&&r.writable&&(t[e]=n.value,n={configurable:"configurable"in n?n.configurable:r.configurable,enumerable:"enumerable"in n?n.enumerable:r.enumerable,writable:!1})}return Gt(t,e,n)}:Gt:function(t,e,n){if(jt(t),e=xt(e),jt(n),Bt)try{return Gt(t,e,n)}catch(t){}if("get"in n||"set"in n)throw Kt("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},qt=w?function(t,e,n){return zt.f(t,e,B(1,n))}:function(t,e,n){return t[e]=n,t},Yt=St.f,Vt=function(t){var e=function(n,r,i){if(this instanceof e){switch(arguments.length){case 0:return new t;case 1:return new t(n);case 2:return new t(n,r)}return new t(n,r,i)}return d(t,this,arguments)};return e.prototype=t.prototype,e},Wt=function(t,e){var n,r,i,o,a,s,l,u,A=t.target,h=t.global,f=t.stat,d=t.proto,p=h?c:f?c[A]:(c[A]||{}).prototype,g=h?R:R[A]||qt(R,A,{})[A],m=g.prototype;for(i in e)n=!Dt(h?i:A+(f?".":"#")+i,t.forced)&&p&&ut(p,i),a=g[i],n&&(s=t.noTargetGet?(u=Yt(p,i))&&u.value:p[i]),o=n&&s?s:e[i],n&&typeof a==typeof o||(l=t.bind&&n?Rt(o,c):t.wrap&&n?Vt(o):d&&b(o)?v(o):o,(t.sham||o&&o.sham||a&&a.sham)&&qt(l,"sham",!0),qt(g,i,l),d&&(ut(R,r=A+"Prototype")||qt(R,r,{}),qt(R[r],i,o),t.real&&m&&!m[i]&&qt(m,i,o)))},Xt=v([].slice),Jt=c.Function,Zt=v([].concat),te=v([].join),ee={},ne=function(t,e,n){if(!ut(ee,e)){for(var r=[],i=0;i0?Ce:Ee)(e)},Be=Math.max,ke=Math.min,Se=function(t,e){var n=Te(t);return n<0?Be(n+e,0):ke(n,e)},Me=Math.min,Fe=function(t){return t>0?Me(Te(t),9007199254740991):0},Ne=function(t){return Fe(t.length)},Oe=function(t){return function(e,n,r){var i,o=D(e),a=Ne(o),s=Se(r,a);if(t&&n!=n){for(;a>s;)if((i=o[s++])!=i)return!0}else for(;a>s;s++)if((t||s in o)&&o[s]===n)return t||s||0;return!t&&-1}},Le={includes:Oe(!0),indexOf:Oe(!1)},Ie={},De=Le.indexOf,Ue=v([].push),Re=function(t,e){var n,r=D(t),i=0,o=[];for(n in r)!ut(Ie,n)&&ut(r,n)&&Ue(o,n);for(;e.length>i;)ut(r,n=e[i++])&&(~De(o,n)||Ue(o,n));return o},Pe=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Qe=Object.keys||function(t){return Re(t,Pe)},He={f:w&&!Pt?Object.defineProperties:function(t,e){jt(t);for(var n,r=D(e),i=Qe(e),o=i.length,a=0;o>a;)zt.f(t,n=i[a++],r[n]);return t}},je=Q("document","documentElement"),Ke=at("keys"),Ge=function(t){return Ke[t]||(Ke[t]=dt(t))},$e=Ge("IE_PROTO"),ze=function(){},qe=function(t){return"