diff --git a/.eslintignore b/.eslintignore index 941328cd5..bfc75daa5 100644 --- a/.eslintignore +++ b/.eslintignore @@ -3,26 +3,26 @@ client/dist/ admin/client/dist/ # Ignore legacy files -client/src/legacy/AssetUploadField.js -client/src/legacy/ConfirmedPasswordField.js -client/src/legacy/DateField.js -client/src/legacy/GridField.js -client/src/legacy/HtmlEditorField.js -client/src/legacy/InlineFormAction.js -client/src/legacy/PermissionCheckboxSetField.js -client/src/legacy/SelectionGroup.js -client/src/legacy/TabSet.js -client/src/legacy/TinyMCE_SSPlugin.js -client/src/legacy/ToggleCompositeField.js -client/src/legacy/ToggleField.js -client/src/legacy/TreeDropdownField.js -client/src/legacy/UploadField.js -client/src/legacy/UploadField_downloadtemplate.js -client/src/legacy/UploadField_select.js -client/src/legacy/UploadField_uploadtemplate.js -client/src/i18n.js -client/src/i18nx.js -client/src/jQuery.js +admin/client/src/legacy/AssetUploadField.js +admin/client/src/legacy/ConfirmedPasswordField.js +admin/client/src/legacy/DateField.js +admin/client/src/legacy/GridField.js +admin/client/src/legacy/HtmlEditorField.js +admin/client/src/legacy/InlineFormAction.js +admin/client/src/legacy/PermissionCheckboxSetField.js +admin/client/src/legacy/SelectionGroup.js +admin/client/src/legacy/TabSet.js +admin/client/src/legacy/TinyMCE_SSPlugin.js +admin/client/src/legacy/ToggleCompositeField.js +admin/client/src/legacy/ToggleField.js +admin/client/src/legacy/TreeDropdownField.js +admin/client/src/legacy/UploadField.js +admin/client/src/legacy/UploadField_downloadtemplate.js +admin/client/src/legacy/UploadField_select.js +admin/client/src/legacy/UploadField_uploadtemplate.js +admin/client/src/i18n.js +admin/client/src/i18nx.js +admin/client/src/jQuery.js admin/client/src/legacy/LeftAndMain.js admin/client/src/legacy/LeftAndMain.*.js admin/client/src/legacy/CMSSecurity.js diff --git a/Forms/HTMLEditor/HTMLEditorField_Embed.php b/Forms/HTMLEditor/HTMLEditorField_Embed.php index bcf90bb09..0ee8ae80a 100644 --- a/Forms/HTMLEditor/HTMLEditorField_Embed.php +++ b/Forms/HTMLEditor/HTMLEditorField_Embed.php @@ -106,7 +106,7 @@ class HTMLEditorField_Embed extends HTMLEditorField_File } // Default media - return FRAMEWORK_DIR . '/client/dist/images/src/default_media.png'; + return FRAMEWORK_ADMIN_DIR . '/client/dist/images/src/default_media.png'; } public function getName() diff --git a/Forms/UploadField_SelectHandler.php b/Forms/UploadField_SelectHandler.php index 463041f71..f1014302a 100644 --- a/Forms/UploadField_SelectHandler.php +++ b/Forms/UploadField_SelectHandler.php @@ -60,7 +60,7 @@ class UploadField_SelectHandler extends RequestHandler public function index() { // Requires a separate JS file, because we can't reach into the iframe with entwine. - Requirements::javascript(FRAMEWORK_DIR . '/admin/client/dist/js/UploadField_select.js'); + Requirements::javascript(FRAMEWORK_ADMIN_DIR . '/client/dist/js/UploadField_select.js'); return $this->renderWith('SilverStripe\\Admin\\CMSDialog'); } diff --git a/admin/_config.php b/admin/_config.php index 86be92bc6..106e0dd89 100644 --- a/admin/_config.php +++ b/admin/_config.php @@ -36,7 +36,7 @@ HTMLEditorConfig::get('cms') ->enablePlugins(array( 'contextmenu' => null, 'image' => null, - 'ssbuttons' => FRAMEWORK_DIR . '/client/dist/js/TinyMCE_SSPlugin.js' + 'ssbuttons' => FRAMEWORK_ADMIN_DIR . '/client/dist/js/TinyMCE_SSPlugin.js' )); CMSMenu::remove_menu_class('SilverStripe\\Admin\\CMSProfileController'); diff --git a/client/src/images/default_media.png b/admin/client/dist/images/default_media.png similarity index 100% rename from client/src/images/default_media.png rename to admin/client/dist/images/default_media.png diff --git a/admin/client/dist/js/TinyMCE_SSPlugin.js b/admin/client/dist/js/TinyMCE_SSPlugin.js new file mode 100644 index 000000000..3d0689305 --- /dev/null +++ b/admin/client/dist/js/TinyMCE_SSPlugin.js @@ -0,0 +1,2 @@ +!function(t){function e(i){if(n[i])return n[i].exports;var a=n[i]={exports:{},id:i,loaded:!1};return t[i].call(a.exports,a,a.exports,e),a.loaded=!0,a.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){(function(t){"use strict";!function(){var e={getInfo:function n(){return{longname:"Special buttons for SilverStripe CMS",author:"Sam Minnée",authorurl:"http://www.siverstripe.com/",infourl:"http://www.silverstripe.com/",version:"1.0"}},init:function i(e){e.addButton("sslink",{icon:"link",title:"Insert Link",cmd:"sslink"}),e.addMenuItem("sslink",{icon:"link",text:"Insert Link",cmd:"sslink"}),e.addButton("ssmedia",{icon:"image",title:"Insert Media",cmd:"ssmedia"}),e.addMenuItem("ssmedia",{icon:"image",text:"Insert Media",cmd:"ssmedia"}),e.addCommand("sslink",function(e){t("#"+this.id).entwine("ss").openLinkDialog()}),e.addCommand("ssmedia",function(e){t("#"+this.id).entwine("ss").openMediaDialog()}),e.on("BeforeExecCommand",function(t){var n=t.command,i=t.ui,a=t.value;"mceAdvLink"==n||"mceLink"==n?(t.preventDefault(),e.execCommand("sslink",i,a)):"mceAdvImage"!=n&&"mceImage"!=n||(t.preventDefault(),e.execCommand("ssmedia",i,a))}),e.on("SaveContent",function(e){var n=t(e.content),i=function a(t){return Object.keys(t).map(function(e){return t[e]?e+'="'+t[e]+'"':null}).filter(function(t){return null!==t}).join(" ")};n.find(".ss-htmleditorfield-file.embed").each(function(){var e=t(this),n={width:e.attr("width"),"class":e.attr("cssclass"),thumbnail:e.data("thumbnail")},a="[embed "+i(n)+"]"+e.data("url")+"[/embed]";e.replaceWith(a)}),n.find("img").each(function(){var e=t(this),n={src:e.attr("src"),id:e.data("id"),width:e.attr("width"),height:e.attr("height"),"class":e.attr("class"),title:e.attr("title"),alt:e.attr("alt")},a="[image "+i(n)+"]";e.replaceWith(a)}),e.content="",n.each(function(){void 0!==this.outerHTML&&(e.content+=this.outerHTML)})}),e.on("BeforeSetContent",function(e){for(var n,i=e.content,a=function d(t){return t.match(/([^\s\/'"=,]+)\s*=\s*(('([^']+)')|("([^"]+)")|([^\s,\]]+))/g).reduce(function(t,e){var n=e.match(/^([^\s\/'"=,]+)\s*=\s*(?:(?:'([^']+)')|(?:"([^"]+)")|(?:[^\s,\]]+))$/),i=n[1],a=n[2]||n[3]||n[4];return t[i]=a,t},{})},s=/\[embed(.*?)\](.+?)\[\/\s*embed\s*\]/gi;n=s.exec(i);){var r=a(n[1]),c;c=t("").attr({src:r.thumbnail,width:r.width,height:r.height,"class":r["class"],"data-url":n[2]}).addClass("ss-htmleditorfield-file embed"),r.cssclass=r["class"],Object.keys(r).forEach(function(t){return c.attr("data-"+t,r[t])}),i=i.replace(n[0],t("
").append(c).html())}for(var s=/\[image(.*?)\]/gi;n=s.exec(i);){var r=a(n[1]),c=t("").attr({src:r.src,width:r.width,height:r.height,"class":r["class"],alt:r.alt,title:r.title,"data-id":r.id});i=i.replace(n[0],t("
").append(c).html())}e.content=i})}};tinymce.PluginManager.add("ssbuttons",function(t){e.init(t)})}()}).call(e,n(1))},function(t,e){t.exports=jQuery}]); +//# sourceMappingURL=TinyMCE_SSPlugin.js.map \ No newline at end of file diff --git a/admin/client/src/bundles/legacy.js b/admin/client/src/bundles/legacy.js index 9f0ab23d3..26e7a50d7 100644 --- a/admin/client/src/bundles/legacy.js +++ b/admin/client/src/bundles/legacy.js @@ -17,13 +17,13 @@ require('../legacy/ModelAdmin.js'); // Fields used by core legacy UIs, or available to users // To do: determine better way of using webpack to pull in optional javascript -require('../../../../client/src/legacy/AssetUploadField.js'); -require('../../../../client/src/legacy/ConfirmedPasswordField.js'); -require('../../../../client/src/legacy/UploadField.js'); -require('../../../../client/src/legacy/SelectionGroup.js'); -require('../../../../client/src/legacy/DateField.js'); -require('../../../../client/src/legacy/ToggleCompositeField.js'); +require('../legacy/AssetUploadField.js'); +require('../legacy/ConfirmedPasswordField.js'); +require('../legacy/UploadField.js'); +require('../legacy/SelectionGroup.js'); +require('../legacy/DateField.js'); +require('../legacy/ToggleCompositeField.js'); require('../legacy/MemberDatetimeOptionsetField.js'); -require('../../../../client/src/styles/legacy/CheckboxSetField.scss'); -require('../../../../client/src/styles/legacy/DatetimeField.scss'); +require('../styles/legacy/CheckboxSetField.scss'); +require('../styles/legacy/DatetimeField.scss'); diff --git a/admin/client/src/bundles/lib.js b/admin/client/src/bundles/lib.js index 0f76820aa..de5730806 100644 --- a/admin/client/src/bundles/lib.js +++ b/admin/client/src/bundles/lib.js @@ -48,25 +48,25 @@ require('../../../../thirdparty//jstree/themes/apple/style.css'); require('../../../thirdparty/jquery-hoverIntent/jquery.hoverIntent.js'); require('../../../../thirdparty/jquery-changetracker/lib/jquery.changetracker.js'); -require('../../../../client/src/legacy/TreeDropdownField.js'); +require('../legacy/TreeDropdownField.js'); -require('../../../../client/src/legacy/DateField.js'); +require('../legacy/DateField.js'); // TODO Move UploadField.js deps into the file once figuring out why uploads fail then require('../../../../thirdparty/jquery-ui/jquery-ui.js'); -require('../../../../admin/client/src/legacy/ssui.core.js'); +require('../legacy/ssui.core.js'); require('imports?define=>false&this=>window!blueimp-load-image/load-image.js'); require('blueimp-file-upload/jquery.iframe-transport.js'); require('blueimp-file-upload/cors/jquery.xdr-transport.js'); require('blueimp-file-upload/jquery.fileupload.js'); require('blueimp-file-upload/jquery.fileupload-ui.js'); -require('../../../../client/src/legacy/UploadField.js'); +require('../legacy/UploadField.js'); -require('../../../../client/src/legacy/HtmlEditorField.js'); -require('../../../../client/src/legacy/TabSet.js'); +require('../legacy/HtmlEditorField.js'); +require('../legacy/TabSet.js'); require('../legacy/ssui.core.js'); -require('../../../../client/src/legacy/GridField.js'); +require('../legacy/GridField.js'); require('json-js'); require('chosen-js'); diff --git a/client/src/i18n.js b/admin/client/src/i18n.js similarity index 100% rename from client/src/i18n.js rename to admin/client/src/i18n.js diff --git a/client/src/i18nx.js b/admin/client/src/i18nx.js similarity index 100% rename from client/src/i18nx.js rename to admin/client/src/i18nx.js diff --git a/admin/client/src/images/default_media.png b/admin/client/src/images/default_media.png new file mode 100644 index 000000000..c867d415e Binary files /dev/null and b/admin/client/src/images/default_media.png differ diff --git a/client/dist/images/progressbar_blue.gif b/admin/client/src/images/progressbar_blue.gif similarity index 100% rename from client/dist/images/progressbar_blue.gif rename to admin/client/src/images/progressbar_blue.gif diff --git a/client/src/jQuery.js b/admin/client/src/jQuery.js similarity index 100% rename from client/src/jQuery.js rename to admin/client/src/jQuery.js diff --git a/client/src/legacy/AssetUploadField.js b/admin/client/src/legacy/AssetUploadField.js similarity index 100% rename from client/src/legacy/AssetUploadField.js rename to admin/client/src/legacy/AssetUploadField.js diff --git a/client/src/legacy/ConfirmedPasswordField.js b/admin/client/src/legacy/ConfirmedPasswordField.js similarity index 100% rename from client/src/legacy/ConfirmedPasswordField.js rename to admin/client/src/legacy/ConfirmedPasswordField.js diff --git a/client/src/legacy/DateField.js b/admin/client/src/legacy/DateField.js similarity index 95% rename from client/src/legacy/DateField.js rename to admin/client/src/legacy/DateField.js index c1a193f9c..dc1a0e250 100644 --- a/client/src/legacy/DateField.js +++ b/admin/client/src/legacy/DateField.js @@ -1,7 +1,7 @@ import $ from 'jQuery'; // entwine also required, but can't be included more than once without error -require('../../../thirdparty/jquery-ui/jquery-ui.js'); +require('../../../../thirdparty/jquery-ui/jquery-ui.js'); $.fn.extend({ ssDatepicker: function(opts) { diff --git a/client/src/legacy/GridField.js b/admin/client/src/legacy/GridField.js similarity index 98% rename from client/src/legacy/GridField.js rename to admin/client/src/legacy/GridField.js index d6008b145..63b9a3428 100644 --- a/client/src/legacy/GridField.js +++ b/admin/client/src/legacy/GridField.js @@ -1,8 +1,8 @@ import $ from 'jQuery'; import i18n from 'i18n'; -require('../../../thirdparty/jquery-ui/jquery-ui.js'); -require('../../../thirdparty/jquery-entwine/dist/jquery.entwine-dist.js'); +require('../../../../thirdparty/jquery-ui/jquery-ui.js'); +require('../../../../thirdparty/jquery-entwine/dist/jquery.entwine-dist.js'); require('../styles/legacy/GridField.scss'); diff --git a/client/src/legacy/HtmlEditorField.js b/admin/client/src/legacy/HtmlEditorField.js similarity index 100% rename from client/src/legacy/HtmlEditorField.js rename to admin/client/src/legacy/HtmlEditorField.js diff --git a/client/src/legacy/InlineFormAction.js b/admin/client/src/legacy/InlineFormAction.js similarity index 100% rename from client/src/legacy/InlineFormAction.js rename to admin/client/src/legacy/InlineFormAction.js diff --git a/admin/client/src/legacy/LeftAndMain.js b/admin/client/src/legacy/LeftAndMain.js index cfc889153..14bccf0df 100644 --- a/admin/client/src/legacy/LeftAndMain.js +++ b/admin/client/src/legacy/LeftAndMain.js @@ -3,7 +3,7 @@ */ import $ from 'jQuery'; -require('../../../../admin/client/src/legacy/ssui.core.js'); +require('../legacy/ssui.core.js'); var windowWidth, windowHeight; diff --git a/client/src/legacy/PermissionCheckboxSetField.js b/admin/client/src/legacy/PermissionCheckboxSetField.js similarity index 100% rename from client/src/legacy/PermissionCheckboxSetField.js rename to admin/client/src/legacy/PermissionCheckboxSetField.js diff --git a/admin/client/src/legacy/SecurityAdmin.js b/admin/client/src/legacy/SecurityAdmin.js index c3828f08a..24f32ecc4 100644 --- a/admin/client/src/legacy/SecurityAdmin.js +++ b/admin/client/src/legacy/SecurityAdmin.js @@ -4,7 +4,7 @@ import $ from 'jQuery'; require('./LeftAndMain.js'); -require('../../../../client/src/legacy/PermissionCheckboxSetField.js'); +require('PermissionCheckboxSetField.js'); var refreshAfterImport = function(e) { // Check for a message
, an indication that the form has been submitted. diff --git a/client/src/legacy/SelectionGroup.js b/admin/client/src/legacy/SelectionGroup.js similarity index 100% rename from client/src/legacy/SelectionGroup.js rename to admin/client/src/legacy/SelectionGroup.js diff --git a/client/src/legacy/TabSet.js b/admin/client/src/legacy/TabSet.js similarity index 88% rename from client/src/legacy/TabSet.js rename to admin/client/src/legacy/TabSet.js index 91ec6cffc..a1e5e6f62 100644 --- a/client/src/legacy/TabSet.js +++ b/admin/client/src/legacy/TabSet.js @@ -1,10 +1,10 @@ import $ from 'jQuery'; -require('../../../thirdparty/jquery-ui/jquery-ui.js'); -require('../../../thirdparty/jquery-cookie/jquery.cookie.js'); -require('../../../thirdparty/jquery-entwine/dist/jquery.entwine-dist.js'); +require('../../../../thirdparty/jquery-ui/jquery-ui.js'); +require('../../../../thirdparty/jquery-cookie/jquery.cookie.js'); +require('../../../../thirdparty/jquery-entwine/dist/jquery.entwine-dist.js'); -require('../../../thirdparty/jquery-ui-themes/smoothness/jquery-ui.css'); +require('../../../../thirdparty/jquery-ui-themes/smoothness/jquery-ui.css'); $.entwine('ss', function($){ /** diff --git a/client/src/legacy/TinyMCE_SSPlugin.js b/admin/client/src/legacy/TinyMCE_SSPlugin.js similarity index 100% rename from client/src/legacy/TinyMCE_SSPlugin.js rename to admin/client/src/legacy/TinyMCE_SSPlugin.js diff --git a/client/src/legacy/ToggleCompositeField.js b/admin/client/src/legacy/ToggleCompositeField.js similarity index 82% rename from client/src/legacy/ToggleCompositeField.js rename to admin/client/src/legacy/ToggleCompositeField.js index 53ff0b47f..29773b317 100644 --- a/client/src/legacy/ToggleCompositeField.js +++ b/admin/client/src/legacy/ToggleCompositeField.js @@ -1,9 +1,9 @@ import $ from 'jQuery'; // entwine also required, but can't be included more than once without error -require('../../../thirdparty/jquery-ui/jquery-ui.js'); +require('../../../../thirdparty/jquery-ui/jquery-ui.js'); -require('../../../thirdparty/jquery-ui-themes/smoothness/jquery-ui.css'); +require('../../../../thirdparty/jquery-ui-themes/smoothness/jquery-ui.css'); $.entwine('ss', function($){ $('.ss-toggle').entwine({ diff --git a/client/src/legacy/ToggleField.js b/admin/client/src/legacy/ToggleField.js similarity index 100% rename from client/src/legacy/ToggleField.js rename to admin/client/src/legacy/ToggleField.js diff --git a/client/src/legacy/TreeDropdownField.js b/admin/client/src/legacy/TreeDropdownField.js similarity index 98% rename from client/src/legacy/TreeDropdownField.js rename to admin/client/src/legacy/TreeDropdownField.js index 0d62bb811..62aa152f8 100644 --- a/client/src/legacy/TreeDropdownField.js +++ b/admin/client/src/legacy/TreeDropdownField.js @@ -1,10 +1,10 @@ import $ from 'jQuery'; import i18n from 'i18n'; -require('../../../thirdparty/jquery-entwine/dist/jquery.entwine-dist.js'); -require('../../../thirdparty/jstree/jquery.jstree.js'); +require('../../../../thirdparty/jquery-entwine/dist/jquery.entwine-dist.js'); +require('../../../../thirdparty/jstree/jquery.jstree.js'); -require('../../../thirdparty/jquery-ui-themes/smoothness/jquery-ui.css'); +require('../../../../thirdparty/jquery-ui-themes/smoothness/jquery-ui.css'); require('../styles/legacy/TreeDropdownField.scss'); $.entwine('ss', function($){ diff --git a/client/src/legacy/UploadField.js b/admin/client/src/legacy/UploadField.js similarity index 100% rename from client/src/legacy/UploadField.js rename to admin/client/src/legacy/UploadField.js diff --git a/client/src/legacy/UploadField_downloadtemplate.js b/admin/client/src/legacy/UploadField_downloadtemplate.js similarity index 100% rename from client/src/legacy/UploadField_downloadtemplate.js rename to admin/client/src/legacy/UploadField_downloadtemplate.js diff --git a/client/src/legacy/UploadField_select.js b/admin/client/src/legacy/UploadField_select.js similarity index 100% rename from client/src/legacy/UploadField_select.js rename to admin/client/src/legacy/UploadField_select.js diff --git a/client/src/legacy/UploadField_uploadtemplate.js b/admin/client/src/legacy/UploadField_uploadtemplate.js similarity index 100% rename from client/src/legacy/UploadField_uploadtemplate.js rename to admin/client/src/legacy/UploadField_uploadtemplate.js diff --git a/admin/client/src/styles/bundle.scss b/admin/client/src/styles/bundle.scss index 2efa58b96..b4712c29d 100644 --- a/admin/client/src/styles/bundle.scss +++ b/admin/client/src/styles/bundle.scss @@ -2,7 +2,7 @@ @import "variables"; // Compatibilty with compass -@import "../../../../client/src/styles/_compasscompat"; +@import "legacy/_compasscompat"; // Thirdparty @import "chosen"; diff --git a/client/src/styles/legacy/AssetUploadField.scss b/admin/client/src/styles/legacy/AssetUploadField.scss similarity index 94% rename from client/src/styles/legacy/AssetUploadField.scss rename to admin/client/src/styles/legacy/AssetUploadField.scss index 56a51a77a..0a5372969 100644 --- a/client/src/styles/legacy/AssetUploadField.scss +++ b/admin/client/src/styles/legacy/AssetUploadField.scss @@ -1,7 +1,7 @@ // TODO we need a seperated file for styles that are used in both cms and front end (such as buttons) -@import "../../../../admin/client/src/styles/legacy/themes/default.scss"; -@import "../../../../admin/client/src/styles/legacy/_mixins.scss"; -@import "../_elementMixins"; +@import "themes/default.scss"; +@import "_mixins.scss"; +@import "_elementMixins"; .ss-uploadfield-view-allowed-extensions { margin-top: -36px; @@ -317,7 +317,7 @@ body.cms.ss-uploadfield-edit-iframe { width: 100%; height: 22px; padding: 15px 0; - background: url("../../../../admin/client/src/images/spinner.gif") no-repeat 50% 50%; + background: url("../../images/spinner.gif") no-repeat 50% 50%; iframe { /* Old IE needs this or it'll give the iframe a white background, covering the spinner */ @@ -358,7 +358,7 @@ body.cms.ss-uploadfield-edit-iframe { right: 0; bottom: 0; left: 0; - background: rgba(236, 239, 241, .9) url('../../../../admin/client/src/images/drag_drop_opt.svg') center center no-repeat; + background: rgba(236, 239, 241, .9) url('../../images/drag_drop_opt.svg') center center no-repeat; background-size: 312px 325px; z-index: 100; } @@ -385,7 +385,7 @@ body.cms.ss-uploadfield-edit-iframe { .ss-uploadfield-files { .ss-uploadfield-item-editform { &.loading { - background-image: url("../../../../admin/client/src/images/spinner@2x.gif"); + background-image: url("../../images/spinner@2x.gif"); background-size: 43px 43px; } } diff --git a/client/src/styles/legacy/CheckboxSetField.scss b/admin/client/src/styles/legacy/CheckboxSetField.scss similarity index 100% rename from client/src/styles/legacy/CheckboxSetField.scss rename to admin/client/src/styles/legacy/CheckboxSetField.scss diff --git a/client/src/styles/legacy/ConfirmedPasswordField.scss b/admin/client/src/styles/legacy/ConfirmedPasswordField.scss similarity index 100% rename from client/src/styles/legacy/ConfirmedPasswordField.scss rename to admin/client/src/styles/legacy/ConfirmedPasswordField.scss diff --git a/client/src/styles/legacy/DatetimeField.scss b/admin/client/src/styles/legacy/DatetimeField.scss similarity index 100% rename from client/src/styles/legacy/DatetimeField.scss rename to admin/client/src/styles/legacy/DatetimeField.scss diff --git a/client/src/styles/legacy/Form.scss b/admin/client/src/styles/legacy/Form.scss similarity index 100% rename from client/src/styles/legacy/Form.scss rename to admin/client/src/styles/legacy/Form.scss diff --git a/client/src/styles/legacy/GridField.scss b/admin/client/src/styles/legacy/GridField.scss similarity index 96% rename from client/src/styles/legacy/GridField.scss rename to admin/client/src/styles/legacy/GridField.scss index 1bb059a08..495372570 100644 --- a/client/src/styles/legacy/GridField.scss +++ b/admin/client/src/styles/legacy/GridField.scss @@ -6,9 +6,9 @@ * @todo Add radial gradient to default delete button state * @todo Create SASS mixin-function to simply swap the from/to, to to/from colours in grsdient mixins? */ -@import "../../../../admin/client/src/styles/legacy/themes/default"; -@import "../../../../admin/client/src/styles/legacy/mixins"; -@import "../elementMixins"; +@import "themes/default"; +@import "mixins"; +@import "elementMixins"; // Extends basic table styles, requires .table .table-hover @@ -197,7 +197,7 @@ } a.view-link { - background: url(../../../../admin/client/src/sprites/btn-icon/magnifier.png) no-repeat 0 1px; + background: url(../../sprites/btn-icon/magnifier.png) no-repeat 0 1px; } } } diff --git a/client/src/styles/legacy/GridField_print.scss b/admin/client/src/styles/legacy/GridField_print.scss similarity index 100% rename from client/src/styles/legacy/GridField_print.scss rename to admin/client/src/styles/legacy/GridField_print.scss diff --git a/client/src/styles/legacy/Security_login.scss b/admin/client/src/styles/legacy/Security_login.scss similarity index 100% rename from client/src/styles/legacy/Security_login.scss rename to admin/client/src/styles/legacy/Security_login.scss diff --git a/client/src/styles/legacy/SelectionGroup.scss b/admin/client/src/styles/legacy/SelectionGroup.scss similarity index 100% rename from client/src/styles/legacy/SelectionGroup.scss rename to admin/client/src/styles/legacy/SelectionGroup.scss diff --git a/client/src/styles/legacy/TreeDropdownField.scss b/admin/client/src/styles/legacy/TreeDropdownField.scss similarity index 91% rename from client/src/styles/legacy/TreeDropdownField.scss rename to admin/client/src/styles/legacy/TreeDropdownField.scss index cb3bbe5a7..6b80abb32 100755 --- a/client/src/styles/legacy/TreeDropdownField.scss +++ b/admin/client/src/styles/legacy/TreeDropdownField.scss @@ -1,4 +1,4 @@ -@import "../../../../admin/client/src/styles/legacy/_mixins.scss"; +@import "_mixins.scss"; div.TreeDropdownField { width: 400px; @@ -26,9 +26,9 @@ div.TreeDropdownField { @extend .treedropdownfield-title; //Style search box to match chosen search - background:url('../../../../admin/client/src/images/chosen-sprite.png') no-repeat 100% -22px; //For browers that only support 1 background + background:url('../../images/chosen-sprite.png') no-repeat 100% -22px; //For browers that only support 1 background background: - url('../../../../admin/client/src/images/chosen-sprite.png') no-repeat 100% -22px, + url('../../images/chosen-sprite.png') no-repeat 100% -22px, linear-gradient(to bottom, #eeeeee 1%, #ffffff 15%); box-sizing: border-box; position: relative; diff --git a/client/src/styles/legacy/UploadField.scss b/admin/client/src/styles/legacy/UploadField.scss similarity index 93% rename from client/src/styles/legacy/UploadField.scss rename to admin/client/src/styles/legacy/UploadField.scss index 8b18d156f..96e10e79b 100644 --- a/client/src/styles/legacy/UploadField.scss +++ b/admin/client/src/styles/legacy/UploadField.scss @@ -1,6 +1,6 @@ // TODO we need a seperated file for styles that are used in both cms and front end (such as buttons) -@import "../../../../admin/client/src/styles/legacy/themes/default.scss"; -@import "../../../../admin/client/src/styles/legacy/_mixins.scss"; +@import "themes/default.scss"; +@import "_mixins.scss"; .ss-uploadfield, .ss-insert-media { @@ -264,7 +264,7 @@ width: 100%; height: 22px; margin: 15px 0 0; - background: url(../../../../admin/client/src/images/spinner.gif) no-repeat 50% 0; + background: url(../../images/spinner.gif) no-repeat 50% 0; iframe { /* Old IE needs this or it'll give the iframe a white background, covering the spinner */ @@ -310,7 +310,7 @@ .loader { height: 94px; // Approxmiately matches the height of the field once a file is attached, avoids a 'jump' in size - background: transparent url(../../../../admin/client/src/images/spinner.gif) no-repeat 50% 50%; + background: transparent url(../../images/spinner.gif) no-repeat 50% 50%; } } @@ -330,7 +330,7 @@ .ss-uploadfield-files { .ss-uploadfield-item-editform { &.loading { - background-image: url("../../../../admin/client/src/images/spinner@2x.gif"); + background-image: url("../../images/spinner@2x.gif"); background-size: 43px 43px; } } @@ -339,7 +339,7 @@ .ss-upload { .loader { - background-image: url("../../../../admin/client/src/images/spinner@2x.gif"); + background-image: url("../../images/spinner@2x.gif"); background-size: 43px 43px; } } diff --git a/client/src/styles/_compasscompat.scss b/admin/client/src/styles/legacy/_compasscompat.scss similarity index 100% rename from client/src/styles/_compasscompat.scss rename to admin/client/src/styles/legacy/_compasscompat.scss diff --git a/client/src/styles/_elementMixins.scss b/admin/client/src/styles/legacy/_elementMixins.scss similarity index 100% rename from client/src/styles/_elementMixins.scss rename to admin/client/src/styles/legacy/_elementMixins.scss diff --git a/admin/client/src/styles/legacy/_forms.scss b/admin/client/src/styles/legacy/_forms.scss index a1b08ce63..a55a70eae 100644 --- a/admin/client/src/styles/legacy/_forms.scss +++ b/admin/client/src/styles/legacy/_forms.scss @@ -369,7 +369,7 @@ form.small .field, .field.small { border: none; } &.loading { - background: transparent url("../../../../client/src/images/network-save.gif") no-repeat $grid-x center; + background: transparent url("../../images/network-save.gif") no-repeat $grid-x center; .ui-button-text { padding-left: 16px /* icon */ + ($grid-x/2); } @@ -392,7 +392,7 @@ input.loading, button.loading, input.ui-state-default.loading, .ui-widget-content input.ui-state-default.loading, .ui-widget-header input.ui-state-default.loading { .ui-icon { - background: transparent url("../../../../client/src/images/network-save.gif") no-repeat 0 0; + background: transparent url("../../images/network-save.gif") no-repeat 0 0; } color: lighten($color-text-dark, 20%); @@ -403,7 +403,7 @@ input.ui-state-default.loading, .ui-widget-content input.ui-state-default.loadin input.loading, button.loading { &.ss-ui-action-constructive .ui-icon { - background: transparent url("../../../../client/src/images/network-save-constructive.gif") no-repeat 0 0; + background: transparent url("../../images/network-save-constructive.gif") no-repeat 0 0; } } @@ -580,7 +580,7 @@ button.loading { } .ss-ui-loading-icon { - background: url("../../../../client/src/images/network-save.gif") no-repeat; + background: url("../../images/network-save.gif") no-repeat; display: block; width: 16px; height: 16px; diff --git a/client/src/styles/legacy/debug.scss b/admin/client/src/styles/legacy/debug.scss similarity index 100% rename from client/src/styles/legacy/debug.scss rename to admin/client/src/styles/legacy/debug.scss diff --git a/client/dist/images/network-save-constructive.gif b/client/dist/images/network-save-constructive.gif deleted file mode 100644 index 735c8b870..000000000 Binary files a/client/dist/images/network-save-constructive.gif and /dev/null differ diff --git a/client/dist/images/network-save.gif b/client/dist/images/network-save.gif deleted file mode 100644 index 1560b646c..000000000 Binary files a/client/dist/images/network-save.gif and /dev/null differ diff --git a/client/dist/images/sitetree_ss_default_icons.png b/client/dist/images/sitetree_ss_default_icons.png deleted file mode 100644 index 101351db9..000000000 Binary files a/client/dist/images/sitetree_ss_default_icons.png and /dev/null differ diff --git a/client/dist/images/smilies/confused.gif b/client/dist/images/smilies/confused.gif deleted file mode 100644 index 1566e247a..000000000 Binary files a/client/dist/images/smilies/confused.gif and /dev/null differ diff --git a/client/dist/images/smilies/cool.gif b/client/dist/images/smilies/cool.gif deleted file mode 100644 index a103eaeba..000000000 Binary files a/client/dist/images/smilies/cool.gif and /dev/null differ diff --git a/client/dist/images/smilies/grin.gif b/client/dist/images/smilies/grin.gif deleted file mode 100644 index 2bc39f28e..000000000 Binary files a/client/dist/images/smilies/grin.gif and /dev/null differ diff --git a/client/dist/images/smilies/sad.gif b/client/dist/images/smilies/sad.gif deleted file mode 100644 index 68f5550c3..000000000 Binary files a/client/dist/images/smilies/sad.gif and /dev/null differ diff --git a/client/dist/images/smilies/smile.gif b/client/dist/images/smilies/smile.gif deleted file mode 100644 index c1ceec152..000000000 Binary files a/client/dist/images/smilies/smile.gif and /dev/null differ diff --git a/client/dist/images/smilies/tongue.gif b/client/dist/images/smilies/tongue.gif deleted file mode 100644 index 19c9e765e..000000000 Binary files a/client/dist/images/smilies/tongue.gif and /dev/null differ diff --git a/client/dist/js/HtmlEditorField.js b/client/dist/js/HtmlEditorField.js deleted file mode 100644 index d89507b08..000000000 --- a/client/dist/js/HtmlEditorField.js +++ /dev/null @@ -1,1219 +0,0 @@ -(function (global, factory) { - if (typeof define === "function" && define.amd) { - define('ss.HtmlEditorField', ['jQuery', 'i18n'], factory); - } else if (typeof exports !== "undefined") { - factory(require('jQuery'), require('i18n')); - } else { - var mod = { - exports: {} - }; - factory(global.jQuery, global.i18n); - global.ssHtmlEditorField = mod.exports; - } -})(this, function (_jQuery, _i18n) { - 'use strict'; - - var _jQuery2 = _interopRequireDefault(_jQuery); - - var _i18n2 = _interopRequireDefault(_i18n); - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; - } - - var ss = typeof window.ss !== 'undefined' ? window.ss : {}; - - ss.editorWrappers = {}; - ss.editorWrappers.tinyMCE = function () { - var editorID; - - return { - init: function init(ID) { - editorID = ID; - - this.create(); - }, - - destroy: function destroy() { - tinymce.EditorManager.execCommand('mceRemoveEditor', false, editorID); - }, - - getInstance: function getInstance() { - return tinymce.EditorManager.get(editorID); - }, - - onopen: function onopen() {}, - - onclose: function onclose() {}, - - getConfig: function getConfig() { - var selector = "#" + editorID, - config = (0, _jQuery2.default)(selector).data('config'), - self = this; - - config.selector = selector; - - config.setup = function (ed) { - ed.on('change', function () { - self.save(); - }); - }; - return config; - }, - - save: function save() { - var instance = this.getInstance(); - instance.save(); - - (0, _jQuery2.default)(instance.getElement()).trigger("change"); - }, - - create: function create() { - var config = this.getConfig(); - - if (typeof config.baseURL !== 'undefined') { - tinymce.EditorManager.baseURL = config.baseURL; - } - tinymce.init(config); - }, - - repaint: function repaint() {}, - - isDirty: function isDirty() { - return this.getInstance().isDirty(); - }, - - getContent: function getContent() { - return this.getInstance().getContent(); - }, - - getDOM: function getDOM() { - return this.getInstance().getElement(); - }, - - getContainer: function getContainer() { - return this.getInstance().getContainer(); - }, - - getSelectedNode: function getSelectedNode() { - return this.getInstance().selection.getNode(); - }, - - selectNode: function selectNode(node) { - this.getInstance().selection.select(node); - }, - - setContent: function setContent(html, opts) { - this.getInstance().setContent(html, opts); - }, - - insertContent: function insertContent(html, opts) { - this.getInstance().insertContent(html, opts); - }, - - replaceContent: function replaceContent(html, opts) { - this.getInstance().execCommand('mceReplaceContent', false, html, opts); - }, - - insertLink: function insertLink(attrs, opts) { - this.getInstance().execCommand("mceInsertLink", false, attrs, opts); - }, - - removeLink: function removeLink() { - this.getInstance().execCommand('unlink', false); - }, - - cleanLink: function cleanLink(href, node) { - var settings = this.getConfig, - cb = settings['urlconverter_callback']; - if (cb) href = eval(cb + "(href, node, true);"); - - if (href.match(new RegExp('^' + tinyMCE.settings['document_base_url'] + '(.*)$'))) { - href = RegExp.$1; - } - - if (href.match(/^javascript:\s*mctmp/)) href = ''; - - return href; - }, - - createBookmark: function createBookmark() { - return this.getInstance().selection.getBookmark(); - }, - - moveToBookmark: function moveToBookmark(bookmark) { - this.getInstance().selection.moveToBookmark(bookmark); - this.getInstance().focus(); - }, - - blur: function blur() { - this.getInstance().selection.collapse(); - }, - - addUndo: function addUndo() { - this.getInstance().undoManager.add(); - } - }; - }; - - ss.editorWrappers['default'] = ss.editorWrappers.tinyMCE; - - _jQuery2.default.entwine('ss', function ($) { - $('textarea.htmleditor').entwine({ - - Editor: null, - - onadd: function onadd() { - var edClass = this.data('editor') || 'default', - ed = ss.editorWrappers[edClass](); - this.setEditor(ed); - - ed.init(this.attr('id')); - - this._super(); - }, - - onremove: function onremove() { - this.getEditor().destroy(); - this._super(); - }, - - 'from .cms-edit-form': { - onbeforesubmitform: function onbeforesubmitform() { - this.getEditor().save(); - this._super(); - } - }, - - openLinkDialog: function openLinkDialog() { - this.openDialog('link'); - }, - - openMediaDialog: function openMediaDialog() { - this.openDialog('media'); - }, - - openDialog: function openDialog(type) { - var capitalize = function capitalize(text) { - return text.charAt(0).toUpperCase() + text.slice(1).toLowerCase(); - }; - - var self = this, - url = $('#cms-editor-dialogs').data('url' + capitalize(type) + 'form'), - dialog = $('.htmleditorfield-' + type + 'dialog'); - - if (dialog.length) { - dialog.getForm().setElement(this); - dialog.html(''); - dialog.addClass('loading'); - dialog.open(); - } else { - dialog = $('
'); - $('body').append(dialog); - } - - $.ajax({ - url: url, - complete: function complete() { - dialog.removeClass('loading'); - }, - success: function success(html) { - dialog.html(html); - dialog.getForm().setElement(self); - dialog.trigger('ssdialogopen'); - } - }); - } - }); - - $('.htmleditorfield-dialog').entwine({ - onadd: function onadd() { - if (!this.is('.ui-dialog-content')) { - this.ssdialog({ - autoOpen: true, - buttons: { - 'insert': { - text: _i18n2.default._t('HtmlEditorField.INSERT', 'Insert'), - 'data-icon': 'accept', - class: 'ss-ui-action-constructive media-insert', - click: function click() { - $(this).find('form').submit(); - } - } - } - }); - } - - this._super(); - }, - - getForm: function getForm() { - return this.find('form'); - }, - open: function open() { - this.ssdialog('open'); - }, - close: function close() { - this.ssdialog('close'); - }, - toggle: function toggle(bool) { - if (this.is(':visible')) this.close();else this.open(); - }, - onscroll: function onscroll() { - this.animate({ - scrollTop: this.find('form').height() - }, 500); - } - }); - - $('form.htmleditorfield-form').entwine({ - Selection: null, - - Bookmark: null, - - Element: null, - - setSelection: function setSelection(node) { - return this._super($(node)); - }, - - onadd: function onadd() { - var titleEl = this.find(':header:first'); - this.getDialog().attr('title', titleEl.text()); - - this._super(); - }, - onremove: function onremove() { - this.setSelection(null); - this.setBookmark(null); - this.setElement(null); - - this._super(); - }, - - getDialog: function getDialog() { - return this.closest('.htmleditorfield-dialog'); - }, - - fromDialog: { - onssdialogopen: function onssdialogopen() { - var ed = this.getEditor(); - - this.setSelection(ed.getSelectedNode()); - this.setBookmark(ed.createBookmark()); - - ed.blur(); - - this.find(':input:not(:submit)[data-skip-autofocus!="true"]').filter(':visible:enabled').eq(0).focus(); - - this.redraw(); - this.updateFromEditor(); - }, - - onssdialogclose: function onssdialogclose() { - var ed = this.getEditor(); - - ed.moveToBookmark(this.getBookmark()); - - this.setSelection(null); - this.setBookmark(null); - - this.resetFields(); - } - }, - - getEditor: function getEditor() { - return this.getElement().getEditor(); - }, - - modifySelection: function modifySelection(callback) { - var ed = this.getEditor(); - - ed.moveToBookmark(this.getBookmark()); - callback.call(this, ed); - - this.setSelection(ed.getSelectedNode()); - this.setBookmark(ed.createBookmark()); - - ed.blur(); - }, - - updateFromEditor: function updateFromEditor() {}, - redraw: function redraw() {}, - resetFields: function resetFields() { - this.find('.tree-holder').empty(); - } - }); - - $('form.htmleditorfield-linkform').entwine({ - onsubmit: function onsubmit(e) { - this.insertLink(); - this.getDialog().close(); - return false; - }, - resetFields: function resetFields() { - this._super(); - - this[0].reset(); - }, - redraw: function redraw() { - this._super(); - - var linkType = this.find(':input[name=LinkType]:checked').val(); - - this.addAnchorSelector(); - - this.resetFileField(); - - this.find('.step2').nextAll('.field').not('.field[id$="' + linkType + '_Holder"]').hide(); - this.find('.field[id$="LinkType_Holder"]').attr('style', 'display: -webkit-flex; display: flex'); - this.find('.field[id$="' + linkType + '_Holder"]').attr('style', 'display: -webkit-flex; display: flex'); - - if (linkType == 'internal' || linkType == 'anchor') { - this.find('.field[id$="Anchor_Holder"]').attr('style', 'display: -webkit-flex; display: flex'); - } - - if (linkType == 'email') { - this.find('.field[id$="Subject_Holder"]').attr('style', 'display: -webkit-flex; display: flex'); - } else { - this.find('.field[id$="TargetBlank_Holder"]').attr('style', 'display: -webkit-flex; display: flex'); - } - - if (linkType == 'anchor') { - this.find('.field[id$="AnchorSelector_Holder"]').attr('style', 'display: -webkit-flex; display: flex'); - } - this.find('.field[id$="Description_Holder"]').attr('style', 'display: -webkit-flex; display: flex'); - }, - - getLinkAttributes: function getLinkAttributes() { - var href, - target = null, - subject = this.find(':input[name=Subject]').val(), - anchor = this.find(':input[name=Anchor]').val(); - - if (this.find(':input[name=TargetBlank]').is(':checked')) { - target = '_blank'; - } - - switch (this.find(':input[name=LinkType]:checked').val()) { - case 'internal': - href = '[sitetree_link,id=' + this.find(':input[name=internal]').val() + ']'; - - if (anchor) { - href += '#' + anchor; - } - - break; - - case 'anchor': - href = '#' + anchor; - break; - - case 'file': - var fileid = this.find('.ss-uploadfield .ss-uploadfield-item').attr('data-fileid'); - href = fileid ? '[file_link,id=' + fileid + ']' : ''; - break; - - case 'email': - href = 'mailto:' + this.find(':input[name=email]').val(); - if (subject) { - href += '?subject=' + encodeURIComponent(subject); - } - target = null; - break; - - default: - href = this.find(':input[name=external]').val(); - - if (href.indexOf('://') == -1) href = 'http://' + href; - break; - } - - return { - href: href, - target: target, - title: this.find(':input[name=Description]').val() - }; - }, - insertLink: function insertLink() { - this.modifySelection(function (ed) { - ed.insertLink(this.getLinkAttributes()); - }); - }, - removeLink: function removeLink() { - this.modifySelection(function (ed) { - ed.removeLink(); - }); - - this.resetFileField(); - this.close(); - }, - - resetFileField: function resetFileField() { - var fileField = this.find('.ss-uploadfield[id$="file_Holder"]'), - fileUpload = fileField.data('fileupload'), - currentItem = fileField.find('.ss-uploadfield-item[data-fileid]'); - - if (currentItem.length) { - fileUpload._trigger('destroy', null, { context: currentItem }); - fileField.find('.ss-uploadfield-addfile').removeClass('borderTop'); - } - }, - - addAnchorSelector: function addAnchorSelector() { - if (this.find(':input[name=AnchorSelector]').length) return; - - var self = this; - var anchorSelector = $(''); - this.find(':input[name=Anchor]').parent().append(anchorSelector); - - this.updateAnchorSelector(); - - anchorSelector.change(function (e) { - self.find(':input[name="Anchor"]').val($(this).val()); - }); - }, - - getAnchors: function getAnchors() { - var linkType = this.find(':input[name=LinkType]:checked').val(); - var dfdAnchors = $.Deferred(); - - switch (linkType) { - case 'anchor': - var collectedAnchors = []; - var ed = this.getEditor(); - - - if (ed) { - var raw = ed.getContent().match(/\s+(name|id)\s*=\s*(["'])([^\2\s>]*?)\2|\s+(name|id)\s*=\s*([^"']+)[\s +>]/gim); - if (raw && raw.length) { - for (var i = 0; i < raw.length; i++) { - var indexStart = raw[i].indexOf('id=') == -1 ? 7 : 5; - collectedAnchors.push(raw[i].substr(indexStart).replace(/"$/, '')); - } - } - } - - dfdAnchors.resolve(collectedAnchors); - break; - - case 'internal': - var pageId = this.find(':input[name=internal]').val(); - - if (pageId) { - $.ajax({ - url: $.path.addSearchParams(this.attr('action').replace('LinkForm', 'getanchors'), { 'PageID': parseInt(pageId) }), - success: function success(body, status, xhr) { - dfdAnchors.resolve($.parseJSON(body)); - }, - error: function error(xhr, status) { - dfdAnchors.reject(xhr.responseText); - } - }); - } else { - dfdAnchors.resolve([]); - } - break; - - default: - dfdAnchors.reject(_i18n2.default._t('HtmlEditorField.ANCHORSNOTSUPPORTED', 'Anchors are not supported for this link type.')); - break; - } - - return dfdAnchors.promise(); - }, - - updateAnchorSelector: function updateAnchorSelector() { - var self = this; - var selector = this.find(':input[name=AnchorSelector]'); - var dfdAnchors = this.getAnchors(); - - selector.empty(); - selector.append($('')); - - dfdAnchors.done(function (anchors) { - selector.empty(); - selector.append($('')); - - if (anchors) { - for (var j = 0; j < anchors.length; j++) { - selector.append($('')); - } - } - }).fail(function (message) { - selector.empty(); - selector.append($('')); - }); - - if ($.browser.msie) selector.hide().show(); - }, - - updateFromEditor: function updateFromEditor() { - var htmlTagPattern = /<\S[^><]*>/g, - fieldName, - data = this.getCurrentLink(); - - if (data) { - for (fieldName in data) { - var el = this.find(':input[name=' + fieldName + ']'), - selected = data[fieldName]; - - if (typeof selected == 'string') selected = selected.replace(htmlTagPattern, ''); - - if (el.is(':checkbox')) { - el.prop('checked', selected).change(); - } else if (el.is(':radio')) { - el.val([selected]).change(); - } else if (fieldName == 'file') { - el = this.find(':input[name="' + fieldName + '[Uploads][]"]'); - - el = el.parents('.ss-uploadfield'); - - (function attach(el, selected) { - if (!el.getConfig()) { - setTimeout(function () { - attach(el, selected); - }, 50); - } else { - el.attachFiles([selected]); - } - })(el, selected); - } else { - el.val(selected).change(); - } - } - } - }, - - getCurrentLink: function getCurrentLink() { - var selectedEl = this.getSelection(), - href = "", - target = "", - title = "", - action = "insert", - style_class = ""; - - var linkDataSource = null; - if (selectedEl.length) { - if (selectedEl.is('a')) { - linkDataSource = selectedEl; - } else { - linkDataSource = selectedEl = selectedEl.parents('a:first'); - } - } - if (linkDataSource && linkDataSource.length) this.modifySelection(function (ed) { - ed.selectNode(linkDataSource[0]); - }); - - if (!linkDataSource.attr('href')) linkDataSource = null; - - if (linkDataSource) { - href = linkDataSource.attr('href'); - target = linkDataSource.attr('target'); - title = linkDataSource.attr('title'); - style_class = linkDataSource.attr('class'); - href = this.getEditor().cleanLink(href, linkDataSource); - action = "update"; - } - - if (href.match(/^mailto:(.*)$/)) { - return { - LinkType: 'email', - email: RegExp.$1, - Description: title - }; - } else if (href.match(/^(assets\/.*)$/) || href.match(/^\[file_link\s*(?:\s*|%20|,)?id=([0-9]+)\]?(#.*)?$/)) { - return { - LinkType: 'file', - file: RegExp.$1, - Description: title, - TargetBlank: target ? true : false - }; - } else if (href.match(/^#(.*)$/)) { - return { - LinkType: 'anchor', - Anchor: RegExp.$1, - Description: title, - TargetBlank: target ? true : false - }; - } else if (href.match(/^\[sitetree_link(?:\s*|%20|,)?id=([0-9]+)\]?(#.*)?$/i)) { - return { - LinkType: 'internal', - internal: RegExp.$1, - Anchor: RegExp.$2 ? RegExp.$2.substr(1) : '', - Description: title, - TargetBlank: target ? true : false - }; - } else if (href) { - return { - LinkType: 'external', - external: href, - Description: title, - TargetBlank: target ? true : false - }; - } else { - return null; - } - } - }); - - $('form.htmleditorfield-linkform input[name=LinkType]').entwine({ - onclick: function onclick(e) { - this.parents('form:first').redraw(); - this._super(); - }, - onchange: function onchange() { - this.parents('form:first').redraw(); - - var linkType = this.parent().find(':checked').val(); - if (linkType === 'anchor' || linkType === 'internal') { - this.parents('form.htmleditorfield-linkform').updateAnchorSelector(); - } - this._super(); - } - }); - - $('form.htmleditorfield-linkform input[name=internal]').entwine({ - onvalueupdated: function onvalueupdated() { - this.parents('form.htmleditorfield-linkform').updateAnchorSelector(); - this._super(); - } - }); - - $('form.htmleditorfield-linkform :submit[name=action_remove]').entwine({ - onclick: function onclick(e) { - this.parents('form:first').removeLink(); - this._super(); - return false; - } - }); - - $('form.htmleditorfield-mediaform').entwine({ - toggleCloseButton: function toggleCloseButton() { - var updateExisting = Boolean(this.find('.ss-htmleditorfield-file').length); - this.find('.overview .action-delete')[updateExisting ? 'hide' : 'show'](); - }, - onsubmit: function onsubmit() { - this.modifySelection(function (ed) { - this.find('.ss-htmleditorfield-file').each(function () { - $(this).insertHTML(ed); - }); - }); - - this.getDialog().close(); - return false; - }, - updateFromEditor: function updateFromEditor() { - var self = this, - node = this.getSelection(); - - if (node.is('img')) { - var idOrUrl = node.data('id') || node.data('url') || node.attr('src'); - this.showFileView(idOrUrl).done(function (filefield) { - filefield.updateFromNode(node); - self.toggleCloseButton(); - self.redraw(); - }); - } - this.redraw(); - }, - redraw: function redraw(updateExisting) { - this._super(); - - var node = this.getSelection(), - hasItems = Boolean(this.find('.ss-htmleditorfield-file').length), - editingSelected = node.is('img'), - insertingURL = this.hasClass('insertingURL'), - header = this.find('.header-edit'); - - header[hasItems ? 'show' : 'hide'](); - - this.closest('ui-dialog').find('ui-dialog-buttonpane .media-insert').button(hasItems ? 'enable' : 'disable').toggleClass('ui-state-disabled', !hasItems); - - this.find('.htmleditorfield-default-panel')[editingSelected || insertingURL ? 'hide' : 'show'](); - this.find('.htmleditorfield-web-panel')[editingSelected || !insertingURL ? 'hide' : 'show'](); - - var mediaFormHeading = this.find('.htmleditorfield-mediaform-heading.insert'); - - if (editingSelected) { - mediaFormHeading.hide(); - } else if (insertingURL) { - mediaFormHeading.show().text(_i18n2.default._t("HtmlEditorField.INSERTURL")).prepend(''); - - this.find('.htmleditorfield-web-panel input.remoteurl').focus(); - } else { - mediaFormHeading.show().text(_i18n2.default._t("HtmlEditorField.INSERTFROM")).find('.back-button').remove(); - } - - this.find('.htmleditorfield-mediaform-heading.update')[editingSelected ? 'show' : 'hide'](); - this.find('.ss-uploadfield-item-actions')[editingSelected ? 'hide' : 'show'](); - this.find('.ss-uploadfield-item-name')[editingSelected ? 'hide' : 'show'](); - this.find('.ss-uploadfield-item-preview')[editingSelected ? 'hide' : 'show'](); - this.find('.btn-toolbar .media-update')[editingSelected ? 'show' : 'hide'](); - this.find('.ss-uploadfield-item-editform').toggleEditForm(editingSelected); - this.find('.htmleditorfield-from-cms .field.treedropdown').css('left', $('.htmleditorfield-mediaform-heading:visible').outerWidth()); - this.closest('.ui-dialog').addClass('ss-uploadfield-dropzone'); - this.closest('.ui-dialog').find('.ui-dialog-buttonpane .media-insert .ui-button-text').text([editingSelected ? _i18n2.default._t('HtmlEditorField.UPDATE', 'Update') : _i18n2.default._t('HtmlEditorField.INSERT', 'Insert')]); - }, - resetFields: function resetFields() { - this.find('.ss-htmleditorfield-file').remove(); - this.find('.ss-gridfield-items .ui-selected').removeClass('ui-selected'); - this.find('li.ss-uploadfield-item').remove(); - this.redraw(); - - this._super(); - }, - getFileView: function getFileView(idOrUrl) { - return this.find('.ss-htmleditorfield-file[data-id=' + idOrUrl + ']'); - }, - showFileView: function showFileView(idOrUrl) { - var self = this, - params = Number(idOrUrl) == idOrUrl ? { ID: idOrUrl } : { FileURL: idOrUrl }; - - var item = $('
'); - this.find('.content-edit').prepend(item); - - var dfr = $.Deferred(); - - $.ajax({ - url: $.path.addSearchParams(this.attr('action').replace(/MediaForm/, 'viewfile'), params), - success: function success(html, status, xhr) { - var newItem = $(html).filter('.ss-htmleditorfield-file'); - item.replaceWith(newItem); - self.redraw(); - dfr.resolve(newItem); - }, - error: function error() { - item.remove(); - dfr.reject(); - } - }); - - return dfr.promise(); - } - }); - - $('form.htmleditorfield-mediaform div.ss-upload .upload-url').entwine({ - onclick: function onclick() { - var form = this.closest('form'); - - form.addClass('insertingURL'); - form.redraw(); - } - }); - - $('form.htmleditorfield-mediaform .htmleditorfield-mediaform-heading .back-button').entwine({ - onclick: function onclick() { - var form = this.closest('form'); - - form.removeClass('insertingURL'); - form.redraw(); - } - }); - - $('form.htmleditorfield-mediaform .ss-gridfield-items').entwine({ - onselectableselected: function onselectableselected(e, ui) { - var form = this.closest('form'), - item = $(ui.selected); - if (!item.is('.ss-gridfield-item')) return; - form.closest('form').showFileView(item.data('id')); - form.redraw(); - - form.parent().trigger('scroll'); - }, - onselectableunselected: function onselectableunselected(e, ui) { - var form = this.closest('form'), - item = $(ui.unselected); - if (!item.is('.ss-gridfield-item')) return; - form.getFileView(item.data('id')).remove(); - form.redraw(); - } - }); - - $('form.htmleditorfield-form.htmleditorfield-mediaform div.ss-assetuploadfield').entwine({ - onfileuploadstop: function onfileuploadstop(e) { - var form = this.closest('form'); - - var editFieldIDs = []; - form.find('div.content-edit').find('div.ss-htmleditorfield-file').each(function () { - editFieldIDs.push($(this).data('id')); - }); - - var uploadedFiles = $('.ss-uploadfield-files', this).children('.ss-uploadfield-item'); - uploadedFiles.each(function () { - var uploadedID = $(this).data('fileid'); - if (uploadedID && $.inArray(uploadedID, editFieldIDs) == -1) { - $(this).remove(); - form.showFileView(uploadedID); - } - }); - - form.parent().trigger('scroll'); - - form.redraw(); - } - - }); - - $('form.htmleditorfield-form.htmleditorfield-mediaform input.remoteurl').entwine({ - onadd: function onadd() { - this._super(); - this.validate(); - }, - - onkeyup: function onkeyup() { - this.validate(); - }, - - onchange: function onchange() { - this.validate(); - }, - - getAddButton: function getAddButton() { - return this.closest('.CompositeField').find('button.add-url'); - }, - - validate: function validate() { - var val = this.val(), - orig = val; - - val = $.trim(val); - val = val.replace(/^https?:\/\//i, ''); - if (orig !== val) this.val(val); - - this.getAddButton().button(!!val ? 'enable' : 'disable'); - return !!val; - } - }); - - $('form.htmleditorfield-form.htmleditorfield-mediaform .add-url').entwine({ - getURLField: function getURLField() { - return this.closest('.CompositeField').find('input.remoteurl'); - }, - - onclick: function onclick(e) { - var urlField = this.getURLField(), - container = this.closest('.CompositeField'), - form = this.closest('form'); - - if (urlField.validate()) { - container.addClass('loading'); - form.showFileView('http://' + urlField.val()).done(function () { - container.removeClass('loading'); - - form.parent().trigger('scroll'); - }); - form.redraw(); - } - - return false; - } - }); - - $('form.htmleditorfield-mediaform .ss-htmleditorfield-file').entwine({ - getAttributes: function getAttributes() {}, - - getExtraData: function getExtraData() {}, - - getHTML: function getHTML() { - return $('
').append($('').attr({ href: this.data('url') }).text(this.find('.name').text())).html(); - }, - - insertHTML: function insertHTML(ed) { - ed.replaceContent(this.getHTML()); - }, - - updateFromNode: function updateFromNode(node) {}, - - updateDimensions: function updateDimensions(constrainBy, maxW, maxH) { - var widthEl = this.find(':input[name=Width]'), - heightEl = this.find(':input[name=Height]'), - w = widthEl.val(), - h = heightEl.val(), - aspect; - - if (w && h) { - if (constrainBy) { - aspect = heightEl.getOrigVal() / widthEl.getOrigVal(); - - if (constrainBy == 'Width') { - if (maxW && w > maxW) w = maxW; - h = Math.floor(w * aspect); - } else if (constrainBy == 'Height') { - if (maxH && h > maxH) h = maxH; - w = Math.ceil(h / aspect); - } - } else { - if (maxW && w > maxW) w = maxW; - if (maxH && h > maxH) h = maxH; - } - - widthEl.val(w); - heightEl.val(h); - } - } - }); - - $('form.htmleditorfield-mediaform .ss-htmleditorfield-file.image').entwine({ - getAttributes: function getAttributes() { - var width = this.find(':input[name=Width]').val(), - height = this.find(':input[name=Height]').val(); - return { - 'src': this.find(':input[name=URL]').val(), - 'alt': this.find(':input[name=AltText]').val(), - 'width': width ? parseInt(width, 10) : null, - 'height': height ? parseInt(height, 10) : null, - 'title': this.find(':input[name=Title]').val(), - 'class': this.find(':input[name=CSSClass]').val(), - 'data-id': this.find(':input[name=FileID]').val() - }; - }, - getExtraData: function getExtraData() { - return { - 'CaptionText': this.find(':input[name=CaptionText]').val() - }; - }, - getHTML: function getHTML() {}, - - insertHTML: function insertHTML(ed) { - var form = this.closest('form'); - var node = form.getSelection(); - if (!ed) ed = form.getEditor(); - - var attrs = this.getAttributes(), - extraData = this.getExtraData(); - - var replacee = node && node.is('img') ? node : null; - if (replacee && replacee.parent().is('.captionImage')) replacee = replacee.parent(); - - var img = node && node.is('img') ? node : $(''); - img.attr(attrs); - - var container = img.parent('.captionImage'), - caption = container.find('.caption'); - - if (extraData.CaptionText) { - if (!container.length) { - container = $('
'); - } - - container.attr('class', 'captionImage ' + attrs['class']).css('width', attrs.width); - - if (!caption.length) { - caption = $('

').appendTo(container); - } - - caption.attr('class', 'caption ' + attrs['class']).text(extraData.CaptionText); - } else { - container = caption = null; - } - - var replacer = container ? container : img; - - if (replacee && replacee.not(replacer).length) { - replacee.replaceWith(replacer); - } - - if (container) { - container.prepend(img); - } - - if (!replacee) { - ed.repaint(); - ed.insertContent($('
').append(replacer).html(), { skip_undo: 1 }); - } - - ed.addUndo(); - ed.repaint(); - }, - updateFromNode: function updateFromNode(node) { - this.find(':input[name=AltText]').val(node.attr('alt')); - this.find(':input[name=Title]').val(node.attr('title')); - this.find(':input[name=CSSClass]').val(node.attr('class')); - this.find(':input[name=Width]').val(node.width()); - this.find(':input[name=Height]').val(node.height()); - this.find(':input[name=CaptionText]').val(node.siblings('.caption:first').text()); - this.find(':input[name=FileID]').val(node.data('id')); - } - }); - - $('form.htmleditorfield-mediaform .ss-htmleditorfield-file.flash').entwine({ - getAttributes: function getAttributes() { - var width = this.find(':input[name=Width]').val(), - height = this.find(':input[name=Height]').val(); - return { - 'src': this.find(':input[name=URL]').val(), - 'width': width ? parseInt(width, 10) : null, - 'height': height ? parseInt(height, 10) : null, - 'data-fileid': this.find(':input[name=FileID]').val() - }; - }, - getHTML: function getHTML() { - var attrs = this.getAttributes(); - - var el = tinyMCE.activeEditor.plugins.media.dataToImg({ - 'type': 'flash', - 'width': attrs.width, - 'height': attrs.height, - 'params': { 'src': attrs.src }, - 'video': { 'sources': [] } - }); - - return $('
').append(el).html(); - }, - updateFromNode: function updateFromNode(node) {} - }); - - $('form.htmleditorfield-mediaform .ss-htmleditorfield-file.embed').entwine({ - getAttributes: function getAttributes() { - var width = this.find(':input[name=Width]').val(), - height = this.find(':input[name=Height]').val(); - return { - 'src': this.find('.thumbnail-preview').attr('src'), - 'width': width ? parseInt(width, 10) : null, - 'height': height ? parseInt(height, 10) : null, - 'class': this.find(':input[name=CSSClass]').val(), - 'alt': this.find(':input[name=AltText]').val(), - 'title': this.find(':input[name=Title]').val(), - 'data-fileid': this.find(':input[name=FileID]').val() - }; - }, - getExtraData: function getExtraData() { - var width = this.find(':input[name=Width]').val(), - height = this.find(':input[name=Height]').val(); - return { - 'CaptionText': this.find(':input[name=CaptionText]').val(), - 'Url': this.find(':input[name=URL]').val(), - 'thumbnail': this.find('.thumbnail-preview').attr('src'), - 'width': width ? parseInt(width, 10) : null, - 'height': height ? parseInt(height, 10) : null, - 'cssclass': this.find(':input[name=CSSClass]').val() - }; - }, - getHTML: function getHTML() { - var el, - attrs = this.getAttributes(), - extraData = this.getExtraData(), - imgEl = $('').attr(attrs).addClass('ss-htmleditorfield-file embed'); - - $.each(extraData, function (key, value) { - imgEl.attr('data-' + key, value); - }); - - if (extraData.CaptionText) { - el = $('

' + extraData.CaptionText + '

').prepend(imgEl); - } else { - el = imgEl; - } - return $('
').append(el).html(); - }, - updateFromNode: function updateFromNode(node) { - this.find(':input[name=AltText]').val(node.attr('alt')); - this.find(':input[name=Title]').val(node.attr('title')); - this.find(':input[name=Width]').val(node.width()); - this.find(':input[name=Height]').val(node.height()); - this.find(':input[name=Title]').val(node.attr('title')); - this.find(':input[name=CSSClass]').val(node.data('cssclass')); - this.find(':input[name=FileID]').val(node.data('fileid')); - } - }); - - $('form.htmleditorfield-mediaform .ss-htmleditorfield-file .dimensions :input').entwine({ - OrigVal: null, - onmatch: function onmatch() { - this._super(); - - this.setOrigVal(parseInt(this.val(), 10)); - }, - onunmatch: function onunmatch() { - this._super(); - }, - onfocusout: function onfocusout(e) { - this.closest('.ss-htmleditorfield-file').updateDimensions(this.attr('name')); - } - }); - - $('form.htmleditorfield-mediaform .ss-uploadfield-item .ss-uploadfield-item-cancel').entwine({ - onclick: function onclick(e) { - var form = this.closest('form'), - file = this.closest('ss-uploadfield-item'); - form.find('.ss-gridfield-item[data-id=' + file.data('id') + ']').removeClass('ui-selected'); - this.closest('.ss-uploadfield-item').remove(); - form.redraw(); - e.preventDefault(); - } - }); - - $('div.ss-assetuploadfield .ss-uploadfield-item-edit, div.ss-assetuploadfield .ss-uploadfield-item-name').entwine({ - getEditForm: function getEditForm() { - return this.closest('.ss-uploadfield-item').find('.ss-uploadfield-item-editform'); - }, - - fromEditForm: { - onchange: function onchange(e) { - var form = $(e.target); - form.removeClass('edited'); - form.addClass('edited'); - } - }, - - onclick: function onclick(e) { - var editForm = this.getEditForm(); - - if (this.closest('.ss-uploadfield-item').hasClass('ss-htmleditorfield-file')) { - editForm.parent('ss-uploadfield-item').removeClass('ui-state-warning'); - - editForm.toggleEditForm(); - - e.preventDefault(); - - return false; - } - - this._super(e); - } - }); - - $('div.ss-assetuploadfield .ss-uploadfield-item-editform').entwine({ - toggleEditForm: function toggleEditForm(bool) { - var itemInfo = this.prev('.ss-uploadfield-item-info'), - status = itemInfo.find('.ss-uploadfield-item-status'); - var text = ""; - - if (bool === true || bool !== false && this.height() === 0) { - text = _i18n2.default._t('UploadField.Editing', "Editing ..."); - this.height('auto'); - itemInfo.find('.toggle-details-icon').addClass('opened'); - status.removeClass('ui-state-success-text').removeClass('ui-state-warning-text'); - } else { - this.height(0); - itemInfo.find('.toggle-details-icon').removeClass('opened'); - if (!this.hasClass('edited')) { - text = _i18n2.default._t('UploadField.NOCHANGES', 'No Changes'); - status.addClass('ui-state-success-text'); - } else { - text = _i18n2.default._t('UploadField.CHANGESSAVED', 'Changes Made'); - this.removeClass('edited'); - status.addClass('ui-state-success-text'); - } - } - status.attr('title', text).text(text); - } - }); - - $('form.htmleditorfield-mediaform .field[id$="ParentID_Holder"] .TreeDropdownField').entwine({ - onadd: function onadd() { - this._super(); - - var self = this; - this.bind('change', function () { - var fileList = self.closest('form').find('.grid-field'); - fileList.setState('ParentID', self.getValue()); - fileList.reload(); - }); - } - }); - }); -}); \ No newline at end of file diff --git a/client/dist/js/TinyMCE_SSPlugin.js b/client/dist/js/TinyMCE_SSPlugin.js deleted file mode 100644 index 11f0ab624..000000000 --- a/client/dist/js/TinyMCE_SSPlugin.js +++ /dev/null @@ -1,173 +0,0 @@ -(function (global, factory) { - if (typeof define === "function" && define.amd) { - define('ss.TinyMCE_SSPlugin', [], factory); - } else if (typeof exports !== "undefined") { - factory(); - } else { - var mod = { - exports: {} - }; - factory(); - global.ssTinyMCE_SSPlugin = mod.exports; - } -})(this, function () { - 'use strict'; - - (function () { - - var ssbuttons = { - getInfo: function getInfo() { - return { - longname: 'Special buttons for SilverStripe CMS', - author: 'Sam Minnée', - authorurl: 'http://www.siverstripe.com/', - infourl: 'http://www.silverstripe.com/', - version: "1.0" - }; - }, - - init: function init(ed) { - ed.addButton('sslink', { - icon: 'link', - title: 'Insert Link', - cmd: 'sslink' - }); - ed.addMenuItem('sslink', { - icon: 'link', - text: 'Insert Link', - cmd: 'sslink' - }); - ed.addButton('ssmedia', { - icon: 'image', - title: 'Insert Media', - cmd: 'ssmedia' - }); - ed.addMenuItem('ssmedia', { - icon: 'image', - text: 'Insert Media', - cmd: 'ssmedia' - }); - - ed.addCommand('sslink', function (ed) { - jQuery('#' + this.id).entwine('ss').openLinkDialog(); - }); - - ed.addCommand('ssmedia', function (ed) { - jQuery('#' + this.id).entwine('ss').openMediaDialog(); - }); - - ed.on('BeforeExecCommand', function (e) { - var cmd = e.command; - var ui = e.ui; - var val = e.value; - if (cmd == 'mceAdvLink' || cmd == 'mceLink') { - e.preventDefault(); - ed.execCommand('sslink', ui, val); - } else if (cmd == 'mceAdvImage' || cmd == 'mceImage') { - e.preventDefault(); - ed.execCommand('ssmedia', ui, val); - } - }); - - ed.on('SaveContent', function (o) { - var content = jQuery(o.content); - var attrsFn = function attrsFn(attrs) { - return Object.keys(attrs).map(function (name) { - return attrs[name] ? name + '="' + attrs[name] + '"' : null; - }).filter(function (el) { - return el !== null; - }).join(' '); - }; - - content.find('.ss-htmleditorfield-file.embed').each(function () { - var el = jQuery(this); - var attrs = { - width: el.attr('width'), - class: el.attr('cssclass'), - thumbnail: el.data('thumbnail') - }; - var shortCode = '[embed ' + attrsFn(attrs) + ']' + el.data('url') + '[/embed]'; - el.replaceWith(shortCode); - }); - - content.find('img').each(function () { - var el = jQuery(this); - var attrs = { - src: el.attr('src'), - id: el.data('id'), - width: el.attr('width'), - height: el.attr('height'), - class: el.attr('class'), - - title: el.attr('title'), - alt: el.attr('alt') - }; - var shortCode = '[image ' + attrsFn(attrs) + ']'; - el.replaceWith(shortCode); - }); - - o.content = ''; - content.each(function () { - if (this.outerHTML !== undefined) { - o.content += this.outerHTML; - } - }); - }); - ed.on('BeforeSetContent', function (o) { - var matches; - var content = o.content; - var attrFromStrFn = function attrFromStrFn(str) { - return str.match(/([^\s\/'"=,]+)\s*=\s*(('([^']+)')|("([^"]+)")|([^\s,\]]+))/g).reduce(function (coll, val) { - var match = val.match(/^([^\s\/'"=,]+)\s*=\s*(?:(?:'([^']+)')|(?:"([^"]+)")|(?:[^\s,\]]+))$/), - key = match[1], - value = match[2] || match[3] || match[4]; - coll[key] = value; - return coll; - }, {}); - }; - - var shortTagRegex = /\[embed(.*?)\](.+?)\[\/\s*embed\s*\]/gi; - while (matches = shortTagRegex.exec(content)) { - var attrs = attrFromStrFn(matches[1]); - var el; - - el = jQuery('').attr({ - 'src': attrs['thumbnail'], - 'width': attrs['width'], - 'height': attrs['height'], - 'class': attrs['class'], - 'data-url': matches[2] - }).addClass('ss-htmleditorfield-file embed'); - attrs['cssclass'] = attrs['class']; - - Object.keys(attrs).forEach(function (key) { - return el.attr('data-' + key, attrs[key]); - }); - content = content.replace(matches[0], jQuery('
').append(el).html()); - } - - var shortTagRegex = /\[image(.*?)\]/gi; - while (matches = shortTagRegex.exec(content)) { - var attrs = attrFromStrFn(matches[1]); - var el = jQuery('').attr({ - 'src': attrs['src'], - 'width': attrs['width'], - 'height': attrs['height'], - 'class': attrs['class'], - 'alt': attrs['alt'], - 'title': attrs['title'], - 'data-id': attrs['id'] - }); - content = content.replace(matches[0], jQuery('
').append(el).html()); - } - - o.content = content; - }); - } - }; - - tinymce.PluginManager.add("ssbuttons", function (editor) { - ssbuttons.init(editor); - }); - })(); -}); \ No newline at end of file diff --git a/client/dist/js/i18n.js b/client/dist/js/i18n.js deleted file mode 100644 index 2e89eb057..000000000 --- a/client/dist/js/i18n.js +++ /dev/null @@ -1,207 +0,0 @@ -(function (global, factory) { - if (typeof define === "function" && define.amd) { - define('ss.i18n', ['exports'], factory); - } else if (typeof exports !== "undefined") { - factory(exports); - } else { - var mod = { - exports: {} - }; - factory(mod.exports); - global.ssI18n = mod.exports; - } -})(this, function (exports) { - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } - } - - var _createClass = function () { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); - } - } - - return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps); - if (staticProps) defineProperties(Constructor, staticProps); - return Constructor; - }; - }(); - - var i18n = function () { - function i18n() { - _classCallCheck(this, i18n); - - this.currentLocale = null; - this.defaultLocale = 'en_US'; - this.lang = {}; - } - - _createClass(i18n, [{ - key: 'setLocale', - value: function setLocale(locale) { - this.currentLocale = locale; - } - }, { - key: 'getLocale', - value: function getLocale() { - return this.currentLocale !== null ? this.currentLocale : this.defaultLocale; - } - }, { - key: '_t', - value: function _t(entity, fallbackString, priority, context) { - var langName = this.getLocale().replace(/_[\w]+/i, ''); - var defaultlangName = this.defaultLocale.replace(/_[\w]+/i, ''); - - if (this.lang && this.lang[this.getLocale()] && this.lang[this.getLocale()][entity]) { - return this.lang[this.getLocale()][entity]; - } else if (this.lang && this.lang[langName] && this.lang[langName][entity]) { - return this.lang[langName][entity]; - } else if (this.lang && this.lang[this.defaultLocale] && this.lang[this.defaultLocale][entity]) { - return this.lang[this.defaultLocale][entity]; - } else if (this.lang && this.lang[defaultlangName] && this.lang[defaultlangName][entity]) { - return this.lang[defaultlangName][entity]; - } else if (fallbackString) { - return fallbackString; - } else { - return ''; - } - } - }, { - key: 'addDictionary', - value: function addDictionary(locale, dict) { - if (typeof this.lang[locale] === 'undefined') { - this.lang[locale] = {}; - } - - for (var entity in dict) { - this.lang[locale][entity] = dict[entity]; - } - } - }, { - key: 'getDictionary', - value: function getDictionary(locale) { - return this.lang[locale]; - } - }, { - key: 'stripStr', - value: function stripStr(str) { - return str.replace(/^\s*/, '').replace(/\s*$/, ''); - } - }, { - key: 'stripStrML', - value: function stripStrML(str) { - var parts = str.split('\n'); - - for (var i = 0; i < parts.length; i += 1) { - parts[i] = stripStr(parts[i]); - } - - return stripStr(parts.join(' ')); - } - }, { - key: 'sprintf', - value: function sprintf(s) { - for (var _len = arguments.length, params = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - params[_key - 1] = arguments[_key]; - } - - if (params.length === 0) { - return s; - } - - var regx = new RegExp('(.?)(%s)', 'g'); - - var i = 0; - - return s.replace(regx, function (match, subMatch1, subMatch2, offset, string) { - if (subMatch1 === '%') { - return match; - } - - return subMatch1 + params[i++]; - }); - } - }, { - key: 'inject', - value: function inject(s, map) { - var regx = new RegExp('\{([A-Za-z0-9_]*)\}', 'g'); - - return s.replace(regx, function (match, key, offset, string) { - return map[key] ? map[key] : match; - }); - } - }, { - key: 'detectLocale', - value: function detectLocale() { - var rawLocale; - var detectedLocale; - - rawLocale = jQuery('body').attr('lang'); - - if (!rawLocale) { - var metas = document.getElementsByTagName('meta'); - - for (var i = 0; i < metas.length; i++) { - if (metas[i].attributes['http-equiv'] && metas[i].attributes['http-equiv'].nodeValue.toLowerCase() == 'content-language') { - rawLocale = metas[i].attributes['content'].nodeValue; - } - } - } - - if (!rawLocale) { - rawLocale = this.defaultLocale; - } - - var rawLocaleParts = rawLocale.match(/([^-|_]*)[-|_](.*)/); - - if (rawLocale.length == 2) { - for (var compareLocale in i18n.lang) { - if (compareLocale.substr(0, 2).toLowerCase() == rawLocale.toLowerCase()) { - detectedLocale = compareLocale; - break; - } - } - } else if (rawLocaleParts) { - detectedLocale = rawLocaleParts[1].toLowerCase() + '_' + rawLocaleParts[2].toUpperCase(); - } - - return detectedLocale; - } - }, { - key: 'addEvent', - value: function addEvent(obj, evType, fn, useCapture) { - if (obj.addEventListener) { - obj.addEventListener(evType, fn, useCapture); - return true; - } else if (obj.attachEvent) { - return obj.attachEvent('on' + evType, fn); - } else { - console.log('Handler could not be attached'); - } - } - }]); - - return i18n; - }(); - - var _i18n = new i18n(); - - window.ss = typeof window.ss !== 'undefined' ? window.ss : {}; - window.ss.i18n = window.i18n = _i18n; - - exports.default = _i18n; -}); \ No newline at end of file diff --git a/client/dist/js/i18nx.js b/client/dist/js/i18nx.js deleted file mode 100644 index a715a4266..000000000 --- a/client/dist/js/i18nx.js +++ /dev/null @@ -1,105 +0,0 @@ -(function (global, factory) { - if (typeof define === "function" && define.amd) { - define('ss.i18nx', ['exports'], factory); - } else if (typeof exports !== "undefined") { - factory(exports); - } else { - var mod = { - exports: {} - }; - factory(mod.exports); - global.ssI18nx = mod.exports; - } -})(this, function (exports) { - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } - } - - var _createClass = function () { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); - } - } - - return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps); - if (staticProps) defineProperties(Constructor, staticProps); - return Constructor; - }; - }(); - - var i18nx = function () { - function i18nx() { - _classCallCheck(this, i18nx); - - this.currentLocale = 'en_US'; - this.defaultLocale = 'en_US'; - } - - _createClass(i18nx, [{ - key: '_t', - value: function _t(entity, fallbackString, priority, context) { - return fallbackString; - } - }, { - key: 'sprintf', - value: function sprintf(s) { - for (var _len = arguments.length, params = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - params[_key - 1] = arguments[_key]; - } - - if (params.length === 0) { - return s; - } - - var regx = new RegExp('(.?)(%s)', 'g'); - - var i = 0; - - return s.replace(regx, function (match, subMatch1, subMatch2, offset, string) { - if (subMatch1 === '%') { - return match; - } - - return subMatch1 + params[i += 1]; - }); - } - }, { - key: 'inject', - value: function inject(s, map) { - var regx = new RegExp('\{([A-Za-z0-9_]*)\}', 'g'); - - return s.replace(regx, function (match, key, offset, string) { - return map[key] ? map[key] : match; - }); - } - }, { - key: 'addDictionary', - value: function addDictionary() {} - }, { - key: 'getDictionary', - value: function getDictionary() {} - }]); - - return i18nx; - }(); - - ; - - var _i18nx = new i18nx(); - - exports.default = _i18nx; -}); \ No newline at end of file diff --git a/client/dist/js/jQuery.js b/client/dist/js/jQuery.js deleted file mode 100644 index ac652ffe3..000000000 --- a/client/dist/js/jQuery.js +++ /dev/null @@ -1,19 +0,0 @@ -(function (global, factory) { - if (typeof define === "function" && define.amd) { - define('ss.jQuery', ['module'], factory); - } else if (typeof exports !== "undefined") { - factory(module); - } else { - var mod = { - exports: {} - }; - factory(mod); - global.ssJQuery = mod.exports; - } -})(this, function (module) { - 'use strict'; - - var jQuery = typeof window.jQuery !== 'undefined' ? window.jQuery : null; - - module.exports = jQuery; -}); \ No newline at end of file diff --git a/client/dist/styles/AssetUploadField.css b/client/dist/styles/AssetUploadField.css deleted file mode 100644 index 1fc239a7e..000000000 --- a/client/dist/styles/AssetUploadField.css +++ /dev/null @@ -1,3 +0,0 @@ -.ss-uploadfield-view-allowed-extensions{margin-top:-36px;float:right}.ss-uploadfield-view-allowed-extensions .toggle-content{opacity:0;-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;z-index:1;padding:20px 16px;width:280px;right:-280px;top:0;bottom:0;border-left:1px solid #C1C7CC;background:#f6f7f8;-webkit-transition:all .3s linear;-o-transition:all .3s linear;transition:all .3s linear}.ss-uploadfield-view-allowed-extensions .toggle-content h4{margin:0 0 6px;padding-right:20px}.ss-uploadfield-view-allowed-extensions.active .toggle-content{right:0;opacity:1}.ss-uploadfield-view-allowed-extensions .toggle{cursor:pointer;font-size:16px;float:right;color:#66727d;width:16px;height:18px;overflow:hidden}.ss-uploadfield-view-allowed-extensions .toggle:hover,.ss-uploadfield-view-allowed-extensions .toggle:active,.ss-uploadfield-view-allowed-extensions .toggle:focus{text-decoration:none;color:#4f5861}.backlink{padding-left:12px}body.cms.ss-uploadfield-edit-iframe,.composite.ss-assetuploadfield .details fieldset{overflow:auto;background:#E2E2E2}body.cms.ss-uploadfield-edit-iframe span.readonly,.composite.ss-assetuploadfield .details fieldset span.readonly{font-style:italic;color:#9ba5ae;text-shadow:0px 1px 0px #fff}.composite.ss-assetuploadfield .details fieldset{padding:1.5385rem 1.5385rem;background-color:#f6f7f8}.ss-assetuploadfield .CompositeField{padding:1.5385rem 1.5385rem;margin:-1.5385rem -1.5385rem}.ss-assetuploadfield .CompositeField.dimensions.form-group{margin:0;padding:0}.ss-assetuploadfield .CompositeField.dimensions.form-group>.dimensions{padding-left:0;padding-right:0}.ss-assetuploadfield::after{content:"";visibility:hidden}.ss-assetuploadfield h3{border-bottom:1px solid rgba(201,205,206,0.8);-webkit-box-shadow:0 1px 0 rgba(255,255,255,0.8);box-shadow:0 1px 0 rgba(255,255,255,0.8);margin:0 0 8px;padding:0 0 7px;clear:both;position:relative}.ss-assetuploadfield .fileOverview{clear:both;margin-top:10px;position:relative}.ss-assetuploadfield .fileOverview .uploadStatus:after{content:".";display:block;height:0;clear:both;visibility:hidden}*:first-child .ss-assetuploadfield .fileOverview .uploadStatus{zoom:1}.ss-assetuploadfield .fileOverview .uploadStatus .state{float:left;font-size:16px;font-weight:bold;line-height:1.1em}.ss-assetuploadfield .fileOverview .uploadStatus .details{opacity:0.9;float:right}.ss-assetuploadfield .ss-uploadfield-item-actions.edit-all .ss-uploadfield-item-edit-all{float:right;margin:-8px 0 0;padding:0;background:none;border:0;-webkit-box-shadow:none;box-shadow:none;color:#66727d}.ss-assetuploadfield .ss-uploadfield-item-actions.edit-all .ss-uploadfield-item-edit-all:hover{color:#7f8c97}.ss-assetuploadfield .ss-uploadfield-files{margin:0;padding:0;clear:both}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item{-webkit-background-clip:padding-box;background-clip:padding-box;margin:0 0 5px;padding:0;position:relative;margin-left:-1.5385rem;margin-right:-1.5385rem}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item.ui-state-error{height:32px}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item.ui-state-error .ss-uploadfield-item-info{height:30px}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item.ui-state-error .ss-uploadfield-item-name{position:absolute}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item .info{position:relative;padding:7px;overflow:hidden;background-color:#FFBE66;border:1px solid #FF9300}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-preview{position:absolute;height:30px;width:40px;overflow:hidden;z-index:1;top:0}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-preview img[src$="_32.png"]{width:auto;height:26px;margin:2px 0 0 2px}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-info{overflow:hidden;background-color:#5db4df;background-image:-webkit-gradient(linear, left top, left bottom, from(#5db4df), color-stop(8%, #5db1dd), color-stop(50%, #439bcb), color-stop(54%, #3f99cd), color-stop(96%, #207db6), to(#1e7cba));background-image:-webkit-linear-gradient(top, #5db4df 0%, #5db1dd 8%, #439bcb 50%, #3f99cd 54%, #207db6 96%, #1e7cba 100%);background-image:-o-linear-gradient(top, #5db4df 0%, #5db1dd 8%, #439bcb 50%, #3f99cd 54%, #207db6 96%, #1e7cba 100%);background-image:linear-gradient(to bottom, #5db4df 0%, #5db1dd 8%, #439bcb 50%, #3f99cd 54%, #207db6 96%, #1e7cba 100%)}.ss-assetuploadfield .ss-uploadfield-files .ui-state-error .ss-uploadfield-item-info{background-color:#c11f1d;padding-right:130px;background-image:-webkit-gradient(linear, left top, left bottom, from(#c11f1d), color-stop(4%, #bf1d1b), color-stop(8%, #b71b1c), color-stop(15%, #b61e1d), color-stop(27%, #b11d1d), color-stop(31%, #ab1d1c), color-stop(42%, #a51b1b), color-stop(46%, #9f1b19), color-stop(50%, #9f1b19), color-stop(54%, #991c1a), color-stop(58%, #971a18), color-stop(62%, #911b1b), color-stop(65%, #911b1b), color-stop(88%, #7e1816), color-stop(92%, #771919), to(#731817));background-image:-webkit-linear-gradient(top, #c11f1d 0%, #bf1d1b 4%, #b71b1c 8%, #b61e1d 15%, #b11d1d 27%, #ab1d1c 31%, #a51b1b 42%, #9f1b19 46%, #9f1b19 50%, #991c1a 54%, #971a18 58%, #911b1b 62%, #911b1b 65%, #7e1816 88%, #771919 92%, #731817 100%);background-image:-o-linear-gradient(top, #c11f1d 0%, #bf1d1b 4%, #b71b1c 8%, #b61e1d 15%, #b11d1d 27%, #ab1d1c 31%, #a51b1b 42%, #9f1b19 46%, #9f1b19 50%, #991c1a 54%, #971a18 58%, #911b1b 62%, #911b1b 65%, #7e1816 88%, #771919 92%, #731817 100%);background-image:linear-gradient(to bottom, #c11f1d 0%, #bf1d1b 4%, #b71b1c 8%, #b61e1d 15%, #b11d1d 27%, #ab1d1c 31%, #a51b1b 42%, #9f1b19 46%, #9f1b19 50%, #991c1a 54%, #971a18 58%, #911b1b 62%, #911b1b 65%, #7e1816 88%, #771919 92%, #731817 100%);width:100%}.ss-assetuploadfield .ss-uploadfield-files .ui-state-error .ss-uploadfield-item-info .ss-uploadfield-item-name{cursor:default;background:#bcb9b9;background:rgba(201,198,198,0.9)}.ss-assetuploadfield .ss-uploadfield-files .ui-state-error .ss-uploadfield-item-info .ss-uploadfield-item-name .name{text-shadow:0px 1px 0px rgba(255,255,255,0.7)}.ss-assetuploadfield .ss-uploadfield-files .ui-state-warning .ss-uploadfield-item-info{background-color:#E9D104;background-image:-webkit-gradient(linear, left top, left bottom, from(#e5d33b), color-stop(8%, #e2ce24), color-stop(50%, #d1be1c), color-stop(54%, #d1bd1c), color-stop(96%, #d09a1a), to(#cf871a));background-image:-webkit-linear-gradient(top, #e5d33b 0%, #e2ce24 8%, #d1be1c 50%, #d1bd1c 54%, #d09a1a 96%, #cf871a 100%);background-image:-o-linear-gradient(top, #e5d33b 0%, #e2ce24 8%, #d1be1c 50%, #d1bd1c 54%, #d09a1a 96%, #cf871a 100%);background-image:linear-gradient(to bottom, #e5d33b 0%, #e2ce24 8%, #d1be1c 50%, #d1bd1c 54%, #d09a1a 96%, #cf871a 100%)}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-name{position:relative;z-index:1;margin:3px 0 3px 50px;width:50%;color:#7f8c97;background:#eeeded;background:rgba(255,255,255,0.8);border-radius:3px;line-height:24px;height:22px;padding:0 5px;text-align:left;cursor:pointer;display:table;table-layout:fixed}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-name .name{text-shadow:0px 1px 0px rgba(255,255,255,0.5);display:inline;float:left;max-width:50%;font-weight:normal;padding:0 5px 0 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-name .ss-uploadfield-item-status{position:relative;float:right;padding:0 0 0 5px;max-width:30%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis;text-shadow:0px 1px 0px rgba(255,255,255,0.5)}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-name .ss-uploadfield-item-status.ui-state-error-text{text-shadow:0px 1px 0px rgba(255,255,255,0.6);color:#c00}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-name .ss-uploadfield-item-status.ui-state-warning-text{color:#b7a403}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-name .ss-uploadfield-item-status.ui-state-success-text{color:#1F9433}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions{position:absolute;top:0;right:0;left:0;z-index:0}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button{background:none;border:0;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;color:#fff;float:right}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button.ss-uploadfield-item-delete{display:none}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button.ss-uploadfield-item-cancel,.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button.ss-uploadfield-item-overwrite-warning{border-radius:0;border-left:1px solid rgba(255,255,255,0.2);margin-top:0px;cursor:pointer;opacity:0.9}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button.ss-uploadfield-item-cancel:hover,.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button.ss-uploadfield-item-overwrite-warning:hover{opacity:1}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button.ss-uploadfield-item-cancel .ui-icon,.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button.ss-uploadfield-item-overwrite-warning .ui-icon{display:block;margin:0;position:realtive;top:8px}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button.ss-uploadfield-item-edit{opacity:0.9;padding-top:1px;padding-bottom:0;height:100%;border-radius:0}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button.ss-uploadfield-item-edit.ui-state-hover{background:none;opacity:1}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button.ss-uploadfield-item-edit.ui-state-hover span.toggle-details{opacity:1}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button.ss-uploadfield-item-edit span.toggle-details{opacity:0.9;margin-left:3px;display:inline-block;width:5px;height:100%;cursor:pointer}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button.ss-uploadfield-item-edit span.toggle-details .toggle-details-icon{margin-top:1px;display:inline-block;width:8px;height:6px;vertical-align:middle}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button.ss-uploadfield-item-edit span.toggle-details .toggle-details-icon.opened{margin-top:0}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button .ui-icon{display:none}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-progress{width:100%}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-progress div{height:30px;padding:0;margin:0;overflow:hidden;width:100%}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-progress .ss-uploadfield-item-progressbar{background-color:#92a6b3;background-image:-webkit-gradient(linear, left top, left bottom, from(#92a6b3), color-stop(11%, #90aab8), color-stop(22%, #96b1bf), color-stop(33%, #9eb4c1), color-stop(44%, #a7bac7), to(#c1d5dc));background-image:-webkit-linear-gradient(top, #92a6b3 0%, #90aab8 11%, #96b1bf 22%, #9eb4c1 33%, #a7bac7 44%, #c1d5dc 100%);background-image:-o-linear-gradient(top, #92a6b3 0%, #90aab8 11%, #96b1bf 22%, #9eb4c1 33%, #a7bac7 44%, #c1d5dc 100%);background-image:linear-gradient(to bottom, #92a6b3 0%, #90aab8 11%, #96b1bf 22%, #9eb4c1 33%, #a7bac7 44%, #c1d5dc 100%)}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-progress .ss-uploadfield-item-progressbarvalue{width:0;background:#60b3dd url(../images/progressbar_blue.gif) repeat left center}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-editform{height:0;overflow:hidden;clear:both}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-editform.loading{width:100%;height:22px;padding:15px 0;background:url(../../admin/client/dist/images/spinner.gif) no-repeat 50% 50%}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-editform.loading iframe{padding-top:0;margin-top:37px;border:0}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-editform iframe{width:100%;padding:16px;background:#E2E2E2}.ss-assetuploadfield .ss-uploadfield-addfile .ss-uploadfield-item-info>span{display:block;padding:0;line-height:1;color:#9ba5ae;margin-top:-12px}.ss-uploadfield-fromcomputer .ss-insert-media .ss-assetuploadfield .ss-uploadfield-addfile{margin:0 12px 0 0}.ss-uploadfield-dropzone::after{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(236,239,241,0.9) url("../../admin/client/dist/images/drag_drop_opt.svg") center center no-repeat;-webkit-background-size:312px 325px;background-size:312px 325px;z-index:100}.ss-uploadfield-dropzone.active.hover::after{content:''}@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx){.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-editform.loading{background-image:url(../../admin/client/dist/images/spinner@2x.gif);-webkit-background-size:43px 43px;background-size:43px 43px}} - -/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxlZ2FjeS9Bc3NldFVwbG9hZEZpZWxkLnNjc3MiLCIuLi8uLi8uLi9hZG1pbi9jbGllbnQvc3JjL3N0eWxlcy9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9hZG1pbi9jbGllbnQvc3JjL3N0eWxlcy9sZWdhY3kvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vYWRtaW4vY2xpZW50L3NyYy9zdHlsZXMvbGVnYWN5L3RoZW1lcy9fZGVmYXVsdC5zY3NzIiwiX2VsZW1lbnRNaXhpbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSx3Q0FDQyxpQkFDQSxXQUFhLENBRmQsd0RBS0UsVUFDQSw4QkFBQSxBQUNBLHNCQUFBLGtCQUNBLFVBQ0Esa0JBQ0EsWUFDQSxhQUNBLE1BQ0EsU0FDQSw4QkFDQSxtQkFDQSxrQ0FBQSxBQUEyQiw2QkFBM0IsQUFBMkIseUJBQUEsQ0FoQjdCLDJEQW1CRyxlQUNBLGtCQUFvQixDQXBCdkIsK0RBeUJFLFFBQ0EsU0FBVyxDQTFCYixnREE4QkUsZUFDQSxlQUNBLFlBQ0EsY0FDQSxXQUNBLFlBQ0EsZUFBaUIsQ0FwQ25CLG1LQXlDRyxxQkFDQSxhQUFhLENBQ2IsVUFLRixpQkFBbUIsQ0FDbkIscUZBR0EsY0FDQSxrQkFBb0IsQ0FGckIsaUhBS0Usa0JBQ0EsY0FDQSw0QkFBOEIsQ0FDOUIsaURBS0QsNEJBQ0Esd0JDeEJ3QixDRHlCeEIscUNBS0MsNEJBQ0EsNEJBQVEsQ0FKViwyREFPRyxTQUNBLFNBQVcsQ0FSZCx1RUFXSSxlQUNBLGVBQWlCLENBWnJCLDRCQXNCSSxXQUNBLGlCQUFtQixDQXZCdkIsd0JBMkJFLDhDQUNBLGlEQUFBLEFBQ0EseUNBQUEsZUFDQSxnQkFDQSxXQUNBLGlCQUFtQixDQWhDckIsbUNBb0NFLFdBQ0EsZ0JBQ0EsaUJBQW1CLENBdENyQix1REV4Q0UsWUFDQSxjQUNBLFNBQ0EsV0FDQSxpQkFBbUIsQ0FDbkIsK0RBQ2dCLE1BQU8sQ0ZrQ3pCLHdEQTRDSSxXQUNBLGVBQ0EsaUJBQ0EsaUJBQW1CLENBL0N2QiwwREFtREksWUFDQSxXQUFhLENBcERqQix5RkEyREcsWUFDQSxnQkFDQSxVQUNBLGdCQUNBLFNBQ0Esd0JBQUEsQUFDQSxnQkFBQSxhR2hGaUIsQ0hlcEIsK0ZBb0VJLGFBQWMsQ0FwRWxCLDJDQTJFRSxTQUNBLFVBQ0EsVUFBVyxDQTdFYixnRUFnRkcsb0NBQUEsQUFDQSw0QkFBQSxlQUNBLFVBQ0Esa0JBQ0EsdUJBQ0EsdUJDaWpCaUMsQ0R0b0JwQywrRUF3RkksV0FBYSxDQXhGakIseUdBMkZLLFdBQWEsQ0EzRmxCLHlHQStGSyxpQkFBbUIsQ0EvRnhCLHNFQW9HSSxrQkFDQSxZQUNBLGdCQUNBLHlCQUNBLHdCQUEwQixDQXhHOUIsd0VBNkdHLGtCQUNBLFlBQ0EsV0FDQSxnQkFDQSxVQUNBLEtBQU8sQ0FsSFYsNEZBc0hRLFdBQ0EsWUFDQSxrQkFBb0IsQ0F4SDVCLHFFQTZIRyxnQkFDQSx5QkFDQSxvTUFBQSxBQUFpQywySEFBakMsQUFBaUMsc0hBQWpDLEFBQWlDLHdIQUFBLENBL0hwQyxxRkFtSUcseUJBQ0Esb0JBQ0EsdWNBQUEsQUFDQSw0UEFEQSxBQUNBLHVQQURBLEFBQ0EsMFBBQUEsVUFBWSxDQXRJZiwrR0F5SUksZUFDQSxtQkFDQSxnQ0FBdUIsQ0EzSTNCLHFIQThJSyw2Q0FBa0MsQ0E5SXZDLHVGQW9KRyx5QkFDQSxvTUFBQSxBQUFpQywySEFBakMsQUFBaUMsc0hBQWpDLEFBQWlDLHdIQUFBLENBckpwQyxxRUFpS0csa0JBQ0EsVUFDQSxzQkFDQSxVQUNBLGNBQ0EsbUJBQ0EsaUNBQ0Esa0JBQ0EsaUJBQ0EsWUFDQSxjQUNBLGdCQUNBLGVBRUEsY0FDQSxrQkFBbUIsQ0FoTHRCLDJFQW1MSSw4Q0FDQSxlQUNBLFdBQ0EsY0FDQSxtQkFDQSxrQkVsUEgsZ0JBQ0EsbUJBQ0EsdUJBQ0EseUJBQTJCLENGdUQ1QixpR0E0TEksa0JBQ0EsWUFDQSxrQkFDQSxjRXpQSCxnQkFDQSxtQkFDQSx1QkFDQSwwQkZ3UEcsNkNBQWtDLENBak10QyxxSEFvTUssOENBQ0EsVUFBYSxDQXJNbEIsdUhBd01LLGFBQWEsQ0F4TWxCLHVIQTJNSyxhRzFNOEIsQ0hEbkMsd0VBZ05HLGtCQUNBLE1BQ0EsUUFDQSxPQUNBLFNBQVcsQ0FwTmQsc0ZJbkRFLGdCQUNBLFNBQ0Esd0JBQUEsQUFDQSxnQkFBQSxpQkFDQSxXQUNBLFdBQWEsQ0o4Q2YsaUhJMUNHLFlBQWMsQ0owQ2pCLDZPSXZDRyxnQkFDQSw0Q0FDQSxlQUNBLGVBQ0EsV0FBWSxDSm1DZix5UElqQ0ksU0FBVSxDSmlDZCwrUEk5QkssY0FDQSxTQUNBLGtCQUNBLE9BQVEsQ0oyQmIsK0dJYkUsWUFDQSxnQkFDQSxpQkFDQSxZQUNBLGVBQWlCLENKU25CLDhISVBHLGdCQUNBLFNBQVUsQ0pNYixrSklKSSxTQUFVLENKSWQsbUlJQUcsWUFDQSxnQkFDQSxxQkFDQSxVQUNBLFlBQ0EsY0FBZ0IsQ0pMbkIsd0pJT0ksZUFDQSxxQkFDQSxVQUNBLFdBQ0EscUJBQXVCLENKWDNCLCtKSWFLLFlBQWEsQ0pibEIsK0ZJb0JFLFlBQWMsQ0pwQmhCLHlFQXlORyxVQUFZLENBek5mLDZFQTROSSxZQUNBLFVBQ0EsU0FDQSxnQkFDQSxVQUFZLENBaE9oQiwwR0FtT0kseUJBQ0EscU1BQUEsQUFBaUMsNEhBQWpDLEFBQWlDLHVIQUFqQyxBQUFpQyx5SEFBQSxDQXBPckMsK0dBdU9JLFFBQ0EseUVBQTBFLENBeE85RSx5RUE4T0csU0FDQSxnQkFDQSxVQUFZLENBaFBmLGlGQW1QSSxXQUNBLFlBQ0EsZUFDQSw0RUFBNkUsQ0F0UGpGLHdGQTBQSyxjQUNBLGdCQUNBLFFBQVUsQ0E1UGYsZ0ZBaVFJLFdBQ0EsYUFDQSxrQkFBb0IsQ0FuUXhCLDRFQTJRRyxjQUNBLFVBQ0EsY0FDQSxjQUNBLGdCQUFrQixDQUNsQiwyRkFHQSxpQkFBbUIsQ0FDbkIsZ0NBTUQsa0JBQ0EsTUFDQSxRQUNBLFNBQ0EsT0FDQSxpSEFDQSxvQ0FBQSxBQUNBLDRCQUFBLFdBQWEsQ0FUZiw2Q0FhRSxVQUFZLENBQ1osbVZBZ0JELGlGQUlJLG9FQUNBLGtDQUFBLEFBQTJCLHlCQUFBLENBQzNCLENBQUEiLCJmaWxlIjoibGVnYWN5L0Fzc2V0VXBsb2FkRmllbGQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVE9ETyB3ZSBuZWVkIGEgc2VwZXJhdGVkIGZpbGUgZm9yIHN0eWxlcyB0aGF0IGFyZSB1c2VkIGluIGJvdGggY21zIGFuZCBmcm9udCBlbmQgKHN1Y2ggYXMgYnV0dG9ucylcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9hZG1pbi9jbGllbnQvc3JjL3N0eWxlcy9sZWdhY3kvdGhlbWVzL2RlZmF1bHQuc2Nzc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uL2FkbWluL2NsaWVudC9zcmMvc3R5bGVzL2xlZ2FjeS9fbWl4aW5zLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi9fZWxlbWVudE1peGluc1wiO1xuXG4uc3MtdXBsb2FkZmllbGQtdmlldy1hbGxvd2VkLWV4dGVuc2lvbnMge1xuXHRtYXJnaW4tdG9wOiAtMzZweDtcblx0ZmxvYXQ6IHJpZ2h0O1xuXG5cdC50b2dnbGUtY29udGVudCB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiAxO1xuXHRcdHBhZGRpbmc6IDIuNSokZ3JpZC15IDIqJGdyaWQteDtcblx0XHR3aWR0aDogMjgwcHg7XG5cdFx0cmlnaHQ6IC0yODBweDtcblx0XHR0b3A6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yLXNlcGFyYXRvcjtcblx0XHRiYWNrZ3JvdW5kOiAkdGFiLXBhbmVsLXRleHR1cmUtY29sb3I7XG5cdFx0dHJhbnNpdGlvbjogYWxsIC4zcyBsaW5lYXI7XG5cblx0XHRoNCB7XG5cdFx0XHRtYXJnaW46IDAgMCA2cHg7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXHRcdH1cblx0fVxuXG5cdCYuYWN0aXZlIC50b2dnbGUtY29udGVudCB7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXG5cdC50b2dnbGUge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdGNvbG9yOiAkY29sb3ItdGV4dDtcblx0XHR3aWR0aDogMTZweDtcblx0XHRoZWlnaHQ6IDE4cHg7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdCY6aG92ZXIsXG5cdFx0JjphY3RpdmUsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRjb2xvcjogZGFya2VuKCRjb2xvci10ZXh0LCAxMCUpO1xuXHRcdH1cblx0fVxufVxuXG4uYmFja2xpbmsge1xuXHRwYWRkaW5nLWxlZnQ6IDEycHg7XG59XG5cbmJvZHkuY21zLnNzLXVwbG9hZGZpZWxkLWVkaXQtaWZyYW1lIHtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdGJhY2tncm91bmQ6ICNFMkUyRTI7XG5cblx0c3Bhbi5yZWFkb25seSB7XG5cdFx0Zm9udC1zdHlsZTppdGFsaWM7XG5cdFx0Y29sb3I6bGlnaHRlbigkY29sb3ItdGV4dCwgMjAlKTtcblx0XHR0ZXh0LXNoYWRvdzogMHB4IDFweCAwcHggI2ZmZjtcblx0fVxufVxuXG4uY29tcG9zaXRlLnNzLWFzc2V0dXBsb2FkZmllbGQgLmRldGFpbHMgZmllbGRzZXQge1xuXHRAZXh0ZW5kIGJvZHkuY21zLnNzLXVwbG9hZGZpZWxkLWVkaXQtaWZyYW1lO1xuXHRwYWRkaW5nOiAkcGFuZWwtcGFkZGluZy15ICRwYW5lbC1wYWRkaW5nLXg7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLW1haW47XG59XG5cbi5zcy1hc3NldHVwbG9hZGZpZWxkIHtcblxuXHQuQ29tcG9zaXRlRmllbGQge1xuXHRcdHBhZGRpbmc6ICRwYW5lbC1wYWRkaW5nLXkgJHBhbmVsLXBhZGRpbmcteDtcblx0XHRtYXJnaW46ICN7LSRwYW5lbC1wYWRkaW5nLXl9ICN7LSRwYW5lbC1wYWRkaW5nLXh9O1xuXG5cdFx0Ji5kaW1lbnNpb25zLmZvcm0tZ3JvdXAge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblxuXHRcdFx0PiAuZGltZW5zaW9ucyB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuICA+IGZpZWxkc2V0IHtcbiAgICBAZXh0ZW5kIC5jbGVhcmZpeDtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG5cdGgzIHtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLXNoYWRvdy1saWdodDtcblx0XHRib3gtc2hhZG93OiAwIDFweCAwIGxpZ2h0ZW4oJGNvbG9yLXNoYWRvdy1saWdodCwgOTUlKTtcblx0XHRtYXJnaW46IDAgMCA4cHg7XG5cdFx0cGFkZGluZzogMCAwIDdweDtcblx0XHRjbGVhcjogYm90aDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cblxuXHQuZmlsZU92ZXJ2aWV3IHtcblx0XHRjbGVhcjogYm90aDtcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdC51cGxvYWRTdGF0dXN7XG5cdFx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcblxuXHRcdFx0LnN0YXRle1xuXHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMWVtO1xuXHRcdFx0fVxuXG5cdFx0XHQuZGV0YWlscyB7XG5cdFx0XHRcdG9wYWNpdHk6IDAuOTtcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5zcy11cGxvYWRmaWVsZC1pdGVtLWFjdGlvbnMuZWRpdC1hbGx7XG5cdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0tZWRpdC1hbGwge1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0bWFyZ2luOiAtOHB4IDAgMDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdGNvbG9yOiAkY29sb3ItdGV4dDtcblxuXHRcdFx0Jjpob3Zlcntcblx0XHRcdFx0Y29sb3I6IGxpZ2h0ZW4oJGNvbG9yLXRleHQsIDEwJSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblxuXHQuc3MtdXBsb2FkZmllbGQtZmlsZXMge1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGNsZWFyOmJvdGg7XG5cblx0XHQuc3MtdXBsb2FkZmllbGQtaXRlbSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXHRcdFx0bWFyZ2luOiAwIDAgNXB4O1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdG1hcmdpbi1sZWZ0OiAtJHBhbmVsLXBhZGRpbmcteDtcblx0XHRcdG1hcmdpbi1yaWdodDogLSRwYW5lbC1wYWRkaW5nLXg7XG5cblx0XHRcdCYudWktc3RhdGUtZXJyb3Ige1xuXHRcdFx0XHRoZWlnaHQ6IDMycHg7IC8vIGxpbWl0IGhlaWdodCB0byBvbmx5IGVycm9yZWQgdXBsb2FkXG5cblx0XHRcdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0taW5mbyB7XG5cdFx0XHRcdFx0aGVpZ2h0OiAzMHB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0tbmFtZSB7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5pbmZvIHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRwYWRkaW5nOiA3cHg7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNGRkJFNjY7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNGRjkzMDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0tcHJldmlldyB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRoZWlnaHQ6IDMwcHg7XG5cdFx0XHR3aWR0aDogNDBweDtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0Ly8gUHJldmVudCBpY29ucyB0b3VjaGluZyBlZGdlXG5cbiBcdFx0XHRpbWdbc3JjJD1cIl8zMi5wbmdcIl0ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgICBtYXJnaW46IDJweCAwIDAgMnB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5zcy11cGxvYWRmaWVsZC1pdGVtLWluZm8ge1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM1ZGI0ZGY7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgIzVkYjRkZiAwJSwjNWRiMWRkIDglLCM0MzliY2IgNTAlLCMzZjk5Y2QgNTQlLCMyMDdkYjYgOTYlLCMxZTdjYmEgMTAwJSk7XG5cdFx0fVxuXG5cdFx0LnVpLXN0YXRlLWVycm9yIC5zcy11cGxvYWRmaWVsZC1pdGVtLWluZm8ge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2MxMWYxZDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDEzMHB4O1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgICNjMTFmMWQgMCUsI2JmMWQxYiA0JSwjYjcxYjFjIDglLCNiNjFlMWQgMTUlLCNiMTFkMWQgMjclLCNhYjFkMWMgMzElLCNhNTFiMWIgNDIlLCM5ZjFiMTkgNDYlLCM5ZjFiMTkgNTAlLCM5OTFjMWEgNTQlLCM5NzFhMTggNTglLCM5MTFiMWIgNjIlLCM5MTFiMWIgNjUlLCM3ZTE4MTYgODglLCM3NzE5MTkgOTIlLCM3MzE4MTcgMTAwJSk7XG5cdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0tbmFtZSB7XG5cdFx0XHRcdGN1cnNvcjogZGVmYXVsdDtcblx0XHRcdFx0YmFja2dyb3VuZDogZGFya2VuKCRjb2xvci1idXR0b24tZGlzYWJsZWQsMjAlKTsgLy9mb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IHJnYmFcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYShkYXJrZW4oJGNvbG9yLWJ1dHRvbi1kaXNhYmxlZCwgMTUlKSwwLjkpO1xuXG5cdFx0XHRcdC5uYW1lIHtcblx0XHRcdFx0XHR0ZXh0LXNoYWRvdzogMHB4IDFweCAwcHggcmdiYSgjZmZmLCAwLjcpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnVpLXN0YXRlLXdhcm5pbmcgLnNzLXVwbG9hZGZpZWxkLWl0ZW0taW5mbyB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2FybmluZztcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcblx0XHRcdFx0dG8gYm90dG9tLFxuXHRcdFx0XHRkZXNhdHVyYXRlKGxpZ2h0ZW4oJGNvbG9yLXdhcm5pbmcsIDEwJSksIDIwJSkgIDAlLFxuXHRcdFx0XHRkZXNhdHVyYXRlKGxpZ2h0ZW4oJGNvbG9yLXdhcm5pbmcsIDUlKSwgMjAlKSAgOCUsXG5cdFx0XHRcdGRlc2F0dXJhdGUoJGNvbG9yLXdhcm5pbmcsIDIwJSkgIDUwJSxcblx0XHRcdFx0ZGVzYXR1cmF0ZShkYXJrZW4obWl4KCRjb2xvci13YXJuaW5nLCAkY29sb3ItYnV0dG9uLWRlc3RydWN0aXZlLCA5OSUpLDAlKSwgMjAlKSAgNTQlLFxuXHRcdFx0XHRkZXNhdHVyYXRlKGRhcmtlbihtaXgoJGNvbG9yLXdhcm5pbmcsICRjb2xvci1idXR0b24tZGVzdHJ1Y3RpdmUsIDgwJSksMSUpLCAyMCUpICA5NiUsXG5cdFx0XHRcdGRlc2F0dXJhdGUoZGFya2VuKG1peCgkY29sb3Itd2FybmluZywgJGNvbG9yLWJ1dHRvbi1kZXN0cnVjdGl2ZSwgNzAlKSwyJSksIDIwJSkgMTAwJVxuXHRcdFx0KTtcblx0XHR9XG5cblx0XHQuc3MtdXBsb2FkZmllbGQtaXRlbS1uYW1lIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHRtYXJnaW46IDNweCAwIDNweCA1MHB4O1xuXHRcdFx0d2lkdGg6IDUwJTtcblx0XHRcdGNvbG9yOiBsaWdodGVuKCRjb2xvci10ZXh0LCAxMCUpO1xuXHRcdFx0YmFja2dyb3VuZDogJGNvbG9yLWJ1dHRvbi1kaXNhYmxlZDsgLy9mb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IHJnYmFcblx0XHRcdGJhY2tncm91bmQ6IHJnYmEoI2ZmZiwgMC44KTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xuXHRcdFx0aGVpZ2h0OiAyMnB4O1xuXHRcdFx0cGFkZGluZzogMCA1cHg7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0Ly9kaXNwbGF5OnRhYmxlLCBhbmQgdGFibGUtbGF5b3V0OmZpeGVkIGFsbG93cyB1cyB0byB1c2UgcGVyY2VudGFnZXMgd2l0aCB0ZXh0LW92ZXJmbG93XG5cdFx0XHRkaXNwbGF5OnRhYmxlO1xuXHRcdFx0dGFibGUtbGF5b3V0OmZpeGVkO1xuXG5cdFx0XHQubmFtZSB7XG5cdFx0XHRcdHRleHQtc2hhZG93OiAwcHggMXB4IDBweCByZ2JhKCNmZmYsIDAuNSk7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdG1heC13aWR0aDogNTAlO1xuXHRcdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdFx0XHRwYWRkaW5nOiAwIDVweCAwIDA7XG5cdFx0XHRcdEBpbmNsdWRlIGhpZGUtdGV4dC1vdmVyZmxvdztcblx0XHRcdH1cblx0XHRcdC5zcy11cGxvYWRmaWVsZC1pdGVtLXN0YXR1cyB7XG5cdFx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRcdHBhZGRpbmc6IDAgMCAwIDVweDtcblx0XHRcdFx0bWF4LXdpZHRoOjMwJTtcblx0XHRcdFx0QGluY2x1ZGUgaGlkZS10ZXh0LW92ZXJmbG93O1xuXHRcdFx0XHR0ZXh0LXNoYWRvdzogMHB4IDFweCAwcHggcmdiYSgjZmZmLCAwLjUpO1xuXG5cdFx0XHRcdCYudWktc3RhdGUtZXJyb3ItdGV4dCB7XG5cdFx0XHRcdFx0dGV4dC1zaGFkb3c6IDBweCAxcHggMHB4IHJnYmEoI2ZmZiwgMC42KTtcblx0XHRcdFx0XHRjb2xvcjogZGFya2VuKCRjb2xvci1idXR0b24tZGVzdHJ1Y3RpdmUsIDEwJSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ji51aS1zdGF0ZS13YXJuaW5nLXRleHQge1xuXHRcdFx0XHRcdGNvbG9yOiBkYXJrZW4oJGNvbG9yLXdhcm5pbmcsIDEwJSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ji51aS1zdGF0ZS1zdWNjZXNzLXRleHQge1xuXHRcdFx0XHRcdGNvbG9yOiAkY29sb3ItYnV0dG9uLWNvbnN0cnVjdGl2ZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQuc3MtdXBsb2FkZmllbGQtaXRlbS1hY3Rpb25zIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHotaW5kZXg6IDA7XG5cdFx0XHRAaW5jbHVkZSBzcy11cGxvYWRmaWVsZC1hY3Rpb24tYnV0dG9ucztcblx0XHR9XG5cblx0XHQuc3MtdXBsb2FkZmllbGQtaXRlbS1wcm9ncmVzcyB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0ZGl2IHtcblx0XHRcdFx0aGVpZ2h0OiAzMHB4O1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0tcHJvZ3Jlc3NiYXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjOTJhNmIzO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjOTJhNmIzIDAlLCM5MGFhYjggMTElLCM5NmIxYmYgMjIlLCM5ZWI0YzEgMzMlLCNhN2JhYzcgNDQlLCNjMWQ1ZGMgMTAwJSk7XG5cdFx0XHR9XG5cdFx0XHQuc3MtdXBsb2FkZmllbGQtaXRlbS1wcm9ncmVzc2JhcnZhbHVlIHtcblx0XHRcdFx0d2lkdGg6IDA7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICM2MGIzZGQgdXJsKC4uL2ltYWdlcy9wcm9ncmVzc2Jhcl9ibHVlLmdpZikgcmVwZWF0IGxlZnQgY2VudGVyO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5zcy11cGxvYWRmaWVsZC1pdGVtLWVkaXRmb3JtIHtcblx0XHRcdC8qIGRvbid0IHVzZSBkaXNwbGF5IG5vbmUsIGZvciBpdCB3aWxsIGJyZWFrIGpRdWVyeSgnaWZyYW1lJykuY29udGVudHMoKS5oZWlnaHQoKSAqL1xuXHRcdFx0aGVpZ2h0OiAwO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdGNsZWFyOiBib3RoO1xuXG5cdFx0XHQmLmxvYWRpbmcge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiAyMnB4O1xuXHRcdFx0XHRwYWRkaW5nOiAxNXB4IDA7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHVybCguLi8uLi9hZG1pbi9jbGllbnQvZGlzdC9pbWFnZXMvc3Bpbm5lci5naWYpIG5vLXJlcGVhdCA1MCUgNTAlO1xuXG5cdFx0XHRcdGlmcmFtZSB7XG5cdFx0XHRcdFx0LyogT2xkIElFIG5lZWRzIHRoaXMgb3IgaXQnbGwgZ2l2ZSB0aGUgaWZyYW1lIGEgd2hpdGUgYmFja2dyb3VuZCwgY292ZXJpbmcgdGhlIHNwaW5uZXIgKi9cblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAzN3B4O1xuXHRcdFx0XHRcdGJvcmRlcjogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRpZnJhbWUge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0cGFkZGluZzogJGdyaWQteCAqIDI7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNFMkUyRTI7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnNzLXVwbG9hZGZpZWxkLWFkZGZpbGUge1xuXG5cdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0taW5mbyA+IHNwYW4ge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRjb2xvcjogbGlnaHRlbigkY29sb3ItdGV4dCwgMjAlKTtcblx0XHRcdG1hcmdpbi10b3A6IC0xMnB4O1xuXHRcdH1cblxuXHRcdC5zcy11cGxvYWRmaWVsZC1mcm9tY29tcHV0ZXIgLnNzLWluc2VydC1tZWRpYSAmIHtcblx0XHRcdG1hcmdpbjogMCAxMnB4IDAgMDtcblx0XHR9XG5cdH1cbn1cblxuLnNzLXVwbG9hZGZpZWxkLWRyb3B6b25lIHtcblx0Jjo6YWZ0ZXIge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgyMzYsIDIzOSwgMjQxLCAuOSkgdXJsKCcuLi8uLi9hZG1pbi9jbGllbnQvZGlzdC9pbWFnZXMvZHJhZ19kcm9wX29wdC5zdmcnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDMxMnB4IDMyNXB4O1xuXHRcdHotaW5kZXg6IDEwMDtcblx0fVxuXG5cdCYuYWN0aXZlLmhvdmVyOjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdH1cbn1cblxuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFwiQDJ4XCIgbWVkaWEgcXVlcnlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQG1lZGlhXG5cdG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcblx0b25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuXHRvbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSxcblx0b25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuXHRvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSxcblx0b25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSB7XG5cblx0LyogTG9hZGluZyBzcGlubmVyICovXG5cdC5zcy1hc3NldHVwbG9hZGZpZWxkIHtcblx0XHQuc3MtdXBsb2FkZmllbGQtZmlsZXMge1xuXHRcdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0tZWRpdGZvcm0ge1xuXHRcdFx0XHQmLmxvYWRpbmcge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9hZG1pbi9jbGllbnQvZGlzdC9pbWFnZXMvc3Bpbm5lckAyeC5naWYpO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogNDNweCA0M3B4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgdGhlIGtleXMgZm9yIGJvb3RzdHJhcCB2YXJpYWJsZXMsIHRoZSBjb21tZW50ZWQgY29kZSBpcyBib290c3RyYXAncyBkZWZhdWx0IHZhbHVlcy5cbi8vIENvbW1lbnRlZCBsaW5lcyBpbmRpY2F0ZSB0aGF0IHRoZSBkZWZhdWx0IEJvb3RzdHJhcCB2YWx1ZXMgYXJlIGJlaW5nIHVzZWQuXG4vLyBBbGwgdmFyaWFibGVzIHdoaWNoIGFyZSB1bmNvbW1lbnRlZCB0aGUgdmFsdWVzIHdpbGwgYmUgaW4gdXNlIHNvIGJlIGNhdXRpb3VzIHdoZW4gYWRqdXN0aW5nIHRoZWlyIHZhbHVlcy4uXG5cblxuLy8gVGFibGUgb2YgQ29udGVudHNcbi8vXG4vLyBDb2xvcnNcbi8vIE9wdGlvbnNcbi8vIFNwYWNpbmdcbi8vIEJvZHlcbi8vIExpbmtzXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vIEdyaWQgY29sdW1uc1xuLy8gRm9udHNcbi8vIENvbXBvbmVudHNcblxuLy8gR2VuZXJhbCB2YXJpYWJsZSBzdHJ1Y3R1cmVcbi8vIFZhcmlhYmxlIGZvcm1hdCBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1tb2RpZmllci1zdGF0ZS1wcm9wZXJ0eWAgb3JkZXIuXG5cblxuLy8gQ29sb3JzXG4vLyBHcmF5c2NhbGUgYW5kIGJyYW5kIGNvbG9ycyBmb3IgdXNlIGFjcm9zcyBCb290c3RyYXAuXG5cblxuJGdyYXktZGFyazogIzRmNTg2MTsgLy8gVXNlZCBmb3IgdGV4dFxuJGdyYXk6IGxpZ2h0ZW4oJGdyYXktZGFyaywgMiUpO1xuJGdyYXktbGlnaHQ6IGxpZ2h0ZW4oJGdyYXktZGFyaywgNTAlKTtcbiRncmF5LWxpZ2h0ZXI6IGxpZ2h0ZW4oJGdyYXktZGFyaywgNTclKTtcbi8vICRncmF5LWxpZ2h0ZXN0OiAjZjdmN2Y5O1xuJGdyYXktZGFya2VyOiBkYXJrZW4oJGdyYXktZGFyaywgMTAlKTtcbiRncmF5LWRhcmtlc3Q6IGRhcmtlbigkZ3JheS1kYXJrLCAyMCUpO1xuJHdoaXRlOiAjZmZmOyAvLyBOZXZlciBjaGFuZ2UsIGNyZWF0ZSBuZXcgdmFyaWFibGUgaWYgbmVlZGVkXG4kYmxhY2s6ICMwMDA7IC8vIE5ldmVyIGNoYW5nZVxuXG4kYnJhbmQtc2Vjb25kYXJ5OiAjMDA1YTkzO1xuJGJyYW5kLXByaW1hcnk6ICMyOWFiZTI7XG4kYnJhbmQtc3VjY2VzczogIzNmYTE0Mjtcbi8vICRicmFuZC1pbmZvOiAjNWJjMGRlO1xuLy8gJGJyYW5kLXdhcm5pbmc6ICNmMGFkNGU7XG4kYnJhbmQtZGFuZ2VyOiAjZDQwNDA0O1xuXG4vLyBCYWNrZ3JvdW5kc1xuJGJhY2tncm91bmQtbWFpbjogI2Y2ZjdmODtcbiRiYWNrZ3JvdW5kLWRhcmtlcjogZGFya2VuKCRiYWNrZ3JvdW5kLW1haW4sIDIpO1xuXG5cbi8vIEJvcmRlcnNcbiRib3JkZXItY29sb3ItbGlnaHRlcjogZGFya2VuKCRiYWNrZ3JvdW5kLW1haW4sIDIpO1xuJGJvcmRlci1jb2xvci1saWdodDogZGFya2VuKCRiYWNrZ3JvdW5kLW1haW4sIDYpO1xuJGJvcmRlci1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLW1haW4sIDEwKTtcbiRib3JkZXItY29sb3ItZGFyazogZGFya2VuKCRiYWNrZ3JvdW5kLW1haW4sIDE0KTtcblxuLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cblxuJGVuYWJsZS1mbGV4OiB0cnVlO1xuLy8gJGVuYWJsZS1yb3VuZGVkOiB0cnVlO1xuJGVuYWJsZS1zaGFkb3dzOiB0cnVlO1xuLy8gJGVuYWJsZS1ncmFkaWVudHM6IGZhbHNlO1xuJGVuYWJsZS10cmFuc2l0aW9uczogdHJ1ZTtcbi8vICRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnk6IGZhbHNlO1xuLy8gJGVuYWJsZS1ncmlkLWNsYXNzZXM6IHRydWU7XG5cblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cblxuJHNwYWNlcjogMS4yMzA4cmVtOyAvLyAkZm9udC1zaXplLXJvb3QgKDEzcHgpICogJHNwYWNlciA9IDE2cHhcbiRzcGFjZXIteDogJHNwYWNlcjtcbiRzcGFjZXIteTogJHNwYWNlcjtcblxuJHNwYWNlcnM6IChcbiAgMDogKFxuICAgIHg6IDAsXG4gICAgeTogMFxuICApLFxuICAxOiAoXG4gICAgeDogJHNwYWNlci14LFxuICAgIHk6ICRzcGFjZXIteVxuICApLFxuICAyOiAoXG4gICAgeDogKCRzcGFjZXIteCAqIDEuNSksXG4gICAgeTogKCRzcGFjZXIteSAqIDEuNSlcbiAgKSxcbiAgMzogKFxuICAgIHg6ICgkc3BhY2VyLXggKiAzKSxcbiAgICB5OiAoJHNwYWNlci15ICogMylcbiAgKVxuKTtcbiRib3JkZXItd2lkdGg6IDFweDtcblxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogJGJhY2tncm91bmQtbWFpbjtcbiRib2R5LWNvbG9yOiAkZ3JheS1kYXJrOyAvLyBlZy4gVGV4dCwgbGFiZWxzLCBpY29ub2dyYXBoeVxuJGJvZHktY29sb3ItbGlnaHQ6IGxpZ2h0ZW4oJGdyYXktZGFyaywgMTApOyAvLyBlZy4gRmllbGQgZGVzY3JpcHRpb25zXG4kYm9keS1jb2xvci1saWdodGVyOiBsaWdodGVuKCRncmF5LWRhcmssIDIwKTsgLy8gZWcuIHBsYWNlaG9sZGVyIHRleHRcbiRib2R5LWNvbG9yLWRhcms6ICAgIGRhcmtlbigkYm9keS1jb2xvciwgMTAlKTsgIC8vIGVnLiBpY29ub2dyYXBoeSBob3ZlcmVkXG5cblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAjMDA3MWM0O1xuJGxpbmstZGVjb3JhdGlvbjogbm9uZTtcbiRsaW5rLWhvdmVyLWNvbG9yOiBkYXJrZW4oJGxpbmstY29sb3IsIDUlKTtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246IHVuZGVybGluZTtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGFuZCBtYXhpbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIC8vIEV4dHJhIHNtYWxsIHNjcmVlbiAvIHBob25lXG4gIHhzOiAwLFxuICAvLyBTbWFsbCBzY3JlZW4gLyBwaG9uZVxuICBzbTogNTQ0cHgsXG4gIC8vIE1lZGl1bSBzY3JlZW4gLyB0YWJsZXRcbiAgbWQ6IDc2OHB4LFxuICAvLyBMYXJnZSBzY3JlZW4gLyBkZXNrdG9wXG4gIGxnOiA5OTJweCxcbiAgLy8gRXh0cmEgbGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4gIHhsOiAxMjAwcHgsXG4gIC8vIEV4dHJhIGV4dHJhIGxhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuICB4eGw6IDE0MDBweFxuKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU3NnB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NDBweCxcbiAgeGw6IDExNDBweFxuKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogMTI7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICRzcGFjZXIgKiAyLjU7IC8vIDQwcHhcbiRncmlkLWd1dHRlci13aWR0aC1oYWxmOiAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyOyAvLyBUT0RPOiBEZXByZWNhdGUgdGhpcywgcmVwbGFjaW5nIHdpdGggJHBhbmVsLXBhZGRpbmcteCBhbmQgJHBhbmVsLXBhZGRpbmcteVxuXG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1zZXJpZjogR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuJGZvbnQtZmFtaWx5LWJhc2U6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuXG4vLyBQaXhlbCB2YWx1ZSB1c2VkIHRvIHJlc3BvbnNpdmVseSBzY2FsZSBhbGwgdHlwb2dyYXBoeS4gQXBwbGllZCB0byB0aGUgYDxodG1sPmAgZWxlbWVudC5cbiRmb250LXNpemUtcm9vdDogMTNweDtcblxuJGZvbnQtc2l6ZS1iYXNlOiAxcmVtO1xuJGZvbnQtc2l6ZS1sZzogMS4yM3JlbTsgLy8gMTZweFxuJGZvbnQtc2l6ZS1zbTogLjkyM3JlbTsgLy8gMTJweFxuJGZvbnQtc2l6ZS14czogLjg0N3JlbTsgLy8gMTFweFxuJGZvbnQtc2l6ZS14eHM6IC43N3JlbTsgLy8gMTBweFxuXG4kZm9udC1zaXplLWgxOiAxLjY5M3JlbTsgLy8gMjJweFxuJGZvbnQtc2l6ZS1oMjogMThweDsgLy8gMnJlbTtcbiRmb250LXNpemUtaDM6IDE2cHg7IC8vIDEuNzVyZW07XG4kZm9udC1zaXplLWg0OiAxNHB4OyAvLyAxLjVyZW07XG4kZm9udC1zaXplLWg1OiAxM3B4OyAvLyAxLjI1cmVtO1xuJGZvbnQtc2l6ZS1oNjogMTJweDsgLy8gMXJlbTtcblxuLy8gJGRpc3BsYXkxLXNpemU6IDZyZW07XG4vLyAkZGlzcGxheTItc2l6ZTogNS41cmVtO1xuLy8gJGRpc3BsYXkzLXNpemU6IDQuNXJlbTtcbi8vICRkaXNwbGF5NC1zaXplOiAzLjVyZW07XG4vL1xuLy8gJGRpc3BsYXkxLXdlaWdodDogMzAwO1xuLy8gJGRpc3BsYXkyLXdlaWdodDogMzAwO1xuLy8gJGRpc3BsYXkzLXdlaWdodDogMzAwO1xuLy8gJGRpc3BsYXk0LXdlaWdodDogMzAwO1xuXG4kbGluZS1oZWlnaHQ6IDEuNTM5O1xuJGxpbmUtaGVpZ2h0LWJhc2U6IDIwcHg7IC8vIGNhbiBiZSB1c2VkIHdpdGggdmFyeWluZyBmb250LXNpemVzLCBob2xkcyBncmlkIHNpemluZ1xuXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogaW5oZXJpdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogNTAwO1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAxLjE7XG4kaGVhZGluZ3MtY29sb3I6IGluaGVyaXQ7XG5cbi8vICRsZWFkLWZvbnQtc2l6ZTogMS4yNXJlbTtcbi8vICRsZWFkLWZvbnQtd2VpZ2h0OiAzMDA7XG4vL1xuJHRleHQtbXV0ZWQ6IGxpZ2h0ZW4oJGJvZHktY29sb3IsIDEwJSk7XG4vL1xuLy8gJGFiYnItYm9yZGVyLWNvbG9yOiAkZ3JheS1saWdodDtcbi8vXG4vLyAkYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogJGdyYXktbGlnaHQ7XG4vLyAkYmxvY2txdW90ZS1mb250LXNpemU6ICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KTtcbi8vICRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogJGdyYXktbGlnaHRlcjtcbi8vXG4vLyAkaHItYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4xKTtcbi8vICRoci1ib3JkZXItd2lkdGg6ICRib3JkZXItd2lkdGg7XG4vL1xuLy8gJGR0LWZvbnQtd2VpZ2h0OiBib2xkO1xuLy9cbi8vICRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiBib2xkO1xuLy9cbi8vICRsaXN0LWlubGluZS1wYWRkaW5nOiA1cHg7XG5cblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuJGxpbmUtaGVpZ2h0LWxnOiAoNCAvIDMpO1xuJGxpbmUtaGVpZ2h0LXNtOiAxLjU7XG5cbiRib3JkZXItcmFkaXVzOiAuMjVyZW07XG4kYm9yZGVyLXJhZGl1cy1sZzogLjNyZW07XG4kYm9yZGVyLXJhZGl1cy1zbTogLjJyZW07XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAkd2hpdGU7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogJGJyYW5kLXByaW1hcnk7IC8vIFNTMyB3YXMgIzMzOERDMVxuJGNvbXBvbmVudC1hY3RpdmUtYmctbGlnaHQ6IGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDQyJSk7XG4kY29tcG9uZW50LWFjdGl2ZS1ib3JkZXItY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuXG4kY2FyZXQtd2lkdGg6IC4zZW07XG4kY2FyZXQtd2lkdGgtbGc6ICRjYXJldC13aWR0aDtcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICRzcGFjZXI7XG4kdGFibGUtc20tY2VsbC1wYWRkaW5nOiAkc3BhY2VyICogLjc1O1xuXG4kdGFibGUtYmc6IHRyYW5zcGFyZW50O1xuJHRhYmxlLWJnLWFjY2VudDogJHdoaXRlOyAvLyBsaWdodGVuKCNmMGY0ZjcsIDElKSAjRjBGNEY3ICNlOWYwZjRcbiR0YWJsZS1iZy1ob3ZlcjogI2YwZjRmNztcbiR0YWJsZS1iZy1hY3RpdmU6ICRicmFuZC1wcmltYXJ5O1xuJHRhYmxlLWJnLXRvb2xzOiAkZ3JheS1kYXJrO1xuJHRhYmxlLWJnLWZvb3RlcjogJGJhY2tncm91bmQtbWFpbjtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogJGJvcmRlci13aWR0aDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICRncmF5LWxpZ2h0ZXI7XG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tcGFkZGluZy14OiAuNzY5MnJlbTsgLy8gMTBweFxuJGJ0bi1wYWRkaW5nLXk6IC4zODQ2cmVtOyAvLyA1cHhcbiRidG4tZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuJGJ0bi1wcmltYXJ5LWNvbG9yOiAkd2hpdGU7XG4kYnRuLXByaW1hcnktYmc6ICRicmFuZC1zdWNjZXNzO1xuJGJ0bi1wcmltYXJ5LWJvcmRlcjogJGJ0bi1wcmltYXJ5LWJnO1xuJGJ0bi1wcmltYXJ5LXNoYWRvdzogZGFya2VuKCRidG4tcHJpbWFyeS1iZywgNiUpO1xuXG4kYnRuLXNlY29uZGFyeS1jb2xvcjogJGJvZHktY29sb3ItbGlnaHQ7XG4kYnRuLXNlY29uZGFyeS1iZzogJGdyYXktbGlnaHRlcjtcbiRidG4tc2Vjb25kYXJ5LWJvcmRlcjogJGJvcmRlci1jb2xvci1kYXJrO1xuXG4vLyAkYnRuLWluZm8tY29sb3I6ICNmZmY7XG4vLyAkYnRuLWluZm8tYmc6ICRicmFuZC1pbmZvO1xuLy8gJGJ0bi1pbmZvLWJvcmRlcjogJGJ0bi1pbmZvLWJnO1xuXG4vLyAkYnRuLXN1Y2Nlc3MtY29sb3I6ICNmZmY7XG4vLyAkYnRuLXN1Y2Nlc3MtYmc6ICRicmFuZC1zdWNjZXNzO1xuLy8gJGJ0bi1zdWNjZXNzLWJvcmRlcjogJGJ0bi1zdWNjZXNzLWJnO1xuXG4kYnRuLWNvbXBsZXRlLWNvbG9yOiAjNTU1O1xuJGJ0bi1jb21wbGV0ZS1iZzogJGJ0bi1wcmltYXJ5LWJnO1xuJGJ0bi1jb21wbGV0ZS1ib3JkZXI6ICRncmF5LWxpZ2h0O1xuJGJ0bi1jb21wbGV0ZS1zaGFkb3c6IGRhcmtlbigkYnRuLXByaW1hcnktYmcsIDYlKTtcblxuLy8gJGJ0bi13YXJuaW5nLWNvbG9yOiAjZmZmO1xuLy8gJGJ0bi13YXJuaW5nLWJnOiAkYnJhbmQtd2FybmluZztcbi8vICRidG4td2FybmluZy1ib3JkZXI6ICRidG4td2FybmluZy1iZztcblxuJGJ0bi1kYW5nZXItY29sb3I6ICR3aGl0ZTtcbiRidG4tZGFuZ2VyLWJnOiAkYnJhbmQtZGFuZ2VyO1xuJGJ0bi1kYW5nZXItYm9yZGVyOiAkYnJhbmQtZGFuZ2VyO1xuXG4vLyAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICRncmF5LWxpZ2h0O1xuLy9cbi8vICRidG4tcGFkZGluZy14LXNtOiAuNzVyZW07XG4vLyAkYnRuLXBhZGRpbmcteS1zbTogLjI1cmVtO1xuLy9cbi8vICRidG4tcGFkZGluZy14LWxnOiAxLjI1cmVtO1xuLy8gJGJ0bi1wYWRkaW5nLXktbGc6IC43NXJlbTtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAuMjNyZW07XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6IC4yNXJlbTtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogLjE1NHJlbTtcblxuXG4vLyBGb3Jtc1xuXG4kaW5wdXQtcGFkZGluZy14OiAuNzVyZW07XG4kaW5wdXQtcGFkZGluZy15OiAuNTM4NXJlbTtcbiRpbnB1dC1tYXgtd2lkdGg6IDg5NXB4OyAvLyBBcHByb3ggbWF4IHBvc3NpYmxlIGF0IHNtYWxsIHNjcmVlbiBzaXplc1xuXG4kaW5wdXQtYmc6ICR3aGl0ZTtcbiRpbnB1dC1iZy1kaXNhYmxlZDogJGJhY2tncm91bmQtZGFya2VyO1xuXG4kaW5wdXQtY29sb3I6ICRib2R5LWNvbG9yLWxpZ2h0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvci1kYXJrO1xuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICRib3JkZXItd2lkdGg7IC8vIEZvciBmb3JtIGNvbnRyb2xzIGFuZCBidXR0b25zXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBDb2xvclZhcmlhYmxlXG4kaW5wdXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSk7XG4vLyBzY3NzLWxpbnQ6ZW5hYmxlIENvbG9yVmFyaWFibGVcblxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICRib3JkZXItcmFkaXVzLWxnO1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICRib3JkZXItcmFkaXVzLXNtO1xuXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAjNjZhZmU5O1xuLy8gc2Nzcy1saW50OmRpc2FibGUgQ29sb3JWYXJpYWJsZVxuJGlucHV0LWJveC1zaGFkb3ctZm9jdXM6IHJnYmEoMTAyLCAxNzUsIDIzMywgLjYpO1xuLy8gc2Nzcy1saW50OmVuYWJsZSBDb2xvclZhcmlhYmxlXG5cbi8vICRpbnB1dC1jb2xvci1wbGFjZWhvbGRlcjogIzk5OTtcbi8vXG4vLyAkaW5wdXQtcGFkZGluZy14LXNtOiAuNzVyZW07XG4vLyAkaW5wdXQtcGFkZGluZy15LXNtOiAuMjc1cmVtO1xuLy9cbi8vICRpbnB1dC1wYWRkaW5nLXgtbGc6IDEuMjVyZW07XG4vLyAkaW5wdXQtcGFkZGluZy15LWxnOiAuNzVyZW07XG4vL1xuLy8gJGlucHV0LWhlaWdodDogKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQpICsgKCRpbnB1dC1wYWRkaW5nLXkgKiAyKSk7XG4vLyAkaW5wdXQtaGVpZ2h0LWxnOiAoKCRmb250LXNpemUtbGcgKiAkbGluZS1oZWlnaHQtbGcpICsgKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyKSk7XG4vLyAkaW5wdXQtaGVpZ2h0LXNtOiAoKCRmb250LXNpemUtc20gKiAkbGluZS1oZWlnaHQtc20pICsgKCRpbnB1dC1wYWRkaW5nLXktc20gKiAyKSk7XG4vL1xuLy8gJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogJHNwYWNlci15O1xuLy9cbi8vICRpbnB1dC1ncm91cC1hZGRvbi1iZzogJGdyYXktbGlnaHRlcjtcbi8vICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXItY29sb3I7XG4vL1xuLy8gJGN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uIGljb25zXG4vLyAkZm9ybS1pY29uLXN1Y2Nlc3M6IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQTJNVElnTnpreUlqNDhjR0YwYUNCbWFXeHNQU0lqTldOaU9EVmpJaUJrUFNKTk1qTXpMamdnTmpFd1l5MHhNeTR6SURBdE1qWXROaTB6TkMweE5pNDRURGt3TGpVZ05EUTRMamhETnpZdU15QTBNekFnT0RBZ05EQXpMak1nT1RndU9DQXpPRGxqTVRndU9DMHhOQzR5SURRMUxqVXRNVEF1TkNBMU9TNDRJRGd1Tkd3M01pQTVOVXcwTlRFdU15QXlOREpqTVRJdU5TMHlNQ0F6T0M0NExUSTJMaklnTlRndU9DMHhNeTQzSURJd0lERXlMalFnTWpZZ016Z3VOeUF4TXk0M0lEVTRMamhNTWpjd0lEVTVNR010Tnk0MElERXlMVEl3TGpJZ01Ua3VOQzB6TkM0eklESXdhQzB5ZWlJdlBqd3ZjM1puUGc9PVwiO1xuLy8gJGZvcm0taWNvbi13YXJuaW5nOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0EyTVRJZ056a3lJajQ4Y0dGMGFDQm1hV3hzUFNJalpqQmhaRFJsSWlCa1BTSk5OakF6SURZME1DNHliQzB5TnpndU5TMDFNRGxqTFRNdU9DMDJMall0TVRBdU9DMHhNQzQyTFRFNExqVXRNVEF1Tm5NdE1UUXVOeUEwTFRFNExqVWdNVEF1Tmt3NUlEWTBNQzR5WXkwekxqY2dOaTQxTFRNdU5pQXhOQzQwTGpJZ01qQXVPQ0F6TGpnZ05pNDFJREV3TGpnZ01UQXVOQ0F4T0M0eklERXdMalJvTlRVM1l6Y3VOaUF3SURFMExqWXROQ0F4T0M0MExURXdMalFnTXk0MUxUWXVOQ0F6TGpZdE1UUXVOQ0F3TFRJd0xqaDZiUzB5TmpZdU5DMHpNR2d0TmpFdU1sWTFORGxvTmpFdU1uWTJNUzR5ZW0wd0xURXdOMmd0TmpFdU1sWXpNRFJvTmpFdU1uWXhPVGw2SWk4K1BDOXpkbWMrXCI7XG4vLyAkZm9ybS1pY29uLWRhbmdlcjogXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBMk1USWdOemt5SWo0OGNHRjBhQ0JtYVd4c1BTSWpaRGsxTXpSbUlpQmtQU0pOTkRRM0lEVTBOQzQwWXkweE5DNDBJREUwTGpRdE16Y3VOaUF4TkM0MExUVXlJREJzTFRnNUxUa3lMamN0T0RrZ09USXVOMk10TVRRdU5TQXhOQzQwTFRNM0xqY2dNVFF1TkMwMU1pQXdMVEUwTGpRdE1UUXVOQzB4TkM0MExUTTNMallnTUMwMU1tdzVNaTQwTFRrMkxqTXRPVEl1TkMwNU5pNHpZeTB4TkM0MExURTBMalF0TVRRdU5DMHpOeTQySURBdE5USnpNemN1TmkweE5DNHpJRFV5SURCc09Ea2dPVEl1T0NBNE9TNHlMVGt5TGpkak1UUXVOQzB4TkM0MElETTNMall0TVRRdU5DQTFNaUF3SURFMExqTWdNVFF1TkNBeE5DNHpJRE0zTGpZZ01DQTFNa3d6TlRRdU5pQXpPVFpzT1RJdU5DQTVOaTQwWXpFMExqUWdNVFF1TkNBeE5DNDBJRE0zTGpZZ01DQTFNbm9pTHo0OEwzTjJaejQ9XCI7XG5cblxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4vLyAkZHJvcGRvd24tYmc6ICNmZmY7XG4vLyAkZHJvcGRvd24tYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4xNSk7XG4vLyAkZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAkYm9yZGVyLXdpZHRoO1xuLy8gJGRyb3Bkb3duLWRpdmlkZXItYmc6ICNlNWU1ZTU7XG4vL1xuLy8gJGRyb3Bkb3duLWxpbmstY29sb3I6ICRncmF5LWRhcms7XG4vLyAkZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogZGFya2VuKCRncmF5LWRhcmssIDUlKTtcbi8vICRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAjZjVmNWY1O1xuLy9cbi8vICRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogJGNvbXBvbmVudC1hY3RpdmUtY29sb3I7XG4vLyAkZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICRjb21wb25lbnQtYWN0aXZlLWJnO1xuLy9cbi8vICRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ3JheS1saWdodDtcbi8vXG4vLyAkZHJvcGRvd24taGVhZGVyLWNvbG9yOiAkZ3JheS1saWdodDtcblxuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbi8vICR6aW5kZXgtbmF2YmFyOiAxMDAwO1xuLy8gJHppbmRleC1kcm9wZG93bjogMTAwMDtcbiR6aW5kZXgtcG9wb3ZlcjogMTA2MDtcbi8vICR6aW5kZXgtdG9vbHRpcDogMTA3MDtcbi8vICR6aW5kZXgtbmF2YmFyLWZpeGVkOiAxMDMwO1xuLy8gJHppbmRleC1uYXZiYXItc3RpY2t5OiAxMDMwO1xuLy8gJHppbmRleC1tb2RhbC1iZzogMTA0MDtcbi8vICR6aW5kZXgtbW9kYWw6IDEwNTA7XG5cblxuLy8gU1MgdG9vbGJhcnNcbi8vIFVzZWQgZm9yIHVpIGxheW91dCB3aGljaCBjb250YWlucyBtYWluIGFjdGlvbnMsIHNlY29uZGF5IHBhZ2UgYWN0aW9uLCB0b3AgYnJlYWRjcnVtYnMgYW5kIG5hdmlnYXRpb24gYmFycy5cblxuJHRvb2xiYXItaGVpZ2h0OiA1MnB4O1xuJHRvb2xiYXItdG90YWwtaGVpZ2h0OiAkdG9vbGJhci1oZWlnaHQgKyAxcHg7IC8vIEluY2x1ZGUgYm9yZGVyXG5cblxuLy8gTmF2YmFyXG5cbiRuYXZiYXItYm9yZGVyLXJhZGl1czogIDA7XG4kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDogJHNwYWNlcjtcbiRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbDogKCRzcGFjZXIgLyAyKTtcblxuLy8gJG5hdmJhci1kYXJrLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC41KTtcbi8vICRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNzUpO1xuLy8gJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwxKTtcbi8vICRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMjUpO1xuLy9cbi8vICRuYXZiYXItbGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsLjMpO1xuLy8gJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogcmdiYSgwLDAsMCwuNik7XG4vLyAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogcmdiYSgwLDAsMCwuOCk7XG4vLyAkbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiByZ2JhKDAsMCwwLC4xNSk7XG5cblxuLy8gTmF2c1xuXG4kbmF2LXRhYnMtbGluay1ib3JkZXItd2lkdGg6IC4xNTM4cmVtOyAgLy8gMnB4XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICRncmF5LWxpZ2h0O1xuXG4kbmF2LWxpbmstcGFkZGluZzogJHNwYWNlci15ICN7JHNwYWNlci14IC8gNH0gI3skc3BhY2VyLXkgLSAkbmF2LXRhYnMtbGluay1ib3JkZXItd2lkdGh9O1xuJG5hdi1saW5rLWhvdmVyLWJnOiB0cmFuc3BhcmVudDtcblxuLy8gJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yOiAkZ3JheS1saWdodDtcbi8vICRuYXYtZGlzYWJsZWQtbGluay1ob3Zlci1jb2xvcjogJGdyYXktbGlnaHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc6IHRyYW5zcGFyZW50O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAkYm9keS1jb2xvcjtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICRib2R5LWNvbG9yLWxpZ2h0O1xuXG4vLyAkbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yOiAjZGRkO1xuLy8gJG5hdi10YWJzLWp1c3RpZmllZC1hY3RpdmUtbGluay1ib3JkZXItY29sb3I6ICRib2R5LWJnO1xuXG4vLyAkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuLy8gJG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1iZzogJGNvbXBvbmVudC1hY3RpdmUtYmc7XG4vLyAkbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAkY29tcG9uZW50LWFjdGl2ZS1jb2xvcjtcblxuXG4vLyBQYWdpbmF0aW9uXG5cbi8vICRwYWdpbmF0aW9uLXBhZGRpbmcteDogLjc1cmVtO1xuLy8gJHBhZ2luYXRpb24tcGFkZGluZy15OiAuNXJlbTtcbi8vICRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogLjc1cmVtO1xuLy8gJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAuMjc1cmVtO1xuLy8gJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAxLjVyZW07XG4vLyAkcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6IC43NXJlbTtcbi8vXG4vL1xuLy8gJHBhZ2luYXRpb24tY29sb3I6ICRsaW5rLWNvbG9yO1xuLy8gJHBhZ2luYXRpb24tYmc6ICNmZmY7XG4vLyAkcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICRib3JkZXItd2lkdGg7XG4vLyAkcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICNkZGQ7XG4vL1xuLy8gJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuLy8gJHBhZ2luYXRpb24taG92ZXItYmc6ICRncmF5LWxpZ2h0ZXI7XG4vLyAkcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXI6ICNkZGQ7XG4vL1xuLy8gJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAjZmZmO1xuLy8gJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAkYnJhbmQtcHJpbWFyeTtcbi8vICRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI6ICRicmFuZC1wcmltYXJ5O1xuLy9cbi8vICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAkZ3JheS1saWdodDtcbi8vICRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAjZmZmO1xuLy8gJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyOiAjZGRkO1xuXG5cbi8vIFBhZ2VyXG5cbi8vICRwYWdlci1iZzogJHBhZ2luYXRpb24tYmc7XG4vLyAkcGFnZXItYm9yZGVyLXdpZHRoOiAkYm9yZGVyLXdpZHRoO1xuLy8gJHBhZ2VyLWJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yO1xuLy8gJHBhZ2VyLWJvcmRlci1yYWRpdXM6IDE1cHg7XG4vL1xuLy8gJHBhZ2VyLWhvdmVyLWJnOiAkcGFnaW5hdGlvbi1ob3Zlci1iZztcbi8vXG4vLyAkcGFnZXItYWN0aXZlLWJnOiAkcGFnaW5hdGlvbi1hY3RpdmUtYmc7XG4vLyAkcGFnZXItYWN0aXZlLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I7XG4vL1xuLy8gJHBhZ2VyLWRpc2FibGVkLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjtcblxuXG4vLyBKdW1ib3Ryb25cblxuLy8gJGp1bWJvdHJvbi1wYWRkaW5nOiAycmVtO1xuLy8gJGp1bWJvdHJvbi1iZzogJGdyYXktbGlnaHRlcjtcblxuXG4vLyBGb3JtIHN0YXRlcyBhbmQgYWxlcnRzXG4vLyBEZWZpbmUgY29sb3JzIGZvciBmb3JtIGZlZWRiYWNrIHN0YXRlcyBhbmQsIGJ5IGRlZmF1bHQsIGFsZXJ0cy5cblxuLy8gJHN0YXRlLXN1Y2Nlc3MtdGV4dDogIzNjNzYzZDtcbi8vICRzdGF0ZS1zdWNjZXNzLWJnOiAjZGZmMGQ4O1xuLy8gJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyOiBkYXJrZW4oJHN0YXRlLXN1Y2Nlc3MtYmcsIDUlKTtcbi8vXG4vLyAkc3RhdGUtaW5mby10ZXh0OiAjMzE3MDhmO1xuLy8gJHN0YXRlLWluZm8tYmc6ICNkOWVkZjc7XG4vLyAkc3RhdGUtaW5mby1ib3JkZXI6IGRhcmtlbigkc3RhdGUtaW5mby1iZywgNyUpO1xuXG4kc3RhdGUtd2FybmluZy10ZXh0OiAjOGE2ZDNiO1xuJHN0YXRlLXdhcm5pbmctYmc6ICNmY2Y4ZTM7XG4kc3RhdGUtd2FybmluZy1ib3JkZXI6IGRhcmtlbigkc3RhdGUtd2FybmluZy1iZywgMTUlKTtcblxuLy8gJHN0YXRlLWRhbmdlci10ZXh0OiAjYTk0NDQyO1xuLy8gJHN0YXRlLWRhbmdlci1iZzogI2YyZGVkZTtcbi8vICRzdGF0ZS1kYW5nZXItYm9yZGVyOiBkYXJrZW4oJHN0YXRlLWRhbmdlci1iZywgNSUpO1xuXG5cbi8vIENhcmRzXG4vLyAkY2FyZC1zcGFjZXIteDogMS4yNXJlbTtcbi8vICRjYXJkLXNwYWNlci15OiAuNzVyZW07XG4vLyAkY2FyZC1ib3JkZXItd2lkdGg6IDFweDtcbi8vICRjYXJkLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuLy8gJGNhcmQtYm9yZGVyLWNvbG9yOiAjZTVlNWU1O1xuLy8gJGNhcmQtYm9yZGVyLXJhZGl1cy1pbm5lcjogJGNhcmQtYm9yZGVyLXJhZGl1cztcbi8vICRjYXJkLWNhcC1iZzogI2Y1ZjVmNTtcbi8vICRjYXJkLWJnOiAjZmZmO1xuLy9cbi8vICRjYXJkLWxpbmstaG92ZXItY29sb3I6ICNmZmY7XG5cblxuLy8gVG9vbHRpcHNcblxuLy8gJHRvb2x0aXAtbWF4LXdpZHRoOiAyMDBweDtcbi8vICR0b29sdGlwLWNvbG9yOiAjZmZmO1xuLy8gJHRvb2x0aXAtYmc6ICMwMDA7XG4vLyAkdG9vbHRpcC1vcGFjaXR5OiAuOTtcbi8vXG4vLyAkdG9vbHRpcC1hcnJvdy13aWR0aDogNXB4O1xuLy8gJHRvb2x0aXAtYXJyb3ctY29sb3I6ICR0b29sdGlwLWJnO1xuXG5cbi8vIFBvcG92ZXJzXG5cbiRwb3BvdmVyLWJnOiAkd2hpdGU7XG4kcG9wb3Zlci1tYXgtd2lkdGg6IDI3NnB4O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAkYm9yZGVyLXdpZHRoO1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiByZ2JhKDAgLCAwLCAwLCAuMSk7XG5cbiRwb3BvdmVyLXRpdGxlLWJnOiAkYmFja2dyb3VuZC1kYXJrZXI7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAxMHB4O1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICRwb3BvdmVyLWJnO1xuXG4kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoICsgMSk7XG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogZmFkZS1pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIDAuMDUpO1xuJHBvcG92ZXItcGFkZGluZzogJHNwYWNlci14O1xuXG5cbi8vIExhYmVsc1xuXG4vLyAkbGFiZWwtZGVmYXVsdC1iZzogJGdyYXktbGlnaHQ7XG4vLyAkbGFiZWwtcHJpbWFyeS1iZzogJGJyYW5kLXByaW1hcnk7XG4vLyAkbGFiZWwtc3VjY2Vzcy1iZzogJGJyYW5kLXN1Y2Nlc3M7XG4vLyAkbGFiZWwtaW5mby1iZzogJGJyYW5kLWluZm87XG4vLyAkbGFiZWwtd2FybmluZy1iZzogJGJyYW5kLXdhcm5pbmc7XG4vLyAkbGFiZWwtZGFuZ2VyLWJnOiAkYnJhbmQtZGFuZ2VyO1xuLy9cbi8vICRsYWJlbC1jb2xvcjogI2ZmZjtcbi8vICRsYWJlbC1saW5rLWhvdmVyLWNvbG9yOiAjZmZmO1xuLy8gJGxhYmVsLWZvbnQtd2VpZ2h0OiBib2xkO1xuXG5cbi8vIE1vZGFsc1xuXG4vLyBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbi8vICRtb2RhbC1pbm5lci1wYWRkaW5nOiAxNXB4O1xuLy9cbi8vICRtb2RhbC10aXRsZS1wYWRkaW5nOiAxNXB4O1xuLy8gJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4vL1xuLy8gJG1vZGFsLWNvbnRlbnQtYmc6ICNmZmY7XG4vLyAkbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsLjIpO1xuLy9cbi8vICRtb2RhbC1iYWNrZHJvcC1iZzogIzAwMDtcbi8vICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAuNTtcbi8vICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAjZTVlNWU1O1xuLy8gJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuLy9cbi8vICRtb2RhbC1sZzogOTAwcHg7XG4vLyAkbW9kYWwtbWQ6IDYwMHB4O1xuLy8gJG1vZGFsLXNtOiAzMDBweDtcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuLy8gJGFsZXJ0LXBhZGRpbmc6IDE1cHg7XG4vLyAkYWxlcnQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4vLyAkYWxlcnQtbGluay1mb250LXdlaWdodDogYm9sZDtcbi8vICRhbGVydC1ib3JkZXItd2lkdGg6ICRib3JkZXItd2lkdGg7XG4vL1xuLy8gJGFsZXJ0LXN1Y2Nlc3MtYmc6ICRzdGF0ZS1zdWNjZXNzLWJnO1xuLy8gJGFsZXJ0LXN1Y2Nlc3MtdGV4dDogJHN0YXRlLXN1Y2Nlc3MtdGV4dDtcbi8vICRhbGVydC1zdWNjZXNzLWJvcmRlcjogJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyO1xuLy9cbi8vICRhbGVydC1pbmZvLWJnOiAkc3RhdGUtaW5mby1iZztcbi8vICRhbGVydC1pbmZvLXRleHQ6ICRzdGF0ZS1pbmZvLXRleHQ7XG4vLyAkYWxlcnQtaW5mby1ib3JkZXI6ICRzdGF0ZS1pbmZvLWJvcmRlcjtcbi8vXG4vLyAkYWxlcnQtd2FybmluZy1iZzogJHN0YXRlLXdhcm5pbmctYmc7XG4vLyAkYWxlcnQtd2FybmluZy10ZXh0OiAkc3RhdGUtd2FybmluZy10ZXh0O1xuLy8gJGFsZXJ0LXdhcm5pbmctYm9yZGVyOiAkc3RhdGUtd2FybmluZy1ib3JkZXI7XG4vL1xuLy8gJGFsZXJ0LWRhbmdlci1iZzogJHN0YXRlLWRhbmdlci1iZztcbi8vICRhbGVydC1kYW5nZXItdGV4dDogJHN0YXRlLWRhbmdlci10ZXh0O1xuLy8gJGFsZXJ0LWRhbmdlci1ib3JkZXI6ICRzdGF0ZS1kYW5nZXItYm9yZGVyO1xuXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuLy8gJHByb2dyZXNzLWJnOiAjZjVmNWY1O1xuLy8gJHByb2dyZXNzLWJhci1jb2xvcjogI2ZmZjtcbi8vICRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbi8vXG4vLyAkcHJvZ3Jlc3MtYmFyLWJnOiAkYnJhbmQtcHJpbWFyeTtcbi8vICRwcm9ncmVzcy1iYXItc3VjY2Vzcy1iZzogJGJyYW5kLXN1Y2Nlc3M7XG4vLyAkcHJvZ3Jlc3MtYmFyLXdhcm5pbmctYmc6ICRicmFuZC13YXJuaW5nO1xuLy8gJHByb2dyZXNzLWJhci1kYW5nZXItYmc6ICRicmFuZC1kYW5nZXI7XG4vLyAkcHJvZ3Jlc3MtYmFyLWluZm8tYmc6ICRicmFuZC1pbmZvO1xuXG5cbi8vIExpc3QgZ3JvdXBcblxuJGxpc3QtZ3JvdXAtYmc6ICNmZmY7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICNkZGQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICRib3JkZXItd2lkdGg7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICNmNWY1ZjU7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICRjb21wb25lbnQtYWN0aXZlLWNvbG9yO1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAkY29tcG9uZW50LWFjdGl2ZS1iZztcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXI6ICRsaXN0LWdyb3VwLWFjdGl2ZS1iZztcbiRsaXN0LWdyb3VwLWFjdGl2ZS10ZXh0LWNvbG9yOiBsaWdodGVuKCRsaXN0LWdyb3VwLWFjdGl2ZS1iZywgNDAlKTtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICRncmF5LWxpZ2h0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICRncmF5LWxpZ2h0ZXI7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC10ZXh0LWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjtcblxuJGxpc3QtZ3JvdXAtbGluay1jb2xvcjogJGJvZHktY29sb3I7XG4kbGlzdC1ncm91cC1saW5rLWhvdmVyLWNvbG9yOiAkbGlzdC1ncm91cC1saW5rLWNvbG9yO1xuJGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yOiAkYm9keS1jb2xvcjtcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbi8vICR0aHVtYm5haWwtcGFkZGluZzogLjI1cmVtO1xuLy8gJHRodW1ibmFpbC1iZzogJGJvZHktYmc7XG4vLyAkdGh1bWJuYWlsLWJvcmRlci13aWR0aDogJGJvcmRlci13aWR0aDtcbi8vICR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAjZGRkO1xuLy8gJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXZlcnRpY2FsOiA3cHg7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLWhvcml6b250YWw6IDA7XG4kYnJlYWRjcnVtYi1iZzogdHJhbnNwYXJlbnQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yLWRhcms7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICRib2R5LWNvbG9yO1xuJGJyZWFkY3J1bWItZGl2aWRlcjogXCIvXCI7XG5cblxuLy8gQ2Fyb3VzZWxcblxuLy8gJGNhcm91c2VsLXRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLDAsMCwuNik7XG4vL1xuLy8gJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICNmZmY7XG4vLyAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDogMTUlO1xuLy8gJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogLjU7XG4vLyAkY2Fyb3VzZWwtY29udHJvbC1mb250LXNpemU6IDIwcHg7XG4vL1xuLy8gJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICNmZmY7XG4vLyAkY2Fyb3VzZWwtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjogI2ZmZjtcbi8vXG4vLyAkY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogI2ZmZjtcblxuXG4vLyBDbG9zZVxuXG4vLyAkY2xvc2UtZm9udC13ZWlnaHQ6IGJvbGQ7XG4vLyAkY2xvc2UtY29sb3I6ICMwMDA7XG4vLyAkY2xvc2UtdGV4dC1zaGFkb3c6IDAgMXB4IDAgI2ZmZjtcblxuXG4vLyBDb2RlXG5cbi8vICRjb2RlLWNvbG9yOiAjYmQ0MTQ3O1xuLy8gJGNvZGUtYmc6ICNmN2Y3Zjk7XG4vL1xuLy8gJGtiZC1jb2xvcjogI2ZmZjtcbi8vICRrYmQtYmc6ICMzMzM7XG4vL1xuLy8gJHByZS1iZzogI2Y3ZjdmOTtcbi8vICRwcmUtY29sb3I6ICRncmF5LWRhcms7XG4vLyAkcHJlLWJvcmRlci1jb2xvcjogI2NjYztcbi8vICRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAzNDBweDtcblxuLy8gUGFuZWwgc2l6ZXNcbiRjbXMtcGFuZWwteHM6IDYwcHg7XG4kY21zLXBhbmVsLXNtOiAzMDBweDtcbiRjbXMtcGFuZWwtbWQ6IDQ0OHB4O1xuJGNtcy1wYW5lbC1sZzogNjM4cHg7XG5cbi8vIFBhbmVsIHBhZGRpbmdcbiRwYW5lbC1wYWRkaW5nLXg6ICRncmlkLWd1dHRlci13aWR0aCAvIDI7XG4kcGFuZWwtcGFkZGluZy15OiAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuXG5cbi8vIFNoYWRvd3NcbiRzaGFkb3ctbGV2ZWwtMTogcmdiYSgwLCAwLCAwLCAuMSk7XG4kc2hhZG93LWxldmVsLTI6IHJnYmEoMCwgMCwgMCwgLjE1KTtcbiRzaGFkb3ctbGV2ZWwtMzogcmdiYSgwLCAwLCAwLCAuMik7XG4kc2hhZG93LWxldmVsLTQ6IHJnYmEoMCwgMCwgMCwgLjI1KTtcbiRzaGFkb3ctbGV2ZWwtNTogcmdiYSgwLCAwLCAwLCAuMzApO1xuXG4vLyBUT0RPIHRpZHkgYWxsIHNoYWRvd3MgY21zIHdpZGUgKGluY2x1ZGluZyBBc3NldEFkbWluKVxuJHNoYWRvdy1saWdodDogJHNoYWRvdy1sZXZlbC0zO1xuJHNoYWRvdy1saWdodGVyOiAkc2hhZG93LWxldmVsLTE7XG4kZHJvcGRvd24tc2hhZG93OiAwIDAgM3B4ICRzaGFkb3ctbGV2ZWwtMztcbiRnYWxsZXJ5LWl0ZW0tc2hhZG93OiAwIDFweCA0cHggJHNoYWRvdy1sZXZlbC0zO1xuXG4vLyBHaXZlcyBpdGVtcyBkZXB0aCBvZiBkaWZmZXJlbnQgbGV2ZWxzXG4kei1kZXB0aC0xOiAwIDJweCA1cHggMCAkc2hhZG93LWxldmVsLTEsIDAgMnB4IDEwcHggMCAkc2hhZG93LWxldmVsLTE7XG4kei1kZXB0aC0yOiAwIDhweCAxMnB4IDAgJHNoYWRvdy1sZXZlbC0zLCAwIDZweCAyMHB4IDAgJHNoYWRvdy1sZXZlbC0yO1xuJHotZGVwdGgtMzogMCAxMnB4IDIwcHggMCAkc2hhZG93LWxldmVsLTQsIDAgMTdweCA0MHB4IDAgJHNoYWRvdy1sZXZlbC0zO1xuJHotZGVwdGgtNDogMCAxNnB4IDI4cHggMCAkc2hhZG93LWxldmVsLTUsIDAgMjVweCA1NXB4IDAgJHNoYWRvdy1sZXZlbC01O1xuXG4vLyBNYXNrczogdHlwaWNhbGx5IGJlaGluZCBtb2RhbHMsIGRyYWcgZHJvcCBhcmVhc1xuJHBhZ2UtbWFzay1saWdodDogcmdiYSgyMzYsIDIzOSwgMjQxLCAuOSk7XG5cblxuLy8gR2FsbGVyeSB0aHVtYm5haWwgYW5kIGltYWdlIHNpemVzXG5cbiRnYWxsZXJ5LXRodW1iLXdpZHRoOiAgIDE3NnB4O1xuJGdhbGxlcnktdGh1bWItaGVpZ2h0OiAgMTMycHg7XG5cbiRnYWxsZXJ5LWl0ZW0td2lkdGg6ICAgICRnYWxsZXJ5LXRodW1iLXdpZHRoICsgMjsgLy8gaW5jbHVkZSBib3JkZXJzXG4kZ2FsbGVyeS1pdGVtLWhlaWdodDogICAxNzRweDtcbiRnYWxsZXJ5LXRpdGxlLWhlaWdodDogIDQwcHg7XG5cbiRnYWxsZXJ5LWZvbGRlci1oZWlnaHQ6XHQgIDU0cHg7XG4kZ2FsbGVyeS1mb2xkZXItdGl0bGUtaGVpZ2h0OiAkZ2FsbGVyeS1mb2xkZXItaGVpZ2h0IC0gMjtcblxuXG4vLyBUcmFuc2l0aW9uIHNwZWVkc1xuXG4kdHJhbnNpdGlvbi1zcGVlZC1zbG93OiAgIDFzO1xuJHRyYW5zaXRpb24tc3BlZWQtbWlkOiAgLjVzO1xuJHRyYW5zaXRpb24tc3BlZWQtZmFzdDogICAuM3M7XG4iLCIvLyoqXG4vLyAqIFRoaXMgZmlsZSBjb250YWlucyBnZW5lcmljIG1peGlucyB3aGljaCB3ZSB1c2UgdGhyb3VnaG91dFxuLy8gKiB0aGUgYWRtaW4gcGFuZWxzLlxuLy8gKlxuLy8gKiBNaXhpbnMgc2hvdWxkIGJlIHN0b3JlZCBoZXJlIHJhdGhlciB0aGFuIGluZGl2aWR1YWwgZmlsZXNcbi8vICogc28gdGhhdCB3ZSBjYW4ga2VlcC5cbi8vICovXG5cbi8vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gKiBIaWRlcyB0aGUgb3ZlcmZsb3dpbmcgdGV4dCBmcm9tIGEgY29udGFpbmVyXG4vLyAqXG4vLyAqIE5vdGU6IHlvdSBtdXN0IGRlZmluZSBhIHdpZHRoIG9uIHRoZSBlbGVtZW50IHdpdGggdGhpc1xuLy8gKiBvdmVyZmxvdy5cbi8vICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBoaWRlLXRleHQtb3ZlcmZsb3cge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0LW8tdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93LW5vbmV7XG5cdC1tb3otYm94LXNoYWRvdzogbm9uZTtcblx0LXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cblxuLy8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vQ2xlYXJmaXggbWl4aW4gY2xlYXJzIHRoZSBmbG9hdCBvZiBpdCdzIHBhcmVudCBlbGVtZW50XG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qKi9cbkBtaXhpbiBjbGVhcmZpeHtcblx0JjphZnRlcntcblx0XHRjb250ZW50OiBcIi5cIjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRoZWlnaHQ6IDA7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHR9XG5cdCo6Zmlyc3QtY2hpbGQgJnsgem9vbToxO31cbn1cblxuXG5cbi8vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gKiBDbGVhciB0aGUgcHJvcGVydGllcyBvZiBzdWIgZm9ybSBmaWVsZHMuXG4vLyAqXG4vLyAqIE9mdGVuIG5lZWRlZCBmb3IgbmVzdGVkIGZvcm0gZmllbGRzIGFuZFxuLy8gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIGNsZWFyLWZvcm0tZmllbGQtc3R5bGVzIHtcblx0LmZpZWxkIHtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGJvcmRlcjogMDtcblx0fVxuXG5cdGxhYmVsIHtcblx0XHRmbG9hdDogbm9uZTtcblx0XHR3aWR0aDogYXV0bztcblxuXHRcdCYubGVmdCB7XG5cdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdGRpc3BsYXk6IGluaGVyaXQ7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRsaW5lLWhlaWdodDogaW5oZXJpdDtcblx0XHR9XG5cdH1cblxuXHQubWlkZGxlQ29sdW1uIHtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0fVxuXG5cdGlucHV0LnRleHQsXG5cdHRleHRhcmVhLFxuXHRzZWxlY3QsXG5cdC5UcmVlRHJvcGRvd25GaWVsZCB7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0bWF4LXdpZHRoOiBhdXRvO1xuXHR9XG59XG5cbi8vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gKiBEb3VibGUgdG9uZSBib3JkZXJzXG4vLyAqXG4vLyAqIGh0dHA6Ly9kYXZlcnVwZXJ0LmNvbS8yMDExLzA2L3R3by10b25lLWJvcmRlcnMtd2l0aC1jc3MzL1xuLy8gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIGRvdWJsZWJvcmRlcigkc2lkZSwgJGlubmVyQ29sb3IsICRvdXRlckNvbG9yKSB7XG4gICAgJHNoYWRvdzogXCIwIDAgMFwiO1xuICAgIGJvcmRlci0jeyRzaWRlfTogMXB4IHNvbGlkICRpbm5lckNvbG9yO1xuICAgIEBpZiAoJHNpZGUgPT0gXCJ0b3BcIikgeyAkc2hhZG93OiAwIC0xcHggMDsgfVxuICAgIEBpZiAoJHNpZGUgPT0gXCJyaWdodFwiKSB7ICRzaGFkb3c6IDFweCAwIDA7IH1cbiAgICBAaWYgKCRzaWRlID09IFwiYm90dG9tXCIpIHsgJHNoYWRvdzogMCAxcHggMDsgfVxuICAgIEBpZiAoJHNpZGUgPT0gXCJsZWZ0XCIpIHsgJHNoYWRvdzogLTFweCAwIDA7IH1cbiAgICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3cgJG91dGVyQ29sb3I7XG4gICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93ICRvdXRlckNvbG9yO1xuICAgIC1vLWJveC1zaGFkb3c6ICRzaGFkb3cgJG91dGVyQ29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdyAkb3V0ZXJDb2xvcjtcbn1cblxuXG4vKk1peGluIHVzZWQgdG8gZ2VuZXJhdGUgc2xpZ2h0bHkgc21hbGxlciB0ZXh0IGFuZCBmb3Jtc1xuVXNlZCBpbiBzaWRlIHBhbmVscyBhbmQgYWN0aW9uIHRhYnNcbiovXG5AbWl4aW4gdGlnaHRTcGFjaW5ne1xuXHRoMyxoNCxoNSB7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0bGluZS1oZWlnaHQ6ICRncmlkLXkgKiAyO1xuXHR9XG5cdGgzIHtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtcm9vdDtcblx0fVxuXG5cdGg0IHtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtcm9vdCAtMTtcblx0XHRtYXJnaW46IDVweCAwO1xuXHR9XG5cblx0LnVpLXdpZGdldC1jb250ZW50IHtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHR9XG5cblx0LmZpZWxkIHtcblx0XHQvKlxuXHRcdCAqIEZpZWxkcyBhcmUgbW9yZSBjb21wcmVzc2VkIGluIHNvbWUgYXJlYXMgY29tcGFyZWQgdG8gdGhlXG5cdFx0ICogbWFpbiBjb250ZW50IGVkaXRpbmcgd2luZG93IHNvIHRoZSBiZWxvdyBhbHRlcnMgdGhlIGludGVybmFsXG5cdFx0ICogc3BhY2luZyBvZiB0aGUgZmllbGRzIHNvIHdlIGNhbiBtb3ZlIHRoYXQgc3BhY2luZyB0byBiZXR3ZWVuXG5cdFx0ICogdGhlIGZvcm0gZmllbGRzIHJhdGhlciB0aGFuIHBhZGRpbmdcblx0XHQgKi9cblx0XHRib3JkZXItYm90dG9tOm5vbmU7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRsYWJlbCB7XG5cdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0cGFkZGluZzogMCAkZ3JpZC14IDRweCAwO1xuXHRcdFx0Ji5leHRyYS1kZXRhaWxze1xuXHRcdFx0XHRvdmVyZmxvdzpoaWRkZW47XG5cdFx0XHRcdG1hcmdpbi10b3A6MTBweDtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGNvbG9yOiBsaWdodGVuKCRjb2xvci10ZXh0LCAzNSUpO1xuXHRcdFx0XHRmb250LXN0eWxlOml0YWxpYztcblx0XHRcdFx0Zm9udC13ZWlnaHQ6bm9ybWFsO1xuXHRcdFx0XHRmb250LXNpemU6MWVtO1xuXHRcdFx0XHRmbG9hdDpsZWZ0O1xuXHRcdFx0XHR0ZXh0LXNoYWRvdzogbm9uZTtcblx0XHRcdFx0Ji5maWxse1xuXHRcdFx0XHRcdCY6YmVmb3Jle1xuXHRcdFx0XHRcdFx0Y29sb3I6I2ZmZjtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6ICc/Jztcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZToxMnB4O1xuXHRcdFx0XHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDozcHg7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OjNweDtcblx0XHRcdFx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRcdFx0XHRmbG9hdDpsZWZ0O1xuXHRcdFx0XHRcdFx0dGV4dC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MHB4O1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjpsaWdodGVuKCRjb2xvci10ZXh0LCA0NSUpO1xuXHRcdFx0XHRcdFx0d2lkdGg6MjFweDtcblx0XHRcdFx0XHRcdGhlaWdodDoxNXB4O1xuXHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OjVweDtcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206NXB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5taWRkbGVDb2x1bW4ge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblxuXHRcdGlucHV0LnRleHQsXG5cdFx0c2VsZWN0LFxuXHRcdHRleHRhcmVhIHtcblx0XHRcdHBhZGRpbmc6IDVweDtcblx0XHRcdGZvbnQtc2l6ZTogMTFweDtcblx0XHR9XG5cblx0XHQmLmNoZWNrYm94IHtcblx0XHRcdHBhZGRpbmc6IDAgOHB4IDA7XG5cblx0XHRcdGlucHV0IHtcblx0XHRcdFx0bWFyZ2luOiAycHggMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuZm9ybV9fZmllbGRncm91cCB7XG5cdFx0LmZvcm1fX2ZpZWxkZ3JvdXAtaXRlbSB7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0XHQuZmllbGQge1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LyogUmVzdHlsZSBmb3Igc21hbGxlciBhcmVhKi9cblx0LmNtcy1jb250ZW50LWZpZWxkc3tcblx0XHRvdmVyZmxvdzp2aXNpYmxlO1xuXHR9XG5cdC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZXtcblx0XHR3aWR0aDoxMDAlICFpbXBvcnRhbnQ7XG5cdFx0LmNob3Nlbi1zaW5nbGV7XG5cdFx0XHRwYWRkaW5nOiAwIDAgMCA1cHg7XG5cdFx0XHRmbG9hdDpub25lO1xuXHRcdH1cblx0fVxuXHQuY21zLWNvbnRlbnQtYWN0aW9ucywgLmNtcy1wcmV2aWV3LWNvbnRyb2xze1xuXHRcdHBhZGRpbmc6MDtcblx0XHRoZWlnaHQ6YXV0bztcblx0XHRib3JkZXI6bm9uZTtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHR9XG5cdC5jbXMtZWRpdC1mb3Jte1xuXHRcdHdpZHRoOjEwMCU7XG5cdH1cblx0LkNvbXBvc2l0ZUZpZWxke1xuXHRcdG1hcmdpbjowO1xuXHRcdHBhZGRpbmc6MDtcblx0XHRmbG9hdDpub25lO1xuXHR9XG5cdC5wYXJlbnQtbW9kZXtcblx0XHRwYWRkaW5nLXRvcDowO1xuXHR9XG5cdC50cmVlZHJvcGRvd24sIC5TZWxlY3Rpb25Hcm91cCBsaS5zZWxlY3RlZCBkaXYuZmllbGR7XG5cdFx0bWFyZ2luOjEwcHggMCAwIDA7XG5cdFx0Ly9AaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDAgI2ZmZiwgMCAxcHggMXB4IHJnYmEoMCwwLDAsMC4xKSk7XG5cdFx0LnRyZWVkcm9wZG93bmZpZWxkLXRpdGxle1xuXHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XG5cdFx0XHR6LWluZGV4OjI7XG5cdFx0XHRwYWRkaW5nOjVweDtcblx0XHR9XG5cdFx0LnRyZWVkcm9wZG93bmZpZWxkLXBhbmVse1xuXHRcdFx0bWFyZ2luLXRvcDoxMXB4O1xuXHRcdH1cblx0XHQudHJlZWRyb3Bkb3duZmllbGQtdG9nZ2xlLXBhbmVsLWxpbmt7XG5cdFx0XHRiYWNrZ3JvdW5kOm5vbmU7XG5cdFx0XHRib3JkZXItbGVmdDpub25lO1xuXHRcdFx0cGFkZGluZzo1cHggM3B4O1xuXHRcdFx0LnVpLWljb257XG5cdFx0XHRcdGZsb2F0OnJpZ2h0O1xuXHRcdFx0XHRvcGFjaXR5OjAuNztcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LmNtcy1hZGQtZm9ybSB1bC5TZWxlY3Rpb25Hcm91cHtcblx0XHRwYWRkaW5nLWxlZnQ6MDtcblx0XHRwYWRkaW5nLXJpZ2h0OjA7XG5cdFx0b3ZlcmZsb3c6dmlzaWJsZTtcblx0XHRib3JkZXItYm90dG9tOm5vbmU7XG5cdH1cbn1cblxuLy8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAqIENvbXBhc3MgcmVwbGFjZW1lbnQgbWl4aW5zLlxuLy8gKlxuLy8gKiBNaXhpbnMgdGhhdCB3ZXJlIGJ1aWx0LWluIHdpdGggY29tcGFzc1xuLy8gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AbWl4aW4gbGVnYWN5LXBpZS1jbGVhcmZpeCB7XG5cdCY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFwwMDIwXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG4iLCIvKipcbiAqIFRoaXMgZmlsZSBjb250YWlucyB0aGUgZGVmYXVsdCB0aGVtZSBkZWZpbml0aW9ucyBmb3IgdGhlIGFkbWluIGludGVyZmFjZS5cbiAqIFBsZWFzZSBwdXQgbW9zdGx5IFNDU1MgdmFyaWFibGUgZGVmaW5pdGlvbnMgaW4gaGVyZSxcbiAqIGFuZCBsZWF2ZSB0aGUgYWN0dWFsIHN0eWxpbmcgdG8gX3N0eWxlLnNjc3MgYW5kIGF1eGlsbGlhcnkgZmlsZXMuXG4gKi9cblxuQGltcG9ydCBcIi4uLy4uL3ZhcmlhYmxlcy5zY3NzXCI7XG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ29sb3Vyc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4kY29sb3ItYmFzZTogI2IwYmVjNyAhZGVmYXVsdDtcbiRjb2xvci13aWRnZXQtYmc6IGxpZ2h0ZW4oJGNvbG9yLWJhc2UsIDIwJSkgIWRlZmF1bHQ7XG5cbi8vIE1lbnUgdGhlbWUgY29sb3Vyc1xuJGNvbG9yLXRoZW1lLWJhc2U6IFx0I2Q4ZTRlYiAhZGVmYXVsdDtcblxuJGNvbG9yLXRoZW1lLWJnOiBcdGxpZ2h0ZW4oJGNvbG9yLXRoZW1lLWJhc2UsIDUlKTtcbiRjb2xvci10aGVtZS1pY29uczogZGFya2VuKCRjb2xvci10aGVtZS1iYXNlLCAyNiUpO1xuJGNvbG9yLXRoZW1lLWFjdGl2ZTogJGNvbG9yLXRoZW1lLWJhc2U7XG5cbi8vIENNUyA0IG1lbnVcbiRiYXNlLW1lbnU6ICNkOGU0ZWI7XG4kYmFzZS1tZW51LWJnOiBsaWdodGVuKCRiYXNlLW1lbnUsNSUpO1xuJGJhc2UtbWVudS1pY29uOiBkYXJrZW4oJGJhc2UtbWVudSwgMjYlKTtcblxuLy9vZmZpY2FsIHNpbHZlcnN0cmlwZSBicmFuZCBjb2xvclxuJGNvbG9yLWJyYW5kLWJnOiAjMDA1YTkzICFkZWZhdWx0O1xuJGNvbG9yLWJyYW5kOiAjNDNjN2Y0ICFkZWZhdWx0O1xuXG4vKiBLZWVwIGFzIHNvbGlkIGNvbG91cnMgdHJhbnNwYXJlbnQgYm9yZGVycyB3b250IHdvcmsgaW4gaWUgKi9cbiRjb2xvci1kYXJrZXItYmc6ICNmMGYyZjQgIWRlZmF1bHQ7XG4kY29sb3ItZGFyay1iZzogIzE0MjEzNiAhZGVmYXVsdDtcbiRjb2xvci1kYXJrLXNlcGFyYXRvcjogIzE5NDM1YyAhZGVmYXVsdDtcbiRjb2xvci1tZWRpdW0tc2VwYXJhdG9yOiAjODA4MDgwICFkZWZhdWx0O1xuJGNvbG9yLXNlcGFyYXRvcjogI0MxQzdDQyAhZGVmYXVsdDsgLy8gVmVydGljYWwgZGl2aWRlcnNcbiRjb2xvci1saWdodC1zZXBhcmF0b3I6ICNEMkQ1RDggIWRlZmF1bHQ7IC8vIEhvcmlvbnRhbCBkaXZpZGVyc1xuXG4kY29sb3ItdGFiOiAjZDlkOWQ5ICFkZWZhdWx0O1xuJGNvbG9yLWRhcmstZ3JleTogIzdCOEM5MSAhZGVmYXVsdDtcblxuLyogT25seSBmb3IgdXNlIGFzIHNoYWRvd3MgYXMgdGhleSB3b250IHdvcmsgaW4gb2xkZXIgYnJvd3NlcnMgKi9cbiRjb2xvci1zaGFkb3ctbGlnaHQ6IHJnYmEoMjAxLCAyMDUsIDIwNiwgMC44KSAhZGVmYXVsdDtcbiRjb2xvci1zaGFkb3ctZGFyazogcmdiYSgxMDcsIDEyMCwgMTIzLCAwLjUpICFkZWZhdWx0O1xuJGNvbG9yLXNoYWRvdy1ibGFjazogcmdiYSgwLCAwLCAwLCAwLjYpICFkZWZhdWx0O1xuJGNvbG9yLXNoYWRvdy1ibGFja2VyOiByZ2JhKDAsIDAsIDAsIDAuOSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1zaGluZTogcmdiYSgyNDgsIDI0OCwgMjQ4LCAwLjkpO1xuJGJveC1zaGFkb3ctc2hpbmUtbWluaW1hbDogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjgpO1xuXG4kY29sb3ItaGlnaGxpZ2h0OiAjRkZGRjY2ICFkZWZhdWx0O1xuJGNvbG9yLWhpZ2hsaWdodC1vcGFjaXR5OiByZ2JhKDI1NSwgMjU1LCAxMDIsIDAuMykgIWRlZmF1bHQ7XG5cbiRjb2xvci1tZW51LWJ1dHRvbjogIzMzOERDMSAhZGVmYXVsdDtcbiRjb2xvci1tZW51LWJhY2tncm91bmQ6ICNjNmQ3ZGYgIWRlZmF1bHQ7XG4kY29sb3ItbWVudS1ib3JkZXI6ICM4Yzk5YTEgIWRlZmF1bHQ7XG4kY29sb3ItcGFuZWwtYmFja2dyb3VuZDogI2M2ZDdkZiAhZGVmYXVsdDtcblxuJGNvbG9yLXRleHQtZGVmYXVsdDogIzRmNTg2MSAhZGVmYXVsdDsgLyogbmV3IGluIFNpbHZlclN0cmlwZSA0ICovXG4kY29sb3ItdGV4dDogIzY2NzI3ZCAhZGVmYXVsdDtcbiRjb2xvci10ZXh0LWxpZ2h0OiB3aGl0ZSAhZGVmYXVsdDtcbiRjb2xvci10ZXh0LWxpZ2h0LWxpbms6IHdoaXRlICFkZWZhdWx0O1xuJGNvbG9yLXRleHQtZGlzYWJsZWQ6ICNhYWEgIWRlZmF1bHQ7XG4kY29sb3ItdGV4dC1kYXJrOiAjMWYxZjFmICFkZWZhdWx0O1xuJGNvbG9yLXRleHQtZGFyay1saW5rOiAjM0VCQUUwICFkZWZhdWx0O1xuJGNvbG9yLXRleHQtYmx1ZS1saW5rOiAjMDA3MWM0ICFkZWZhdWx0O1xuJGNvbG9yLXRleHQtc2hhZG93OiB3aGl0ZSAhZGVmYXVsdDtcblxuXG4kY29sb3ItYnV0dG9uLWdlbmVyaWM6ICNlNmU2ZTYgIWRlZmF1bHQ7XG4kY29sb3ItYnV0dG9uLWdlbmVyaWMtYm9yZGVyOiAjZDBkM2Q1ICFkZWZhdWx0O1xuXG4kY29sb3ItYnV0dG9uLWhpZ2hsaWdodDogI2U2ZTZlNiAhZGVmYXVsdDtcbiRjb2xvci1idXR0b24taGlnaGxpZ2h0LWJvcmRlcjogIzcwODI4NCAhZGVmYXVsdDtcblxuJGNvbG9yLWJ1dHRvbi1jb25zdHJ1Y3RpdmU6ICMxRjk0MzMgIWRlZmF1bHQ7XG4kY29sb3ItYnV0dG9uLWNvbnN0cnVjdGl2ZS1ib3JkZXI6ICMxRjk0MzMgIWRlZmF1bHQ7XG5cbiRjb2xvci1idXR0b24tZGVzdHJ1Y3RpdmU6ICNmMDAgIWRlZmF1bHQ7XG5cbiRjb2xvci1idXR0b24tZGlzYWJsZWQ6ICNlZWVkZWQgIWRlZmF1bHQ7XG5cbiRjb2xvci1ub3RpY2U6ICM5M0NERTggIWRlZmF1bHQ7XHRcdC8vIGJsdWVcbiRjb2xvci13YXJuaW5nOiAjRTlEMTA0ICFkZWZhdWx0O1x0XHQvLyB5ZWxsb3dcbiRjb2xvci1lcnJvcjogI2U2ODI4OCAhZGVmYXVsdDtcdFx0XHQvLyByZWRcbiRjb2xvci1nb29kOiAjNzJjMzRiICFkZWZhdWx0O1x0XHRcdC8vIGdyZWVuXG4vKiRjb2xvci1vcHRpb25hbDogI2ExZDJlYiAhZGVmYXVsdDsgKi9cdC8vIG9yYW5nZVxuXG4kY29sb3ItY21zLWJhdGNoYWN0aW9ucy1tZW51LWJhY2tncm91bmQ6ICNmNWY1ZjUgIWRlZmF1bHQ7XG4kY29sb3ItY21zLWJhdGNoYWN0aW9ucy1tZW51LXNlbGVjdGVkLWJhY2tncm91bmQ6ICNmZmZjZGMgIWRlZmF1bHQ7XG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVGV4dHVyZXNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4kdGFiLXBhbmVsLXRleHR1cmUtY29sb3I6ICNmNmY3ZjggIWRlZmF1bHQ7XG4kdGFiLXBhbmVsLXRleHR1cmUtYmFja2dyb3VuZDogJHRhYi1wYW5lbC10ZXh0dXJlLWNvbG9yIHVybCguLi9pbWFnZXMvdGV4dHVyZXMvYmdfY21zX21haW5fY29udGVudC5wbmcpIHJlcGVhdCB0b3AgbGVmdCAhZGVmYXVsdDtcblxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEdyaWQgVW5pdHMgKHB4KVxuICpcbiAqIFdlIGhhdmUgYSB2ZXJ0aWNhbCByaHl0aG0gdGhhdCB0aGUgZ3JpZCBpcyBiYXNlZCBvZmZcbiAqIGJvdGggeCAoPWhvcml6b250YWwpIGFuZCB5ICg9dmVydGljYWwpLiBBbGwgaW50ZXJuYWwgcGFkZGluZyBhbmRcbiAqIG1hcmdpbnMgYXJlIHNjYWxlZCB0byB0aGlzIGFuZCBhY2NvdW50aW5nIGZvciBwYXJhZ3JhcGhzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiRncmlkLXk6IDhweCAhZGVmYXVsdDtcbiRncmlkLXg6IDhweCAhZGVmYXVsdDtcblxuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBBcHBsaWNhdGlvbiBMb2dvIChDTVMgTG9nbykgTXVzdCBiZSAyNHB4IHggMjRweFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4kYXBwbGljYXRpb24tbG9nby1zbWFsbDogdXJsKFwiLi4vaW1hZ2VzL2xvZ29fc21hbGwucG5nXCIpICFkZWZhdWx0O1xuJGFwcGxpY2F0aW9uLWxvZ28tc21hbGwtMng6IHVybChcIi4uL2ltYWdlcy9sb2dvX3NtYWxsQDJ4LnBuZ1wiKSAhZGVmYXVsdDtcbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIGFsbFxuXG4vLyoqXG4vLyAqIFRoaXMgZmlsZSBjb250YWlucyBtaXhpbnMgcmVsYXRpbmcgdG8gc3BlY2lmaWMgZnVuY3Rpb25hbGl0eVxuLy8gKlxuLy8gKiBNaXhpbnMgc2hvdWxkIGJlIHN0b3JlZCBoZXJlIHJhdGhlciB0aGFuIGluZGl2aWR1YWwgZmlsZXNcbi8vICovXG5cblxuLy8qTWl4aW4gZ2VuZXJhdGVzIHRoZSBnZW5lcmljIGJ1dHRvbiBzdHlsaW5nIGZvciB0aGUgZ3JpZGZpZWxkKi9cbkBtaXhpbiBncmlkRmllbGRCdXR0b25ze1xuXHRib3JkZXI6bm9uZTtcblx0ZGlzcGxheTpibG9jaztcblx0dGV4dC1pbmRlbnQ6LTk5OTllbTtcblx0d2lkdGg6MzBweDtcblx0aGVpZ2h0OjI1cHg7IC8vbWF0Y2ggdGhlIGhlaWdodCBvZiB0aGUgaW5wdXQgZmllbGRcbn1cblxuXG4vLyBNaXhpbiBnZW5lcmF0ZXMgdGhlIHN0eWxpbmcgZm9yIHRoZSBhY3Rpb25zIGJ1dHRvbnMgaW4gZmlsZSB1cGxvYWRzXG5AbWl4aW4gc3MtdXBsb2FkZmllbGQtYWN0aW9uLWJ1dHRvbnN7XG5cdC5zcy11aS1idXR0b24ge1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0dGV4dC1zaGFkb3c6IG5vbmU7XG5cdFx0Y29sb3I6ICRjb2xvci10ZXh0LWxpZ2h0O1xuXHRcdGZsb2F0OiByaWdodDtcblxuXHRcdCYuc3MtdXBsb2FkZmllbGQtaXRlbS1kZWxldGUge1xuXHRcdFx0Ly8gVE9ETyB0bXAgaGFjayB1bnRpbCB3ZSBoYXZlIHBlcm1pc3Npb25zIGFuZCBjYW4gZGlzYWJsZSBkZWxldGVcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHRcdCYuc3MtdXBsb2FkZmllbGQtaXRlbS1jYW5jZWwsICYuc3MtdXBsb2FkZmllbGQtaXRlbS1vdmVyd3JpdGUtd2FybmluZyB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdFx0Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHJnYmEoI2ZmZiwgMC4yKTtcblx0XHRcdG1hcmdpbi10b3A6MHB4O1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0b3BhY2l0eTowLjk7XG5cdFx0XHQmOmhvdmVye1xuXHRcdFx0XHRvcGFjaXR5OjE7XG5cdFx0XHR9XG5cdFx0XHQudWktaWNvbiB7XG5cdFx0XHQgIGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0ICBtYXJnaW46IDA7XG5cdFx0XHQgIHBvc2l0aW9uOnJlYWx0aXZlO1xuXHRcdFx0ICB0b3A6OHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBzcy11cGxvYWRmaWVsZC1lZGl0QnV0dG9uO1xuXHR9XG59XG5cbi8vKipcbi8vXHRNaXhpbiBjcmVhdGVzIGEgdHJhbnNwYXJlbnQgYnV0dG9uIHdpdGggYSBkcm9wZG93biBhcnJvdyxcbi8vXHRhcyBpcyB1c2VkIGZvciBmaWxlcyBpbiB0aGUgZmlsZXMgdXAtbG9hZCBhcmVhLiBUaGUgYXJyb3dzXG4vL1x0dGhlbXNlbHZlcyBhcmUgYWRkZWQgaW4gdGhlIF9zdHlsZSBmaWxlXG4vLyoqL1xuQG1peGluIHNzLXVwbG9hZGZpZWxkLWVkaXRCdXR0b257XG5cdCYuc3MtdXBsb2FkZmllbGQtaXRlbS1lZGl0IHtcblx0XHRvcGFjaXR5OjAuOTtcblx0XHRwYWRkaW5nLXRvcDogMXB4O1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdGhlaWdodDoxMDAlO1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0Ji51aS1zdGF0ZS1ob3Zlcntcblx0XHRcdGJhY2tncm91bmQ6bm9uZTtcblx0XHRcdG9wYWNpdHk6MTtcblx0XHRcdHNwYW4udG9nZ2xlLWRldGFpbHN7XG5cdFx0XHRcdG9wYWNpdHk6MTtcblx0XHRcdH1cblx0XHR9XG5cdFx0c3Bhbi50b2dnbGUtZGV0YWlsc3tcblx0XHRcdG9wYWNpdHk6MC45O1xuXHRcdFx0bWFyZ2luLWxlZnQ6M3B4O1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0d2lkdGg6IDVweDtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdC50b2dnbGUtZGV0YWlscy1pY29uIHtcblx0XHRcdFx0bWFyZ2luLXRvcDoxcHg7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0d2lkdGg6IDhweDtcblx0XHRcdFx0aGVpZ2h0OiA2cHg7XG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdCYub3BlbmVkIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOjA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQudWktaWNvbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */ diff --git a/client/dist/styles/Form.css b/client/dist/styles/Form.css deleted file mode 100755 index 699fd0cae..000000000 --- a/client/dist/styles/Form.css +++ /dev/null @@ -1,3 +0,0 @@ -form *{font-size:12px}form fieldset{margin:0;padding:0;border-style:none}form .field{clear:both;padding:0.2em;margin:0 0 0 10em;vertical-align:middle}form p.checkbox{margin:0 0 0 8.5em}form .field.form-group--no-label{margin-left:0}form label.left{float:left;width:10em;margin-left:-10em}form input.maxlength{width:auto}form .validation,form .error,form .required{border:1px solid #f00;background:#fcc;padding:0.5em;width:50%}form .field span.readonly{border:1px #CCC dotted;background-color:#F7F7F7;display:block;width:98%;padding:3px;margin:5px 0}form .indicator.inline{display:inline;margin-left:5px;vertical-align:middle}form .indicator.block{display:inline}form button.minorAction{background:none;padding:0;border:0;color:#0074C6;text-decoration:underline}form .message{margin:1em 0;padding:0.5em;font-weight:bold;border:1px black solid;background-color:#B9FFB9;border-color:#00FF00}form .message.notice{background-color:#FCFFDF;border-color:#FF9300}form .message.warning{background-color:#FFD2A6;border-color:#FF9300}form .message.bad{background-color:#FF8080;border-color:#FF0000}form .message.required,form .message.validation{display:block;margin-top:5px;color:#FF9300;width:240px;border-color:#FF9300}form .message.validation{color:#FF4040;width:240px;border-color:#FF4040}.typography .ss-tabset ul{margin:0} - -/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxlZ2FjeS9Gb3JtLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FHRSxjQUFnQixDQUhsQixjQU9FLFNBQ0EsVUFDQSxpQkFBbUIsQ0FUckIsWUFhRSxXQUNBLGNBQ0Esa0JBQ0EscUJBQXVCLENBaEJ6QixnQkFvQkUsa0JBQW9CLENBcEJ0QixpQ0F3QkUsYUFBZSxDQXhCakIsZ0JBNEJFLFdBQ0EsV0FDQSxpQkFBbUIsQ0E5QnJCLHFCQWtDRSxVQUFZLENBbENkLDRDQXNDRSxzQkFDQSxnQkFDQSxjQUNBLFNBQVcsQ0F6Q2IsMEJBNkNFLHVCQUNBLHlCQUNBLGNBQ0EsVUFDQSxZQUNBLFlBQWEsQ0FsRGYsdUJBc0RFLGVBQ0EsZ0JBQ0EscUJBQXVCLENBeER6QixzQkE0REUsY0FBZ0IsQ0E1RGxCLHdCQWlFRSxnQkFDQSxVQUNBLFNBQ0EsY0FDQSx5QkFBMkIsQ0FyRTdCLGNBNEVFLGFBQ0EsY0FDQSxpQkFDQSx1QkFDQSx5QkFDQSxvQkFBc0IsQ0FqRnhCLHFCQW9GRyx5QkFDQSxvQkFBc0IsQ0FyRnpCLHNCQXlGRyx5QkFDQSxvQkFBc0IsQ0ExRnpCLGtCQThGRyx5QkFDQSxvQkFBc0IsQ0EvRnpCLGdEQW1HRyxjQUNBLGVBQ0EsY0FDQSxZQUNBLG9CQUFzQixDQXZHekIseUJBMkdHLGNBQ0EsWUFDQSxvQkFBc0IsQ0FDdEIsMEJBS0YsUUFBVSxDQUNWIiwiZmlsZSI6ImxlZ2FjeS9Gb3JtLmNzcyIsInNvdXJjZXNDb250ZW50IjpbImZvcm0ge1xuXG5cdCoge1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0fVxuXG5cdGZpZWxkc2V0IHtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0XHRib3JkZXItc3R5bGU6IG5vbmU7XG5cdH1cblxuXHQuZmllbGQge1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdHBhZGRpbmc6IDAuMmVtO1xuXHRcdG1hcmdpbjogMCAwIDAgMTBlbTtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHR9XG5cblx0cC5jaGVja2JveCB7XG5cdFx0bWFyZ2luOiAwIDAgMCA4LjVlbTtcblx0fVxuXG5cdC5maWVsZC5mb3JtLWdyb3VwLS1uby1sYWJlbCB7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cblxuXHRsYWJlbC5sZWZ0IHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHR3aWR0aDogMTBlbTtcblx0XHRtYXJnaW4tbGVmdDogLTEwZW07XG5cdH1cblxuXHRpbnB1dC5tYXhsZW5ndGgge1xuXHRcdHdpZHRoOiBhdXRvO1xuXHR9XG5cblx0LnZhbGlkYXRpb24sIC5lcnJvciwgLnJlcXVpcmVkIHtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjZjAwO1xuXHRcdGJhY2tncm91bmQ6ICNmY2M7XG5cdFx0cGFkZGluZzogMC41ZW07XG5cdFx0d2lkdGg6IDUwJTtcblx0fVxuXG5cdC5maWVsZCBzcGFuLnJlYWRvbmx5IHtcblx0XHRib3JkZXI6IDFweCAjQ0NDIGRvdHRlZDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRjdGN0Y3O1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiA5OCU7XG5cdFx0cGFkZGluZzogM3B4O1xuXHRcdG1hcmdpbjo1cHggMDtcblx0fVxuXG5cdC5pbmRpY2F0b3IuaW5saW5lIHtcblx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0bWFyZ2luLWxlZnQ6IDVweDtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHR9XG5cblx0LmluZGljYXRvci5ibG9jayB7XG5cdFx0ZGlzcGxheTogaW5saW5lO1xuXHR9XG5cblx0Ly8gRW11bGF0aW5nIGxpbmsgc3R5bGluZyBmb3IgYWN0aW9ucyByZXF1aXJpbmcgbGVzc2VyIGF0dGVudGlvbiwgZS5nLiBcImNhbmNlbFwiIEZvcm1BY3Rpb25zXG5cdGJ1dHRvbi5taW5vckFjdGlvbiB7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGJvcmRlcjogMDtcblx0XHRjb2xvcjogIzAwNzRDNjtcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBNZXNzYWdlc1xuXHQgKi9cblx0Lm1lc3NhZ2Uge1xuXHRcdG1hcmdpbjogMWVtIDA7XG5cdFx0cGFkZGluZzogMC41ZW07XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0Ym9yZGVyOiAxcHggYmxhY2sgc29saWQ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0I5RkZCOTtcblx0XHRib3JkZXItY29sb3I6ICMwMEZGMDA7XG5cblx0XHQmLm5vdGljZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGRkRGO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAjRkY5MzAwO1xuXHRcdH1cblxuXHRcdCYud2FybmluZyB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZEMkE2O1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAjRkY5MzAwO1xuXHRcdH1cblxuXHRcdCYuYmFkIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNGRjgwODA7XG5cdFx0XHRib3JkZXItY29sb3I6ICNGRjAwMDA7XG5cdFx0fVxuXG5cdFx0Ji5yZXF1aXJlZCwgJi52YWxpZGF0aW9uIHtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRtYXJnaW4tdG9wOjVweDtcblx0XHRcdGNvbG9yOiNGRjkzMDA7XG5cdFx0XHR3aWR0aDoyNDBweDtcblx0XHRcdGJvcmRlci1jb2xvcjogI0ZGOTMwMDtcblx0XHR9XG5cblx0XHQmLnZhbGlkYXRpb24ge1xuXHRcdFx0Y29sb3I6I0ZGNDA0MDtcblx0XHRcdHdpZHRoOjI0MHB4O1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAjRkY0MDQwO1xuXHRcdH1cblx0fVxufVxuXG4udHlwb2dyYXBoeSAuc3MtdGFic2V0IHVsIHtcblx0bWFyZ2luOiAwO1xufVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */ diff --git a/client/dist/styles/GridField_print.css b/client/dist/styles/GridField_print.css deleted file mode 100644 index 7069ded81..000000000 --- a/client/dist/styles/GridField_print.css +++ /dev/null @@ -1,3 +0,0 @@ -h3{font-family:Arial, sans-serif}table{border-collapse:collapse;font-family:Arial, sans-serif;color:#333;font-size:12pt}table th{border-bottom:2px solid #333;padding:5px 10px;font-weight:bold;text-align:left}table th:first-child{padding-left:0px}table td{border-top:1px solid #aaa;border-bottom:1px solid #aaa;text-align:left;padding:5px 10px}table td:first-child{padding-left:0px} - -/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxlZ2FjeS9HcmlkRmllbGRfcHJpbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxHQUNDLDZCQUErQixDQUMvQixNQUVBLHlCQUNBLDhCQUNBLFdBQ0EsY0FBZ0IsQ0FKakIsU0FTRSw2QkFDQSxpQkFDQSxpQkFDQSxlQUFpQixDQVpuQixxQkFjRyxnQkFBa0IsQ0FkckIsU0FtQkUsMEJBQ0EsNkJBQ0EsZ0JBQ0EsZ0JBQWtCLENBdEJwQixxQkF3QkcsZ0JBQWtCLENBQ2xCIiwiZmlsZSI6ImxlZ2FjeS9HcmlkRmllbGRfcHJpbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiaDMge1xuXHRmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG59XG50YWJsZSB7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcblx0Y29sb3I6ICMzMzM7XG5cdGZvbnQtc2l6ZTogMTJwdDtcblx0dHJ7XG5cblx0fVxuXHR0aHtcblx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgIzMzMztcblx0XHRwYWRkaW5nOiA1cHggMTBweDtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdCY6Zmlyc3QtY2hpbGR7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDBweDtcblx0XHR9XG5cblx0fVxuXHR0ZHtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2FhYTtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FhYTtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdHBhZGRpbmc6IDVweCAxMHB4O1xuXHRcdCY6Zmlyc3QtY2hpbGR7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDBweDtcblx0XHR9XG5cdH1cbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */ diff --git a/client/dist/styles/Security_login.css b/client/dist/styles/Security_login.css deleted file mode 100755 index 59f48b643..000000000 --- a/client/dist/styles/Security_login.css +++ /dev/null @@ -1,3 +0,0 @@ -#Remember{margin:0.5em 0 0.5em 11em !important}p#Remember label{display:inline-block;margin:0}#Remember input{float:left;margin:0 5px 0 0}#MemberLoginForm_LoginForm .btn-toolbar{padding-left:12em}#ForgotPassword{margin-top:1em} - -/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxlZ2FjeS9TZWN1cml0eV9sb2dpbi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQ0Msb0NBQXNDLENBQ3RDLGlCQUVDLHFCQUNBLFFBQVUsQ0FDVixnQkFFQSxXQUNBLGdCQUFrQixDQUNsQix3Q0FFRCxpQkFBbUIsQ0FDbkIsZ0JBRUEsY0FBZ0IsQ0FDaEIiLCJmaWxlIjoibGVnYWN5L1NlY3VyaXR5X2xvZ2luLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNSZW1lbWJlciB7XG5cdG1hcmdpbjogMC41ZW0gMCAwLjVlbSAxMWVtICFpbXBvcnRhbnQ7XG59XG5cdHAjUmVtZW1iZXIgbGFiZWwge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtYXJnaW46IDA7XG5cdH1cblx0I1JlbWVtYmVyIGlucHV0IHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRtYXJnaW46IDAgNXB4IDAgMDtcblx0fVxuI01lbWJlckxvZ2luRm9ybV9Mb2dpbkZvcm0gLmJ0bi10b29sYmFyIHtcblx0cGFkZGluZy1sZWZ0OiAxMmVtO1xufVxuI0ZvcmdvdFBhc3N3b3JkIHtcblx0bWFyZ2luLXRvcDogMWVtO1xufVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */ diff --git a/client/dist/styles/UploadField.css b/client/dist/styles/UploadField.css deleted file mode 100644 index 5adb23858..000000000 --- a/client/dist/styles/UploadField.css +++ /dev/null @@ -1,3 +0,0 @@ -.ss-uploadfield.form-group::after,.ss-insert-media.form-group::after{visibility:hidden}.ss-uploadfield .clear{clear:both}.ss-uploadfield .description{margin-left:0}.ss-uploadfield .middleColumn{min-width:510px;max-width:696px;width:100%;margin-left:0;clear:both;padding:0;background:#fff;border:1px solid #b3b3b3;border-radius:4px;background-image:-webkit-gradient(linear, left top, left bottom, from(#efefef), color-stop(10%, #fff), color-stop(90%, #fff), color-stop(90%, #efefef));background-image:-webkit-linear-gradient(#efefef, #fff 10%, #fff 90%, #efefef);background-image:-o-linear-gradient(#efefef, #fff 10%, #fff 90%, #efefef);background-image:linear-gradient(#efefef, #fff 10%, #fff 90%, #efefef)}.ss-uploadfield .ss-uploadfield-item{margin:0;padding:15px;overflow:auto}.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-preview{height:60px;line-height:60px;width:80px;text-align:center;font-weight:bold;float:left;overflow:hidden;background:#f0f2f4}.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-preview span{height:60px;width:80px;display:table-cell;vertical-align:middle}.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-preview.ss-uploadfield-dropzone{-webkit-box-shadow:0 0 4px 0 gray inset;box-shadow:0 0 4px 0 gray inset;border:2px dashed gray;background:#D2D5D8;margin-right:15px;position:relative}.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-preview.ss-uploadfield-dropzone::after{background:none}.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-preview img{display:block;margin:0 auto;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAJElEQVQYV2O8dOnSfwYkoKenx4jMZ6SDAmT7QGx0K1EcRBsFAJfOHd3Le79RAAAAAElFTkSuQmCC) repeat}.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-preview img[src$="_32.png"]{background:transparent}.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-info{margin-left:95px}.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-info .ss-uploadfield-item-name{display:block;line-height:13px;height:26px;margin:0;text-align:left}.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-info .ss-uploadfield-item-name .name{max-width:240px;font-weight:bold;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis;display:inline;float:left}.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-info .ss-uploadfield-item-name .size{color:#a9b2b9;padding:0 0 0 5px;display:inline;float:left}.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-info .ss-uploadfield-item-name .ss-uploadfield-item-status{float:right;padding:0 0 0 5px;text-align:right;max-width:75%}.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-info .ss-uploadfield-item-name .ss-uploadfield-item-status.ui-state-error-text{color:red;font-weight:bold;width:150px}.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-info .ss-uploadfield-item-name .ss-uploadfield-item-status.ui-state-warning-text{color:#b7a403}.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-info .ss-uploadfield-item-name .ss-uploadfield-item-status.ui-state-success-text{color:#1F9433}.ss-uploadfield .ss-uploadfield-item.ui-state-error .ss-uploadfield-item-preview{width:auto;height:auto;margin-right:15px}.ss-uploadfield .ss-uploadfield-item.ui-state-error .ss-uploadfield-item-info{margin-left:0}.ss-uploadfield .ss-uploadfield-item.ui-state-error .ss-uploadfield-item-info .ss-uploadfield-item-name{float:left;width:70%;height:auto}.ss-uploadfield .ss-uploadfield-item.ui-state-error .ss-uploadfield-item-info .ss-uploadfield-item-name .name{float:left;width:100%;margin-bottom:5px}.ss-uploadfield .ss-uploadfield-item.ui-state-error .ss-uploadfield-item-info .ss-uploadfield-item-name .ss-uploadfield-item-status{float:left;width:100%;padding:0;text-align:left}.ss-uploadfield .ss-uploadfield-item.ui-state-error .ss-uploadfield-item-info .ss-uploadfield-item-actions{float:right;width:5%;min-height:0;margin:0}.ss-uploadfield .ss-uploadfield-item.ui-state-error .ss-uploadfield-item-info .ss-uploadfield-item-actions .ss-uploadfield-item-cancel{position:relative;top:auto}.ss-uploadfield .ss-uploadfield-files{margin:0;padding:0;overflow:auto;position:relative}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item,.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item.ui-state-error{border:0;border-bottom:1px solid #b3b3b3;background:none;color:#66727d}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item:last-child,.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item.ui-state-error:last-child{border-bottom:0}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-actions{min-height:28px;overflow:hidden;margin:6px 0 -6px 0;position:relative}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-progress{position:absolute;left:0;right:42px;width:auto;margin:11px 0 0;height:15px}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-progress div{border-radius:25px;height:13px;padding:0;margin:0;overflow:hidden}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-progressbar{border:1px solid gray;background-color:#92a6b3;background-image:-webkit-gradient(linear, left top, left bottom, from(#92a6b3), color-stop(11%, #90aab8), color-stop(22%, #96b1bf), color-stop(33%, #9eb4c1), color-stop(44%, #a7bac7), to(#c1d5dc));background-image:-webkit-linear-gradient(top, #92a6b3 0%, #90aab8 11%, #96b1bf 22%, #9eb4c1 33%, #a7bac7 44%, #c1d5dc 100%);background-image:-o-linear-gradient(top, #92a6b3 0%, #90aab8 11%, #96b1bf 22%, #9eb4c1 33%, #a7bac7 44%, #c1d5dc 100%);background-image:linear-gradient(to bottom, #92a6b3 0%, #90aab8 11%, #96b1bf 22%, #9eb4c1 33%, #a7bac7 44%, #c1d5dc 100%)}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-progressbarvalue{border:0;width:0%;background:#60b3dd url(../images/progressbar_blue.gif) repeat-x left center}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-cancel,.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-start{position:absolute;top:10px;right:0}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-cancel button,.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-start button{display:block;overflow:hidden;text-indent:-9999px;padding:0;margin:0;border:0;width:16px;height:16px;cursor:pointer;-webkit-box-shadow:none;box-shadow:none;position:relative}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-cancel button span,.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-start button span{position:absolute;left:0;top:0;margin:0}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-cancel button span.ui-button-text,.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-start button span.ui-button-text{display:none}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-start{right:20px}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-editform{height:0;overflow:hidden;clear:both}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-editform.loading{width:100%;height:22px;margin:15px 0 0;background:url(../admin/client/dist/images/spinner.gif) no-repeat 50% 0}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-editform.loading iframe{padding-top:0;margin-top:22px;border:none}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-editform iframe{margin-top:8px;padding-top:8px;border-top:1px solid #D2D5D8;width:100%}.ss-uploadfield .ss-uploadfield-addfile.borderTop{border-top:1px solid #b3b3b3}.ss-upload .clear{clear:both}.ss-upload .ss-uploadfield-fromcomputer input{position:absolute;top:0;margin:0;filter:alpha(opacity=0);-webkit-transform:translate(-200%, 0);-ms-transform:translate(-200%, 0);-o-transform:translate(-200%, 0);transform:translate(-200%, 0);direction:ltr;cursor:pointer;left:0;width:100%;height:100%}.ss-upload .loader{height:94px;background:transparent url(../admin/client/dist/images/spinner.gif) no-repeat 50% 50%}@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx){.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-editform.loading{background-image:url(../admin/client/dist/images/spinner@2x.gif);-webkit-background-size:43px 43px;background-size:43px 43px}.ss-upload .loader{background-image:url(../admin/client/dist/images/spinner@2x.gif);-webkit-background-size:43px 43px;background-size:43px 43px}} - -/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxlZ2FjeS9VcGxvYWRGaWVsZC5zY3NzIiwiLi4vLi4vLi4vYWRtaW4vY2xpZW50L3NyYy9zdHlsZXMvbGVnYWN5L19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL2FkbWluL2NsaWVudC9zcmMvc3R5bGVzL2xlZ2FjeS90aGVtZXMvX2RlZmF1bHQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxxRUFHRSxpQkFBbUIsQ0FDbkIsdUJBTUEsVUFBWSxDQUhkLDZCQU9FLGFBQWUsQ0FQakIsOEJBYUUsZ0JBQ0EsZ0JBQ0EsV0FDQSxjQUNBLFdBQ0EsVUFDQSxnQkFDQSx5QkFDQSxrQkFDQSx3SkFBQSxBQUFpQywrRUFBakMsQUFBaUMsMEVBQWpDLEFBQWlDLHNFQUFBLENBdEJuQyxxQ0F5QkUsU0FDQSxhQUNBLGFBQWUsQ0EzQmpCLGtFQThCRyxZQUNBLGlCQUNBLFdBQ0Esa0JBQ0EsaUJBQ0EsV0FDQSxnQkFDRyxrQkFBb0IsQ0FyQzFCLHVFQXVDUSxZQUNBLFdBQ0EsbUJBQ0EscUJBQXVCLENBMUMvQiwwRkE4Q0ksd0NBQUEsQUFDQSxnQ0FBQSx1QkFDQSxtQkFDQSxrQkFDQSxpQkFBbUIsQ0FsRHZCLGlHQXFESyxlQUFpQixDQXJEdEIsc0VBeURRLGNBQ0EsY0FDSix5S0FBMEssQ0EzRDlLLHNGQThEVSxzQkFBd0IsQ0E5RGxDLCtEQW1FRyxnQkFBa0IsQ0FuRXJCLHlGQXNFSSxjQUNBLGlCQUNBLFlBQ0EsU0FDQSxlQUFpQixDQTFFckIsK0ZBNEVLLGdCQUNBLGlCQ3pFSixnQkFDQSxtQkFDQSx1QkFDQSwwQkR3RUksZUFDQSxVQUFXLENBaEZoQiwrRkFtRkssY0FDQSxrQkFDQSxlQUNBLFVBQVcsQ0F0RmhCLHFIQXlGSyxZQUNBLGtCQUNBLGlCQUNBLGFBQWUsQ0E1RnBCLHlJQStGTSxVQUNBLGlCQUNBLFdBQVksQ0FqR2xCLDJJQXFHTSxhQUFhLENBckduQiwySUF5R00sYUUxQzZCLENGL0RuQyxpRkFtSEksV0FDQSxZQUNBLGlCQUFtQixDQXJIdkIsOEVBeUhJLGFBQWUsQ0F6SG5CLHdHQTRISyxXQUNBLFVBQ0EsV0FBYSxDQTlIbEIsOEdBa0lNLFdBQ0EsV0FDQSxpQkFBbUIsQ0FwSXpCLG9JQXdJTSxXQUNBLFdBQ0EsVUFDQSxlQUFpQixDQTNJdkIsMkdBZ0pLLFlBQ0EsU0FDQSxhQUNBLFFBQVUsQ0FuSmYsdUlBc0pNLGtCQUNBLFFBQVUsQ0F2SmhCLHNDQStKRSxTQUNBLFVBQ0EsY0FDQSxpQkFBbUIsQ0FsS3JCLHFJQXNLRyxTQUNBLGdDQUNBLGdCQUNBLGFFMUhpQixDRi9DcEIsMkpBNEtJLGVBQWlCLENBNUtyQixtRUFnTEcsZ0JBQ0EsZ0JBQ0Esb0JBQ0EsaUJBQW1CLENBbkx0QixvRUFzTEcsa0JBQ0EsT0FDQSxXQUNBLFdBQ0EsZ0JBQ0EsV0FBYSxDQTNMaEIsd0VBOExJLG1CQUNBLFlBQ0EsVUFDQSxTQUNBLGVBQWlCLENBbE1yQix1RUFzTUcsc0JBQ0EseUJBQ0EscU1BQUEsQUFBaUMsNEhBQWpDLEFBQWlDLHVIQUFqQyxBQUFpQyx5SEFBQSxDQXhNcEMsNEVBMk1HLFNBQ0EsU0FDQSwyRUFBNEUsQ0E3TS9FLG1JQWlORyxrQkFDQSxTQUNBLE9BQVMsQ0FuTlosaUpBc05JLGNBQ0EsZ0JBQ0Esb0JBQ0EsVUFDQSxTQUNBLFNBQ0EsV0FDQSxZQUNBLGVBQ0Esd0JBQUEsQUFDQSxnQkFBQSxpQkFBbUIsQ0FoT3ZCLDJKQW9PSyxrQkFDQSxPQUNBLE1BQ0EsUUFBVSxDQXZPZix5TEEwT00sWUFBYyxDQTFPcEIsaUVBZ1BHLFVBQVksQ0FoUGYsb0VBdVBHLFNBQ0EsZ0JBQ0EsVUFBWSxDQXpQZiw0RUE0UEksV0FDQSxZQUNBLGdCQUNBLHVFQUF3RSxDQS9QNUUsbUZBbVFLLGNBQWlCLGdCQUNqQixXQUFhLENBcFFsQiwyRUF5UUksZUFDQSxnQkFDQSw2QkFDQSxVQUFZLENBNVFoQixrREFrUkcsNEJBQTZCLENBQzdCLGtCQU9ELFVBQVksQ0FIZCw4Q0FRRSxrQkFDQSxNQUNBLFNBQ0Esd0JBQ0Esc0NBQUEsQUFDQSxrQ0FEQSxBQUNBLGlDQURBLEFBQ0EsOEJBQUEsY0FDQSxlQUNBLE9BQ0EsV0FDQSxXQUFhLENBakJmLG1CQXFCRSxZQUNBLHFGQUFzRixDQUN0RixtVkFlRCw0RUFJSSxpRUFDQSxrQ0FBQSxBQUEyQix5QkFBQSxDQUMzQixtQkFPRixpRUFDQSxrQ0FBQSxBQUEyQix5QkFBQSxDQUMzQixDQUFBIiwiZmlsZSI6ImxlZ2FjeS9VcGxvYWRGaWVsZC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUT0RPIHdlIG5lZWQgYSBzZXBlcmF0ZWQgZmlsZSBmb3Igc3R5bGVzIHRoYXQgYXJlIHVzZWQgaW4gYm90aCBjbXMgYW5kIGZyb250IGVuZCAoc3VjaCBhcyBidXR0b25zKVxuQGltcG9ydCBcIi4uLy4uLy4uLy4uL2FkbWluL2NsaWVudC9zcmMvc3R5bGVzL2xlZ2FjeS90aGVtZXMvZGVmYXVsdC5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vYWRtaW4vY2xpZW50L3NyYy9zdHlsZXMvbGVnYWN5L19taXhpbnMuc2Nzc1wiO1xuXG4uc3MtdXBsb2FkZmllbGQsXG4uc3MtaW5zZXJ0LW1lZGlhIHtcblx0Ji5mb3JtLWdyb3VwOjphZnRlciB7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHR9XG59XG5cbi5zcy11cGxvYWRmaWVsZCB7XG5cblx0LmNsZWFyIHtcblx0XHRjbGVhcjogYm90aDtcblx0fVxuXG5cdC5kZXNjcmlwdGlvbiB7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cblxuXHQubWlkZGxlQ29sdW1uIHtcblx0XHQvLyBUT0RPIC5taWRkbGVDb2x1bW4gc3R5bGluZyBzaG91bGQgcHJvYmFibHkgYmUgdGhlbWUgc3BlY2lmaWMgKGVnIGNtcyB1aSB3aWxsIGxvb2sgZGlmZmVyZW50IHRoYW4gYmxhY2tjYW5keSlcblx0XHQvLyBzbyB3ZSBzaG91bGQgbW92ZSB0aGlzIHN0eWxlIGludG8gdGhlIGNtcyBhbmQgYmxhY2sgY2FuZHkgZmlsZXNcblx0XHRtaW4td2lkdGg6IDUxMHB4O1xuXHRcdG1heC13aWR0aDogJGdyaWQteCAqIDg3OyAvLyBDYXBwZWQgd2lkdGggdG8gbGluZSB1cCB3aXRoIHRleHQgZmllbGRzXG5cdFx0d2lkdGg6MTAwJTtcblx0XHRtYXJnaW4tbGVmdDowO1xuXHRcdGNsZWFyOmJvdGg7XG5cdFx0cGFkZGluZzogMDtcblx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIGxpZ2h0ZW4oJGNvbG9yLW1lZGl1bS1zZXBhcmF0b3IsIDIwJSk7XG5cdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjZWZlZmVmLCAjZmZmIDEwJSwgI2ZmZiA5MCUsICNlZmVmZWYpO1xuXHR9XG5cdC5zcy11cGxvYWRmaWVsZC1pdGVtIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMTVweDtcblx0XHRvdmVyZmxvdzogYXV0bztcblxuXHRcdC5zcy11cGxvYWRmaWVsZC1pdGVtLXByZXZpZXcge1xuXHRcdFx0aGVpZ2h0OiA2MHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDYwcHg7XG5cdFx0XHR3aWR0aDogODBweDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYmFja2dyb3VuZDogI2YwZjJmNDtcbiAgICAgIHNwYW4ge1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuXG5cdFx0XHQmLnNzLXVwbG9hZGZpZWxkLWRyb3B6b25lIHtcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAwIDRweCAwICRjb2xvci1tZWRpdW0tc2VwYXJhdG9yIGluc2V0O1xuXHRcdFx0XHRib3JkZXI6IDJweCBkYXNoZWQgJGNvbG9yLW1lZGl1bS1zZXBhcmF0b3I7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRjb2xvci1saWdodC1zZXBhcmF0b3I7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMTVweDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG5cdFx0XHRcdGJhY2tncm91bmQ6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFnQUFBQUlDQVlBQUFERUQ3NkxBQUFBSkVsRVFWUVlWMk84ZE9uU2Z3WWtvS2VueDRqTVo2U0RBbVQ3UUd4MEsxRWNSQnNGQUpmT0hkM0xlNzlSQUFBQUFFbEZUa1N1UW1DQykgcmVwZWF0O1xuICAgICAgICAvLyBObyBjaGVja2VyIGJhY2tncm91bmQgZm9yIGljb25zXG4gICAgICAgICZbc3JjJD1cIl8zMi5wbmdcIl0ge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5zcy11cGxvYWRmaWVsZC1pdGVtLWluZm8ge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDk1cHg7XG5cblx0XHRcdC5zcy11cGxvYWRmaWVsZC1pdGVtLW5hbWUge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEzcHg7XG5cdFx0XHRcdGhlaWdodDogMjZweDtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0XHQubmFtZSB7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAyNDBweDtcblx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0XHRAaW5jbHVkZSBoaWRlLXRleHQtb3ZlcmZsb3c7XG5cdFx0XHRcdFx0ZGlzcGxheTppbmxpbmU7XG5cdFx0XHRcdFx0ZmxvYXQ6bGVmdDtcblx0XHRcdFx0fVxuXHRcdFx0XHQuc2l6ZSB7XG5cdFx0XHRcdFx0Y29sb3I6IGxpZ2h0ZW4oJGNvbG9yLXRleHQsIDI1JSk7XG5cdFx0XHRcdFx0cGFkZGluZzogMCAwIDAgNXB4O1xuXHRcdFx0XHRcdGRpc3BsYXk6aW5saW5lO1xuXHRcdFx0XHRcdGZsb2F0OmxlZnQ7XG5cdFx0XHRcdH1cblx0XHRcdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0tc3RhdHVzIHtcblx0XHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRcdFx0cGFkZGluZzogMCAwIDAgNXB4O1xuXHRcdFx0XHRcdHRleHQtYWxpZ246cmlnaHQ7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiA3NSU7XG5cblx0XHRcdFx0XHQmLnVpLXN0YXRlLWVycm9yLXRleHQge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICRjb2xvci1idXR0b24tZGVzdHJ1Y3RpdmU7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0XHRcdHdpZHRoOjE1MHB4OyAvL0FsbG9jYXRlcyB0aGUgc3RhdHVzIG1lc3NhZ2UgZW5vdWdoIHJvb20gdG8gYmUgdXNlZnVsLiBXaWxsIHdyYXAgaWYgaXQgaXMgbG9uZ2VyXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ji51aS1zdGF0ZS13YXJuaW5nLXRleHQge1xuXHRcdFx0XHRcdFx0Y29sb3I6IGRhcmtlbigkY29sb3Itd2FybmluZywgMTAlKTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmLnVpLXN0YXRlLXN1Y2Nlc3MtdGV4dCB7XG5cdFx0XHRcdFx0XHRjb2xvcjogJGNvbG9yLWJ1dHRvbi1jb25zdHJ1Y3RpdmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly9VcGxvYWQvVmFsaWRhdGlvbiBlcnJvclxuXHRcdCYudWktc3RhdGUtZXJyb3Jcblx0XHR7XG5cdFx0XHQuc3MtdXBsb2FkZmllbGQtaXRlbS1wcmV2aWV3IHtcblx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxNXB4O1xuXHRcdFx0fVxuXG5cdFx0XHQuc3MtdXBsb2FkZmllbGQtaXRlbS1pbmZvIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cblx0XHRcdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0tbmFtZSB7XG5cdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdFx0d2lkdGg6IDcwJTtcblx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cblx0XHRcdFx0XHQubmFtZVxuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0tc3RhdHVzIHtcblx0XHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuc3MtdXBsb2FkZmllbGQtaXRlbS1hY3Rpb25zIHtcblx0XHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRcdFx0d2lkdGg6IDUlO1xuXHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDA7XG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xuXG5cdFx0XHRcdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0tY2FuY2VsIHtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdHRvcDogYXV0bztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuc3MtdXBsb2FkZmllbGQtZmlsZXMge1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdG92ZXJmbG93OiBhdXRvO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdC5zcy11cGxvYWRmaWVsZC1pdGVtLFxuXHRcdC5zcy11cGxvYWRmaWVsZC1pdGVtLnVpLXN0YXRlLWVycm9yIHtcblx0XHRcdGJvcmRlcjogMDtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBsaWdodGVuKCRjb2xvci1tZWRpdW0tc2VwYXJhdG9yLCAyMCUpO1xuXHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdGNvbG9yOiAkY29sb3ItdGV4dDtcblxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0tYWN0aW9ucyB7XG5cdFx0XHRtaW4taGVpZ2h0OiAyOHB4O1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdG1hcmdpbjogNnB4IDAgLTZweCAwO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdH1cblx0XHQuc3MtdXBsb2FkZmllbGQtaXRlbS1wcm9ncmVzcyB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0cmlnaHQ6IDQycHg7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdG1hcmdpbjogMTFweCAwIDA7XG5cdFx0XHRoZWlnaHQ6IDE1cHg7XG5cblx0XHRcdGRpdiB7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDI1cHg7XG5cdFx0XHRcdGhlaWdodDogMTNweDtcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuc3MtdXBsb2FkZmllbGQtaXRlbS1wcm9ncmVzc2JhciB7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItbWVkaXVtLXNlcGFyYXRvcjtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM5MmE2YjM7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjOTJhNmIzIDAlLCM5MGFhYjggMTElLCM5NmIxYmYgMjIlLCM5ZWI0YzEgMzMlLCNhN2JhYzcgNDQlLCNjMWQ1ZGMgMTAwJSk7XG5cdFx0fVxuXHRcdC5zcy11cGxvYWRmaWVsZC1pdGVtLXByb2dyZXNzYmFydmFsdWUge1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0d2lkdGg6IDAlO1xuXHRcdFx0YmFja2dyb3VuZDogIzYwYjNkZCB1cmwoLi4vaW1hZ2VzL3Byb2dyZXNzYmFyX2JsdWUuZ2lmKSByZXBlYXQteCBsZWZ0IGNlbnRlcjtcblx0XHR9XG5cdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0tY2FuY2VsLFxuXHRcdC5zcy11cGxvYWRmaWVsZC1pdGVtLXN0YXJ0IHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMTBweDtcblx0XHRcdHJpZ2h0OiAwO1xuXG5cdFx0XHRidXR0b24ge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0dGV4dC1pbmRlbnQ6IC05OTk5cHg7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0XHR3aWR0aDogMTZweDtcblx0XHRcdFx0aGVpZ2h0OiAxNnB4O1xuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0Ly8gYmFja2dyb3VuZDogc3ByaXRlKCRzcHJpdGVzMTYsIGNyb3NzLWNpcmNsZSkgbm8tcmVwZWF0O1xuXG5cdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRtYXJnaW46IDA7XG5cblx0XHRcdFx0XHQmLnVpLWJ1dHRvbi10ZXh0IHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5zcy11cGxvYWRmaWVsZC1pdGVtLXN0YXJ0IHtcblx0XHRcdHJpZ2h0OiAyMHB4O1xuXHRcdFx0YnV0dG9uIHtcblx0XHRcdFx0Ly8gYmFja2dyb3VuZDogc3ByaXRlKCRzcHJpdGVzMTYsIG5hdmlnYXRpb24pIG5vLXJlcGVhdDtcblx0XHRcdH1cblx0XHR9XG5cdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0tZWRpdGZvcm0ge1xuXHRcdFx0LyogZG9uJ3QgdXNlIGRpc3BsYXkgbm9uZSwgZm9yIGl0IHdpbGwgYnJlYWsgalF1ZXJ5KCdpZnJhbWUnKS5jb250ZW50cygpLmhlaWdodCgpICovXG5cdFx0XHRoZWlnaHQ6IDA7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0Y2xlYXI6IGJvdGg7XG5cblx0XHRcdCYubG9hZGluZyB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDIycHg7XG5cdFx0XHRcdG1hcmdpbjogMTVweCAwIDA7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHVybCguLi9hZG1pbi9jbGllbnQvZGlzdC9pbWFnZXMvc3Bpbm5lci5naWYpIG5vLXJlcGVhdCA1MCUgMDtcblxuXHRcdFx0XHRpZnJhbWUge1xuXHRcdFx0XHRcdC8qIE9sZCBJRSBuZWVkcyB0aGlzIG9yIGl0J2xsIGdpdmUgdGhlIGlmcmFtZSBhIHdoaXRlIGJhY2tncm91bmQsIGNvdmVyaW5nIHRoZSBzcGlubmVyICovXG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDA7IG1hcmdpbi10b3A6IDIycHg7XG5cdFx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGlmcmFtZSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6ICRncmlkLXk7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAkZ3JpZC15O1xuXHRcdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWxpZ2h0LXNlcGFyYXRvcjtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5zcy11cGxvYWRmaWVsZC1hZGRmaWxlIHtcblx0XHQmLmJvcmRlclRvcCB7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgbGlnaHRlbigkY29sb3ItbWVkaXVtLXNlcGFyYXRvciwgMjAlKTtcblx0XHR9XG5cdH1cbn1cblxuLnNzLXVwbG9hZCB7XG5cblx0LmNsZWFyIHtcblx0XHRjbGVhcjogYm90aDtcblx0fVxuXG5cdC5zcy11cGxvYWRmaWVsZC1mcm9tY29tcHV0ZXIgaW5wdXQge1xuXHRcdC8vIHNpbmNlIHdlIGNhbid0IHJlYWxseSBzdHlsZSB0aGUgZmlsZSBpbnB1dCwgd2UgdXNlIHRoaXMgaGFjayB0byBtYWtlIGl0IGFzIGJpZyBhcyB0aGUgYnV0dG9uIGFuZCBoaWRlIGl0XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRtYXJnaW46IDA7XG5cdFx0ZmlsdGVyOiBhbHBoYShvcGFjaXR5ID0gMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwMCUsIDApO1xuXHRcdGRpcmVjdGlvbjogbHRyO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0fVxuXG5cdC5sb2FkZXIge1xuXHRcdGhlaWdodDogOTRweDsgLy8gQXBwcm94bWlhdGVseSBtYXRjaGVzIHRoZSBoZWlnaHQgb2YgdGhlIGZpZWxkIG9uY2UgYSBmaWxlIGlzIGF0dGFjaGVkLCBhdm9pZHMgYSAnanVtcCcgaW4gc2l6ZVxuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCguLi9hZG1pbi9jbGllbnQvZGlzdC9pbWFnZXMvc3Bpbm5lci5naWYpIG5vLXJlcGVhdCA1MCUgNTAlO1xuXHR9XG59XG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBcIkAyeFwiIG1lZGlhIHF1ZXJ5XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBtZWRpYVxuXHRvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG5cdG9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcblx0b25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSksXG5cdG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcblx0b25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSksXG5cdG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkge1xuXG5cdC5zcy11cGxvYWRmaWVsZCB7XG5cdFx0LnNzLXVwbG9hZGZpZWxkLWZpbGVzIHtcblx0XHRcdC5zcy11cGxvYWRmaWVsZC1pdGVtLWVkaXRmb3JtIHtcblx0XHRcdFx0Ji5sb2FkaW5nIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vYWRtaW4vY2xpZW50L2Rpc3QvaW1hZ2VzL3NwaW5uZXJAMnguZ2lmKTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDQzcHggNDNweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5zcy11cGxvYWQge1xuXHRcdC5sb2FkZXIge1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2FkbWluL2NsaWVudC9kaXN0L2ltYWdlcy9zcGlubmVyQDJ4LmdpZik7XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDQzcHggNDNweDtcblx0XHR9XG5cdH1cblxufVxuIiwiLy8qKlxuLy8gKiBUaGlzIGZpbGUgY29udGFpbnMgZ2VuZXJpYyBtaXhpbnMgd2hpY2ggd2UgdXNlIHRocm91Z2hvdXRcbi8vICogdGhlIGFkbWluIHBhbmVscy5cbi8vICpcbi8vICogTWl4aW5zIHNob3VsZCBiZSBzdG9yZWQgaGVyZSByYXRoZXIgdGhhbiBpbmRpdmlkdWFsIGZpbGVzXG4vLyAqIHNvIHRoYXQgd2UgY2FuIGtlZXAuXG4vLyAqL1xuXG4vLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICogSGlkZXMgdGhlIG92ZXJmbG93aW5nIHRleHQgZnJvbSBhIGNvbnRhaW5lclxuLy8gKlxuLy8gKiBOb3RlOiB5b3UgbXVzdCBkZWZpbmUgYSB3aWR0aCBvbiB0aGUgZWxlbWVudCB3aXRoIHRoaXNcbi8vICogb3ZlcmZsb3cuXG4vLyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWl4aW4gaGlkZS10ZXh0LW92ZXJmbG93IHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdC1vLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdy1ub25le1xuXHQtbW96LWJveC1zaGFkb3c6IG5vbmU7XG5cdC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG5cbi8vKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL0NsZWFyZml4IG1peGluIGNsZWFycyB0aGUgZmxvYXQgb2YgaXQncyBwYXJlbnQgZWxlbWVudFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiovXG5AbWl4aW4gY2xlYXJmaXh7XG5cdCY6YWZ0ZXJ7XG5cdFx0Y29udGVudDogXCIuXCI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0aGVpZ2h0OiAwO1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0fVxuXHQqOmZpcnN0LWNoaWxkICZ7IHpvb206MTt9XG59XG5cblxuXG4vLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICogQ2xlYXIgdGhlIHByb3BlcnRpZXMgb2Ygc3ViIGZvcm0gZmllbGRzLlxuLy8gKlxuLy8gKiBPZnRlbiBuZWVkZWQgZm9yIG5lc3RlZCBmb3JtIGZpZWxkcyBhbmRcbi8vICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBjbGVhci1mb3JtLWZpZWxkLXN0eWxlcyB7XG5cdC5maWVsZCB7XG5cdFx0cGFkZGluZzogMDtcblx0XHRib3JkZXI6IDA7XG5cdH1cblxuXHRsYWJlbCB7XG5cdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0d2lkdGg6IGF1dG87XG5cblx0XHQmLmxlZnQge1xuXHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRkaXNwbGF5OiBpbmhlcml0O1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XG5cdFx0fVxuXHR9XG5cblx0Lm1pZGRsZUNvbHVtbiB7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cblxuXHRpbnB1dC50ZXh0LFxuXHR0ZXh0YXJlYSxcblx0c2VsZWN0LFxuXHQuVHJlZURyb3Bkb3duRmllbGQge1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdG1heC13aWR0aDogYXV0bztcblx0fVxufVxuXG4vLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICogRG91YmxlIHRvbmUgYm9yZGVyc1xuLy8gKlxuLy8gKiBodHRwOi8vZGF2ZXJ1cGVydC5jb20vMjAxMS8wNi90d28tdG9uZS1ib3JkZXJzLXdpdGgtY3NzMy9cbi8vICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBkb3VibGVib3JkZXIoJHNpZGUsICRpbm5lckNvbG9yLCAkb3V0ZXJDb2xvcikge1xuICAgICRzaGFkb3c6IFwiMCAwIDBcIjtcbiAgICBib3JkZXItI3skc2lkZX06IDFweCBzb2xpZCAkaW5uZXJDb2xvcjtcbiAgICBAaWYgKCRzaWRlID09IFwidG9wXCIpIHsgJHNoYWRvdzogMCAtMXB4IDA7IH1cbiAgICBAaWYgKCRzaWRlID09IFwicmlnaHRcIikgeyAkc2hhZG93OiAxcHggMCAwOyB9XG4gICAgQGlmICgkc2lkZSA9PSBcImJvdHRvbVwiKSB7ICRzaGFkb3c6IDAgMXB4IDA7IH1cbiAgICBAaWYgKCRzaWRlID09IFwibGVmdFwiKSB7ICRzaGFkb3c6IC0xcHggMCAwOyB9XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93ICRvdXRlckNvbG9yO1xuICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdyAkb3V0ZXJDb2xvcjtcbiAgICAtby1ib3gtc2hhZG93OiAkc2hhZG93ICRvdXRlckNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3cgJG91dGVyQ29sb3I7XG59XG5cblxuLypNaXhpbiB1c2VkIHRvIGdlbmVyYXRlIHNsaWdodGx5IHNtYWxsZXIgdGV4dCBhbmQgZm9ybXNcblVzZWQgaW4gc2lkZSBwYW5lbHMgYW5kIGFjdGlvbiB0YWJzXG4qL1xuQG1peGluIHRpZ2h0U3BhY2luZ3tcblx0aDMsaDQsaDUge1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdGxpbmUtaGVpZ2h0OiAkZ3JpZC15ICogMjtcblx0fVxuXHRoMyB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLXJvb3Q7XG5cdH1cblxuXHRoNCB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLXJvb3QgLTE7XG5cdFx0bWFyZ2luOiA1cHggMDtcblx0fVxuXG5cdC51aS13aWRnZXQtY29udGVudCB7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0fVxuXG5cdC5maWVsZCB7XG5cdFx0Lypcblx0XHQgKiBGaWVsZHMgYXJlIG1vcmUgY29tcHJlc3NlZCBpbiBzb21lIGFyZWFzIGNvbXBhcmVkIHRvIHRoZVxuXHRcdCAqIG1haW4gY29udGVudCBlZGl0aW5nIHdpbmRvdyBzbyB0aGUgYmVsb3cgYWx0ZXJzIHRoZSBpbnRlcm5hbFxuXHRcdCAqIHNwYWNpbmcgb2YgdGhlIGZpZWxkcyBzbyB3ZSBjYW4gbW92ZSB0aGF0IHNwYWNpbmcgdG8gYmV0d2VlblxuXHRcdCAqIHRoZSBmb3JtIGZpZWxkcyByYXRoZXIgdGhhbiBwYWRkaW5nXG5cdFx0ICovXG5cdFx0Ym9yZGVyLWJvdHRvbTpub25lO1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0bGFiZWwge1xuXHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdHBhZGRpbmc6IDAgJGdyaWQteCA0cHggMDtcblx0XHRcdCYuZXh0cmEtZGV0YWlsc3tcblx0XHRcdFx0b3ZlcmZsb3c6aGlkZGVuO1xuXHRcdFx0XHRtYXJnaW4tdG9wOjEwcHg7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRjb2xvcjogbGlnaHRlbigkY29sb3ItdGV4dCwgMzUlKTtcblx0XHRcdFx0Zm9udC1zdHlsZTppdGFsaWM7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0Om5vcm1hbDtcblx0XHRcdFx0Zm9udC1zaXplOjFlbTtcblx0XHRcdFx0ZmxvYXQ6bGVmdDtcblx0XHRcdFx0dGV4dC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRcdCYuZmlsbHtcblx0XHRcdFx0XHQmOmJlZm9yZXtcblx0XHRcdFx0XHRcdGNvbG9yOiNmZmY7XG5cdFx0XHRcdFx0XHRjb250ZW50OiAnPyc7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6MTJweDtcblx0XHRcdFx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6M3B4O1xuXHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDozcHg7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0XHRcdFx0ZmxvYXQ6bGVmdDtcblx0XHRcdFx0XHRcdHRleHQtc2hhZG93OiBub25lO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTBweDtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6bGlnaHRlbigkY29sb3ItdGV4dCwgNDUlKTtcblx0XHRcdFx0XHRcdHdpZHRoOjIxcHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6MTVweDtcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDo1cHg7XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOjVweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQubWlkZGxlQ29sdW1uIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cblx0XHRpbnB1dC50ZXh0LFxuXHRcdHNlbGVjdCxcblx0XHR0ZXh0YXJlYSB7XG5cdFx0XHRwYWRkaW5nOiA1cHg7XG5cdFx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0fVxuXG5cdFx0Ji5jaGVja2JveCB7XG5cdFx0XHRwYWRkaW5nOiAwIDhweCAwO1xuXG5cdFx0XHRpbnB1dCB7XG5cdFx0XHRcdG1hcmdpbjogMnB4IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmZvcm1fX2ZpZWxkZ3JvdXAge1xuXHRcdC5mb3JtX19maWVsZGdyb3VwLWl0ZW0ge1xuXHRcdFx0cGFkZGluZzogMDtcblxuXHRcdFx0LmZpZWxkIHtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qIFJlc3R5bGUgZm9yIHNtYWxsZXIgYXJlYSovXG5cdC5jbXMtY29udGVudC1maWVsZHN7XG5cdFx0b3ZlcmZsb3c6dmlzaWJsZTtcblx0fVxuXHQuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGV7XG5cdFx0d2lkdGg6MTAwJSAhaW1wb3J0YW50O1xuXHRcdC5jaG9zZW4tc2luZ2xle1xuXHRcdFx0cGFkZGluZzogMCAwIDAgNXB4O1xuXHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHR9XG5cdH1cblx0LmNtcy1jb250ZW50LWFjdGlvbnMsIC5jbXMtcHJldmlldy1jb250cm9sc3tcblx0XHRwYWRkaW5nOjA7XG5cdFx0aGVpZ2h0OmF1dG87XG5cdFx0Ym9yZGVyOm5vbmU7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0fVxuXHQuY21zLWVkaXQtZm9ybXtcblx0XHR3aWR0aDoxMDAlO1xuXHR9XG5cdC5Db21wb3NpdGVGaWVsZHtcblx0XHRtYXJnaW46MDtcblx0XHRwYWRkaW5nOjA7XG5cdFx0ZmxvYXQ6bm9uZTtcblx0fVxuXHQucGFyZW50LW1vZGV7XG5cdFx0cGFkZGluZy10b3A6MDtcblx0fVxuXHQudHJlZWRyb3Bkb3duLCAuU2VsZWN0aW9uR3JvdXAgbGkuc2VsZWN0ZWQgZGl2LmZpZWxke1xuXHRcdG1hcmdpbjoxMHB4IDAgMCAwO1xuXHRcdC8vQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAwICNmZmYsIDAgMXB4IDFweCByZ2JhKDAsMCwwLDAuMSkpO1xuXHRcdC50cmVlZHJvcGRvd25maWVsZC10aXRsZXtcblx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xuXHRcdFx0ei1pbmRleDoyO1xuXHRcdFx0cGFkZGluZzo1cHg7XG5cdFx0fVxuXHRcdC50cmVlZHJvcGRvd25maWVsZC1wYW5lbHtcblx0XHRcdG1hcmdpbi10b3A6MTFweDtcblx0XHR9XG5cdFx0LnRyZWVkcm9wZG93bmZpZWxkLXRvZ2dsZS1wYW5lbC1saW5re1xuXHRcdFx0YmFja2dyb3VuZDpub25lO1xuXHRcdFx0Ym9yZGVyLWxlZnQ6bm9uZTtcblx0XHRcdHBhZGRpbmc6NXB4IDNweDtcblx0XHRcdC51aS1pY29ue1xuXHRcdFx0XHRmbG9hdDpyaWdodDtcblx0XHRcdFx0b3BhY2l0eTowLjc7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5jbXMtYWRkLWZvcm0gdWwuU2VsZWN0aW9uR3JvdXB7XG5cdFx0cGFkZGluZy1sZWZ0OjA7XG5cdFx0cGFkZGluZy1yaWdodDowO1xuXHRcdG92ZXJmbG93OnZpc2libGU7XG5cdFx0Ym9yZGVyLWJvdHRvbTpub25lO1xuXHR9XG59XG5cbi8vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gKiBDb21wYXNzIHJlcGxhY2VtZW50IG1peGlucy5cbi8vICpcbi8vICogTWl4aW5zIHRoYXQgd2VyZSBidWlsdC1pbiB3aXRoIGNvbXBhc3Ncbi8vICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQG1peGluIGxlZ2FjeS1waWUtY2xlYXJmaXgge1xuXHQmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcMDAyMFwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuIiwiLyoqXG4gKiBUaGlzIGZpbGUgY29udGFpbnMgdGhlIGRlZmF1bHQgdGhlbWUgZGVmaW5pdGlvbnMgZm9yIHRoZSBhZG1pbiBpbnRlcmZhY2UuXG4gKiBQbGVhc2UgcHV0IG1vc3RseSBTQ1NTIHZhcmlhYmxlIGRlZmluaXRpb25zIGluIGhlcmUsXG4gKiBhbmQgbGVhdmUgdGhlIGFjdHVhbCBzdHlsaW5nIHRvIF9zdHlsZS5zY3NzIGFuZCBhdXhpbGxpYXJ5IGZpbGVzLlxuICovXG5cbkBpbXBvcnQgXCIuLi8uLi92YXJpYWJsZXMuc2Nzc1wiO1xuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENvbG91cnNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJGNvbG9yLWJhc2U6ICNiMGJlYzcgIWRlZmF1bHQ7XG4kY29sb3Itd2lkZ2V0LWJnOiBsaWdodGVuKCRjb2xvci1iYXNlLCAyMCUpICFkZWZhdWx0O1xuXG4vLyBNZW51IHRoZW1lIGNvbG91cnNcbiRjb2xvci10aGVtZS1iYXNlOiBcdCNkOGU0ZWIgIWRlZmF1bHQ7XG5cbiRjb2xvci10aGVtZS1iZzogXHRsaWdodGVuKCRjb2xvci10aGVtZS1iYXNlLCA1JSk7XG4kY29sb3ItdGhlbWUtaWNvbnM6IGRhcmtlbigkY29sb3ItdGhlbWUtYmFzZSwgMjYlKTtcbiRjb2xvci10aGVtZS1hY3RpdmU6ICRjb2xvci10aGVtZS1iYXNlO1xuXG4vLyBDTVMgNCBtZW51XG4kYmFzZS1tZW51OiAjZDhlNGViO1xuJGJhc2UtbWVudS1iZzogbGlnaHRlbigkYmFzZS1tZW51LDUlKTtcbiRiYXNlLW1lbnUtaWNvbjogZGFya2VuKCRiYXNlLW1lbnUsIDI2JSk7XG5cbi8vb2ZmaWNhbCBzaWx2ZXJzdHJpcGUgYnJhbmQgY29sb3JcbiRjb2xvci1icmFuZC1iZzogIzAwNWE5MyAhZGVmYXVsdDtcbiRjb2xvci1icmFuZDogIzQzYzdmNCAhZGVmYXVsdDtcblxuLyogS2VlcCBhcyBzb2xpZCBjb2xvdXJzIHRyYW5zcGFyZW50IGJvcmRlcnMgd29udCB3b3JrIGluIGllICovXG4kY29sb3ItZGFya2VyLWJnOiAjZjBmMmY0ICFkZWZhdWx0O1xuJGNvbG9yLWRhcmstYmc6ICMxNDIxMzYgIWRlZmF1bHQ7XG4kY29sb3ItZGFyay1zZXBhcmF0b3I6ICMxOTQzNWMgIWRlZmF1bHQ7XG4kY29sb3ItbWVkaXVtLXNlcGFyYXRvcjogIzgwODA4MCAhZGVmYXVsdDtcbiRjb2xvci1zZXBhcmF0b3I6ICNDMUM3Q0MgIWRlZmF1bHQ7IC8vIFZlcnRpY2FsIGRpdmlkZXJzXG4kY29sb3ItbGlnaHQtc2VwYXJhdG9yOiAjRDJENUQ4ICFkZWZhdWx0OyAvLyBIb3Jpb250YWwgZGl2aWRlcnNcblxuJGNvbG9yLXRhYjogI2Q5ZDlkOSAhZGVmYXVsdDtcbiRjb2xvci1kYXJrLWdyZXk6ICM3QjhDOTEgIWRlZmF1bHQ7XG5cbi8qIE9ubHkgZm9yIHVzZSBhcyBzaGFkb3dzIGFzIHRoZXkgd29udCB3b3JrIGluIG9sZGVyIGJyb3dzZXJzICovXG4kY29sb3Itc2hhZG93LWxpZ2h0OiByZ2JhKDIwMSwgMjA1LCAyMDYsIDAuOCkgIWRlZmF1bHQ7XG4kY29sb3Itc2hhZG93LWRhcms6IHJnYmEoMTA3LCAxMjAsIDEyMywgMC41KSAhZGVmYXVsdDtcbiRjb2xvci1zaGFkb3ctYmxhY2s6IHJnYmEoMCwgMCwgMCwgMC42KSAhZGVmYXVsdDtcbiRjb2xvci1zaGFkb3ctYmxhY2tlcjogcmdiYSgwLCAwLCAwLCAwLjkpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctc2hpbmU6IHJnYmEoMjQ4LCAyNDgsIDI0OCwgMC45KTtcbiRib3gtc2hhZG93LXNoaW5lLW1pbmltYWw6IHJnYmEoMjQ1LCAyNDUsIDI0NSwgMC44KTtcblxuJGNvbG9yLWhpZ2hsaWdodDogI0ZGRkY2NiAhZGVmYXVsdDtcbiRjb2xvci1oaWdobGlnaHQtb3BhY2l0eTogcmdiYSgyNTUsIDI1NSwgMTAyLCAwLjMpICFkZWZhdWx0O1xuXG4kY29sb3ItbWVudS1idXR0b246ICMzMzhEQzEgIWRlZmF1bHQ7XG4kY29sb3ItbWVudS1iYWNrZ3JvdW5kOiAjYzZkN2RmICFkZWZhdWx0O1xuJGNvbG9yLW1lbnUtYm9yZGVyOiAjOGM5OWExICFkZWZhdWx0O1xuJGNvbG9yLXBhbmVsLWJhY2tncm91bmQ6ICNjNmQ3ZGYgIWRlZmF1bHQ7XG5cbiRjb2xvci10ZXh0LWRlZmF1bHQ6ICM0ZjU4NjEgIWRlZmF1bHQ7IC8qIG5ldyBpbiBTaWx2ZXJTdHJpcGUgNCAqL1xuJGNvbG9yLXRleHQ6ICM2NjcyN2QgIWRlZmF1bHQ7XG4kY29sb3ItdGV4dC1saWdodDogd2hpdGUgIWRlZmF1bHQ7XG4kY29sb3ItdGV4dC1saWdodC1saW5rOiB3aGl0ZSAhZGVmYXVsdDtcbiRjb2xvci10ZXh0LWRpc2FibGVkOiAjYWFhICFkZWZhdWx0O1xuJGNvbG9yLXRleHQtZGFyazogIzFmMWYxZiAhZGVmYXVsdDtcbiRjb2xvci10ZXh0LWRhcmstbGluazogIzNFQkFFMCAhZGVmYXVsdDtcbiRjb2xvci10ZXh0LWJsdWUtbGluazogIzAwNzFjNCAhZGVmYXVsdDtcbiRjb2xvci10ZXh0LXNoYWRvdzogd2hpdGUgIWRlZmF1bHQ7XG5cblxuJGNvbG9yLWJ1dHRvbi1nZW5lcmljOiAjZTZlNmU2ICFkZWZhdWx0O1xuJGNvbG9yLWJ1dHRvbi1nZW5lcmljLWJvcmRlcjogI2QwZDNkNSAhZGVmYXVsdDtcblxuJGNvbG9yLWJ1dHRvbi1oaWdobGlnaHQ6ICNlNmU2ZTYgIWRlZmF1bHQ7XG4kY29sb3ItYnV0dG9uLWhpZ2hsaWdodC1ib3JkZXI6ICM3MDgyODQgIWRlZmF1bHQ7XG5cbiRjb2xvci1idXR0b24tY29uc3RydWN0aXZlOiAjMUY5NDMzICFkZWZhdWx0O1xuJGNvbG9yLWJ1dHRvbi1jb25zdHJ1Y3RpdmUtYm9yZGVyOiAjMUY5NDMzICFkZWZhdWx0O1xuXG4kY29sb3ItYnV0dG9uLWRlc3RydWN0aXZlOiAjZjAwICFkZWZhdWx0O1xuXG4kY29sb3ItYnV0dG9uLWRpc2FibGVkOiAjZWVlZGVkICFkZWZhdWx0O1xuXG4kY29sb3Itbm90aWNlOiAjOTNDREU4ICFkZWZhdWx0O1x0XHQvLyBibHVlXG4kY29sb3Itd2FybmluZzogI0U5RDEwNCAhZGVmYXVsdDtcdFx0Ly8geWVsbG93XG4kY29sb3ItZXJyb3I6ICNlNjgyODggIWRlZmF1bHQ7XHRcdFx0Ly8gcmVkXG4kY29sb3ItZ29vZDogIzcyYzM0YiAhZGVmYXVsdDtcdFx0XHQvLyBncmVlblxuLyokY29sb3Itb3B0aW9uYWw6ICNhMWQyZWIgIWRlZmF1bHQ7ICovXHQvLyBvcmFuZ2VcblxuJGNvbG9yLWNtcy1iYXRjaGFjdGlvbnMtbWVudS1iYWNrZ3JvdW5kOiAjZjVmNWY1ICFkZWZhdWx0O1xuJGNvbG9yLWNtcy1iYXRjaGFjdGlvbnMtbWVudS1zZWxlY3RlZC1iYWNrZ3JvdW5kOiAjZmZmY2RjICFkZWZhdWx0O1xuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFRleHR1cmVzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJHRhYi1wYW5lbC10ZXh0dXJlLWNvbG9yOiAjZjZmN2Y4ICFkZWZhdWx0O1xuJHRhYi1wYW5lbC10ZXh0dXJlLWJhY2tncm91bmQ6ICR0YWItcGFuZWwtdGV4dHVyZS1jb2xvciB1cmwoLi4vaW1hZ2VzL3RleHR1cmVzL2JnX2Ntc19tYWluX2NvbnRlbnQucG5nKSByZXBlYXQgdG9wIGxlZnQgIWRlZmF1bHQ7XG5cblxuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBHcmlkIFVuaXRzIChweClcbiAqXG4gKiBXZSBoYXZlIGEgdmVydGljYWwgcmh5dGhtIHRoYXQgdGhlIGdyaWQgaXMgYmFzZWQgb2ZmXG4gKiBib3RoIHggKD1ob3Jpem9udGFsKSBhbmQgeSAoPXZlcnRpY2FsKS4gQWxsIGludGVybmFsIHBhZGRpbmcgYW5kXG4gKiBtYXJnaW5zIGFyZSBzY2FsZWQgdG8gdGhpcyBhbmQgYWNjb3VudGluZyBmb3IgcGFyYWdyYXBoc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4kZ3JpZC15OiA4cHggIWRlZmF1bHQ7XG4kZ3JpZC14OiA4cHggIWRlZmF1bHQ7XG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQXBwbGljYXRpb24gTG9nbyAoQ01TIExvZ28pIE11c3QgYmUgMjRweCB4IDI0cHhcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJGFwcGxpY2F0aW9uLWxvZ28tc21hbGw6IHVybChcIi4uL2ltYWdlcy9sb2dvX3NtYWxsLnBuZ1wiKSAhZGVmYXVsdDtcbiRhcHBsaWNhdGlvbi1sb2dvLXNtYWxsLTJ4OiB1cmwoXCIuLi9pbWFnZXMvbG9nb19zbWFsbEAyeC5wbmdcIikgIWRlZmF1bHQ7XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */ diff --git a/client/dist/styles/debug.css b/client/dist/styles/debug.css deleted file mode 100644 index 3ffdfb217..000000000 --- a/client/dist/styles/debug.css +++ /dev/null @@ -1 +0,0 @@ -body{background:#eee!important;margin:0;overflow-x:hidden;padding:0;font-family:Helvetica,Arial,sans-serif}.info{padding:18px;background-color:#003050;position:relative;line-height:24px;background-image:-webkit-gradient(linear,left top,left bottom,from(#002137),color-stop(10%,#003050),color-stop(90%,#003050),color-stop(90%,#002137));background-image:-webkit-linear-gradient(#002137,#003050 10%,#003050 90%,#002137);background-image:linear-gradient(#002137,#003050 10%,#003050 90%,#002137);z-index:9999}.info,.info h1{margin:0 0 6px;color:#fff}.info h1{padding:0 32px 0 0;font-size:24px;text-shadow:0 1px #002137;line-height:30px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAmdJREFUeNpiYCASxJ17p8BAAmAh0sD5QAyiFYk1mJGAoQFQQwWgQoKLjIQ+kG0w0EABqIEByOKLjYWZ/////48Yg5lwuPI+uqF/f/88TqyhKGEMdWU/ECegK/r358/Va8tnx5AceVBD9wOxAbqCX18+zbm+am7HpaktD9AcEQCNUBDYAAz7CxhhDFTYAKTqkSX+//37+N3tq4Xboh33ALmfYcEAVJsA9ZkAmhtABifCLIAZ/B5Z4Z9vX1ddXjK15srMzkdAA38iudQB6jNcAJRiFEEpBxbGAsiRtNxWLh3I/ITkSpC3QUGRTyBoYfGUiJFBmJiY/wIN/IAl2S1AdgAoQr88fdjHysMjwyks3ohkBCioEsFBEXv2zUdGRiY+JEmQIQ+hLoQZdgBo2BMmFpaYnx/e9a1yVu0AhT0QM0cefjSPhYs7DEm/IAs0TFewcvOmodmKnuSevLp0uouVi3sDMEJ3AX31GZ60uLjV0DLSJ7DB9/dsalHxDrcGukYbV+B9enJ/xu5Un2tA5i1YhCKVIwbIqQkUN+Ccd7Ip7+nlRZP9QakB3UCQwrc3LoVsDrY4BdTwF8nQAiB1HogdkNX//v5tOUpZwQgMZCDFZ906S51fQVUGmjk+7Un3vwRKRkgGYi1HYMkUmKJSQMGEUQgBLWBGyur/gIp+I6VjA2g6Rs8cDNAIbYalKIzkBvIuKDnjCGqMHAdKdi8vnCgE+uwESoQykAYc0MuRlfaKVdCg+o232MRT6AugRyjQ0BKgga/RDSUJgCI39vTrRxGHHszWzahQBfLZGagFgIaJAzE/NAXhBQABBgBJL0aZBy/F5wAAAABJRU5ErkJggg==) no-repeat right 3px}.info h3{color:#7da4be;font-size:16px;line-height:18px;font-weight:400}.info p{margin:0;font-size:14px;color:#fff}.info a{color:#fff;font-weight:700;text-decoration:none}.info a:active,.info a:hover{color:#fff;text-decoration:underline}.header{margin:0;border-bottom:6px solid #ccdef3;height:23px;background-color:#666673;padding:4px 0 2px 6px}.build,.options,.trace{padding:6px 12px;background:#eee!important;position:relative;z-index:9999}.build li,.options li,.trace li{font-size:14px;margin:6px 0}a{color:#666}a:hover{color:#222}a:active{color:#111}p{margin-bottom:6px}pre{margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0,0,0,.08);color:#333;padding:11px;overflow:auto;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}pre span{color:#999}pre .error{color:red}h2{margin:0 0 12px}h3{margin:0 0 6px;color:#333;font-size:18px;line-height:24px}ul{margin:0 0 18px;padding:0 0 0 18px}fieldset{border:1px solid #b2b2b2;margin-bottom:18px;padding:17px}.pass{color:#060;background:#e2f9e3;border:1px solid #8dd38d;border-radius:4px}.fail,.pass{margin-top:18px;padding:2px 20px 2px 40px}.fail{color:#c80700;background:#ffe9e9;border:1px solid #c80700;border-radius:4px} \ No newline at end of file diff --git a/client/dist/styles/images/progressbar_blue.gif b/client/dist/styles/images/progressbar_blue.gif deleted file mode 100644 index 5ccc3fee3..000000000 Binary files a/client/dist/styles/images/progressbar_blue.gif and /dev/null differ diff --git a/client/src/images/network-save-constructive.gif b/client/src/images/network-save-constructive.gif deleted file mode 100644 index 735c8b870..000000000 Binary files a/client/src/images/network-save-constructive.gif and /dev/null differ diff --git a/client/src/images/network-save.gif b/client/src/images/network-save.gif deleted file mode 100644 index 1560b646c..000000000 Binary files a/client/src/images/network-save.gif and /dev/null differ diff --git a/client/src/images/progressbar_blue.gif b/client/src/images/progressbar_blue.gif deleted file mode 100644 index 5ccc3fee3..000000000 Binary files a/client/src/images/progressbar_blue.gif and /dev/null differ diff --git a/client/src/images/sitetree_ss_default_icons.png b/client/src/images/sitetree_ss_default_icons.png deleted file mode 100644 index 101351db9..000000000 Binary files a/client/src/images/sitetree_ss_default_icons.png and /dev/null differ diff --git a/docs/en/04_Changelogs/4.0.0.md b/docs/en/04_Changelogs/4.0.0.md index f0328f649..600800e69 100644 --- a/docs/en/04_Changelogs/4.0.0.md +++ b/docs/en/04_Changelogs/4.0.0.md @@ -121,11 +121,11 @@ or via SilverStripe templates (`` tags). failing silently, so check your `Requirements` are pointing to files that exist. ``` -framework/javascript => framework/client/dist/ -framework/javascript/lang => framework/client/lang/ -framework/images => framework/client/dist/images/ -framework/css => framework/client/dist/css/ -framework/scss => framework/client/src/styles/ +framework/javascript => admin/client/dist/ +framework/javascript/lang => admin/client/lang/ +framework/images => admin/client/dist/images/ +framework/css => admin/client/dist/css/ +framework/scss => admin/client/src/styles/ admin/javascript/ => admin/client/src/ admin/javascript/src/ => admin/client/src/legacy/ (mostly) admin/javascript/lang/ => admin/client/lang/ diff --git a/webpack.config.js b/webpack.config.js index 9df89e1f6..41734ef60 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -15,13 +15,9 @@ const PATHS = { ADMIN_SPRITES_SRC: './admin/client/src/sprites', ADMIN_SPRITES_DIST: './admin/client/dist/images/sprites', FRAMEWORK: '.', - FRAMEWORK_CSS_SRC: './client/src/styles', - FRAMEWORK_CSS_DIST: './client/dist/styles', FRAMEWORK_THIRDPARTY: './thirdparty', INSTALL_CSS_SRC: './dev/install/client/src/styles', INSTALL_CSS_DIST: './dev/install/client/dist/styles', - FRAMEWORK_JS_SRC: './client/src', - FRAMEWORK_JS_DIST: './client/dist/js', }; // Used for autoprefixing css properties (same as Bootstrap Aplha.2 defaults) @@ -48,10 +44,11 @@ const config = [ leaktools: `${PATHS.ADMIN_JS_SRC}/legacy/leaktools.js`, MemberImportForm: `${PATHS.ADMIN_JS_SRC}/legacy/MemberImportForm.js`, CMSSecurity: `${PATHS.ADMIN_JS_SRC}/legacy/CMSSecurity.js`, - UploadField_select: `${PATHS.FRAMEWORK_JS_SRC}/legacy/UploadField_select.js`, + UploadField_select: `${PATHS.ADMIN_JS_SRC}/legacy/UploadField_select.js`, + TinyMCE_SSPlugin: `${PATHS.ADMIN_JS_SRC}/legacy/TinyMCE_SSPlugin.js`, }, resolve: { - modulesDirectories: [PATHS.ADMIN_JS_SRC, PATHS.FRAMEWORK_JS_SRC, PATHS.MODULES], + modulesDirectories: [PATHS.ADMIN_JS_SRC, PATHS.MODULES], }, output: { path: 'admin/client/dist', @@ -168,16 +165,16 @@ const config = [ { name: 'css', entry: { - 'admin/client/dist/styles/editor': + [`${PATHS.ADMIN_CSS_DIST}/editor`]: `${PATHS.ADMIN_CSS_SRC}/editor.scss`, - 'client/dist/styles/GridField_print': - `${PATHS.FRAMEWORK_CSS_SRC}/legacy/GridField_print.scss`, - 'client/dist/styles/debug': - `${PATHS.FRAMEWORK_CSS_SRC}/legacy/debug.scss`, - 'client/dist/styles/AssetUploadField': - `${PATHS.FRAMEWORK_CSS_SRC}/legacy/AssetUploadField.scss`, - 'client/dist/styles/UploadField': - `${PATHS.FRAMEWORK_CSS_SRC}/legacy/UploadField.scss`, + [`${PATHS.ADMIN_CSS_DIST}/GridField_print`]: + `${PATHS.ADMIN_CSS_SRC}/legacy/GridField_print.scss`, + [`${PATHS.ADMIN_CSS_DIST}/debug`]: + `${PATHS.ADMIN_CSS_SRC}/legacy/debug.scss`, + [`${PATHS.ADMIN_CSS_DIST}/AssetUploadField`]: + `${PATHS.ADMIN_CSS_SRC}/legacy/AssetUploadField.scss`, + [`${PATHS.ADMIN_CSS_DIST}/UploadField`]: + `${PATHS.ADMIN_CSS_SRC}/legacy/UploadField.scss`, [`${PATHS.INSTALL_CSS_DIST}/install`]: `${PATHS.INSTALL_CSS_SRC}/install.scss`, }, @@ -198,7 +195,7 @@ const config = [ }, { test: /\.(png|gif|jpg|svg)$/, - loader: 'url?limit=10000&name=client/dist/styles/images/[name].[ext]', + loader: `url?limit=10000&name=${PATHS.ADMIN_CSS_DIST}/images/[name].[ext]`, }, { test: /\.(woff|eot|ttf)$/,