diff --git a/src/main/resources/i18n/messages.properties b/src/main/resources/i18n/messages.properties
index 2a7d8b837..d72a5e507 100644
--- a/src/main/resources/i18n/messages.properties
+++ b/src/main/resources/i18n/messages.properties
@@ -52,6 +52,8 @@ admin.module.header.a.title.turn-to-front = 跳转到前台
admin.module.header.btn.view-all-comments = 查看所有评论
admin.module.header.btn.profile = 个人资料
admin.module.header.btn.loginout = 退出登录
+admin.module.header.new-comments-before = 你有
+admin.module.header.new-comments-after = 条新评论
# 后台首页
admin.index.title = 仪表盘
@@ -70,13 +72,22 @@ admin.index.widgets.post-lastest = 最新文章
admin.index.widgets.comment-lastest = 最新评论
admin.index.widgets.logs-lastest = 最新日志
admin.index.widgets.btn.clear-logs = 清空日志
+admin.index.widgets.text.all-logs = 所有日志
+admin.index.blog-data.title = 博客数据
+admin.index.blog-data.days-count-before = 已经运行
+admin.index.blog-data.days-count-after = 天了。
admin.index.blog-data.motto = 加油!不要因为走的太远,而忘了当初为什么出发。
admin.index.blog-data.during = 在此期间:
-admin.index.blog-data.posts-count-text = 累计发表了 {0} 篇文章。
-admin.index.blog-data.tags-count-text = 累计创建了 {0} 个标签。
-admin.index.blog-data.comments-count-text = 累计获得了 {0} 条评论。
-admin.index.blog-data.links-count-text = 累计添加了 {0} 个友链。
-admin.index.blog-data.views-count-text = 文章总访问 {0} 次。
+admin.index.blog-data.posts-count-before = 累计发表了
+admin.index.blog-data.posts-count-after = 篇文章。
+admin.index.blog-data.tags-count-before = 累计创建了
+admin.index.blog-data.tags-count-after = 个标签。
+admin.index.blog-data.comments-count-before = 累计获得了
+admin.index.blog-data.comments-count-after = 条评论。
+admin.index.blog-data.links-count-before = 累计添加了
+admin.index.blog-data.links-count-after = 个友链。
+admin.index.blog-data.views-count-before = 文章总访问
+admin.index.blog-data.views-count-after = 次。
# logs page
admin.logs.th.log-id = 日志编号
@@ -248,6 +259,7 @@ admin.pages.gallery = 图库页面
# 图库页面管理
admin.pages.galleries.title = 图库页面
+admin.pages.galleries.text.add-gallery = 添加图片
admin.pages.galleries.form.gallery-name = 图片名称:
admin.pages.galleries.form.gallery-desc = 图片描述:
admin.pages.galleries.form.gallery-date = 图片日期:
@@ -258,6 +270,16 @@ admin.pages.galleries.modal.title = 图片详情
# 友情链接页面管理
admin.pages.links.title = 友情链接
+admin.pages.links.text.edit-link = 修改友情链接
+admin.pages.links.text.add-link = 添加友情链接
+admin.pages.links.text.all-links = 所有友情链接
+admin.pages.links.form.link-name = 网站名称
+admin.pages.links.form.link-name-tips = 好友的网站名称
+admin.pages.links.form.link-url = 网址
+admin.pages.links.form.link-url-tips = *需要加上http://或https://
+admin.pages.links.form.link-pic-tips = *LOGO链接地址,需要加上http://或https://,在部分主题可显示
+admin.pages.links.form.link-desc = 描述
+admin.pages.links.form.link-desc-tips = *网站的描述,部分主题可显示
# 页面编辑页面
admin.pages.edit.title = 页面编辑
@@ -319,6 +341,7 @@ admin.themes.modal.install.form.remote-address = 远程地址:
admin.themes.modal.install.form.theme-name = 主题名称:
admin.themes.modal.install.btn.install = 安装
admin.themes.modal.install.btn.installing = 安装中...
+admin.themes.modal.install.plugin.text = 拖拽主题压缩包到这里,仅支持Zip格式
# 关于页面
admin.halo.title = 关于Halo
@@ -348,12 +371,10 @@ common.btn.define-add = 确定添加
common.btn.editing = 正在修改
common.btn.modify = 修改
common.btn.choose = 选择
-
common.radio.display = 显示
common.radio.hide = 隐藏
common.radio.enable = 启用
common.radio.disable = 禁用
-
common.select.yes = 是
common.select.no = 否
@@ -380,6 +401,7 @@ common.th.file-size = 文件大小
common.th.file-type = 文件类型
common.th.sort = 排序
common.th.icon = 图标
+common.th.site = 网址
# 状态
common.status.published = 已发布
@@ -387,6 +409,7 @@ common.status.checking = 待审核
common.status.recycle-bin = 回收站
common.status.draft = 草 稿
+# 文本
common.text.no-data = 暂无数据
common.text.tips = 提示
common.text.tips.to-recycle-bin = 确定移到回收站?
@@ -425,16 +448,13 @@ admin.editor.select.tag.default = 选择添加
code.admin.login.success = 登录成功!
code.admin.login.disabled = 已禁止登录,请10分钟后再试!
code.admin.login.failed = 登录失败,你还有{0}次机会。
-
code.admin.attachment.upload-success = 上传成功!
code.admin.attachment.upload-failed = 上传失败!
-
code.admin.backup.backup-failed = 备份失败!
code.admin.backup.backup-success = 备份成功!
code.admin.backup.no-email = 博主邮箱没有配置!
code.admin.backup.email-success= 邮件发送成功!
code.admin.backup.have-new-backup = 有新的备份!
-
code.admin.theme.change-success = 主题已设置为{0}
code.admin.theme.change-failed = 主题设置失败!
code.admin.theme.upload-failed = 主题上传失败!
@@ -444,24 +464,19 @@ code.admin.theme.no-git = 没有安装Git!
code.admin.theme.clone-theme-failed = 克隆主题失败:
code.admin.theme.update-theme-failed = 更新主题失败:
code.admin.theme.edit.no-content = 模板不能为空!
-
code.admin.user.old-password-error = 原密码错误!
code.admin.user.update-password-failed = 修改密码失败!
code.admin.user.update-password-success = 修改密码成功!
-
code.admin.post.push-to-baidu-success = 推送成功!
code.admin.post.push-to-baidu-failed = 推送失败!
code.admin.post.no-baidu-token = 百度推送Token为空!
-
code.admin.common.delete-success = 删除成功!
code.admin.common.delete-failed = 删除失败!
code.admin.common.no-post = 发信邮箱没有配置!
-
code.admin.common.save-success = 保存成功!
code.admin.common.save-failed = 保存失败!
code.admin.common.update-success = 更新成功!
code.admin.common.update-failed = 更新失败!
-
code.admin.common.edit-success = 修改成功!
code.admin.common.edit-failed = 修改失败!
code.admin.common.info-no-complete = 请输入完整信息!
diff --git a/src/main/resources/i18n/messages_en_US.properties b/src/main/resources/i18n/messages_en_US.properties
index 34642adb3..4adbc26f6 100644
--- a/src/main/resources/i18n/messages_en_US.properties
+++ b/src/main/resources/i18n/messages_en_US.properties
@@ -52,6 +52,8 @@ admin.module.header.a.title.turn-to-front = Turn to front
admin.module.header.btn.view-all-comments = View all comments
admin.module.header.btn.profile = Profile
admin.module.header.btn.loginout = Login out
+admin.module.header.new-comments-before = You have
+admin.module.header.new-comments-after = new comments
# admin index
admin.index.title = Dashboard
@@ -70,13 +72,22 @@ admin.index.widgets.post-lastest = Newest posts
admin.index.widgets.comment-lastest = Newest comments
admin.index.widgets.logs-lastest = Newest logs
admin.index.widgets.btn.clear-logs = Clear logs
+admin.index.widgets.text.all-logs = All logs
+admin.index.blog-data.title = Blog data
+admin.index.blog-data.days-count-before = Has been running for 5 days
+admin.index.blog-data.days-count-after = days.
admin.index.blog-data.motto = Come on! Don’t forget why you left because you’re too far away.
admin.index.blog-data.during = During this period:
-admin.index.blog-data.posts-count-text = A total of %s posts has been published.
-admin.index.blog-data.tags-count-text = A total of {0} tags has been created.
-admin.index.blog-data.comments-count-text = A total of {0} comments was received.
-admin.index.blog-data.links-count-text = A total of {0} friend chains have been added.
-admin.index.blog-data.views-count-text = The posts was visited {0} times in total.
+admin.index.blog-data.posts-count-before = Accumulated
+admin.index.blog-data.posts-count-after = articles.
+admin.index.blog-data.tags-count-before = Cumulatively created
+admin.index.blog-data.tags-count-after = tags.
+admin.index.blog-data.comments-count-before = Accumulated
+admin.index.blog-data.comments-count-after = comments.
+admin.index.blog-data.links-count-before = Added
+admin.index.blog-data.links-count-after = links cumulatively.
+admin.index.blog-data.views-count-before = Article received
+admin.index.blog-data.views-count-after = total visits.
# logs page
admin.logs.th.log-id = Log number
@@ -147,7 +158,7 @@ admin.menus.form.menu-target-blank = Blank
admin.setting.title = Blog Settings
admin.setting.bread.setting = Settings
admin.setting.tab.general = General
-admin.setting.tab.seo = Seo
+admin.setting.tab.seo = SEO
admin.setting.tab.post = Post
admin.setting.tab.comment = Comment
admin.setting.tab.attach = Attachment
@@ -248,6 +259,7 @@ admin.pages.gallery = Gallery page
# pages gallery page
admin.pages.galleries.title = Galleries page
+admin.pages.galleries.text.add-gallery = Add Picture
admin.pages.galleries.form.gallery-name = Picture name:
admin.pages.galleries.form.gallery-desc = Picture description:
admin.pages.galleries.form.gallery-date = Picture date:
@@ -258,6 +270,16 @@ admin.pages.galleries.modal.title = Picture details
# pages link page
admin.pages.links.title = Links page
+admin.pages.links.text.edit-link = Edit link
+admin.pages.links.text.add-link = Add link
+admin.pages.links.text.all-links = All links
+admin.pages.links.form.link-name = Website name
+admin.pages.links.form.link-name-tips = Friend's website name
+admin.pages.links.form.link-url = Website address
+admin.pages.links.form.link-url-tips = *Requires http:// or https://
+admin.pages.links.form.link-pic-tips = *LOGO link address, need to add http:// or https://, can be displayed in some topics
+admin.pages.links.form.link-desc = Description
+admin.pages.links.form.link-desc-tips = *The description of the website, some themes can be displayed
# pages edit page
admin.pages.edit.title = Page edit
@@ -319,6 +341,7 @@ admin.themes.modal.install.form.remote-address = Remote address:
admin.themes.modal.install.form.theme-name = Theme name:
admin.themes.modal.install.btn.install = Install
admin.themes.modal.install.btn.installing = Installing...
+admin.themes.modal.install.plugin.text = Drag and drop the theme zip package here, only supports Zip format
# about page
admin.halo.title = About Halo
@@ -348,12 +371,10 @@ common.btn.define-add = OK
common.btn.editing = Editing
common.btn.modify = Modify
common.btn.choose = Choose
-
common.radio.display = Display
common.radio.hide = Hide
common.radio.enable = Enable
common.radio.disable = Disable
-
common.select.yes = Yes
common.select.no = No
@@ -380,6 +401,7 @@ common.th.file-size = File size
common.th.file-type = File type
common.th.sort = Sort
common.th.icon = Icon
+common.th.site = Site address
# status
common.status.published = Published
@@ -387,6 +409,7 @@ common.status.checking = Pending Review
common.status.recycle-bin = Recycle bin
common.status.draft = Draft
+# text
common.text.no-data = No data
common.text.tips = Tips
common.text.tips.to-recycle-bin = Are you sure to move to the recycle bin?
@@ -399,14 +422,14 @@ common.js.all-attachment = All attachments
common.js.info-no-complete = Please enter full information!
# Page info
-admin.pageinfo.text.no = (
-admin.pageinfo.text.page = )
+admin.pageinfo.text.no = 「
+admin.pageinfo.text.page = 」
admin.pageinfo.btn.first = Home
admin.pageinfo.btn.last = Last
admin.pageinfo.btn.pre = Previous
admin.pageinfo.btn.next = Next
-# 文章/页面编辑
+# post/page edit
admin.editor.btn.attachs = Attachment library
admin.editor.form.url = Permalink:
admin.editor.text.push = Release
@@ -425,16 +448,13 @@ admin.editor.select.tag.default = Choose to add
code.admin.login.success = Login successfully!
code.admin.login.disabled = Login is forbidden, please try again in 10 minutes!
code.admin.login.failed = Login failed, you still have {0} chances.
-
code.admin.attachment.upload-success = Uploaded successfully!
code.admin.attachment.upload-failed = Uploaded failed!
-
code.admin.backup.backup-failed = Backup Failed!
code.admin.backup.backup-success = Backup successfully!
code.admin.backup.no-email = The blogger's mailbox is not configured!
code.admin.backup.email-success= Mail sent successfully!
code.admin.backup.have-new-backup = Have a new backup!
-
code.admin.theme.change-success = Theme has been set to {0}
code.admin.theme.change-failed = Theme settings failed!
code.admin.theme.upload-failed = Theme upload failed!
@@ -444,24 +464,19 @@ code.admin.theme.no-git = No Git installed!
code.admin.theme.clone-theme-failed = Cloning the theme failed:
code.admin.theme.update-theme-failed = Update theme failed:
code.admin.theme.edit.no-content = Template can't be empty!
-
code.admin.user.old-password-error = The original password is wrong!
code.admin.user.update-password-failed = Failed to change password!
code.admin.user.update-password-success = Password has been updated!
-
code.admin.post.push-to-baidu-success = Push successful!
code.admin.post.push-to-baidu-failed = Push failed!
code.admin.post.no-baidu-token = Baidu push Token is empty!
-
code.admin.common.delete-success = Deleted successfully!
code.admin.common.delete-failed = Deleted Failed!
code.admin.common.no-post = The mailing mailbox is not configured!
-
code.admin.common.save-success = Saved successfully!
code.admin.common.save-failed = Save failed!
code.admin.common.update-success = Updated successfully!
code.admin.common.update-failed = Update failed!
-
code.admin.common.edit-success = Successfully modified!
code.admin.common.edit-failed = Fail to update!
code.admin.common.info-no-complete = Please enter full information!
diff --git a/src/main/resources/i18n/messages_zh_CN.properties b/src/main/resources/i18n/messages_zh_CN.properties
index 2a7d8b837..d72a5e507 100644
--- a/src/main/resources/i18n/messages_zh_CN.properties
+++ b/src/main/resources/i18n/messages_zh_CN.properties
@@ -52,6 +52,8 @@ admin.module.header.a.title.turn-to-front = 跳转到前台
admin.module.header.btn.view-all-comments = 查看所有评论
admin.module.header.btn.profile = 个人资料
admin.module.header.btn.loginout = 退出登录
+admin.module.header.new-comments-before = 你有
+admin.module.header.new-comments-after = 条新评论
# 后台首页
admin.index.title = 仪表盘
@@ -70,13 +72,22 @@ admin.index.widgets.post-lastest = 最新文章
admin.index.widgets.comment-lastest = 最新评论
admin.index.widgets.logs-lastest = 最新日志
admin.index.widgets.btn.clear-logs = 清空日志
+admin.index.widgets.text.all-logs = 所有日志
+admin.index.blog-data.title = 博客数据
+admin.index.blog-data.days-count-before = 已经运行
+admin.index.blog-data.days-count-after = 天了。
admin.index.blog-data.motto = 加油!不要因为走的太远,而忘了当初为什么出发。
admin.index.blog-data.during = 在此期间:
-admin.index.blog-data.posts-count-text = 累计发表了 {0} 篇文章。
-admin.index.blog-data.tags-count-text = 累计创建了 {0} 个标签。
-admin.index.blog-data.comments-count-text = 累计获得了 {0} 条评论。
-admin.index.blog-data.links-count-text = 累计添加了 {0} 个友链。
-admin.index.blog-data.views-count-text = 文章总访问 {0} 次。
+admin.index.blog-data.posts-count-before = 累计发表了
+admin.index.blog-data.posts-count-after = 篇文章。
+admin.index.blog-data.tags-count-before = 累计创建了
+admin.index.blog-data.tags-count-after = 个标签。
+admin.index.blog-data.comments-count-before = 累计获得了
+admin.index.blog-data.comments-count-after = 条评论。
+admin.index.blog-data.links-count-before = 累计添加了
+admin.index.blog-data.links-count-after = 个友链。
+admin.index.blog-data.views-count-before = 文章总访问
+admin.index.blog-data.views-count-after = 次。
# logs page
admin.logs.th.log-id = 日志编号
@@ -248,6 +259,7 @@ admin.pages.gallery = 图库页面
# 图库页面管理
admin.pages.galleries.title = 图库页面
+admin.pages.galleries.text.add-gallery = 添加图片
admin.pages.galleries.form.gallery-name = 图片名称:
admin.pages.galleries.form.gallery-desc = 图片描述:
admin.pages.galleries.form.gallery-date = 图片日期:
@@ -258,6 +270,16 @@ admin.pages.galleries.modal.title = 图片详情
# 友情链接页面管理
admin.pages.links.title = 友情链接
+admin.pages.links.text.edit-link = 修改友情链接
+admin.pages.links.text.add-link = 添加友情链接
+admin.pages.links.text.all-links = 所有友情链接
+admin.pages.links.form.link-name = 网站名称
+admin.pages.links.form.link-name-tips = 好友的网站名称
+admin.pages.links.form.link-url = 网址
+admin.pages.links.form.link-url-tips = *需要加上http://或https://
+admin.pages.links.form.link-pic-tips = *LOGO链接地址,需要加上http://或https://,在部分主题可显示
+admin.pages.links.form.link-desc = 描述
+admin.pages.links.form.link-desc-tips = *网站的描述,部分主题可显示
# 页面编辑页面
admin.pages.edit.title = 页面编辑
@@ -319,6 +341,7 @@ admin.themes.modal.install.form.remote-address = 远程地址:
admin.themes.modal.install.form.theme-name = 主题名称:
admin.themes.modal.install.btn.install = 安装
admin.themes.modal.install.btn.installing = 安装中...
+admin.themes.modal.install.plugin.text = 拖拽主题压缩包到这里,仅支持Zip格式
# 关于页面
admin.halo.title = 关于Halo
@@ -348,12 +371,10 @@ common.btn.define-add = 确定添加
common.btn.editing = 正在修改
common.btn.modify = 修改
common.btn.choose = 选择
-
common.radio.display = 显示
common.radio.hide = 隐藏
common.radio.enable = 启用
common.radio.disable = 禁用
-
common.select.yes = 是
common.select.no = 否
@@ -380,6 +401,7 @@ common.th.file-size = 文件大小
common.th.file-type = 文件类型
common.th.sort = 排序
common.th.icon = 图标
+common.th.site = 网址
# 状态
common.status.published = 已发布
@@ -387,6 +409,7 @@ common.status.checking = 待审核
common.status.recycle-bin = 回收站
common.status.draft = 草 稿
+# 文本
common.text.no-data = 暂无数据
common.text.tips = 提示
common.text.tips.to-recycle-bin = 确定移到回收站?
@@ -425,16 +448,13 @@ admin.editor.select.tag.default = 选择添加
code.admin.login.success = 登录成功!
code.admin.login.disabled = 已禁止登录,请10分钟后再试!
code.admin.login.failed = 登录失败,你还有{0}次机会。
-
code.admin.attachment.upload-success = 上传成功!
code.admin.attachment.upload-failed = 上传失败!
-
code.admin.backup.backup-failed = 备份失败!
code.admin.backup.backup-success = 备份成功!
code.admin.backup.no-email = 博主邮箱没有配置!
code.admin.backup.email-success= 邮件发送成功!
code.admin.backup.have-new-backup = 有新的备份!
-
code.admin.theme.change-success = 主题已设置为{0}
code.admin.theme.change-failed = 主题设置失败!
code.admin.theme.upload-failed = 主题上传失败!
@@ -444,24 +464,19 @@ code.admin.theme.no-git = 没有安装Git!
code.admin.theme.clone-theme-failed = 克隆主题失败:
code.admin.theme.update-theme-failed = 更新主题失败:
code.admin.theme.edit.no-content = 模板不能为空!
-
code.admin.user.old-password-error = 原密码错误!
code.admin.user.update-password-failed = 修改密码失败!
code.admin.user.update-password-success = 修改密码成功!
-
code.admin.post.push-to-baidu-success = 推送成功!
code.admin.post.push-to-baidu-failed = 推送失败!
code.admin.post.no-baidu-token = 百度推送Token为空!
-
code.admin.common.delete-success = 删除成功!
code.admin.common.delete-failed = 删除失败!
code.admin.common.no-post = 发信邮箱没有配置!
-
code.admin.common.save-success = 保存成功!
code.admin.common.save-failed = 保存失败!
code.admin.common.update-success = 更新成功!
code.admin.common.update-failed = 更新失败!
-
code.admin.common.edit-success = 修改成功!
code.admin.common.edit-failed = 修改失败!
code.admin.common.info-no-complete = 请输入完整信息!
diff --git a/src/main/resources/static/plugins/fileinput/fileinput.min.css b/src/main/resources/static/plugins/fileinput/fileinput.min.css
index cfe53ec99..a47e5ddbf 100755
--- a/src/main/resources/static/plugins/fileinput/fileinput.min.css
+++ b/src/main/resources/static/plugins/fileinput/fileinput.min.css
@@ -1,12 +1,12 @@
/*!
- * bootstrap-fileinput v4.4.6
+ * bootstrap-fileinput v4.5.0
* http://plugins.krajee.com/file-input
*
* Krajee default styling for bootstrap-fileinput.
*
* Author: Kartik Visweswaran
- * Copyright: 2014 - 2017, Kartik Visweswaran, Krajee.com
+ * Copyright: 2014 - 2018, Kartik Visweswaran, Krajee.com
*
* Licensed under the BSD 3-Clause
* https://github.com/kartik-v/bootstrap-fileinput/blob/master/LICENSE.md
- */.file-loading input[type=file],input[type=file].file-loading{width:0;height:0}.file-caption-icon,.file-input-ajax-new .fileinput-remove-button,.file-input-ajax-new .fileinput-upload-button,.file-input-ajax-new .no-browse .input-group-btn,.file-input-new .close,.file-input-new .file-preview,.file-input-new .fileinput-remove-button,.file-input-new .fileinput-upload-button,.file-input-new .glyphicon-file,.file-input-new .no-browse .input-group-btn,.file-zoom-dialog .modal-header:after,.file-zoom-dialog .modal-header:before,.hide-content .kv-file-content,.kv-hidden{display:none}.btn-file input[type=file],.file-caption-icon,.file-preview .fileinput-remove,.file-zoom-dialog .btn-navigate,.file-zoom-dialog .floating-buttons,.krajee-default .file-thumb-progress{position:absolute}.btn-file,.file-caption,.file-loading:before,.file-preview,.file-zoom-dialog .modal-dialog,.krajee-default .file-thumbnail-footer,.krajee-default.file-preview-frame{position:relative}.file-error-message pre,.file-error-message ul,.krajee-default .file-actions,.krajee-default .file-other-error{text-align:left}.file-error-message pre,.file-error-message ul{margin:0}.krajee-default .file-drag-handle,.krajee-default .file-upload-indicator{float:left;margin:5px 0 -5px;width:16px;height:16px}.krajee-default .file-thumb-progress .progress,.krajee-default .file-thumb-progress .progress-bar{height:11px;font-size:9px;line-height:10px}.krajee-default .file-caption-info,.krajee-default .file-size-info{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:160px;height:15px;margin:auto}.file-zoom-content>.file-object.type-flash,.file-zoom-content>.file-object.type-image,.file-zoom-content>.file-object.type-video{max-width:100%;max-height:100%;width:auto}.file-zoom-content>.file-object.type-flash,.file-zoom-content>.file-object.type-video{height:100%}.file-zoom-content>.file-object.type-default,.file-zoom-content>.file-object.type-html,.file-zoom-content>.file-object.type-pdf,.file-zoom-content>.file-object.type-text{width:100%}.rotate-2{transform:rotateY(180deg)}.rotate-3{transform:rotate(180deg)}.rotate-4{transform:rotate(180deg) rotateY(180deg)}.rotate-5{transform:rotate(270deg) rotateY(180deg)}.rotate-6{transform:rotate(90deg)}.rotate-7{transform:rotate(90deg) rotateY(180deg)}.rotate-8{transform:rotate(270deg)}.file-loading:before{content:" Loading...";display:inline-block;padding-left:20px;line-height:16px;font-size:13px;font-variant:small-caps;color:#999;background:url(loading.gif) top left no-repeat}.file-object{margin:0 0 -5px;padding:0}.btn-file{overflow:hidden}.btn-file input[type=file]{top:0;right:0;min-width:100%;min-height:100%;text-align:right;opacity:0;background:none;cursor:inherit;display:block}.btn-file ::-ms-browse{font-size:10000px;width:100%;height:100%}.file-caption .file-caption-name{width:100%;margin:0;padding:0;box-shadow:none;border:none;background:0 0;outline:0}.file-caption.icon-visible .file-caption-icon{display:inline-block}.file-caption.icon-visible .file-caption-name{padding-left:15px}.file-caption-icon{line-height:1;left:8px}.file-error-message{color:#a94442;background-color:#f2dede;margin:5px;border:1px solid #ebccd1;border-radius:4px;padding:15px}.file-error-message pre{margin:5px 0}.file-caption-disabled{background-color:#eee;cursor:not-allowed;opacity:1}.file-preview{border-radius:5px;border:1px solid #ddd;padding:8px;width:100%;margin-bottom:5px}.file-preview .btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.file-preview .fileinput-remove{top:1px;right:1px;line-height:10px}.file-preview .clickable{cursor:pointer}.file-preview-image{font:40px Impact,Charcoal,sans-serif;color:green}.krajee-default.file-preview-frame{margin:8px;border:1px solid #ddd;box-shadow:1px 1px 5px 0 #a2958a;padding:6px;float:left;text-align:center}.krajee-default.file-preview-frame .kv-file-content{width:213px;height:160px}.krajee-default.file-preview-frame .file-thumbnail-footer{height:70px}.krajee-default.file-preview-frame:not(.file-preview-error):hover{box-shadow:3px 3px 5px 0 #333}.krajee-default .file-preview-text{display:block;color:#428bca;border:1px solid #ddd;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;outline:0;padding:8px;resize:none}.krajee-default .file-preview-html{border:1px solid #ddd;padding:8px;overflow:auto}.krajee-default .file-other-icon{font-size:6em}.krajee-default .file-footer-buttons{float:right}.krajee-default .file-footer-caption{display:block;text-align:center;padding-top:4px;font-size:11px;color:#777;margin-bottom:15px}.krajee-default .file-preview-error{opacity:.65;box-shadow:none}.krajee-default .file-thumb-progress{height:11px;top:37px;left:0;right:0}.krajee-default.kvsortable-ghost{background:#e1edf7;border:2px solid #a1abff}.krajee-default .file-preview-other:hover{opacity:.8}.krajee-default .file-preview-frame:not(.file-preview-error) .file-footer-caption:hover{color:#000}.kv-upload-progress .progress{height:20px;line-height:20px;margin:10px 0;overflow:hidden}.kv-upload-progress .progress-bar{height:20px;line-height:20px}.file-zoom-dialog .file-other-icon{font-size:22em;font-size:50vmin}.file-zoom-dialog .modal-dialog{width:auto}.file-zoom-dialog .modal-header{display:flex;align-items:center;justify-content:space-between}.file-zoom-dialog .btn-navigate{padding:0;margin:0;background:0 0;text-decoration:none;outline:0;opacity:.7;top:45%;font-size:4em;color:#1c94c4}.file-zoom-dialog .btn-navigate:not([disabled]):hover{outline:0;box-shadow:none;opacity:.6}.file-zoom-dialog .floating-buttons{top:5px;right:10px}.file-zoom-dialog .btn-navigate[disabled]{opacity:.3}.file-zoom-dialog .btn-prev{left:1px}.file-zoom-dialog .btn-next{right:1px}.file-zoom-dialog .kv-zoom-title{font-weight:300;color:#999;max-width:50%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.file-input-ajax-new .no-browse .form-control,.file-input-new .no-browse .form-control{border-top-right-radius:4px;border-bottom-right-radius:4px}.file-caption-main{width:100%}.file-thumb-loading{background:url(loading.gif) center center no-repeat content-box!important}.file-drop-zone{border:1px dashed #aaa;border-radius:4px;height:100%;text-align:center;vertical-align:middle;margin:12px 15px 12px 12px;padding:5px}.file-drop-zone.clickable:hover{border:2px dashed #999}.file-drop-zone.clickable:focus{border:2px solid #5acde2}.file-drop-zone .file-preview-thumbnails{cursor:default}.file-drop-zone-title{color:#aaa;font-size:1.6em;padding:85px 10px;cursor:default}.file-highlighted{border:2px dashed #999!important;background-color:#eee}.file-uploading{background:url(loading-sm.gif) center bottom 10px no-repeat;opacity:.65}@media (min-width:576px){.file-zoom-dialog .modal-dialog{max-width:500px}}@media (min-width:992px){.file-zoom-dialog .modal-lg{max-width:800px}}.file-zoom-fullscreen.modal{position:fixed;top:0;right:0;bottom:0;left:0}.file-zoom-fullscreen .modal-dialog{position:fixed;margin:0;padding:0;width:100%;height:100%;max-width:100%;max-height:100%}.file-zoom-fullscreen .modal-content{border-radius:0;box-shadow:none}.file-zoom-fullscreen .modal-body{overflow-y:auto}.btn-kv{display:inline-block;text-align:center;width:30px;height:30px;line-height:30px;padding:0;font-size:90%;border-radius:.2rem}.floating-buttons{z-index:3000}.floating-buttons .btn-kv{margin-left:3px;z-index:3000}.file-zoom-content{height:480px;text-align:center}.file-zoom-content .file-preview-image,.file-zoom-content .file-preview-video{max-height:100%}.file-zoom-content .is-portrait-gt4{margin-top:60px}.file-zoom-content>.file-object.type-image{height:auto;min-height:inherit}.file-zoom-content>.file-object.type-audio{width:auto;height:30px}@media screen and (max-width:767px){.file-preview-thumbnails{display:flex;justify-content:center;align-items:center;flex-direction:column}.file-zoom-dialog .modal-header{flex-direction:column}}@media screen and (max-width:350px){.krajee-default.file-preview-frame .kv-file-content{width:160px}}.file-loading[dir=rtl]:before{background:url(loading.gif) top right no-repeat;padding-left:0;padding-right:20px}.file-sortable .file-drag-handle{cursor:move;opacity:1}.file-sortable .file-drag-handle:hover{opacity:.7}.clickable .file-drop-zone-title{cursor:pointer}.kv-zoom-actions .btn-kv{margin-left:3px}.file-preview-initial.sortable-chosen{background-color:#d9edf7}
\ No newline at end of file
+ */.btn-file input[type=file],.file-caption-icon,.file-no-browse,.file-preview .fileinput-remove,.file-zoom-dialog .btn-navigate,.file-zoom-dialog .floating-buttons,.krajee-default .file-thumb-progress{position:absolute}.file-loading input[type=file],input[type=file].file-loading{width:0;height:0}.file-no-browse{left:50%;bottom:20%;width:1px;height:1px;font-size:0;opacity:0;border:none;background:0 0;outline:0;box-shadow:none}.file-caption-icon,.file-input-ajax-new .fileinput-remove-button,.file-input-ajax-new .fileinput-upload-button,.file-input-ajax-new .no-browse .input-group-btn,.file-input-new .close,.file-input-new .file-preview,.file-input-new .fileinput-remove-button,.file-input-new .fileinput-upload-button,.file-input-new .glyphicon-file,.file-input-new .no-browse .input-group-btn,.file-zoom-dialog .modal-header:after,.file-zoom-dialog .modal-header:before,.hide-content .kv-file-content,.kv-hidden{display:none}.btn-file,.file-caption,.file-input,.file-loading:before,.file-preview,.file-zoom-dialog .modal-dialog,.krajee-default .file-thumbnail-footer,.krajee-default.file-preview-frame{position:relative}.file-error-message pre,.file-error-message ul,.krajee-default .file-actions,.krajee-default .file-other-error{text-align:left}.file-error-message pre,.file-error-message ul{margin:0}.krajee-default .file-drag-handle,.krajee-default .file-upload-indicator{float:left;margin:5px 0 -5px;width:16px;height:16px}.krajee-default .file-thumb-progress .progress,.krajee-default .file-thumb-progress .progress-bar{height:11px;font-family:Verdana,Helvetica,sans-serif;font-size:9px}.krajee-default .file-caption-info,.krajee-default .file-size-info{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:160px;height:15px;margin:auto}.file-zoom-content>.file-object.type-flash,.file-zoom-content>.file-object.type-image,.file-zoom-content>.file-object.type-video{max-width:100%;max-height:100%;width:auto}.file-zoom-content>.file-object.type-flash,.file-zoom-content>.file-object.type-video{height:100%}.file-zoom-content>.file-object.type-default,.file-zoom-content>.file-object.type-html,.file-zoom-content>.file-object.type-pdf,.file-zoom-content>.file-object.type-text{width:100%}.file-loading:before{content:" Loading...";display:inline-block;padding-left:20px;line-height:16px;font-size:13px;font-variant:small-caps;color:#999;background:url(../img/loading.gif) top left no-repeat}.file-object{margin:0 0 -5px;padding:0}.btn-file{overflow:hidden}.btn-file input[type=file]{top:0;left:0;min-width:100%;min-height:100%;text-align:right;opacity:0;background:none;cursor:inherit;display:block}.btn-file ::-ms-browse{font-size:10000px;width:100%;height:100%}.file-caption .file-caption-name{width:100%;margin:0;padding:0;box-shadow:none;border:none;background:0 0;outline:0}.file-caption.icon-visible .file-caption-icon{display:inline-block}.file-caption.icon-visible .file-caption-name{padding-left:15px}.file-caption-icon{left:8px}.file-error-message{color:#a94442;background-color:#f2dede;margin:5px;border:1px solid #ebccd1;border-radius:4px;padding:15px}.file-error-message pre{margin:5px 0}.file-caption-disabled{background-color:#eee;cursor:not-allowed;opacity:1}.file-preview{border-radius:5px;border:1px solid #ddd;padding:8px;width:100%;margin-bottom:5px}.file-preview .btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.file-preview .fileinput-remove{top:1px;right:1px;line-height:10px}.file-preview .clickable{cursor:pointer}.file-preview-image{font:40px Impact,Charcoal,sans-serif;color:green}.krajee-default.file-preview-frame{margin:8px;border:1px solid #ddd;box-shadow:1px 1px 5px 0 #a2958a;padding:6px;float:left;text-align:center}.krajee-default.file-preview-frame .kv-file-content{width:213px;height:160px}.krajee-default.file-preview-frame .kv-file-content.kv-pdf-rendered{width:400px}.krajee-default.file-preview-frame .file-thumbnail-footer{height:70px}.krajee-default.file-preview-frame:not(.file-preview-error):hover{box-shadow:3px 3px 5px 0 #333}.krajee-default .file-preview-text{display:block;color:#428bca;border:1px solid #ddd;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;outline:0;padding:8px;resize:none}.krajee-default .file-preview-html{border:1px solid #ddd;padding:8px;overflow:auto}.krajee-default .file-other-icon{font-size:6em}.krajee-default .file-footer-buttons{float:right}.krajee-default .file-footer-caption{display:block;text-align:center;padding-top:4px;font-size:11px;color:#777;margin-bottom:15px}.krajee-default .file-preview-error{opacity:.65;box-shadow:none}.krajee-default .file-thumb-progress{height:11px;top:37px;left:0;right:0}.krajee-default.kvsortable-ghost{background:#e1edf7;border:2px solid #a1abff}.krajee-default .file-preview-other:hover{opacity:.8}.krajee-default .file-preview-frame:not(.file-preview-error) .file-footer-caption:hover{color:#000}.kv-upload-progress .progress{height:20px;margin:10px 0;overflow:hidden}.kv-upload-progress .progress-bar{height:20px;font-family:Verdana,Helvetica,sans-serif}.file-zoom-dialog .file-other-icon{font-size:22em;font-size:50vmin}.file-zoom-dialog .modal-dialog{width:auto}.file-zoom-dialog .modal-header{display:flex;align-items:center;justify-content:space-between}.file-zoom-dialog .btn-navigate{padding:0;margin:0;background:0 0;text-decoration:none;outline:0;opacity:.7;top:45%;font-size:4em;color:#1c94c4}.file-zoom-dialog .btn-navigate:not([disabled]):hover{outline:0;box-shadow:none;opacity:.6}.file-zoom-dialog .floating-buttons{top:5px;right:10px}.file-zoom-dialog .btn-navigate[disabled]{opacity:.3}.file-zoom-dialog .btn-prev{left:1px}.file-zoom-dialog .btn-next{right:1px}.file-zoom-dialog .kv-zoom-title{font-weight:300;color:#999;max-width:50%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.file-input-ajax-new .no-browse .form-control,.file-input-new .no-browse .form-control{border-top-right-radius:4px;border-bottom-right-radius:4px}.file-caption-main{width:100%}.file-thumb-loading{background:url(../img/loading.gif) center center no-repeat content-box!important}.file-drop-zone{border:1px dashed #aaa;border-radius:4px;height:100%;text-align:center;vertical-align:middle;margin:12px 15px 12px 12px;padding:5px}.file-drop-zone.clickable:hover{border:2px dashed #999}.file-drop-zone.clickable:focus{border:2px solid #5acde2}.file-drop-zone .file-preview-thumbnails{cursor:default}.file-drop-zone-title{color:#aaa;font-size:1.6em;padding:85px 10px;cursor:default}.file-highlighted{border:2px dashed #999!important;background-color:#eee}.file-uploading{background:url(../img/loading-sm.gif) center bottom 10px no-repeat;opacity:.65}.file-zoom-fullscreen .modal-dialog{min-width:100%;margin:0}.file-zoom-fullscreen .modal-content{border-radius:0;box-shadow:none;min-height:100vh}.file-zoom-fullscreen .modal-body{overflow-y:auto}.floating-buttons{z-index:3000}.floating-buttons .btn-kv{margin-left:3px;z-index:3000}.file-zoom-content{height:480px;text-align:center}.file-zoom-content .file-preview-image,.file-zoom-content .file-preview-video{max-height:100%}.file-zoom-content>.file-object.type-image{height:auto;min-height:inherit}.file-zoom-content>.file-object.type-audio{width:auto;height:30px}@media (min-width:576px){.file-zoom-dialog .modal-dialog{max-width:500px}}@media (min-width:992px){.file-zoom-dialog .modal-lg{max-width:800px}}@media (max-width:767px){.file-preview-thumbnails{display:flex;justify-content:center;align-items:center;flex-direction:column}.file-zoom-dialog .modal-header{flex-direction:column}}@media (max-width:350px){.krajee-default.file-preview-frame .kv-file-content{width:160px}}@media (max-width:420px){.krajee-default.file-preview-frame .kv-file-content.kv-pdf-rendered{width:100%}}.file-loading[dir=rtl]:before{background:url(../img/loading.gif) top right no-repeat;padding-left:0;padding-right:20px}.file-sortable .file-drag-handle{cursor:move;opacity:1}.file-sortable .file-drag-handle:hover{opacity:.7}.clickable .file-drop-zone-title{cursor:pointer}.kv-zoom-actions .btn-kv{margin-left:3px}.file-preview-initial.sortable-chosen{background-color:#d9edf7}
\ No newline at end of file
diff --git a/src/main/resources/static/plugins/fileinput/fileinput.min.js b/src/main/resources/static/plugins/fileinput/fileinput.min.js
index 2068e5aee..fb001b4c3 100755
--- a/src/main/resources/static/plugins/fileinput/fileinput.min.js
+++ b/src/main/resources/static/plugins/fileinput/fileinput.min.js
@@ -1,12 +1,11 @@
/*!
- * bootstrap-fileinput v4.4.6
+ * bootstrap-fileinput v4.5.0
* http://plugins.krajee.com/file-input
*
* Author: Kartik Visweswaran
- * Copyright: 2014 - 2017, Kartik Visweswaran, Krajee.com
+ * Copyright: 2014 - 2018, Kartik Visweswaran, Krajee.com
*
* Licensed under the BSD 3-Clause
* https://github.com/kartik-v/bootstrap-fileinput/blob/master/LICENSE.md
- */!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof module&&module.exports?module.exports=e(require("jquery")):e(window.jQuery)}(function(e){"use strict";e.fn.fileinputLocales={},e.fn.fileinputThemes={},String.prototype.setTokens=function(e){var t,i,a=this.toString();for(t in e)e.hasOwnProperty(t)&&(i=new RegExp("{"+t+"}","g"),a=a.replace(i,e[t]));return a};var t,i;t={FRAMES:".kv-preview-thumb",SORT_CSS:"file-sortable",OBJECT_PARAMS:'\n\n\n\n\n\n',DEFAULT_PREVIEW:'
\n{previewFileIcon}\n
',MODAL_ID:"kvFileinputModal",MODAL_EVENTS:["show","shown","hide","hidden","loaded"],objUrl:window.URL||window.webkitURL,compare:function(e,t,i){return void 0!==e&&(i?e===t:e.match(t))},isIE:function(e){if("Microsoft Internet Explorer"!==navigator.appName)return!1;if(10===e)return new RegExp("msie\\s"+e,"i").test(navigator.userAgent);var t,i=document.createElement("div");return i.innerHTML="",t=i.getElementsByTagName("i").length,document.body.appendChild(i),i.parentNode.removeChild(i),t},initModal:function(t){var i=e("body");i.length&&t.appendTo(i)},isEmpty:function(t,i){return void 0===t||null===t||0===t.length||i&&""===e.trim(t)},isArray:function(e){return Array.isArray(e)||"[object Array]"===Object.prototype.toString.call(e)},ifSet:function(e,t,i){return i=i||"",t&&"object"==typeof t&&e in t?t[e]:i},cleanArray:function(e){return e instanceof Array||(e=[]),e.filter(function(e){return void 0!==e&&null!==e})},spliceArray:function(e,t){var i,a=0,r=[];if(!(e instanceof Array))return[];for(i=0;i=0?atob(e.split(",")[1]):decodeURIComponent(e.split(",")[1]),a=new ArrayBuffer(i.length),r=new Uint8Array(a),n=0;nl;)switch(i=n[l++],i>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:o+=String.fromCharCode(i);break;case 12:case 13:a=n[l++],o+=String.fromCharCode((31&i)<<6|63&a);break;case 14:a=n[l++],r=n[l++],o+=String.fromCharCode((15&i)<<12|(63&a)<<6|(63&r)<<0)}return o},isHtml:function(e){var t=document.createElement("div");t.innerHTML=e;for(var i=t.childNodes,a=i.length;a--;)if(1===i[a].nodeType)return!0;return!1},isSvg:function(e){return e.match(/^\s*<\?xml/i)&&(e.match(//g,">").replace(/"/g,""").replace(/'/g,"'")},replaceTags:function(t,i){var a=t;return i?(e.each(i,function(e,t){"function"==typeof t&&(t=t()),a=a.split(e).join(t)}),a):a},cleanMemory:function(e){var i=e.is("img")?e.attr("src"):e.find("source").attr("src");t.objUrl.revokeObjectURL(i)},findFileName:function(e){var t=e.lastIndexOf("/");return-1===t&&(t=e.lastIndexOf("\\")),e.split(e.substring(t,t+1)).pop()},checkFullScreen:function(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement},toggleFullScreen:function(e){var i=document,a=i.documentElement;a&&e&&!t.checkFullScreen()?a.requestFullscreen?a.requestFullscreen():a.msRequestFullscreen?a.msRequestFullscreen():a.mozRequestFullScreen?a.mozRequestFullScreen():a.webkitRequestFullscreen&&a.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):i.exitFullscreen?i.exitFullscreen():i.msExitFullscreen?i.msExitFullscreen():i.mozCancelFullScreen?i.mozCancelFullScreen():i.webkitExitFullscreen&&i.webkitExitFullscreen()},moveArray:function(e,t,i){if(i>=e.length)for(var a=i-e.length;a--+1;)e.push(void 0);return e.splice(i,0,e.splice(t,1)[0]),e},cleanZoomCache:function(e){var t=e.closest(".kv-zoom-cache-theme");t.length||(t=e.closest(".kv-zoom-cache")),t.remove()},setOrientation:function(e,t){var i,a,r,n=new DataView(e),o=0,l=1;if(65496!==n.getUint16(o)||e.length<2)return void(t&&t());for(o+=2,i=n.byteLength;i-2>o;)switch(a=n.getUint16(o),o+=2,a){case 65505:r=n.getUint16(o),i=r-o,o+=2;break;case 274:l=n.getUint16(o+6,!1),i=0}t&&t(l)},validateOrientation:function(e,i){if(window.FileReader&&window.DataView){var a,r=new FileReader;r.onloadend=function(){a=r.result,t.setOrientation(a,i)},r.readAsArrayBuffer(e)}},adjustOrientedImage:function(e,t){var i,a,r;if(e.hasClass("is-portrait-gt4")){if(t)return void e.css({width:e.parent().height()});e.css({height:"auto",width:e.height()}),i=e.parent().offset().top,a=e.offset().top,r=i-a,e.css("margin-top",r)}},closeButton:function(e){return e=e?"close "+e:"close",''}},i=function(i,a){var r=this;r.$element=e(i),r.$parent=r.$element.parent(),r._validate()&&(r.isPreviewable=t.hasFileAPISupport(),r.isIE9=t.isIE(9),r.isIE10=t.isIE(10),(r.isPreviewable||r.isIE9)&&(r._init(a),r._listen()),r.$element.removeClass("file-loading"))},i.prototype={constructor:i,_cleanup:function(){var e=this;e.reader=null,e.formdata={},e.uploadCount=0,e.uploadStatus={},e.uploadLog=[],e.uploadAsyncCount=0,e.loadedImages=[],e.totalImagesCount=0,e.ajaxRequests=[],e.clearStack(),e.fileInputCleared=!1,e.fileBatchCompleted=!0,e.isPreviewable||(e.showPreview=!1),e.isError=!1,e.ajaxAborted=!1,e.cancelling=!1},_init:function(i,a){var r,n,o,l,s=this,d=s.$element;s.options=i,e.each(i,function(e,i){switch(e){case"minFileCount":case"maxFileCount":case"minFileSize":case"maxFileSize":case"maxFilePreviewSize":case"resizeImageQuality":case"resizeIfSizeMoreThan":case"progressUploadThreshold":case"initialPreviewCount":case"zoomModalHeight":case"minImageHeight":case"maxImageHeight":case"minImageWidth":case"maxImageWidth":s[e]=t.getNum(i);break;default:s[e]=i}}),s.rtl&&(l=s.previewZoomButtonIcons.prev,s.previewZoomButtonIcons.prev=s.previewZoomButtonIcons.next,s.previewZoomButtonIcons.next=l),a||s._cleanup(),s.$form=d.closest("form"),s._initTemplateDefaults(),s.uploadFileAttr=t.isEmpty(d.attr("name"))?"file_data":d.attr("name"),o=s._getLayoutTemplate("progress"),s.progressTemplate=o.replace("{class}",s.progressClass),s.progressCompleteTemplate=o.replace("{class}",s.progressCompleteClass),s.progressErrorTemplate=o.replace("{class}",s.progressErrorClass),s.dropZoneEnabled=t.hasDragDropSupport()&&s.dropZoneEnabled,s.isDisabled=d.attr("disabled")||d.attr("readonly"),s.isDisabled&&d.attr("disabled",!0),s.isAjaxUpload=t.hasFileUploadSupport()&&!t.isEmpty(s.uploadUrl),s.isClickable=s.browseOnZoneClick&&s.showPreview&&(s.isAjaxUpload&&s.dropZoneEnabled||!t.isEmpty(s.defaultPreviewContent)),s.slug="function"==typeof i.slugCallback?i.slugCallback:s._slugDefault,s.mainTemplate=s.showCaption?s._getLayoutTemplate("main1"):s._getLayoutTemplate("main2"),s.captionTemplate=s._getLayoutTemplate("caption"),s.previewGenericTemplate=s._getPreviewTemplate("generic"),!s.imageCanvas&&s.resizeImage&&(s.maxImageWidth||s.maxImageHeight)&&(s.imageCanvas=document.createElement("canvas"),s.imageCanvasContext=s.imageCanvas.getContext("2d")),t.isEmpty(d.attr("id"))&&d.attr("id",t.uniqId()),s.namespace=".fileinput_"+d.attr("id").replace(/-/g,"_"),void 0===s.$container?s.$container=s._createContainer():s._refreshContainer(),n=s.$container,s.$dropZone=n.find(".file-drop-zone"),s.$progress=n.find(".kv-upload-progress"),s.$btnUpload=n.find(".fileinput-upload"),s.$captionContainer=t.getElement(i,"elCaptionContainer",n.find(".file-caption")),s.$caption=t.getElement(i,"elCaptionText",n.find(".file-caption-name")),t.isEmpty(s.msgPlaceholder)||(r=d.attr("multiple")?s.filePlural:s.fileSingle,s.$caption.attr("placeholder",s.msgPlaceholder.replace("{files}",r))),s.$captionIcon=s.$captionContainer.find(".file-caption-icon"),s.mainClass.indexOf("input-group-lg")>-1?t.addCss(s.$captionIcon,"icon-lg"):s.$captionIcon.removeClass("icon-lg"),s.$previewContainer=t.getElement(i,"elPreviewContainer",n.find(".file-preview")),s.$preview=t.getElement(i,"elPreviewImage",n.find(".file-preview-thumbnails")),s.$previewStatus=t.getElement(i,"elPreviewStatus",n.find(".file-preview-status")),s.$errorContainer=t.getElement(i,"elErrorContainer",s.$previewContainer.find(".kv-fileinput-error")),s._validateDisabled(),t.isEmpty(s.msgErrorClass)||t.addCss(s.$errorContainer,s.msgErrorClass),a||(s.$errorContainer.hide(),s.previewInitId="preview-"+t.uniqId(),s._initPreviewCache(),s._initPreview(!0),s._initPreviewActions(),s._setFileDropZoneTitle(),s.$parent.hasClass("file-loading")&&(s.$container.insertBefore(s.$parent),s.$parent.remove())),d.attr("disabled")&&s.disable(),s._initZoom(),s.hideThumbnailContent&&t.addCss(s.$preview,"hide-content")},_initTemplateDefaults:function(){var i,a,r,n,o,l,s,d,c,p,u,f,m,v,g,h,w,_,b,C,y,x,T,E,S,k,F,I,P,A,D,z,$,j,U,B,R,O,L=this;i='{preview}\n\n',a='{preview}\n\n\n{remove}\n{cancel}\n{upload}\n{browse}\n',r='',o=t.closeButton("fileinput-remove"),n='',l='\n \n \n
',s='',d='{icon} {label}',c='{icon} {label}
',p='',u='\n',f='',m=" ({sizeText})",v='',g='\n \n
\n{drag}\n',h='\n',w='',_='',b='',C='{dragIcon}',y='{indicator}
',x='\n',E=x+' title="{caption}">
\n',S="
{footer}\n
\n",k="{content}\n",F='
{data}
\n',I='

\n',P='
\n',A='
',D='
\n",z='
\n",$='