');
+ //检测是否已增加
+ if (!$('.tabdrop').html()) {
+ dropdown.prependTo(navobj);
+ } else {
+ dropdown = navobj.find('.tabdrop');
+ }
+ //检测是否有下拉样式
+ if (navobj.parent().is('.tabs-below')) {
+ dropdown.addClass('dropup');
+ }
+ var collection = 0;
+
+ var maxwidth = navobj.width() - 60;
+
+ var liwidth = 0;
+ //检查超过一行的标签页
+ var litabs = navobj.append(dropdown.find('li')).find('>li').not('.tabdrop');
+ var lisize = litabs.size();
+ litabs.each(function (i, j) {
+ liwidth += $(this).width();
+ if (collection == 0 && i == lisize - 1 && liwidth <= navobj.width()) {
+ return true;
+ }
+ if (liwidth > maxwidth) {
+ dropdown.find('ul').append($(this));
+ collection++;
+ }
+ });
+ //如果有超出的,显示下拉标签
+ if (collection > 0) {
+ dropdown.removeClass('hide');
+ if (dropdown.find('.active').length == 1) {
+ dropdown.addClass('active');
+ } else {
+ dropdown.removeClass('active');
+ }
+ } else {
+ dropdown.addClass('hide');
+ }
+ };
+};
define("addtabs", function(){});
diff --git a/public/assets/js/require-css.min.js b/public/assets/js/require-css.min.js
old mode 100755
new mode 100644
diff --git a/public/assets/js/require-form.js b/public/assets/js/require-form.js
old mode 100755
new mode 100644
diff --git a/public/assets/js/require-upload.js b/public/assets/js/require-upload.js
old mode 100755
new mode 100644
diff --git a/public/assets/js/require.js b/public/assets/js/require.js
old mode 100755
new mode 100644
diff --git a/public/assets/js/respond.min.js b/public/assets/js/respond.min.js
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins.less b/public/assets/less/bootstrap-less/mixins.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/alerts.less b/public/assets/less/bootstrap-less/mixins/alerts.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/background-variant.less b/public/assets/less/bootstrap-less/mixins/background-variant.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/border-radius.less b/public/assets/less/bootstrap-less/mixins/border-radius.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/buttons.less b/public/assets/less/bootstrap-less/mixins/buttons.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/center-block.less b/public/assets/less/bootstrap-less/mixins/center-block.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/clearfix.less b/public/assets/less/bootstrap-less/mixins/clearfix.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/forms.less b/public/assets/less/bootstrap-less/mixins/forms.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/gradients.less b/public/assets/less/bootstrap-less/mixins/gradients.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/grid-framework.less b/public/assets/less/bootstrap-less/mixins/grid-framework.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/grid.less b/public/assets/less/bootstrap-less/mixins/grid.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/hide-text.less b/public/assets/less/bootstrap-less/mixins/hide-text.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/image.less b/public/assets/less/bootstrap-less/mixins/image.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/labels.less b/public/assets/less/bootstrap-less/mixins/labels.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/list-group.less b/public/assets/less/bootstrap-less/mixins/list-group.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/nav-divider.less b/public/assets/less/bootstrap-less/mixins/nav-divider.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/nav-vertical-align.less b/public/assets/less/bootstrap-less/mixins/nav-vertical-align.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/opacity.less b/public/assets/less/bootstrap-less/mixins/opacity.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/pagination.less b/public/assets/less/bootstrap-less/mixins/pagination.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/panels.less b/public/assets/less/bootstrap-less/mixins/panels.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/progress-bar.less b/public/assets/less/bootstrap-less/mixins/progress-bar.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/reset-filter.less b/public/assets/less/bootstrap-less/mixins/reset-filter.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/reset-text.less b/public/assets/less/bootstrap-less/mixins/reset-text.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/resize.less b/public/assets/less/bootstrap-less/mixins/resize.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/responsive-visibility.less b/public/assets/less/bootstrap-less/mixins/responsive-visibility.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/size.less b/public/assets/less/bootstrap-less/mixins/size.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/tab-focus.less b/public/assets/less/bootstrap-less/mixins/tab-focus.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/table-row.less b/public/assets/less/bootstrap-less/mixins/table-row.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/text-emphasis.less b/public/assets/less/bootstrap-less/mixins/text-emphasis.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/text-overflow.less b/public/assets/less/bootstrap-less/mixins/text-overflow.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/mixins/vendor-prefixes.less b/public/assets/less/bootstrap-less/mixins/vendor-prefixes.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap-less/variables.less b/public/assets/less/bootstrap-less/variables.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap.less b/public/assets/less/bootstrap.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/alerts.less b/public/assets/less/bootstrap/alerts.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/badges.less b/public/assets/less/bootstrap/badges.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/bootstrap.less b/public/assets/less/bootstrap/bootstrap.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/breadcrumbs.less b/public/assets/less/bootstrap/breadcrumbs.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/button-groups.less b/public/assets/less/bootstrap/button-groups.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/buttons.less b/public/assets/less/bootstrap/buttons.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/carousel.less b/public/assets/less/bootstrap/carousel.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/close.less b/public/assets/less/bootstrap/close.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/code.less b/public/assets/less/bootstrap/code.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/component-animations.less b/public/assets/less/bootstrap/component-animations.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/dropdowns.less b/public/assets/less/bootstrap/dropdowns.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/forms.less b/public/assets/less/bootstrap/forms.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/glyphicons.less b/public/assets/less/bootstrap/glyphicons.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/grid.less b/public/assets/less/bootstrap/grid.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/input-groups.less b/public/assets/less/bootstrap/input-groups.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/jumbotron.less b/public/assets/less/bootstrap/jumbotron.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/labels.less b/public/assets/less/bootstrap/labels.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/list-group.less b/public/assets/less/bootstrap/list-group.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/media.less b/public/assets/less/bootstrap/media.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins.less b/public/assets/less/bootstrap/mixins.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/alerts.less b/public/assets/less/bootstrap/mixins/alerts.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/background-variant.less b/public/assets/less/bootstrap/mixins/background-variant.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/border-radius.less b/public/assets/less/bootstrap/mixins/border-radius.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/buttons.less b/public/assets/less/bootstrap/mixins/buttons.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/center-block.less b/public/assets/less/bootstrap/mixins/center-block.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/clearfix.less b/public/assets/less/bootstrap/mixins/clearfix.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/forms.less b/public/assets/less/bootstrap/mixins/forms.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/gradients.less b/public/assets/less/bootstrap/mixins/gradients.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/grid-framework.less b/public/assets/less/bootstrap/mixins/grid-framework.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/grid.less b/public/assets/less/bootstrap/mixins/grid.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/hide-text.less b/public/assets/less/bootstrap/mixins/hide-text.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/image.less b/public/assets/less/bootstrap/mixins/image.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/labels.less b/public/assets/less/bootstrap/mixins/labels.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/list-group.less b/public/assets/less/bootstrap/mixins/list-group.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/nav-divider.less b/public/assets/less/bootstrap/mixins/nav-divider.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/nav-vertical-align.less b/public/assets/less/bootstrap/mixins/nav-vertical-align.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/opacity.less b/public/assets/less/bootstrap/mixins/opacity.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/pagination.less b/public/assets/less/bootstrap/mixins/pagination.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/panels.less b/public/assets/less/bootstrap/mixins/panels.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/progress-bar.less b/public/assets/less/bootstrap/mixins/progress-bar.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/reset-filter.less b/public/assets/less/bootstrap/mixins/reset-filter.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/reset-text.less b/public/assets/less/bootstrap/mixins/reset-text.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/resize.less b/public/assets/less/bootstrap/mixins/resize.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/responsive-visibility.less b/public/assets/less/bootstrap/mixins/responsive-visibility.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/size.less b/public/assets/less/bootstrap/mixins/size.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/tab-focus.less b/public/assets/less/bootstrap/mixins/tab-focus.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/table-row.less b/public/assets/less/bootstrap/mixins/table-row.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/text-emphasis.less b/public/assets/less/bootstrap/mixins/text-emphasis.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/text-overflow.less b/public/assets/less/bootstrap/mixins/text-overflow.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/mixins/vendor-prefixes.less b/public/assets/less/bootstrap/mixins/vendor-prefixes.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/modals.less b/public/assets/less/bootstrap/modals.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/navbar.less b/public/assets/less/bootstrap/navbar.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/navs.less b/public/assets/less/bootstrap/navs.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/normalize.less b/public/assets/less/bootstrap/normalize.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/pager.less b/public/assets/less/bootstrap/pager.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/pagination.less b/public/assets/less/bootstrap/pagination.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/panels.less b/public/assets/less/bootstrap/panels.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/popovers.less b/public/assets/less/bootstrap/popovers.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/print.less b/public/assets/less/bootstrap/print.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/progress-bars.less b/public/assets/less/bootstrap/progress-bars.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/responsive-embed.less b/public/assets/less/bootstrap/responsive-embed.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/responsive-utilities.less b/public/assets/less/bootstrap/responsive-utilities.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/scaffolding.less b/public/assets/less/bootstrap/scaffolding.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/tables.less b/public/assets/less/bootstrap/tables.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/theme.less b/public/assets/less/bootstrap/theme.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/thumbnails.less b/public/assets/less/bootstrap/thumbnails.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/tooltip.less b/public/assets/less/bootstrap/tooltip.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/type.less b/public/assets/less/bootstrap/type.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/utilities.less b/public/assets/less/bootstrap/utilities.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/variables.less b/public/assets/less/bootstrap/variables.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/bootstrap/wells.less b/public/assets/less/bootstrap/wells.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin.less b/public/assets/less/fastadmin.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/.csslintrc b/public/assets/less/fastadmin/.csslintrc
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/404_500_errors.less b/public/assets/less/fastadmin/404_500_errors.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/alerts.less b/public/assets/less/fastadmin/alerts.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/bootstrap-social.less b/public/assets/less/fastadmin/bootstrap-social.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/boxes.less b/public/assets/less/fastadmin/boxes.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/buttons.less b/public/assets/less/fastadmin/buttons.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/callout.less b/public/assets/less/fastadmin/callout.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/carousel.less b/public/assets/less/fastadmin/carousel.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/control-sidebar.less b/public/assets/less/fastadmin/control-sidebar.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/core.less b/public/assets/less/fastadmin/core.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/direct-chat.less b/public/assets/less/fastadmin/direct-chat.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/dropdown.less b/public/assets/less/fastadmin/dropdown.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/forms.less b/public/assets/less/fastadmin/forms.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/fullcalendar.less b/public/assets/less/fastadmin/fullcalendar.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/header.less b/public/assets/less/fastadmin/header.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/info-box.less b/public/assets/less/fastadmin/info-box.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/invoice.less b/public/assets/less/fastadmin/invoice.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/labels.less b/public/assets/less/fastadmin/labels.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/lockscreen.less b/public/assets/less/fastadmin/lockscreen.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/login_and_register.less b/public/assets/less/fastadmin/login_and_register.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/mailbox.less b/public/assets/less/fastadmin/mailbox.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/miscellaneous.less b/public/assets/less/fastadmin/miscellaneous.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/mixins.less b/public/assets/less/fastadmin/mixins.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/modal.less b/public/assets/less/fastadmin/modal.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/navs.less b/public/assets/less/fastadmin/navs.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/print.less b/public/assets/less/fastadmin/print.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/products.less b/public/assets/less/fastadmin/products.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/profile.less b/public/assets/less/fastadmin/profile.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/progress-bars.less b/public/assets/less/fastadmin/progress-bars.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/select2.less b/public/assets/less/fastadmin/select2.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/sidebar-mini.less b/public/assets/less/fastadmin/sidebar-mini.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/sidebar.less b/public/assets/less/fastadmin/sidebar.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/small-box.less b/public/assets/less/fastadmin/small-box.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/social-widgets.less b/public/assets/less/fastadmin/social-widgets.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/table.less b/public/assets/less/fastadmin/table.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/timeline.less b/public/assets/less/fastadmin/timeline.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/users-list.less b/public/assets/less/fastadmin/users-list.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/fastadmin/variables.less b/public/assets/less/fastadmin/variables.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/skins/_all-skins.less b/public/assets/less/skins/_all-skins.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/skins/skin-blue-light.less b/public/assets/less/skins/skin-blue-light.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/skins/skin-blue.less b/public/assets/less/skins/skin-blue.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/skins/skin-green-light.less b/public/assets/less/skins/skin-green-light.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/skins/skin-green.less b/public/assets/less/skins/skin-green.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/skins/skin-purple-light.less b/public/assets/less/skins/skin-purple-light.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/skins/skin-purple.less b/public/assets/less/skins/skin-purple.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/skins/skin-red-light.less b/public/assets/less/skins/skin-red-light.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/skins/skin-red.less b/public/assets/less/skins/skin-red.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/skins/skin-yellow-light.less b/public/assets/less/skins/skin-yellow-light.less
old mode 100755
new mode 100644
diff --git a/public/assets/less/skins/skin-yellow.less b/public/assets/less/skins/skin-yellow.less
old mode 100755
new mode 100644
diff --git a/public/assets/libs/.DS_Store b/public/assets/libs/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..e6747d803be44f42cb2770a035138b79347444ca
Binary files /dev/null and b/public/assets/libs/.DS_Store differ
diff --git a/public/assets/libs/Sortable/.bower.json b/public/assets/libs/Sortable/.bower.json
new file mode 100644
index 0000000000000000000000000000000000000000..bfd8e7e419caeb3079a70312e076c40b04518099
--- /dev/null
+++ b/public/assets/libs/Sortable/.bower.json
@@ -0,0 +1,39 @@
+{
+ "name": "Sortable",
+ "main": [
+ "Sortable.js"
+ ],
+ "homepage": "http://rubaxa.github.io/Sortable/",
+ "authors": [
+ "RubaXa "
+ ],
+ "description": "Minimalist library for reorderable drag-and-drop lists on modern browsers and touch devices. No jQuery.",
+ "keywords": [
+ "sortable",
+ "reorder",
+ "list",
+ "html5",
+ "drag",
+ "and",
+ "drop",
+ "dnd",
+ "web-components"
+ ],
+ "license": "MIT",
+ "ignore": [
+ "node_modules",
+ "bower_components",
+ "test",
+ "tests"
+ ],
+ "version": "1.6.0",
+ "_release": "1.6.0",
+ "_resolution": {
+ "type": "version",
+ "tag": "1.6.0",
+ "commit": "317d98d905d1d9690e3f0de747310cf64d554141"
+ },
+ "_source": "https://github.com/RubaXa/Sortable.git",
+ "_target": "^1.5.0",
+ "_originalSource": "Sortable"
+}
\ No newline at end of file
diff --git a/public/assets/libs/Sortable/.editorconfig b/public/assets/libs/Sortable/.editorconfig
new file mode 100644
index 0000000000000000000000000000000000000000..b0d7fd91b35ac222a12bfb67a4af195cefba4e83
--- /dev/null
+++ b/public/assets/libs/Sortable/.editorconfig
@@ -0,0 +1,12 @@
+# editorconfig.org
+root = true
+
+[*]
+indent_style = tab
+end_of_line = lf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+[*.md]
+trim_trailing_whitespace = false
diff --git a/public/assets/libs/Sortable/.jshintrc b/public/assets/libs/Sortable/.jshintrc
new file mode 100644
index 0000000000000000000000000000000000000000..3f67a098be8e42230635e495a4139e3fb2612880
--- /dev/null
+++ b/public/assets/libs/Sortable/.jshintrc
@@ -0,0 +1,24 @@
+{
+ "strict": true,
+ "newcap": false,
+ "node": true,
+ "expr": true,
+ "supernew": true,
+ "laxbreak": true,
+ "white": true,
+ "globals": {
+ "define": true,
+ "test": true,
+ "expect": true,
+ "module": true,
+ "asyncTest": true,
+ "start": true,
+ "ok": true,
+ "equal": true,
+ "notEqual": true,
+ "deepEqual": true,
+ "window": true,
+ "document": true,
+ "performance": true
+ }
+}
diff --git a/public/assets/libs/Sortable/CONTRIBUTING.md b/public/assets/libs/Sortable/CONTRIBUTING.md
new file mode 100644
index 0000000000000000000000000000000000000000..71bf61113c51a528bd3ca52d5fca07fa16eaf3f2
--- /dev/null
+++ b/public/assets/libs/Sortable/CONTRIBUTING.md
@@ -0,0 +1,23 @@
+# Contribution Guidelines
+
+### Issue
+
+ 1. Try [dev](https://github.com/RubaXa/Sortable/tree/dev/)-branch, perhaps the problem has been solved;
+ 2. [Use the search](https://github.com/RubaXa/Sortable/search?type=Issues&q=problem), maybe already have an answer;
+ 3. If not found, create example on [jsbin.com (draft)](http://jsbin.com/zunibaxada/1/edit?html,js,output) and describe the problem.
+
+---
+
+### Pull Request
+
+ 1. Before PR run `grunt`;
+ 2. Only into [dev](https://github.com/RubaXa/Sortable/tree/dev/)-branch.
+
+### Setup
+
+ Pieced together from [gruntjs](http://gruntjs.com/getting-started)
+
+ 1. Fork repo on [github](https://github.com)
+ 2. Clone locally
+ 3. from local repro ```npm install```
+ 4. Install grunt-cli globally ```sudo -H npm install -g grunt-cli```
diff --git a/public/assets/libs/Sortable/Gruntfile.js b/public/assets/libs/Sortable/Gruntfile.js
new file mode 100644
index 0000000000000000000000000000000000000000..3ea8e9df736128e29faddda0c17a1a6ef41934db
--- /dev/null
+++ b/public/assets/libs/Sortable/Gruntfile.js
@@ -0,0 +1,88 @@
+module.exports = function (grunt) {
+ 'use strict';
+
+ grunt.initConfig({
+ pkg: grunt.file.readJSON('package.json'),
+
+ version: {
+ js: {
+ src: ['<%= pkg.exportName %>.js', '*.json']
+ },
+ cdn: {
+ options: {
+ prefix: '(cdnjs\\.cloudflare\\.com\\/ajax\\/libs\\/Sortable|cdn\\.jsdelivr\\.net\\/sortable)\\/',
+ replace: '[0-9\\.]+'
+ },
+ src: ['README.md']
+ }
+ },
+
+ jshint: {
+ all: ['*.js', '!*.min.js'],
+
+ options: {
+ jshintrc: true
+ }
+ },
+
+ uglify: {
+ options: {
+ banner: '/*! <%= pkg.exportName %> <%= pkg.version %> - <%= pkg.license %> | <%= pkg.repository.url %> */\n'
+ },
+ dist: {
+ files: {
+ '<%= pkg.exportName %>.min.js': ['<%= pkg.exportName %>.js']
+ }
+ },
+ jquery: {
+ files: {}
+ }
+ },
+
+ jquery: {}
+ });
+
+
+ grunt.registerTask('jquery', function (exportName, uglify) {
+ if (exportName == 'min') {
+ exportName = null;
+ uglify = 'min';
+ }
+
+ if (!exportName) {
+ exportName = 'sortable';
+ }
+
+ var fs = require('fs'),
+ filename = 'jquery.fn.' + exportName + '.js';
+
+ grunt.log.oklns(filename);
+
+ fs.writeFileSync(
+ filename,
+ (fs.readFileSync('jquery.binding.js') + '')
+ .replace('$.fn.sortable', '$.fn.' + exportName)
+ .replace('/* CODE */',
+ (fs.readFileSync('Sortable.js') + '')
+ .replace(/^[\s\S]*?function[\s\S]*?(var[\s\S]+)\/\/\s+Export[\s\S]+/, '$1')
+ )
+ );
+
+ if (uglify) {
+ var opts = {};
+
+ opts['jquery.fn.' + exportName + '.min.js'] = filename;
+ grunt.config.set('uglify.jquery.files', opts);
+
+ grunt.task.run('uglify:jquery');
+ }
+ });
+
+
+ grunt.loadNpmTasks('grunt-version');
+ grunt.loadNpmTasks('grunt-contrib-jshint');
+ grunt.loadNpmTasks('grunt-contrib-uglify');
+
+ grunt.registerTask('tests', ['jshint']);
+ grunt.registerTask('default', ['tests', 'version', 'uglify:dist']);
+};
diff --git a/public/assets/libs/Sortable/ISSUE_TEMPLATE.md b/public/assets/libs/Sortable/ISSUE_TEMPLATE.md
new file mode 100644
index 0000000000000000000000000000000000000000..2b9d11146db18e24de6056f27b4fc696aaa354e4
--- /dev/null
+++ b/public/assets/libs/Sortable/ISSUE_TEMPLATE.md
@@ -0,0 +1,17 @@
+Before you create a issue, check it:
+
+ 1. Try [master](https://github.com/RubaXa/Sortable/tree/master/)-branch, perhaps the problem has been solved;
+ 2. [Use the search](https://github.com/RubaXa/Sortable/search?q=problem), maybe already have an answer;
+ 3. If not found, create example on [jsbin.com (draft)](http://jsbin.com/vojixek/edit?html,js,output) and describe the problem.
+
+Bindings:
+ - Angular
+ - 2.0+: https://github.com/SortableJS/angular-sortablejs/issues
+ - legacy: https://github.com/SortableJS/angular-legacy-sortablejs/issues
+ - React
+ - ES2015+: https://github.com/SortableJS/react-sortablejs/issues
+ - mixin: https://github.com/SortableJS/react-mixin-sortablejs/issues
+ - Polymer: https://github.com/SortableJS/polymer-sortablejs/issues
+ - Knockout: https://github.com/SortableJS/knockout-sortablejs/issues
+ - Meteor: https://github.com/SortableJS/meteor-sortablejs/issues
+
diff --git a/public/assets/libs/Sortable/README.md b/public/assets/libs/Sortable/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..bbff42d711c9b1fa75ec4e8b8bc99e5dd03cbf56
--- /dev/null
+++ b/public/assets/libs/Sortable/README.md
@@ -0,0 +1,640 @@
+# Sortable
+Sortable is a minimalist JavaScript library for reorderable drag-and-drop lists.
+
+Demo: http://rubaxa.github.io/Sortable/
+
+
+## Features
+
+ * Supports touch devices and [modern](http://caniuse.com/#search=drag) browsers (including IE9)
+ * Can drag from one list to another or within the same list
+ * CSS animation when moving items
+ * Supports drag handles *and selectable text* (better than voidberg's html5sortable)
+ * Smart auto-scrolling
+ * Built using native HTML5 drag and drop API
+ * Supports
+ * [Meteor](https://github.com/SortableJS/meteor-sortablejs)
+ * AngularJS
+ * [2.0+](https://github.com/SortableJS/angular-sortablejs)
+ * [1.*](https://github.com/SortableJS/angular-legacy-sortablejs)
+ * React
+ * [ES2015+](https://github.com/SortableJS/react-sortablejs)
+ * [Mixin](https://github.com/SortableJS/react-mixin-sortablejs)
+ * [Knockout](https://github.com/SortableJS/knockout-sortablejs)
+ * [Polymer](https://github.com/SortableJS/polymer-sortablejs)
+ * [Vue](https://github.com/SortableJS/Vue.Draggable)
+ * Supports any CSS library, e.g. [Bootstrap](#bs)
+ * Simple API
+ * [CDN](#cdn)
+ * No jQuery (but there is [support](#jq))
+
+
+
+
+
+### Articles
+
+ * [Sortable v1.0 — New capabilities](https://github.com/RubaXa/Sortable/wiki/Sortable-v1.0-—-New-capabilities/) (December 22, 2014)
+ * [Sorting with the help of HTML5 Drag'n'Drop API](https://github.com/RubaXa/Sortable/wiki/Sorting-with-the-help-of-HTML5-Drag'n'Drop-API/) (December 23, 2013)
+
+
+
+
+### Install
+
+Via npm
+
+```bash
+$ npm install sortablejs --save
+```
+
+Via bower:
+
+```bash
+$ bower install --save sortablejs
+```
+
+
+
+### Usage
+```html
+
+
item 1
+
item 2
+
item 3
+
+```
+
+```js
+var el = document.getElementById('items');
+var sortable = Sortable.create(el);
+```
+
+You can use any element for the list and its elements, not just `ul`/`li`. Here is an [example with `div`s](http://jsbin.com/qumuwe/edit?html,js,output).
+
+
+---
+
+
+### Options
+```js
+var sortable = new Sortable(el, {
+ group: "name", // or { name: "...", pull: [true, false, clone], put: [true, false, array] }
+ sort: true, // sorting inside list
+ delay: 0, // time in milliseconds to define when the sorting should start
+ disabled: false, // Disables the sortable if set to true.
+ store: null, // @see Store
+ animation: 150, // ms, animation speed moving items when sorting, `0` — without animation
+ handle: ".my-handle", // Drag handle selector within list items
+ filter: ".ignore-elements", // Selectors that do not lead to dragging (String or Function)
+ preventOnFilter: true, // Call `event.preventDefault()` when triggered `filter`
+ draggable: ".item", // Specifies which items inside the element should be draggable
+ ghostClass: "sortable-ghost", // Class name for the drop placeholder
+ chosenClass: "sortable-chosen", // Class name for the chosen item
+ dragClass: "sortable-drag", // Class name for the dragging item
+ dataIdAttr: 'data-id',
+
+ forceFallback: false, // ignore the HTML5 DnD behaviour and force the fallback to kick in
+
+ fallbackClass: "sortable-fallback", // Class name for the cloned DOM Element when using forceFallback
+ fallbackOnBody: false, // Appends the cloned DOM Element into the Document's Body
+ fallbackTolerance: 0, // Specify in pixels how far the mouse should move before it's considered as a drag.
+
+ scroll: true, // or HTMLElement
+ scrollFn: function(offsetX, offsetY, originalEvent) { ... }, // if you have custom scrollbar scrollFn may be used for autoscrolling
+ scrollSensitivity: 30, // px, how near the mouse must be to an edge to start scrolling.
+ scrollSpeed: 10, // px
+
+ setData: function (/** DataTransfer */dataTransfer, /** HTMLElement*/dragEl) {
+ dataTransfer.setData('Text', dragEl.textContent); // `dataTransfer` object of HTML5 DragEvent
+ },
+
+ // Element is chosen
+ onChoose: function (/**Event*/evt) {
+ evt.oldIndex; // element index within parent
+ },
+
+ // Element dragging started
+ onStart: function (/**Event*/evt) {
+ evt.oldIndex; // element index within parent
+ },
+
+ // Element dragging ended
+ onEnd: function (/**Event*/evt) {
+ evt.oldIndex; // element's old index within parent
+ evt.newIndex; // element's new index within parent
+ },
+
+ // Element is dropped into the list from another list
+ onAdd: function (/**Event*/evt) {
+ var itemEl = evt.item; // dragged HTMLElement
+ evt.from; // previous list
+ // + indexes from onEnd
+ },
+
+ // Changed sorting within list
+ onUpdate: function (/**Event*/evt) {
+ var itemEl = evt.item; // dragged HTMLElement
+ // + indexes from onEnd
+ },
+
+ // Called by any change to the list (add / update / remove)
+ onSort: function (/**Event*/evt) {
+ // same properties as onUpdate
+ },
+
+ // Element is removed from the list into another list
+ onRemove: function (/**Event*/evt) {
+ // same properties as onUpdate
+ },
+
+ // Attempt to drag a filtered element
+ onFilter: function (/**Event*/evt) {
+ var itemEl = evt.item; // HTMLElement receiving the `mousedown|tapstart` event.
+ },
+
+ // Event when you move an item in the list or between lists
+ onMove: function (/**Event*/evt, /**Event*/originalEvent) {
+ // Example: http://jsbin.com/tuyafe/1/edit?js,output
+ evt.dragged; // dragged HTMLElement
+ evt.draggedRect; // TextRectangle {left, top, right и bottom}
+ evt.related; // HTMLElement on which have guided
+ evt.relatedRect; // TextRectangle
+ originalEvent.clientY; // mouse position
+ // return false; — for cancel
+ },
+
+ // Called when creating a clone of element
+ onClone: function (/**Event*/evt) {
+ var origEl = evt.item;
+ var cloneEl = evt.clone;
+ }
+});
+```
+
+
+---
+
+
+#### `group` option
+To drag elements from one list into another, both lists must have the same `group` value.
+You can also define whether lists can give away, give and keep a copy (`clone`), and receive elements.
+
+ * name: `String` — group name
+ * pull: `true|false|'clone'|function` — ability to move from the list. `clone` — copy the item, rather than move.
+ * put: `true|false|["foo", "bar"]|function` — whether elements can be added from other lists, or an array of group names from which elements can be taken.
+ * revertClone: `boolean` — revert cloned element to initial position after moving to a another list.
+
+
+Demo:
+ - http://jsbin.com/naduvo/edit?js,output
+ - http://jsbin.com/rusuvot/edit?js,output — use of complex logic in the `pull` and` put`
+ - http://jsbin.com/magogub/edit?js,output — use `revertClone: true`
+
+
+---
+
+
+#### `sort` option
+Sorting inside list.
+
+Demo: http://jsbin.com/videzob/edit?html,js,output
+
+
+---
+
+
+#### `delay` option
+Time in milliseconds to define when the sorting should start.
+
+Demo: http://jsbin.com/xizeh/edit?html,js,output
+
+
+---
+
+
+#### `disabled` options
+Disables the sortable if set to `true`.
+
+Demo: http://jsbin.com/xiloqu/edit?html,js,output
+
+```js
+var sortable = Sortable.create(list);
+
+document.getElementById("switcher").onclick = function () {
+ var state = sortable.option("disabled"); // get
+
+ sortable.option("disabled", !state); // set
+};
+```
+
+
+---
+
+
+#### `handle` option
+To make list items draggable, Sortable disables text selection by the user.
+That's not always desirable. To allow text selection, define a drag handler,
+which is an area of every list element that allows it to be dragged around.
+
+Demo: http://jsbin.com/newize/edit?html,js,output
+
+```js
+Sortable.create(el, {
+ handle: ".my-handle"
+});
+```
+
+```html
+
+
:: list item text one
+
:: list item text two
+
+```
+
+```css
+.my-handle {
+ cursor: move;
+ cursor: -webkit-grabbing;
+}
+```
+
+
+---
+
+
+#### `filter` option
+
+
+```js
+Sortable.create(list, {
+ filter: ".js-remove, .js-edit",
+ onFilter: function (evt) {
+ var item = evt.item,
+ ctrl = evt.target;
+
+ if (Sortable.utils.is(ctrl, ".js-remove")) { // Click on remove button
+ item.parentNode.removeChild(item); // remove sortable item
+ }
+ else if (Sortable.utils.is(ctrl, ".js-edit")) { // Click on edit link
+ // ...
+ }
+ }
+})
+```
+
+
+---
+
+
+#### `ghostClass` option
+Class name for the drop placeholder (default `sortable-ghost`).
+
+Demo: http://jsbin.com/hunifu/4/edit?css,js,output
+
+```css
+.ghost {
+ opacity: 0.4;
+}
+```
+
+```js
+Sortable.create(list, {
+ ghostClass: "ghost"
+});
+```
+
+
+---
+
+
+#### `chosenClass` option
+Class name for the chosen item (default `sortable-chosen`).
+
+Demo: http://jsbin.com/hunifu/3/edit?html,css,js,output
+
+```css
+.chosen {
+ color: #fff;
+ background-color: #c00;
+}
+```
+
+```js
+Sortable.create(list, {
+ delay: 500,
+ chosenClass: "chosen"
+});
+```
+
+
+---
+
+
+#### `forceFallback` option
+If set to `true`, the Fallback for non HTML5 Browser will be used, even if we are using an HTML5 Browser.
+This gives us the possibility to test the behaviour for older Browsers even in newer Browser, or make the Drag 'n Drop feel more consistent between Desktop , Mobile and old Browsers.
+
+On top of that, the Fallback always generates a copy of that DOM Element and appends the class `fallbackClass` defined in the options. This behaviour controls the look of this 'dragged' Element.
+
+Demo: http://jsbin.com/yacuqib/edit?html,css,js,output
+
+
+---
+
+
+#### `fallbackTolerance` option
+Emulates the native drag threshold. Specify in pixels how far the mouse should move before it's considered as a drag.
+Useful if the items are also clickable like in a list of links.
+
+When the user clicks inside a sortable element, it's not uncommon for your hand to move a little between the time you press and the time you release.
+Dragging only starts if you move the pointer past a certain tolerance, so that you don't accidentally start dragging every time you click.
+
+3 to 5 are probably good values.
+
+
+---
+
+
+#### `scroll` option
+If set to `true`, the page (or sortable-area) scrolls when coming to an edge.
+
+Demo:
+ - `window`: http://jsbin.com/tutuzeh/edit?html,js,output
+ - `overflow: hidden`: http://jsbin.com/kolisu/edit?html,js,output
+
+
+---
+
+
+#### `scrollFn` option
+Defines function that will be used for autoscrolling. el.scrollTop/el.scrollLeft is used by default.
+Useful when you have custom scrollbar with dedicated scroll function.
+
+
+---
+
+
+#### `scrollSensitivity` option
+Defines how near the mouse must be to an edge to start scrolling.
+
+
+---
+
+
+#### `scrollSpeed` option
+The speed at which the window should scroll once the mouse pointer gets within the `scrollSensitivity` distance.
+
+
+---
+
+
+### Event object ([demo](http://jsbin.com/xedusu/edit?js,output))
+
+ - to:`HTMLElement` — list, in which moved element.
+ - from:`HTMLElement` — previous list
+ - item:`HTMLElement` — dragged element
+ - clone:`HTMLElement`
+ - oldIndex:`Number|undefined` — old index within parent
+ - newIndex:`Number|undefined` — new index within parent
+
+
+#### `move` event object
+ - to:`HTMLElement`
+ - from:`HTMLElement`
+ - dragged:`HTMLElement`
+ - draggedRect:` TextRectangle`
+ - related:`HTMLElement` — element on which have guided
+ - relatedRect:` TextRectangle`
+
+
+---
+
+
+### Method
+
+
+##### option(name:`String`[, value:`*`]):`*`
+Get or set the option.
+
+
+
+##### closest(el:`String`[, selector:`HTMLElement`]):`HTMLElement|null`
+For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.
+
+
+##### toArray():`String[]`
+Serializes the sortable's item `data-id`'s (`dataIdAttr` option) into an array of string.
+
+
+##### sort(order:`String[]`)
+Sorts the elements according to the array.
+
+```js
+var order = sortable.toArray();
+sortable.sort(order.reverse()); // apply
+```
+
+
+##### save()
+Save the current sorting (see [store](#store))
+
+
+##### destroy()
+Removes the sortable functionality completely.
+
+
+---
+
+
+
+### Store
+Saving and restoring of the sort.
+
+```html
+
+
order
+
save
+
restore
+
+```
+
+```js
+Sortable.create(el, {
+ group: "localStorage-example",
+ store: {
+ /**
+ * Get the order of elements. Called once during initialization.
+ * @param {Sortable} sortable
+ * @returns {Array}
+ */
+ get: function (sortable) {
+ var order = localStorage.getItem(sortable.options.group.name);
+ return order ? order.split('|') : [];
+ },
+
+ /**
+ * Save the order of elements. Called onEnd (when the item is dropped).
+ * @param {Sortable} sortable
+ */
+ set: function (sortable) {
+ var order = sortable.toArray();
+ localStorage.setItem(sortable.options.group.name, order.join('|'));
+ }
+ }
+})
+```
+
+
+---
+
+
+
+### Bootstrap
+Demo: http://jsbin.com/qumuwe/edit?html,js,output
+
+```html
+
+
+
+
+
+
+
+
+
+
+
+{{include './public/footer'}}
\ No newline at end of file
diff --git a/public/assets/libs/art-template/demo/node-template/public/footer.html b/public/assets/libs/art-template/demo/node-template/public/footer.html
new file mode 100644
index 0000000000000000000000000000000000000000..956c23ea775c406817f5e4b2d2faf58e89746d64
--- /dev/null
+++ b/public/assets/libs/art-template/demo/node-template/public/footer.html
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/public/assets/libs/art-template/demo/node-template/public/header.html b/public/assets/libs/art-template/demo/node-template/public/header.html
new file mode 100644
index 0000000000000000000000000000000000000000..d93e780a07bbc6088a53e5dd0b25d2f7835d12e6
--- /dev/null
+++ b/public/assets/libs/art-template/demo/node-template/public/header.html
@@ -0,0 +1,11 @@
+
+
+
\ No newline at end of file
diff --git a/public/assets/libs/art-template/demo/node-template/public/logo.html b/public/assets/libs/art-template/demo/node-template/public/logo.html
new file mode 100644
index 0000000000000000000000000000000000000000..b02f7cbf63ee2442f15dd40b1822b1465dca102b
--- /dev/null
+++ b/public/assets/libs/art-template/demo/node-template/public/logo.html
@@ -0,0 +1,7 @@
+
+